asset-gen
Create game images, transparent PNGs, textured 3D models, animated humanoids, sound effects, and voice lines using local GPU tools. Paid API options extend production to assets such as music and animated sprites.
中文简介正在准备中。当前显示英语简介。
原文查看原文说明
Generate game assets, locally and free by default with godogen_assets: images and transparent PNGs (Qwen-Image), textured GLB models (TRELLIS.2), rigged humanoids with generated moves and lip-synced speech, sound effects and voice lines. Paid APIs cover what the local tools can't make — Gemini / xAI Grok images, animated sprites from video, Tripo 3D, Gemini TTS voice acting, Lyria music. Use whenever a game needs generated art or audio.
适用场景
- Creating transparent character and item images
- Building textured 3D characters and props
- Adding character movement and lip-synced speech
- Generating game sound effects, voices, and music
包含的文件(10)
- SKILL.md5.8 KB
- api.md13.3 KB
- motion.md15.9 KB
- rembg.md2.6 KB
- tools/asset_gen.py22.7 KB
- tools/find_loop_frame.py4.3 KB
- tools/grid_slice.py1.9 KB
- tools/loop_audio.py4.0 KB
- tools/rembg_matting.py11.8 KB
- tools/requirements.txt99 B
SKILL.md(原文)
安装前可以查看交给 AI 代理的指令内容。
Asset Generator
Assets come from godogen_assets: local generators on this machine's GPU, one command per task, free. Its checkout here is ${GODOGEN_ASSETS}, and its docs are the reference; this page is the TL;DR plus what the game needs on top. Read ${GODOGEN_ASSETS}/README.md once (conventions, a character start to finish, checking results), and a part's README up to How it works before first using its tool.
| Command | Makes | README in the checkout |
|---|---|---|
qwen-image | PNG from text; rgba: real transparency; edit -i ref.png: image-to-image | image/ |
gen3d | textured GLB from an image | mesh/ |
mia-rig | Mixamo-rigged humanoid from a GLB | rig/ |
add-moves, gen-moves | idle/walk/run/jump onto a rig; custom moves from text prompts | motion/ |
grip-prop | a prop made holdable; add-moves --hold puts it in a character's hand | motion/ |
lipsync | speaking mouth + lip-synced clip from a voice line | lipsync/ |
stable-audio | sound effects, seamless ambience loops | sfx/ |
qwen-tts | voice lines from a description, or cloned from a reference line | voice/ |
A character: qwen-image rgba (T-pose) → gen3d → mia-rig --fingers --anim none → add-moves, with gen-moves for custom moves and lipsync for speech. Props stop after gen3d; one a character holds goes on through grip-prop and add-moves --hold, never by an offset tuned in the engine.
- Always pass
-ointo the project; without it, results land in the godogen_assets checkout. - One GPU job at a time, minutes per call. Run GPU tools as one sequential batch with a long timeout or in the background, never as parallel calls.
- Game budget.
gen3ddefaults to ~500k triangles and 2048² textures; pass--faces/--tex(30000 / 1024 for a character). - Style families. Generate one hero asset, derive the rest with
qwen-image edit -i hero.png, prompting only what changes. - Small sprites. A 1024px image downscaled to 64px looks muddy: design display sizes ≥128px, prompt bold flat forms, or generate a kit (several objects in one image) and slice it with
python3 ${ASSET_GEN_SKILL_DIR}/tools/grid_slice.py kit.png -o out/ --grid 2x2 --names "a,b,c,d". - Direction. Generators get left/right and facing wrong; generate one direction and flip at runtime.
- Audio format. Every tool picks it from the
-oextension. Bevy's default features decode only Ogg Vorbis, so write.oggfor Bevy. - Review before building on it. Look at every PNG. You can't look at a GLB or hear a WAV: render GLBs (
${GODOGEN_ASSETS}/README.md, Checking results) and read audio as a spectrogram (${GODOGEN_ASSETS}/sfx/README.md).
Moves that drive gameplay — root-motion locomotion, attacks, state machines, anything held, ridden or aimed, characters that touch each other: read ${ASSET_GEN_SKILL_DIR}/motion.md.
Blender
Some 3D is better built than generated. A bpy script run headless (blender -b -P make_turret.py, exporting with bpy.ops.export_scene.gltf) is often the better path when:
- the shape must be exact or articulated: a vehicle whose wheels turn, a door on its hinge, a turret that aims, kit pieces that snap together;
- a generated GLB needs work: split into parts, new pivots, decimation, several merged into one;
- the animation is outside the humanoid tools: mechanical parts, a creature of a few bones, keyframed or procedural clips.
Check what it writes like any GLB. Without blender on PATH, asset-blender script.py -- args runs the script in godogen_assets' Blender (its print goes to stderr).
Paid APIs
${ASSET_GEN_SKILL_DIR}/api.md covers Gemini / xAI Grok images, animated sprites from Grok video, Tripo 3D, Gemini TTS and Lyria music. Read it only when an asset needs one:
- godogen_assets isn't on this machine (its checkout above reads
none), or a command answersnot installed— that part isn't set up; - the local tools don't make it: frame-by-frame animated 2D sprites, music, one character voice acting many emotions, vocal barks, two-speaker dialogue, a language
qwen-ttslacks, a rig for a non-humanoid; - a local result stays wrong after rewording and a few seeds.
Paid calls cost real money: confirm with the user before the first one.
Asset manifest (in README.md)
Track every generated asset in README.md with an in-game Size column — without it, coders consistently scale assets wrong. gen3d models come out 1.0 tall with no real scale, so this column is where their size is decided:
- 3D models: meters, e.g.
4m long,1.8m tall,0.3m - Textures: tile size, e.g.
2m tile - Backgrounds: pixel size + behavior, e.g.
1920x1080, fullscreen - Sprites: display pixels, e.g.
128x128 px - Audio: length + use, e.g.
1.2 s one-shot,8 bars / 22.6 s loop
| Name | Description | Size | Path | Cost |
|---|---|---|---|---|
| crate | wooden supply crate | 0.8m | ${RUNTIME_ASSET_DIR}/glb/crate.glb | local |
| theme | village shop music | 8 bars / 22.6 s loop | ${RUNTIME_ASSET_DIR}/audio/shop_loop.ogg | 4¢ |
评价
还没有评价。欢迎分享你的使用感受。
评论
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。