关于 asset-gen
使用 godogen_assets 本地 GPU 工具生成游戏素材的工作流技能,涵盖图像、3D、绑定、动作、语音和音效,并指导检查结果及记录素材。
主要功能
- 01文本生成图像及图像编辑
- 02从图像生成带纹理的 GLB
- 03人形绑定与动作生成
- 04语音台词与口型同步片段
- 05音效与环境循环音频
- 06素材检查与清单记录指引
适用场景
- 01从概念图制作角色并生成动画
- 02生成道具并设置为角色可持有
- 03制作游戏语音台词和音效
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ htdt/ godogen --skill asset-gen安装后在 Claude Code 中输入/asset-gen确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
api.mdmotion.mdrembg.mdtools/asset_gen.pyfind_loop_frame.pygrid_slice.pyloop_audio.pyrembg_matting.pyrequirements.txt详细介绍
资产生成器
资产来自 godogen_assets:在本机 GPU 上运行的本地生成器,每项任务只需一条命令,而且免费。此处的代码库检出路径为 ${GODOGEN_ASSETS},其中的文档是参考资料;本页是简要说明,以及游戏所需的额外内容。请先阅读一次 ${GODOGEN_ASSETS}/README.md(了解约定、角色从头到尾的制作流程,以及检查结果的方法),首次使用某个部分的工具前,先阅读该部分 README 中 How it works 之前的内容。
| 命令 | 生成内容 | 代码库检出目录中的 README |
|---|---|---|
qwen-image | 从文本生成 PNG;rgba:真实透明背景;edit -i ref.png:图生图 | image/ |
gen3d | 从图像生成带纹理的 GLB | mesh/ |
mia-rig | 从 GLB 生成 Mixamo 绑定的人形角色 | rig/ |
add-moves、gen-moves | 为绑定添加 idle/walk/run/jump;根据文本提示词生成自定义动作 | motion/ |
grip-prop | 将道具处理为可手持;add-moves --hold 可将其放到角色手中 | motion/ |
lipsync | 根据语音台词生成说话口型和口型同步片段 | lipsync/ |
stable-audio | 音效、无缝环境音循环 | sfx/ |
qwen-tts | 根据描述生成语音台词,或根据参考台词克隆语音 | voice/ |
角色制作流程:qwen-image rgba(T 字姿势)→ gen3d → mia-rig --fingers --anim none → add-moves;自定义动作使用 gen-moves,语音使用 lipsync。道具在 gen3d 后即可完成;角色手持的道具则要继续使用 grip-prop 和 add-moves --hold,绝不要在引擎中调整偏移量来实现。
- 始终使用
-o将结果输出到项目中;否则结果会写入 godogen_assets 代码库检出目录。 - 一次只运行一个 GPU 任务,每次调用需要几分钟。 将 GPU 工具作为一个长超时的顺序批次运行,或在后台运行,绝不要并行调用。
- 游戏预算。
gen3d默认生成约 500k 个三角形和 2048² 纹理;请传入--faces/--tex(角色使用 30000 / 1024)。 - 风格系列。 先生成一个主资产,再使用
qwen-image edit -i hero.png衍生其余资产,只提示需要改变的内容。 - 小型精灵图。 将 1024px 图像缩小到 64px 会显得模糊:将设计尺寸设为 ≥128px、提示生成粗犷的扁平造型,或者生成一套素材(在一张图中放入多个物件),再使用
python3 ${ASSET_GEN_SKILL_DIR}/tools/grid_slice.py kit.png -o out/ --grid 2x2 --names "a,b,c,d"切分。 - 朝向。 生成器经常弄错左右和朝向;先生成一个方向,再在运行时翻转。
- 音频格式。 每种工具根据
-o的扩展名选择格式。Bevy 的默认特性仅解码 Ogg Vorbis,因此在 Bevy 中请写入.ogg文件。 - 基于资产继续制作前先检查。 查看每张 PNG。无法直接查看 GLB,也无法直接听 WAV:渲染 GLB(参阅
${GODOGEN_ASSETS}/README.md中的 Checking results),并将音频以频谱图形式查看(参阅${GODOGEN_ASSETS}/sfx/README.md)。
驱动游戏玩法的动作——根运动移动、攻击、状态机、任何手持、骑乘或瞄准相关内容,以及彼此接触的角色:请阅读 ${ASSET_GEN_SKILL_DIR}/motion.md。
Blender
有些 3D 内容手工构建比生成更合适。通过无头模式运行 bpy 脚本(blender -b -P make_turret.py,使用 bpy.ops.export_scene.gltf 导出)通常是更好的做法,适用于以下情况:
- 形状必须精确或可活动:车轮会转动的车辆、带铰链的门、可以瞄准的炮塔、能够拼接在一起的套件部件;
- 生成的 GLB 需要进一步处理:拆分为多个部件、设置新枢轴、简化网格,或合并多个模型;
- 动画超出人形工具的能力范围:机械部件、由少量骨骼组成的生物、关键帧或程序化片段。
像检查其他 GLB 一样检查生成结果。如果 PATH 中没有 blender,运行 asset-blender script.py -- args 会使用 godogen_assets 中的 Blender 运行脚本(脚本的 print 输出到 stderr)。
付费 API
${ASSET_GEN_SKILL_DIR}/api.md 涵盖 Gemini / xAI Grok 图像、Grok 视频生成的动画精灵、Tripo 3D、Gemini TTS 和 Lyria 音乐。只有在需要使用以下某项生成资源时才阅读:
- 这台机器上没有 godogen_assets(上方的检出结果显示为
none),或某条命令提示not installed——这部分尚未配置; - 本地工具无法生成所需内容:逐帧动画 2D 精灵、音乐、一个角色演绎多种情绪的配音、短促语音、双人对话、
qwen-tts不支持的语言,或非人形角色的骨架; - 改写提示词并尝试几个种子后,本地生成的结果仍然不对。
付费调用会产生实际费用:首次调用前请先征得用户同意。
资源清单(在 README.md 中)
在 README.md 中用 游戏内尺寸 列记录每项生成的资源——没有这一列,编码人员总是会把资源缩放错。gen3d 生成的模型高度为 1.0,且没有实际比例,因此由这一列决定它们的尺寸:
- 3D 模型:以米为单位,例如
4m long、1.8m tall、0.3m - 纹理:平铺尺寸,例如
2m tile - 背景:像素尺寸 + 显示方式,例如
1920x1080, fullscreen - 精灵:显示像素,例如
128x128 px - 音频:时长 + 用途,例如
1.2 s one-shot、8 bars / 22.6 s loop
| 名称 | 描述 | 尺寸 | 路径 | 费用 |
|---|---|---|---|---|
| crate | 木制补给箱 | 0.8m | ${RUNTIME_ASSET_DIR}/glb/crate.glb | 本地 |
| theme | 村庄商店音乐 | 8 bars / 22.6 s loop | ${RUNTIME_ASSET_DIR}/audio/shop_loop.ogg | 4¢ |