mcpField
B
build-rigged-game-assets

build-rigged-game-assets

github.com/mengtoクリエイティブ・メディア7.1k1.2k 回インストール3 日前に更新
リポジトリ

build-rigged-game-assets について

ソース資料からランタイム統合、カタログレビューまで、リグ付きゲームアクターを作るスキルです。キャラクターとモンスターの手順を分け、マニフェスト、検証、ゲームプレイ要件、納品確認を定めています。

主な機能

  1. 01アセットマニフェストと検証
  2. 02モデル、リグ、アクションの要件
  3. 03キャラクター装備とソケットの規則
  4. 04モンスターの戦闘とコライダー要件
  5. 05カタログインスペクターとランタイム確認
  6. 06ビルド、テスト、コミットの確認

活用シーン

  1. 01ゲームプレイ用キャラクターアセットの準備
  2. 02モンスターアクターの統合と検証
  3. 03カタログカードとモデルインスペクターの作成
  4. 04プロジェクト要件に沿った納品物の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mengto/skills --skill build-rigged-game-assets

インストール後、Claude Code で/build-rigged-game-assetsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
assets/
character-asset-manifest.template.json
monster-asset-manifest.template.json
references/
catalog-and-testing.md
requirements.md
scripts/
validate_asset_manifest.py

詳細

リグ付きゲームアセットを構築する

ソースリファレンスからゲームプレイ、カタログでの確認まで、一貫性のあるアクターパッケージを構築します。

まず要件を明確にする

ファイルを生成または編集する前に、リポジトリの実態を確認します。

  • ソース画像/モデル、ランタイムローダー、スケルトンの規約、アクション API、装備システム、衝突システム、カタログスキーマ、レビュールート、予算、テストを確認します。
  • アクターを character または monster に分類します。
  • 提供方法を catalog-only、review-only、runtime に分類します。ゲームプレイでアセットが読み込まれるまでは、実装済みと呼ばないでください。
  • 変更不可のソースアーティファクトは、最適化したランタイムファイルとは分けて保存します。
  • クレジットを消費するジェネレーターを使う前に、対象のファイル形式を決めます。

assets/ から対応するテンプレートをコピーして記入し、実装の隣、またはプロジェクトのアセットメタデータの保存場所に配置します。

  • character-asset-manifest.template.json
  • monster-asset-manifest.template.json

構築前に scripts/validate_asset_manifest.py <manifest> を実行します。出荷ファイルを確認するには --root <repo> を指定して再実行し、--require-verified は、すべての受け入れ確認に実際に合格してから指定します。

モデル、リグ、アクション、装備、ソケット、衝突データを作成する前に、references/requirements.md を読みます。カタログカード、インスペクター、ムーブセットルート、テレメトリ、リリーステストを追加する場合は、references/catalog-and-testing.md を読みます。

共通のアクターパッケージを構築する

  1. ソースを保持します。
    • リファレンス画像、ソースタスク、インポートしたファイル、ライセンス、ジェネレーター/モデル、マテリアルの出所を記録します。
    • 高詳細のソースをランタイム向けの最適化版で上書きしないでください。
  2. メインモデルを作成します。
    • スケール、Y 軸上向き、前方軸、ピボット、地面との接点、マテリアル、テクスチャ、三角形ポリゴン数の予算を統一します。
    • 接地位置には、足または定義済みの接触ソケットを使用します。武器の先端、布の尾、影、VFX は使用しないでください。
    • 孤立した三角形、非多様体の断片、重複サーフェス、ジェネレーターが生成した不要なデータ、未使用ノードを削除します。
  3. 安定したリグを 1 つ構築します。
    • ルート、ヒップ/重心、頭、四肢、足、アタッチメントソケットに明示的な名前を付けます。
    • エンジンの仕様で別途定められていない限り、各頂点のスキン影響数は最大 4 つとし、正規化します。
    • すべてのクリップで、決定性のあるバインドポーズ、有限のトランスフォーム、正の使用可能なスケール、互換性のあるスケルトン ID を維持します。
  4. アクションライブラリを構築します。
    • 各クリップに、安定した id、意味上の role、ループ方針、ルートモーション方針、再生時間、接触イベント、ソースを設定します。
    • クリップを分ける場合は、アニメーションのみの GLB を優先します。重複したメッシュ、マテリアル、テクスチャを含めてはいけません。
    • ループしないアクションは再生可能にし、意図した移動/待機状態に戻るようにします。
  5. ランタイム統合を構築します。
    • アセット専用のローダー/ファクトリーを 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 を報告します。全テストのベースラインで発生する失敗は別途報告します。

コメント