正式美術生産
リリース可能な2Dリソースを生成します:立ち絵、背景、UI、アイテム、アイコン。プレースホルダー四角形ではありません——ただし、最初に制限事項を明確にします(文末参照)。
第0歩:画像生成機能の確認
以下の順に確認し、前提は置かないでください:
- 現在のセッションで利用可能なネイティブ画像生成・編集ツールを確認し、利用可能な場合は直接呼び出します。プロンプトのみ記述しないでください。
- Codexの画像生成スキルはデフォルトで組み込みの
image_genツールを使用し、APIキーは不要です。ユーザーが明示的に直接APIルートを選択した場合のみ、以下のプラグインアダプターを使用できます。このルートでは、個別にキーとモデルのアクセス権限を設定する必要があります。 - どちらも利用できない場合は、このルートでは現時点で正式な美術を生成できないことを明確に伝え、スクリプトで四角形を描いてごまかさないでください。
OpenAI Images API(オプション)
ユーザーが明示的にAPIサービスを選択した場合のみ使用します:ユーザーはローカルマシンにOPENAI_API_KEYを設定し、組織が画像モデルへのアクセス権限を持ち、実際の生成リクエストには課金が発生する可能性があります。最初に--dry-runでプレビューしてください。スクリプトは--backup-dirを必須とし、APIから返された元画像をまずバックアップし、その後ランタイムディレクトリにコピーします。既存ファイルは上書きしません。
python scripts/gen_ai_image.py --prompt "single centered hand-painted blue space-helmet pickup icon, transparent background" --format png --background transparent --out assets/art/items/helmet.png --backup-dir doc/temp
python scripts/gen_ai_image.py --prompt "A tiny green robot waves, then turns and walks away; clean looping pixel-art animation" --format gif --frames 8 --frame-duration-ms 100 --out assets/animation/robot.gif --backup-dir doc/temp
組み込みimage_genのデフォルト保存先は$CODEX_HOME/generated_images/です。現在のプロジェクト用に画像を生成したら、すぐに元画像のコピーをプロジェクトルールで指定されたバックアップディレクトリ(このプロジェクトではdoc/temp/)に保存し、その後、切り抜き、拡大縮小、背景透過などの処理を行います。最終的なリソースもランタイムのリソースディレクトリに残します。組み込みツールがファイルパスを直接指定できるとは想定しないでください。
--format gifはモデルが生成する2~16フレームの短いアニメーションを使用しますが、ゲーム最適化済みのスプライトシートとは異なります。GIFプレビューの可否、サイズ制限、対応モデルについては、公式画像APIドキュメントを参照してください。フレーム単位の制御が必要な場合は、静的スプライトシートを生成し、game-animation-productionを使用してください。Codexセッションの組み込み画像生成ツールは、画像の直接生成・編集が可能です。このツールは、上記スクリプトのAPIキー設定とは別です。
第1歩:まずスタイルバイブルを作成する(成否を分ける重要なステップ)
一連の素材でスタイルを統一する必要がある場合、既存の画像やメインビジュアルを視覚的なアンカーとして使用します。単一アイテムの編集では既存の素材を流用し、新たにメインビジュアルを生成する必要はありません。
docs/art-style-bible.md を出力します:
## スタイルアンカーセクション(生成のたびにそのまま貼り付けること)
<一文:媒体 + 画風 + 照明 + カラーパレット + 線/質感の特徴>
例:2D 手描きカートゥーン、太い輪郭線、ソフトなトップライト、紫と金のメインカラーパレット(#7C3AED / #FBBF24)、
フラット塗り+軽いノイズテクスチャ、グラデーション背景なし
## カラーパレット(HEX)
メインカラー / サブカラー / アクセントカラー / 影色 / ハイライト色
## 禁止事項
写実的な写真風テクスチャ不可 / サイバーネオン不可 / 3Dレンダリング風不可 / テキスト透かし不可
スタイルアンカーセクションは固定テキストとし、すべての画像にそのまま添付します。これが40枚の画像を一つのゲームとして統一するための主要な手段です。
第2歩:アセットごとの生成
単一画像のプロンプト構造(順序を変えないこと):
[スタイルアンカーセクション] + [被写体とポーズ] + [サイズ/構図:正面/中央/余白] + [背景:キーイング用に純白] + [技術要件:文字なし、地面への影なし]
- 透明背景が必要な場合は、生成ツールに直接透明背景で出力するよう優先的に要求します。適切な素材の場合のみ、単色背景と色キーイングを使用します。
- 必要に応じてバリエーションを生成します。数量は固定しません。
- 同一キャラクター:選択済みの画像を参照画像として使用し(ホストがimage-to-imageをサポートしている場合)、同じアンカーテキストを再利用します。
- スプライトシートとアニメーションの生成、フレーム分割、および検証については
game-animation-productionを参照してください。フレームごとに一貫性を確認し、必要に応じて修正します。 - プロジェクトの画像バックアップルールに従い、元画像、下書き、および処理後のすべての画像は、処理前にプロジェクトの要件に従ってバックアップします。
第3歩:後処理による仕様準拠
python scripts/process_art.py \
--in raw/ui_btn_raw.png \
--out assets/art/ui/ui_btn_primary.png \
--size 256x64 --mode fit \
--key-color "#FFFFFF" --key-tolerance 14 \
--nine-slice 24 --check-nine \
--report assets/art/ui/ui_btn_primary.report.json
重要な判断基準:
--mode fitアスペクト比を維持した拡大縮小+中央寄せ透明パディング。stretchは使用しない、変形します。--check-nineは外枠が9スライスで伸縮可能か検証します。不可能な場合は再設計し、無理に使用しないでください。- レポート内の
transparent_ratioが0に近い場合、キーイングが成功していないことを示します。
第4歩:アトラスと圧縮
python scripts/pack_atlas.py --input assets/art/ui --out-sheet assets/art/ui_atlas.png \
--out-data assets/art/ui_atlas.json --max-size 2048 --padding 2
アトラスの分割は「同じ画面で一緒に使われるリソースは同じアトラスに」という基準で行い、リソースの種類では分割しません。1枚のサイズは2048×2048を超えないようにし、ローエンドデバイスでは1024×1024の方が安定します。
第5歩:登録と最終チェック
各リソースは assets/manifest.json に以下をすべて記述する必要があります:
{
"path": "assets/art/ui/ui_btn_primary.png",
"kind": "ui",
"tier": "final",
"size": [256, 64],
"nine_slice": 24,
"source": "ai",
"ai_generated": true,
"model": "gpt-image",
"license": "AI-generated, commercially cleared under <service> terms",
"commercial_ok": true,
"note": "メインボタン、3状態"
}
python scripts/validate_assets.py --manifest assets/manifest.json --final --strict-license
最終チェックで引っかかるもの:draftのまま、licenseの欠落、sprite/uiのアルファチャンネルなし、完全に不透明(キーイング未実施)、サイズ不一致。
ライセンスと審査(省略不可)
- AI生成素材の商用利用条件はサービスにより異なります。サービスごとに確認し、
licenseフィールドにソースを明記してください。 - 一部のプラットフォーム(特に国内の小規模ゲーム審査)では、素材の出所説明が求められます。
ai_generated: trueは審査用のマークなので、省略しないでください。 - フォントはOFLオープンソースフォント(Noto / 源ノシリーズ)のみ使用可能です。商用フォントはユーザー自身がライセンスを購入する必要があります。出所不明のフォントをダウンロードしないでください。
実現できない部分(ユーザーに正直に伝えること)
| 要件 | 結論 |
|---|---|
| 2D立ち絵/背景/UI/アイコン/アイテム | 可能。ただし、手動での選別と修正が必要。 |
| 同一キャラクターのフレームアニメーション | AIスプライトシートまたはフレームシーケンスで試行可能。一貫性を確認し、状況に応じて修正。 |
| 3Dモデル/ボーンリギング | このパイプラインでは不可能。 |
| ピクセル単位の厳密な統一(例:厳格なピクセルアートグリッドの一致) | 手動でピクセル単位の修正が必要。AI出力は半ピクセルのずれが頻発。 |
| 商用フォント | オープンソースの代替案のみ提示可能。 |