godot-asset-generator
AI画像生成API(DALL-E、Replicate、fal.ai)を活用してゲームアセットを生成し、Godot向けに最適化するスキルです。コンセプトアートやスタイルガイドの策定から、スプライト・スプライトシート・タイルセット・UI素材の生成、インポート設定まで、アート制作の全工程をカバーします。ゲームアート制作、スプライト生成、タイルセット作成、Godotへのアセット取り込みが必要な際に使用してください。
description の原文を見る
Generate game assets using AI image generation APIs (DALL-E, Replicate, fal.ai) and prepare them for Godot. Covers the full art pipeline from concept art and style guides to final sprites, sprite sheets, and import configuration. This skill should be used when creating game art, generating sprites, making tilesets, creating UI elements, or preparing assets for Godot import. Keywords: game assets, AI art, DALL-E, Replicate, fal.ai, sprite sheet, tileset, Godot, pixel art, character sprite, game art, texture, animation frames.
SKILL.md 本文
Godot Asset Generator
AI画像生成API を使用してゲームアセットを生成し、Godot 4.x で使用するために準備します。このスキルはコンセプトから Godot 対応スプライトまでの完全なアートパイプラインをカバーしています。
このスキルを使用する場面
このスキルを使用する場合:
- AI を使用してゲームスプライト、キャラクター、またはオブジェクトを生成する
- プラットフォーマーまたはトップダウンゲーム用のタイルセットを作成する
- UI要素、アイコン、またはメニューアセットを生成する
- アニメーションフレームをバッチ生成する
- AI生成アセットを Godot インポート用に準備する
- スタイルガイドを使用して一貫性のあるアセットセットを作成する
このスキルを使用しない場合:
- 3Dモデルやテクスチャの作成(2Dアセットのみ)
- 手動ピクセルアートまたはイラスト(アートソフトウェアを使用)
- 複雑なフレーム単位のアニメーション(アニメーションツールを使用)
- 既存アセットの操作(Godot を直接使用)
前提条件
必須:
- Deno ランタイムがインストールされていること
- 次のいずれかの API キー:
- DALL-E 3 用の
OPENAI_API_KEY - Replicate 用の
REPLICATE_API_TOKEN(SDXL、Flux) - fal.ai 用の
FAL_KEY
- DALL-E 3 用の
オプション:
- 高度な画像処理用の ImageMagick
- インポートファイル生成用の Godot 4.x プロジェクト
クイックスタート
単一の画像を生成
deno run --allow-env --allow-net --allow-write scripts/generate-image.ts \
--provider dalle \
--prompt "pixel art knight character, front view, 16-bit style, transparent background" \
--output ./assets/knight.png
アニメーションフレームをバッチ生成
deno run --allow-env --allow-net --allow-read --allow-write scripts/batch-generate.ts \
--spec ./batch-spec.json \
--output ./generated/
スプライトシートを作成
deno run --allow-read --allow-write scripts/pack-spritesheet.ts \
--input ./generated/*.png \
--output ./sprites/player-sheet.png \
--columns 4
コアワークフロー
フェーズ 1: スタイル定義
アセット生成前にアートスタイルを定義します:
- アートスタイルを選択: ピクセルアート、手描き、油彩、またはベクター
- スタイルガイドを作成: 色、モディファイア、制約を文書化
- プロンプトをテスト: サンプルを生成してスタイルの一貫性を検証
{
"style": "pixel-art",
"resolution": 64,
"palette": "limited-16-colors",
"modifiers": "16-bit, no anti-aliasing, clean pixels"
}
フェーズ 2: アセット生成
適切なプロバイダを使用してアセットを生成します:
- 単一アセット: 個々の画像には
generate-image.tsを使用 - バッチアセット: 複数の関連アセットには
batch-generate.tsを使用 - イテレーション: 結果に基づいてプロンプトを調整
フェーズ 3: 後処理
生のAI出力をゲーム用に準備します:
- 背景削除: 背景からスプライトを抽出
- 色補正: 必要に応じてパレットを正規化
- リサイズ: ゲームの正確な解像度にスケール
- トリム/パディング: 空白を削除、スプライトパディングを追加
deno run --allow-read --allow-write scripts/process-sprite.ts \
--input ./raw/knight.png \
--output ./processed/knight.png \
--remove-bg \
--resize 64x64 \
--filter nearest
フェーズ 4: Godot 統合
Godot インポート用にアセットを準備します:
- スプライトシートをパック: フレームを最適化されたシートに結合
- インポートファイルを生成: 最適な設定で
.importを作成 - アニメーションを設定: SpriteFrames リソースをセットアップ
API プロバイダ選択
| プロバイダ | 最適用途 | 品質 | コスト | 速度 |
|---|---|---|---|---|
| DALL-E 3 | 一貫性、高品質 | 優秀 | $$$ | 中速 |
| Replicate | スタイル制御、バリエーション | 非常に良好 | $$ | 中速 |
| fal.ai | 高速イテレーション、テスト | 良好 | $ | 高速 |
DALL-E 3(OpenAI)
高品質で一貫性のある結果に最適。優れたプロンプト追従性。
--provider dalle --model dall-e-3
- サイズ: 1024x1024、1792x1024、1024x1792
- 品質: standard、hd
- スタイル: vivid、natural
Replicate(SDXL/Flux)
スタイル制御とコスト効率的なバッチ生成に最適。
--provider replicate --model stability-ai/sdxl
- より多くのモデルオプション(SDXL、Flux、特殊化)
- ネガティブプロンプトに対応
- ControlNet と img2img が利用可能
fal.ai
プロンプトの高速イテレーションとテストに最適。
--provider fal --model fal-ai/flux/schnell
- 最速の推論
- プロトタイピングに最適
- 画像ごとのコストが低い
アートスタイル別プロンプティング
ピクセルアート
"pixel art [subject], 16-bit style, clean pixels, no anti-aliasing,
limited color palette, retro game sprite, transparent background"
主要なモディファイア: 16-bit、8-bit、pixel art、retro、clean pixels、no anti-aliasing
避けるべき: realistic、detailed、smooth、gradient
手描き・イラスト風
"hand-drawn illustration of [subject], ink lines, watercolor texture,
sketch style, game art, white background"
主要なモディファイア: hand-drawn、illustration、ink lines、sketch、watercolor
油彩・コンセプトアート
"digital painting of [subject], concept art style, painterly brush strokes,
dramatic lighting, game asset"
主要なモディファイア: digital painting、concept art、painterly、brush strokes
ベクター・フラットデザイン
"flat design [subject], vector art style, clean edges, solid colors,
minimal shading, game icon, transparent background"
主要なモディファイア: flat design、vector、clean edges、solid colors、minimal
スクリプトリファレンス
generate-image.ts
サポートされている任意のプロバイダから単一の画像を生成します。
deno run --allow-env --allow-net --allow-write scripts/generate-image.ts [options]
オプション:
--provider <name> プロバイダ: dalle, replicate, fal (必須)
--prompt <text> 生成プロンプト (必須)
--output <path> 出力ファイルパス (必須)
--model <name> 特定のモデル (オプション、プロバイダ依存)
--size <WxH> 画像サイズ、例: 1024x1024 (デフォルト: 1024x1024)
--style <name> スタイルプリセット: pixel-art, hand-drawn, painterly, vector
--negative <text> ネガティブプロンプト (Replicate/fal のみ)
--quality <level> 品質: standard, hd (DALL-E のみ)
--json メタデータを JSON で出力
-h, --help ヘルプを表示
batch-generate.ts
仕様ファイルから複数の画像を生成します。
deno run --allow-env --allow-net --allow-read --allow-write scripts/batch-generate.ts [options]
オプション:
--spec <path> バッチ仕様 JSON へのパス (必須)
--output <dir> 出力ディレクトリ (必須)
--concurrency <n> 並列リクエスト数 (デフォルト: 2)
--delay <ms> リクエスト間の遅延ミリ秒 (デフォルト: 1000)
--resume 最後に成功したところから再開
--json 結果を JSON で出力
-h, --help ヘルプを表示
バッチ仕様フォーマット:
{
"provider": "replicate",
"model": "stability-ai/sdxl",
"style": "pixel-art",
"basePrompt": "16-bit pixel art, game sprite, transparent background",
"assets": [
{ "name": "player-idle", "prompt": "knight standing idle, front view" },
{ "name": "player-walk-1", "prompt": "knight walking, frame 1 of 4" },
{ "name": "player-walk-2", "prompt": "knight walking, frame 2 of 4" }
]
}
process-sprite.ts
ゲーム用に生成された画像を後処理します。
deno run --allow-read --allow-write scripts/process-sprite.ts [options]
オプション:
--input <path> 入力画像パス (必須)
--output <path> 出力画像パス (必須)
--remove-bg 背景を削除(透明にする)
--resize <WxH> 寸法にリサイズ
--filter <type> リサイズフィルタ: nearest, linear (デフォルト: nearest)
--trim 透明な余白を削除
--padding <n> パディングピクセルを追加
--color-key <hex> 透明にする色 (例: ff00ff)
-h, --help ヘルプを表示
pack-spritesheet.ts
複数のスプライトをスプライトシートにパックします。
deno run --allow-read --allow-write scripts/pack-spritesheet.ts [options]
オプション:
--input <pattern> 入力ファイル (グロブパターン、必須)
--output <path> 出力スプライトシートパス (必須)
--columns <n> 列数 (デフォルト: 自動)
--padding <n> スプライト間のパディング (デフォルト: 0)
--power-of-two 2の累乗のサイズを強制
--metadata <path> 出力 JSON メタデータパス
-h, --help ヘルプを表示
出力メタデータ:
{
"image": "player-sheet.png",
"size": { "width": 256, "height": 128 },
"frames": [
{ "name": "idle", "x": 0, "y": 0, "width": 64, "height": 64 },
{ "name": "walk-1", "x": 64, "y": 0, "width": 64, "height": 64 }
]
}
generate-import-files.ts
最適な設定を備えた Godot .import ファイルを生成します。
deno run --allow-read --allow-write scripts/generate-import-files.ts [options]
オプション:
--input <path> 入力画像またはディレクトリ (必須)
--preset <name> プリセット: pixel-art, hd-sprite, ui (デフォルト: pixel-art)
--frames <n> アニメーションフレーム数 (スプライトシート用)
--columns <n> スプライトシートの列数
--fps <n> アニメーション FPS (デフォルト: 12)
-h, --help ヘルプを表示
Godot インポート設定
ピクセルアートスプライト
Filter Mode: Nearest
Compression: Lossless
Mipmaps: Off
Fix Alpha Border: On
HD スプライト
Filter Mode: Linear
Compression: VRAM Compressed
Mipmaps: On
UI 要素
Filter Mode: Linear (またはピクセル UI の場合 Nearest)
Compression: Lossless
Mipmaps: Off
例
例 1: ウォークアニメーション付きピクセルアートキャラクター
# 1. バッチ仕様を作成
cat > character-batch.json << 'EOF'
{
"provider": "replicate",
"style": "pixel-art",
"basePrompt": "16-bit pixel art knight, game sprite, transparent background",
"assets": [
{ "name": "knight-idle", "prompt": "standing idle, front view" },
{ "name": "knight-walk-1", "prompt": "walking, left foot forward" },
{ "name": "knight-walk-2", "prompt": "walking, standing straight" },
{ "name": "knight-walk-3", "prompt": "walking, right foot forward" },
{ "name": "knight-walk-4", "prompt": "walking, standing straight" }
]
}
EOF
# 2. 画像を生成
deno run --allow-env --allow-net --allow-read --allow-write \
scripts/batch-generate.ts --spec character-batch.json --output ./raw/
# 3. スプライトを処理
for f in ./raw/knight-*.png; do
deno run --allow-read --allow-write scripts/process-sprite.ts \
--input "$f" --output "./processed/$(basename $f)" \
--remove-bg --resize 64x64 --filter nearest
done
# 4. スプライトシートをパック
deno run --allow-read --allow-write scripts/pack-spritesheet.ts \
--input "./processed/knight-*.png" \
--output ./sprites/knight-sheet.png \
--columns 5 --metadata ./sprites/knight-sheet.json
# 5. Godot インポートを生成
deno run --allow-read --allow-write scripts/generate-import-files.ts \
--input ./sprites/knight-sheet.png --preset pixel-art \
--frames 5 --columns 5 --fps 8
例 2: タイルセット生成
# 個別タイルを生成
deno run --allow-env --allow-net --allow-write scripts/generate-image.ts \
--provider dalle \
--prompt "seamless pixel art grass tile, top-down view, 32x32, game tileset" \
--output ./tiles/grass.png \
--style pixel-art
# 処理とリサイズ
deno run --allow-read --allow-write scripts/process-sprite.ts \
--input ./tiles/grass.png --output ./tiles/grass-processed.png \
--resize 32x32 --filter nearest
例 3: UI アイコン
# UI アイコンをバッチ生成
cat > ui-batch.json << 'EOF'
{
"provider": "fal",
"style": "vector",
"basePrompt": "flat design game icon, clean edges, solid colors, transparent background",
"assets": [
{ "name": "icon-sword", "prompt": "sword weapon icon" },
{ "name": "icon-shield", "prompt": "shield defense icon" },
{ "name": "icon-potion", "prompt": "health potion bottle icon" },
{ "name": "icon-coin", "prompt": "gold coin currency icon" }
]
}
EOF
deno run --allow-env --allow-net --allow-read --allow-write \
scripts/batch-generate.ts --spec ui-batch.json --output ./icons/
よくある問題
API キーが見つからない
Error: OPENAI_API_KEY environment variable is not set
解決方法: 実行前に API キーをエクスポート:
export OPENAI_API_KEY="sk-..."
バッチ全体でスタイルが不一貫
問題: 同じプロンプトにもかかわらず生成画像のスタイルが異なる。
解決方法:
- より具体的なスタイルモディファイアを使用
- Replicate でシードパラメータを使用して再現性を確保
- より多くの画像を生成し、最適なものを選択
- 参照画像で img2img を使用(Replicate)
背景削除が失敗
問題: --remove-bg がスプライトをきれいに分離できない。
解決方法:
- プロンプトに「transparent background」または「white background」を追加
- 特定の背景色で
--color-keyを使用 - より明示的なプロンプトを使用: 「isolated on transparent background」
- 複雑な画像は手動クリーンアップが必要な場合がある
ピクセルアートにアンチエイリアシングがある
問題: 生成されたピクセルアートの端が滑らかになっている。
解決方法:
- プロンプトに「no anti-aliasing」、「clean pixels」を追加
- より大きなサイズで生成してからニアレストネイバーでダウンスケール
- process-sprite.ts で
--filter nearestを使用 - パレット削減で後処理
レート制限
問題: API が 429 レート制限エラーを返す。
解決方法:
- batch-generate.ts の
--delayを増やす --concurrencyを減らす- 待機して再試行
- 大規模なバッチに異なるプロバイダを使用
追加リソース
プロンプティングガイド
references/prompting/pixel-art.md- 詳細なピクセルアート技法references/prompting/hand-drawn.md- イラスト風スタイルガイドreferences/prompting/consistent-characters.md- キャラクター一貫性
API ガイド
references/api-guides/openai-dalle.md- DALL-E 3 API リファレンスreferences/api-guides/replicate-sdxl.md- Replicate 統合references/api-guides/fal-ai.md- fal.ai ガイド
Godot 統合
references/godot-integration/import-settings.md- インポート設定references/godot-integration/animation-setup.md- AnimatedSprite2D セットアップ
テンプレート
assets/prompts/pixel-art-templates.json- ピクセルアートプロンプトテンプレートassets/prompts/character-templates.json- キャラクタープロンプトassets/style-guides/style-guide-template.json- スタイルガイドスキーマ
制限事項
- API ベースのみ: インターネットと API キーが必要(ローカルモデルなし)
- スタイル一貫性: 同じプロンプトでも AI はバリエーションを生成する可能性
- 解像度の制約: 各プロバイダにはサイズ制限がある
- 2D アセットのみ: 3Dモデル、テクスチャ、または複雑なアニメーションには使用不可
- 背景削除: 複雑な画像は手動クリーンアップが必要な場合がある
- コスト: API 呼び出しは料金が発生し、特に大規模なバッチでは高くなる
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- jwynia
- リポジトリ
- jwynia/agent-skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/jwynia/agent-skills / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。