build-rigged-game-assets について
ソース資料からランタイム統合、カタログレビューまで、リグ付きゲームアクターを作るスキルです。キャラクターとモンスターの手順を分け、マニフェスト、検証、ゲームプレイ要件、納品確認を定めています。
主な機能
- 01アセットマニフェストと検証
- 02モデル、リグ、アクションの要件
- 03キャラクター装備とソケットの規則
- 04モンスターの戦闘とコライダー要件
- 05カタログインスペクターとランタイム確認
- 06ビルド、テスト、コミットの確認
活用シーン
- 01ゲームプレイ用キャラクターアセットの準備
- 02モンスターアクターの統合と検証
- 03カタログカードとモデルインスペクターの作成
- 04プロジェクト要件に沿った納品物の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mengto/ skills --skill build-rigged-game-assetsインストール後、Claude Code で/build-rigged-game-assetsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlassets/character-asset-manifest.template.jsonmonster-asset-manifest.template.jsonreferences/catalog-and-testing.mdrequirements.mdscripts/validate_asset_manifest.py詳細
リグ付きゲームアセットを構築する
ソースリファレンスからゲームプレイ、カタログでの確認まで、一貫性のあるアクターパッケージを構築します。
まず要件を明確にする
ファイルを生成または編集する前に、リポジトリの実態を確認します。
- ソース画像/モデル、ランタイムローダー、スケルトンの規約、アクション API、装備システム、衝突システム、カタログスキーマ、レビュールート、予算、テストを確認します。
- アクターを
characterまたはmonsterに分類します。 - 提供方法を
catalog-only、review-only、runtimeに分類します。ゲームプレイでアセットが読み込まれるまでは、実装済みと呼ばないでください。 - 変更不可のソースアーティファクトは、最適化したランタイムファイルとは分けて保存します。
- クレジットを消費するジェネレーターを使う前に、対象のファイル形式を決めます。
assets/ から対応するテンプレートをコピーして記入し、実装の隣、またはプロジェクトのアセットメタデータの保存場所に配置します。
character-asset-manifest.template.jsonmonster-asset-manifest.template.json
構築前に scripts/validate_asset_manifest.py <manifest> を実行します。出荷ファイルを確認するには --root <repo> を指定して再実行し、--require-verified は、すべての受け入れ確認に実際に合格してから指定します。
モデル、リグ、アクション、装備、ソケット、衝突データを作成する前に、references/requirements.md を読みます。カタログカード、インスペクター、ムーブセットルート、テレメトリ、リリーステストを追加する場合は、references/catalog-and-testing.md を読みます。
共通のアクターパッケージを構築する
- ソースを保持します。
- リファレンス画像、ソースタスク、インポートしたファイル、ライセンス、ジェネレーター/モデル、マテリアルの出所を記録します。
- 高詳細のソースをランタイム向けの最適化版で上書きしないでください。
- メインモデルを作成します。
- スケール、Y 軸上向き、前方軸、ピボット、地面との接点、マテリアル、テクスチャ、三角形ポリゴン数の予算を統一します。
- 接地位置には、足または定義済みの接触ソケットを使用します。武器の先端、布の尾、影、VFX は使用しないでください。
- 孤立した三角形、非多様体の断片、重複サーフェス、ジェネレーターが生成した不要なデータ、未使用ノードを削除します。
- 安定したリグを 1 つ構築します。
- ルート、ヒップ/重心、頭、四肢、足、アタッチメントソケットに明示的な名前を付けます。
- エンジンの仕様で別途定められていない限り、各頂点のスキン影響数は最大 4 つとし、正規化します。
- すべてのクリップで、決定性のあるバインドポーズ、有限のトランスフォーム、正の使用可能なスケール、互換性のあるスケルトン ID を維持します。
- アクションライブラリを構築します。
- 各クリップに、安定した
id、意味上のrole、ループ方針、ルートモーション方針、再生時間、接触イベント、ソースを設定します。 - クリップを分ける場合は、アニメーションのみの GLB を優先します。重複したメッシュ、マテリアル、テクスチャを含めてはいけません。
- ループしないアクションは再生可能にし、意図した移動/待機状態に戻るようにします。
- 各クリップに、安定した
- ランタイム統合を構築します。
- アセット専用のローダー/ファクトリーを 1 つ使用し、ジオメトリ、マテリアル、テクスチャ、ミキサー、イベント、オブザーバー、レンダラー、アニメーションフレームを破棄できるようにします。
- ソース、モデル、リグ、ソケット、アクション、装備、コライダー、三角形ポリゴン数、マテリアル、ステータスのメタデータを公開します。
- 出荷済みランタイムアセットを置き換える場合は、実態に即したロールバック手段を用意します。
キャラクタープロファイルを適用する
メインモデルは永続的な本体/ベースレイヤーとして扱います。交換可能な装備を融合しないでください。
- すべての標準スロットを宣言します:頭装備、衣装、手袋、レギンス、ブーツ、メインハンド、オフハンド、背中/遠距離武器。
- サポートされていないスロットは、黙って省略せず、明示的にその旨を示します。
- サポート対象の剣、盾、弓、ヘルメット、鎧、アクセサリーは、個別のアセットまたは個別に参照可能なルートとして保存します。
- 装備を名前付きソケットにバインドします。アイテムの状態が変わる場合は、使用中のソケットと収納中のソケットを宣言します。
- スロットをオフに切り替えたとき、浮いた装飾、グリップ、三角形の破片、重複して焼き込まれた武器、偶発的なゲームプレイ用小道具が残らないようにします。
- ソースに遮蔽された装備の下の身体が含まれていない場合は、リグに追従するフィットした下層を作成し、その制約を記録します。見えない解剖学的構造について、根拠のない主張をしないでください。
- キャラクターのアクションロールとして
idle、walk、run、primary-attack、hit、dodge、deathを必須とします。ゲームプレイで使われる場合は、ブロック/防護、チャージ攻撃、詠唱、弓の照準/射撃、ジャンプ、インタラクション、クラス固有のアクションも追加します。 - アクションによって使用中/収納中の状態が意図的に変化する場合を除き、装備の表示状態はアクション選択から独立させます。
モンスタープロファイルを適用する
モンスターはプレイヤーの衣装ではなく、1体の制作済み戦闘アクターとして扱います。
- 装備スロットは必須にしません。武器、破壊可能な部位、ドロップする部位、飛翔体、または個別にアニメーション、非表示化、切り離し、衝突させる必要がある小道具のみを分離します。
- モンスターのアクションロールとして
idle、locomotion、primary-attack、hit、deathを必須とします。 - 戦闘デザインで使用する場合のみ、二次攻撃、遠距離攻撃、飛びかかり、詠唱、召喚、ブロック、よろめき、咆哮、出現、フェーズ遷移のロールを追加します。
- ナビゲーション用コライダーと被弾用コライダーを定義し、攻撃ごとに予兆、有効、硬直の各時間を定義します。
- 攻撃の発生位置、飛翔体、VFX、音声、頭部/胴体のターゲティング、足を名前付きソケットにバインドします。
- ビジュアルアニメーションは、権威ある攻撃判定、ダメージのタイミング、AI 状態、ナビゲーションから分離します。
- 作成時に定義した射程、向き、接触時間、割り込み、死亡、クリーンアップの境界で、すべての攻撃をテストします。
カタログラボを構築する
次の2つの画面を作成します。
- カタログカード:透明 PNG、正確なラベル、WebGL キャンバスはゼロ。
- 選択したモデルのインスペクター/レビュー画面:ソース、ステータス、予算、リグ、ソケット、アクション、既知の制約を表示するライブモデルキャンバスをちょうど1つ。
以下を提供します。
- ページスクロールを維持しながらドラッグで回転できる操作。
- 出荷するすべてのクリップを選べるアクション選択機能。Walk、Hit、Death のコントロールは見えるようにします。
- 再起動および一時停止/再生。
- キャラクター向けの装備切り替え機能。装備をすべてオフにでき、使用中/収納中の状態も適切に表示されること。
- キャラクター装備のコントロールではなく、モンスター向けの戦闘状態または攻撃コントロール。
- 実際のモデルが読み込まれるまで表示するフォールバック画像。
- カタログ/テストのリファレンスで定義された、決定論的なランタイムテレメトリー。
インスペクターでは、ゲームプレイで使用するとされているものと同じランタイムモデル、リグ、クリップ、装備ルール、アクション API を読み込む必要があります。スクリーンショットや別個のルックデブ用メッシュは、ランタイムの証明にはなりません。
検証してコミットする
プロジェクトの対象アセットテスト、マニフェストバリデーター、ビルド、リンター、全テスト、および git diff --check を実行します。
リポジトリで承認されたブラウザーで、次を確認します。
- カードに透明画像が1つあり、キャンバスがゼロであること。
- インスペクターにモデルホスト/キャンバスが1つあること。
- すべてのアクションをクリックし、選択状態/再生状態を確認すること。
- キャラクターの各スロットを個別に切り替え、すべての装備をオフにすること。
- 正面、背面、両側面を確認し、破片、穴、接地、ソケットのエラーがないこと。
- モデルをドラッグし、ページをスクロールし、サポート対象の狭い画面/モバイルレイアウトをテストすること。
- フォールバックとモデル読み込み失敗時の動作を確認すること。
- 壊れたメディアやコンソールの警告/エラーがないことを確認すること。
対象アセットの範囲のみをコミットします。マニフェスト、メイン/ランタイムモデル、装備ファイル、リグとソケット、アクション、カタログ画面、ステータス、検証結果、既知の制約、および正確なコミット SHA を報告します。全テストのベースラインで発生する失敗は別途報告します。