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で動作するローカル生成ツールをタスクごとに1つのコマンドで実行でき、無料です。この環境でのチェックアウト先は${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 | リグにアイドル/歩行/走行/ジャンプを追加。テキストプロンプトからカスタム動作を生成 | 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ジョブは一度に1つだけ実行し、各呼び出しには数分かかります。 GPUツールは、タイムアウトを長めに設定して順次まとめて実行するか、バックグラウンドで実行してください。並列に呼び出してはいけません。
- ゲームの予算。
gen3dのデフォルトは約50万トライアングル、テクスチャは2048²です。--faces/--texを指定してください(キャラクターの場合は30000/1024)。 - スタイルファミリー。 まずヒーローアセットを1つ生成し、
qwen-image edit -i hero.pngで、変更する箇所だけをプロンプトに指定して残りを派生させます。 - 小さなスプライト。 1024pxの画像を64pxに縮小するとぼやけます。表示サイズが128px以上になるようにデザインするか、はっきりした平面的な形をプロンプトに指定してください。または、複数のオブジェクトを1枚にまとめて生成し、
python3 ${ASSET_GEN_SKILL_DIR}/tools/grid_slice.py kit.png -o out/ --grid 2x2 --names "a,b,c,d"で切り分けます。 - 向き。 生成ツールは左右や向きを間違えることがあります。1つの向きだけ生成し、実行時に反転してください。
- 音声形式。 形式は各ツールが
-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と同じように確認してください。blenderがPATHにない場合は、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 スプライト、音楽、1 人のキャラクターがさまざまな感情を表現するボイス演技、短い掛け声、2 人の話者による会話、
qwen-ttsが対応していない言語、非人型キャラクター用のリグ。 - 言い換えを試し、いくつかシードを使ってもローカルでの生成結果が改善しない場合。
有料 API の呼び出しには実際に費用がかかります。最初に呼び出す前に、必ずユーザーに確認してください。
アセットマニフェスト(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¢ |