mcpField
S
sprite-pipeline

sprite-pipeline

github.com/openaiクリエイティブ・メディア7.6k56 回インストール3 週間前に更新
リポジトリ

sprite-pipeline について

ゲームアセット制作向けの 2D スプライト生成・正規化スキルです。承認済みの基準フレームからアニメーションストリップを生成し、各フレームを整えてプレビューします。

主な機能

  1. 01基準フレームから参照キャンバスを作成
  2. 02アニメーションストリップを一括生成
  3. 03フレーム寸法の統一
  4. 04共通アンカーによるフレーム位置合わせ
  5. 05確認用プレビューシートの出力

活用シーン

  1. 01一貫性のあるキャラクターアニメーション制作
  2. 02生成スプライトのゲーム用フレーム化
  3. 03エンジンへの取り込み前のストリップ確認

インストール

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

$npx skills add https://github.com/openai/plugins --skill sprite-pipeline

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

同梱ファイルagents/openai.yaml

詳細

スプライトパイプライン

概要

このスキルは、2D スプライトの生成と正規化に使用します。このワークフローでは、承認済みのフレームを 1 枚用意し、ストリップ全体を一度に生成する手順を基本とします。フレームを個別に生成すると、ばらつきが生じやすいためです。

このスキルは 2D 専用です。3D キャラクター、メッシュ、マテリアルの依頼の場合は、../game-studio/SKILL.md を参照してください。

基本的なワークフロー

  1. ゲーム内で承認済みのシードフレームから始めます。
    • シードフレームには、適切なシルエット、パレット、衣装、プロポーションがすでに反映されている必要があります。
  2. そのフレームの周囲に、大きめの透明な参照キャンバスを作成します。
    • ../../scripts/build_sprite_edit_canvas.py を使用します。
  3. 1 回の編集リクエストで、アニメーションストリップ全体を生成するよう依頼します。
    • ユーザーが一貫性の低下を明示的に了承しない限り、フレームを個別に生成しないでください。
  4. 結果を固定サイズのゲーム用フレームに正規化します。
    • ../../scripts/normalize_sprite_strip.py を使用します。
    • ストリップ全体で共通のスケールを使用します。
    • 通常は下部中央など、共通のアンカー位置にフレームを揃えます。
  5. 必要に応じて、フレーム 01 をゲーム内で使用中のシードフレームに戻して固定します。
    • アニメーションを、ゲーム内の既存のアイドルポーズまたは基本ポーズから正確に開始する必要がある場合に行います。
  6. プレビューシートをレンダリングし、承認前にゲーム内でアニメーションを確認します。
    • ../../scripts/render_sprite_preview_sheet.py を使用します。

プロンプトのルール

プロンプトでは、以下の条件を必ず維持してください。

  • 同じキャラクター
  • 同じ向き
  • 同じパレットの系統
  • 同じシルエットの系統
  • 同じく判別しやすい顔または主要な特徴
  • 同じ衣装のプロポーション
  • 透明な背景
  • 正確なフレーム数と配置

必ず以下を指定してください。

  • ストリップを一度に 1 つ生成する
  • 透明なキャンバス
  • 背景の風景、ラベル、ポスター風の構成は含めない
  • ピクセルアートの場合は、くっきりしたピクセルのまとまりにする
  • コンセプトアートではなく、制作向けアセットのトーンにする

画像生成の使用

アセットをリアルタイムで生成または編集する場合は、このワークスペースにインストールされている imagegen スキルを使用します。このスキルではゲーム固有の手順を定めており、imagegen が API を使った生成または編集の実行を担います。

スクリプトの使用例

参照キャンバスを作成します。

python3 scripts/build_sprite_edit_canvas.py \
  --seed output/sprites/idle-01.png \
  --out output/sprites/hurt-edit-canvas.png \
  --frames 4 \
  --slot-size 256 \
  --canvas-size 1024

未加工のストリップを正規化します。

python3 scripts/normalize_sprite_strip.py \
  --input output/sprites/hurt-raw.png \
  --out-dir output/sprites/hurt \
  --frames 4 \
  --frame-size 64 \
  --anchor output/sprites/idle-01.png \
  --lock-frame1

プレビューシートをレンダリングします。

python3 scripts/render_sprite_preview_sheet.py \
  --frames-dir output/sprites/hurt \
  --out output/sprites/hurt-preview.png \
  --columns 4

品質基準

  • フレーム間でプロポーションが安定している
  • フレームごとにサイズが変化しない
  • ゲーム内の表示サイズでアクションが明確に伝わる
  • 透明度が維持されている
  • ロックバックを有効にした場合、フレーム 01 がゲーム内で使用中のスプライトと一致している
  • ゲーム内のアセットインデックスを更新する前に、プレビューが正しいことを確認している

参考資料

  • 詳細なワークフロー:../../references/sprite-pipeline.md
  • 共通のフロントエンドコンテキスト:../game-ui-frontend/SKILL.md

コメント