mcpField
L
layer-game-assets

layer-game-assets

github.com/layeraiクリエイティブ・メディア73.7k 回インストール4 週間前に更新
リポジトリ

layer-game-assets について

layer-game-assetsは、キャラクター、環境、UI、アイコンのゲーム向け制作条件を扱うスキルです。アセット間の一貫性、リグ用パーツ、視差レイヤー向け背景に重点を置いています。

主な機能

  1. 01キャラクターの役割とシルエットの設定
  2. 02アンカー画像や学習済みスタイルによる一貫性
  3. 03スケルトンリグ向けの分離パーツ作成
  4. 04環境の奥行きと視差レイヤーの設計
  5. 05目標サイズに合わせたUIとアイコンの設計

活用シーン

  1. 01ゲームキャラクターの統一感あるデザイン
  2. 02スケルトンリグ用キャラクター画像の準備
  3. 03個別に動かせる視差背景レイヤーの作成
  4. 04既存のスタイルに沿ったアイコンセットの拡張

インストール

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

$npx skills add https://github.com/layerai/skills --skill layer-game-assets

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

詳細

レイヤーゲームアセット

概要

ゲームアートとイラストの違いは、すべてを左右する一点にあります。ゲームアートは、システムの中に収まる必要があります。 アイコンは同じセットの一部であり、キャラクターは同じキャストの一員であり、背景はパララックススタックの一部です。隣り合うアセットと合わない美しいアセットは、不具合です。

生成の仕組みについては layer スキル、プロンプトの作成については layer-image スキルで説明しています。このスキルでは、それらで扱わない、ゲーム内で使用するアート特有の制約を取り上げます。ピクセルアートには独自のルール(layer-pixel-art)があり、タイル状のサーフェスにも同様に独自のルール(layer-textures)があります。

ここに記載した関連スキルが利用可能なスキルに含まれていない場合は、ユーザーにインストールを依頼してください(npx skills add layerai/skills --skill <name>)。ユーザーの対応を待たずに進める場合は、ツールのスキーマに基づいて作業し、不足している点を明示してください。

キャラクターとキャスト

キャラクターのプロンプトでは、見た目より先に役割を指定する必要があります。敵の雑魚キャラ、ショップの店員、レイドボスでは、プレイヤーの受け取り方が異なります。また、細部よりも先にシルエットがその印象を伝えます。シルエットを明確に指定してください。体格、姿勢、ひと目でキャラクターを識別できる特徴的な形状を示します。

次に、プロンプト任せにできない制作上の条件を指定します。全身かポートレートか、視点(正面、斜め前、横)、背景の処理(合成する場合は単色背景に分離する)、ポーズは資料用のニュートラルなものか、キービジュアル用の動きのあるものかを明記します。

難しいのは、キャスト全体の統一です。同じ形容詞を二度書いても同じキャラクターにはなりませんし、シード値もプロンプト間では引き継がれません。効果的な方法は2つあります。

  1. アンカー画像。 まずメインとなる画像を1枚承認し、それを reference_image として添付して各キャラクターの生成に使います。image_editing を指定してください。これは、提供された被写体を再現する必要があるアート向けの機能です。style_reference が引き継ぐのは見た目だけであり、キャラクターは維持されません。アンカーを設定してもキャストの見た目が変わってしまうのは、たいていこれが原因です。
  2. 学習済みスタイル。 数週間かけてキャストを増やす場合は、承認済みのアートを使ってリファレンスセットを学習させ、すべての生成に適用します。layer-reference-sets を参照してください。

今週中に少数のアセットを作るなら、1つ目が適しています。運用中のゲームには、2つ目が適しています。

リグ対応キャラクター

Spine やスケルタルリグで使用するキャラクターは、パーツを分離できる必要があります。どのパーツもほかのパーツに隠れないよう、手足を離したニュートラルなポーズで、透明または単色の背景にキャラクターを生成します。その後、layer-image-editing の split_into_layers を使ってパーツを分離します。

最初に正しく対処すべきなのは、オクルージョンです。腕を組んだポーズや、胴体を覆うマントでは、隠れた形状がどのレイヤーにも存在しません。いくら分割しても、その形状を復元することはできません。プロンプトに「腕は体から離し、脚は開き、マントは後ろに流して胴体にかからないようにする」と指定してください。

ゲームプレイ用の背景では、コントラストと彩度を意図的に低く保ってください。生成したゲーム背景で最もよくある指摘は、背景がごちゃごちゃしていてキャラクターが見づらいというものです。

UI とアイコン

プロンプトにはピクセルサイズを指定し、最小サイズ向けにデザインしてください。512px で作成したアイコンセットが 64px でぼやけてしまうなら、それは失敗です。解決策は、より高精度な拡大ではなく、要素を減らして線を太くすることです。

すべてのプロンプトに共通の文法を明記し、セット全体に統一感を持たせてください。線の太さ、角の半径、パース(フラット、アイソメトリック、またはわずかな三点透視)、カラーパレット、アイコンをプレートに載せるか、何も置かずに浮かせるかを指定します。透過背景で生成すれば、エンジン側で配置できます。

既存のセットを拡張する場合は、生成ではなく編集作業です。承認済みのアイコンを 2〜3 個スタイル参照として添付し、新しいアイコンが文法を引き継ぎ、一から作り直すことがないようにしてください。

使用例

「ファンタジー RPG 用のアビリティアイコンを 6 個。すでに承認済みの 2 個に合わせてください。」

  1. 承認済みの 2 個には、元の生成時に割り当てられた file_id 値がすでにあります。
  2. filter.use_case: "text_to_image" および filter.capabilities: {image_editing: true, square: true} を指定して list_base_models を実行します(名前のリストではなく、ブール値を持つオブジェクトです)。最初の結果を使います。
  3. アイコンごとに 1 回、合計 6 回実行します。各回で承認済みの 2 個を reference_image として添付し、プロンプトでは共通の文法と新しいモチーフを 1 つ指定します。「アビリティアイコン、目標サイズ 64px、フラットな三点透視、均一な太いアウトライン、2 色の塗り、落ち着いたゴールドとスレートのカラーパレット、透過背景に単独で配置。モチーフ:霜のシジル。」
  4. 最初の生成結果を確認して見た目を確定してから、残りの 5 個を実行します。
  5. 個別にフルサイズで確認するのではなく、64px で並べて確認します。

よくある間違い

  • 目標サイズではなく、フル解像度でアイコンを評価する。
  • 同じ説明を書き直して、同じキャラクターが生成されることを期待する。
  • シーン全体を生成してから、あとで視差レイヤーに分割する。
  • 手足が胴体に重なるポーズで、リグ対応のキャラクターを生成する。
  • 合成するアセットなのに、背景の処理を指定しない。
  • キャラクターとの見分けがつきにくい、コントラストが高くごちゃごちゃしたゲームプレイ背景にする。
  • 承認済みのアイコンを参照として添付せずに、承認済みのアイコンセットに追加する。

コメント