Community影像github.com

精靈產生器

從參考圖或詳細描述中,為 Godot 建立、修復、驗證、預覽和打包可直接用於遊戲的素材精靈。當使用者需要角色、道具、家具狀態集、動畫條、地圖、娃娃屋房間、UI 相關遊戲物件、風格匹配的變體,或包含 SpriteFrames 資源的 Godot 圖集時,可使用此技能。此技能將實際美術生成工作委派給已安裝的圖像生成技能/工具,並僅使用捆綁的腳本進行確定性提示規劃、色鍵去背、影格提取、圖集組合、品質保證、預覽和 Godot 打包。

精靈產生器 是什麼?

此技能專為 Godot 遊戲引擎的 2D 素材生產而設計。其核心目標是將使用者提供的概念草圖、參考圖像或詳細文字描述,轉換為結構化、可直接整合到 Godot 專案中的遊戲精靈資產。它遵循一個明確的「非目標」:絕不將本地繪圖腳本用作實際圖像生成的替代品。所有視覺內容的建立都必須委派給環境中的圖像生成功能(例如 Codex 環境中的 $imagegen 技能或 ChatGPT 的原生生成工具)。此技能本身僅負責確定性處理步驟,例如建立執行資料夾、記錄選取的生成輸出、移除色鍵背景、將動畫條分割成影格、組合圖集、生成接觸表單、編寫 Godot 的 SpriteFrames 資源。 它支援多種資產類型,包括角色、NPC、玩家、家具、道具、地圖、房間和娃娃屋。對於角色,它預設提供包含呼吸/眨眼效果的待機動畫以及四個方向的行走動畫。對於家具和道具,則預設提供「乾淨」和「骯髒」兩種狀態。使用者可以透過定義動畫名稱、影格數、方向、播放行為(循環/一次性)以及持續時間或 FPS 來自訂輸出。該技能能夠處理「風格捕捉」和「風格鎖定」,確保同一資產的所有變體(例如不同的服裝或顏色)都保持一致的比例、材質、邊緣風格和色調。 工作流程被組織成一個清晰的、對使用者可見的進度計畫:1. 準備資產請求(建立執行資料夾);2. 建立規範外觀(生成或選擇基礎參考);3. 建立狀態和動畫行(生成每個輸出任務);4. 打包給 Godot(提取影格、組合圖集、創建品質保證接觸表單、編寫清單)。每個步驟都包含實際的檔案生成。如果品質保證失敗,它提供一個修復工作流程,建議從最小的範圍開始修復(例如單個狀態或動畫行),然後逐步擴大範圍。此技能包含明確的驗收標準和品質保證規則清單,以確保生成的精靈資產沒有標籤、影格編號、不必要的陰影或特效,並且在 Godot 中具有可預測的檔案名稱和透明的背景。 總而言之,此技能將一個複雜的多步驟遊戲美術製作流程打包成一個通用的、與風格無關的 AI 代理技能。它不僅僅是創建漂亮的圖像,而是專注於製作出可直接放入 Godot 專案、具有透明背景、整潔圖集、影格後設資料和準備好的 SpriteFrames 資源的遊戲素材。它透過將提示規劃和後處理等確定性任務與實際的藝術創作分離,實現了這一點,所有這些任務都透過一個統一的命令列腳本工作流程來管理。

相容平台~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/Vel-Labs/Vel-Skills/tree/HEAD/skills/game/sprite-generator

Installed? Explore more 影像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

精靈產生器 是做什麼的?

輸出

已生成並驗證的精靈、預覽圖以及 Godot 整合成品。

非目標

使用本地繪圖腳本作為實際圖像生成的替代品。

目的

根據概念、一張或多張參考圖像,或詳細的藝術指導簡報,創建以製作為導向的 2D 遊戲精靈。此技能特意與風格無關:使用者可以提供參考圖像、樣式卡、螢幕截圖或生動的描述,而工作流程會將其轉換為可重複使用的精靈生成作業,其中包含提示詞、基礎圖像、生成的基礎參考、動畫/狀態任務、確定性提取、品質保證和 Godot 入門檔案。

目標不僅僅是創建漂亮的圖像。目標是產出能夠以可預測的檔案名稱、透明背景、整潔的圖集、影格後設資料、品質保證接觸表和 SpriteFrames 入門資源的方式,放置到 Godot 專案中的資產。

對此技能的請求範例:

  • "建立一套家具,有乾淨和骯髒的版本。"
  • "用這個美術風格製作一個角色,包含待機、行走、指向和清理動畫。"
  • "根據此參考圖,創建一個相同風格的娃娃屋房間地圖。"
  • "生成替換的服裝/顏色變體,並保持相同的身體比例。"
  • "將這個物體草圖轉換為準備好用於遊戲的透明道具精靈。"

輸入

接受以下任何輸入的組合:

  • 參考圖像: 樣式表、現有角色、道具、螢幕截圖、情緒板、調色板、先前生成的精靈或遊戲內截圖。
  • 生動描述: 資產名稱、角色、形狀、材質、顏色、比例、相機角度、預期用途和風格形容詞。
  • 資產類型: character、npc、player、furniture、prop、object、map、room、dollhouse 或通用 sprite。
  • 動畫: 已命名的動作、影格數、方向、循環/一次性行為、持續時間或 FPS,以及特殊姿勢說明。
  • 狀態與變體: 乾淨/骯髒、打開/關閉、健康/枯萎、空/滿、服裝 A/B、顏色集、損壞等級等。
  • 整合目標: Godot 版本、格狀大小、圖集欄數、比例、俯瞰/等距/側視相機,以及偏好的導入路徑。

如果使用者遺漏細節,請推斷合理的預設值,並使輸出易於迭代。不要在每個遺漏的細節上卡住。僅在遺漏會導致昂貴的錯誤工作時才提出釐清問題,例如未知的風格、未知的角色身份或必需的動畫列表。

視覺生成委派

實際美術必須使用環境的圖像生成能力來生成,而不是本地腳本。在 Codex 風格的技能環境中,如果可用,請委派給已安裝的 $imagegen 技能。在 ChatGPT 中,當使用者要求實際創建視覺資產時,請使用原生的圖像生成工具。捆綁的 Python 腳本僅用於確定的生產步驟。

允許的確定性步驟:

  • 創建執行資料夾和提示詞檔案
  • 將穩定的參考圖複製到執行資料夾
  • 創建版面指南圖像
  • 記錄選取的生成輸出
  • 移除單色色鍵背景
  • 將條狀圖分割成影格
  • 將影格裁剪、縮放、填補並置中到一致的格狀中
  • 組合 PNG/WebP 圖集
  • 生成接觸表和 GIF 預覽
  • 編寫 JSON 清單和 Godot 入門資源

硬性界限:不要使用 Pillow、SVG、CSS、HTML Canvas 或程式化形狀來繪製、塗畫、合成、平鋪、扭曲或發明精靈藝術,作為圖像生成的替代品。腳本可以處理生成的圖像;它們不能被用作隱藏的藝術生成器。

風格捕捉與風格鎖定

當提供風格參考時,將其視為真理的來源。將以下特質提取到提示詞計畫中:

  • 相機角度與視角:正面、側面、俯瞰、等距、3/4、娃娃屋、正交
  • 比例:Q 版、寫實、矮胖、高大、玩具感、像素風、油畫風、扁平向量、低多邊形渲染
  • 線條與邊緣處理:無外框、粗外框、柔邊渲染、像素邊緣、賽璐珞邊框
  • 材質與光照:黏土、毛絨、塑膠玩具、3D 上色、扁平賽璐珞、光澤、霧面、水彩等
  • 調色板與飽和度
  • 陰影策略:透明精靈不使用陰影,除非明確保留為物體的一部分
  • 背景策略:背景應為透明或單色,以便提取
  • 在目標格狀大小下的比例與可讀性

如果某行或某狀態看起來像是不同風格的相關資產,而不是目標風格的相同資產,則視為失敗。

資產類型預設值

角色/NPC/玩家

如果使用者未指定動畫,則預設輸出:

動畫影格數用途
idle4呼吸/眨眼循環;第一影格可作為靜態姿勢
walk_down6向前/向下移動
walk_up6向後/向上移動
walk_left6側視圖左移
walk_right6側視圖右移

可選的常見動作:point、talk、pickup、carry、clean、use_item、sit、sleep、cry、celebrate、fail、interact、attack、cast、jump、push、pull。

家具/道具/物體

如果使用者未指定狀態,則預設輸出:

狀態影格數用途
clean1正常/整潔狀態
dirty1同一物體的骯髒/雜亂狀態

可選的常見狀態:empty、half_full、full、overflowing、open、closed、on、off、healthy、wilted、broken、repaired、selected、highlighted、locked、unlocked。

地圖/房間/娃娃屋

預設輸出是一張大的 map_base 精靈或背景。對於房間,請指定是需要單個扁平化的美術圖層,還是分離的圖層,例如 floor、walls、furniture、interactables、path_overlay 和 collision_reference。除非要求作為單獨的疊加層,否則不要在生產地圖美術中包含 UI 標籤、箭頭、路徑線或教學疊加層。

背景與透明度規則

當圖像工具無法可靠地生成真正的 Alpha 通道時,首先生成帶有單色色鍵背景的圖像。預設色鍵為 #00ff00。最終的圖集在提取後應為透明的 PNG/WebP。

對於生成的原始圖像:

  • 在整個條狀圖或物體渲染中使用單一的背景顏色
  • 將資產與色鍵保持視覺上的分離
  • 當使用綠色鍵時,避免資產帶有綠色亮點/材質;如果資產需要綠色,則選擇洋紅色或藍色鍵
  • 不要有白色背景、棋盤格背景、UI 面板、標籤、影格編號、可見網格、邊框或風景
  • 不要有投射陰影、地板陰影、輝光、柔和的透明光暈、塵埃雲、速度線、運動模糊或鬆散分離的特效,除非一個微小的附加不透明效果明確是精靈的一部分
  • 每個影格必須完整、分離、未被裁剪,並位於其插槽內

動畫提示規則

對於每個動畫行/條:

  • 請求確切的宣告影格數
  • 指定版面:通常為從左到右的水平條
  • 使用規範基礎圖像和參考圖像作為基礎輸入
  • 保持身份、比例、調色板、材質、外框/邊緣風格和相機角度一致
  • 透過姿勢變化來傳達運動,而不是透過模糊、速度線、塵埃或陰影
  • 當 loop=true 時,第一影格和最後一影格應能乾淨地循環
  • 對於方向性動畫,明確請求方向,如果角色有側面特定配件,則避免意外的鏡像細節

如果某一行改變了角色的臉部、身體形狀、服裝、道具設計、材質風格或相對於基礎的比例,則不接受該行。

可見的進度計畫

對於標準的資產執行,為使用者保持一個可見的檢查清單:

  1. 準備資產請求。
  2. 創建規範外觀。
  3. 創建狀態和動畫行。
  4. 打包給 Godot。

每個步驟的含義:

  • 準備資產請求: 建立資產名稱、資產類型、風格來源、輸出內容、格狀大小、色鍵和執行目錄。
  • 創建規範外觀: 生成或選擇成為身份/風格鎖定的基礎參考。
  • 創建狀態和動畫行: 使用基礎和參考生成每個輸出任務;僅修復失敗的行/狀態。
  • 打包給 Godot: 提取影格、組合圖集、創建品質保證接觸表、編寫清單、編寫 SpriteFrames 入門資源,並報告檔案路徑。

僅在實際檔案或決策存在時,才將某步驟標記為完成。

工作流程

1. 準備執行資料夾

python3 ./scripts/prepare_sprite_run.py \
  --asset-name "Market Crate" \
  --asset-type prop \
  --description "readable wooden market crate with colorful contents" \
  --style-notes "match the supplied game art reference" \
  --reference /absolute/path/to/style_reference.png \
  --state full:1:"crate full of items":single:once \
  --state empty:1:"same crate empty":single:once \
  --cell-size 256x256 \
  --columns 2 \
  --output-dir /absolute/path/to/run

對於角色:

python3 ./scripts/prepare_sprite_run.py \
  --asset-name "Player" \
  --asset-type character \
  --description "friendly player character with a clear silhouette" \
  --reference /absolute/path/to/style_reference.png \
  --animation idle:4:"gentle breathing and blink" \
  --animation walk_down:6:"walking toward camera" \
  --animation walk_up:6:"walking away from camera" \
  --animation walk_left:6:"walking left side view" \
  --animation walk_right:6:"walking right side view" \
  --cell-size 256x320 \
  --columns 6 \
  --output-dir /absolute/path/to/run

進階的執行可以使用 JSON 設定檔來描述,並透過 --config 傳遞。

2. 檢查準備就緒的任務

python3 ./scripts/sprite_job_status.py --run-dir /absolute/path/to/run

應首先生成 base 任務。在生成依賴任務之前,記錄選取的生成基礎圖像。記錄器會寫入 references/canonical-base.png,後續任務應將其作為輸入圖像使用。

3. 生成每個視覺任務

對於每個準備就緒的任務,使用 imagegen-jobs.json 中列出的提示詞檔案以及所有列出的輸入圖像。選取最佳的原始生成圖像,然後記錄它:

python3 ./scripts/record_imagegen_result.py \
  --run-dir /absolute/path/to/run \
  --job-id job-id-from-status \
  --source /absolute/path/to/generated-output.png

不要記錄手動編輯的固定圖、縮圖或來自執行目錄中 final/frames 資料夾的檔案作為原始美術。記錄選取的原始生成輸出。

4. 最終化

python3 ./scripts/finalize_sprite_run.py --run-dir /absolute/path/to/run

預期輸出結構:

run/
  asset_request.json
  imagegen-jobs.json
  prompts/
  references/
  decoded/
  frames/frames-manifest.json
  final/spritesheet.png
  final/spritesheet.webp
  final/validation.json
  qa/contact-sheet.png
  qa/previews/*.gif
  qa/run-summary.json
  godot/<asset>_spriteframes.tres
  godot/<asset>_animated_sprite_2d.tscn
  godot/godot_import_manifest.json
  godot/README_GODOT.md

5. 複製到 Godot 專案

python3 ./scripts/package_godot_assets.py \
  --run-dir /absolute/path/to/run \
  --project-dir /absolute/path/to/godot-project \
  --dest assets/sprites

打包後請檢視 godot/README_GODOT.md。如果您將檔案複製到不同的 res:// 位置,請更新生成的 .tres 檔案內的紋理路徑。

修復工作流程

如果品質保證失敗,請先修復最小範圍:

  1. 單個錯誤的狀態或動畫行。
  2. 僅當您的圖像工具能可靠地支援影格級別編輯時,才修復單個錯誤影格。
  3. 僅當身份/風格在各方面都錯誤時,才修復規範基礎。
  4. 僅作為最後手段,才修復整個圖集。

常見的修復提示:

  • "僅重新生成 walk_left;保留確切的規範角色、服裝、比例和玩具渲染風格。"
  • "僅重新生成 dirty;它必須是與 clean 相同的沙發,但毯子/枕頭凌亂。"
  • "重新生成這個條狀圖,精確地包含 6 個影格,且沒有影格編號或標籤。"
  • "使用洋紅色色鍵,因為物體需要綠色材質。"

在記錄修復後的圖像後,重新執行最終化。

品質保證評分標準

在通過以下檢查之前,不接受資產:

  • 生成的基礎與請求的樣式或提供的樣式參考相符。
  • 每個狀態/動畫都是相同的資產身份,而不是重新設計。
  • 精確的影格數存在。
  • 透明提取不會移除精靈的重要部分。
  • 影格完整、置中、填補且未被裁剪。
  • 生產美術中沒有洩漏的標籤、影格編號、網格線、浮水印、UI 面板或風景。
  • 提取後沒有不必要的陰影、輝光、塵埃、速度線、模糊或分離的特效。
  • 接觸表在目標大小下視覺上閱讀正確。
  • final/validation.json 沒有錯誤;警告已進行視覺檢查。
  • Godot 清單中的名稱與您打算在程式碼中呼叫的動畫名稱相符。

驗收標準

一個完成的執行應包含:

  • references/canonical-base.png 中的規範基礎參考
  • 在 imagegen-jobs.json 中記錄的選取生成來源
  • 提取後的透明影格 PNG
  • final/spritesheet.png 以及支援時的 final/spritesheet.webp
  • qa/contact-sheet.png
  • 多影格動畫的 GIF 預覽
  • final/validation.json 沒有錯誤
  • godot/ 下的 Godot 入門檔案
  • 一個簡短的使用者報告,說明哪些行/狀態已修復或儘管有警告但已被手動接受

規則

  • 對於視覺內容,使用視覺生成;腳本僅用於確定性處理。
  • 對於多輸出的資產,始終使用規範基礎。
  • 當圖像工具支援參考時,為每個依賴的視覺任務附加參考。
  • 偏好透明或色鍵相容的輸出,而非場景插圖。
  • 不要將 UI 標籤、教學箭頭、路徑線或碰撞指南放入生產精靈中,除非它們被請求為單獨的疊加資產。
  • 對於 Godot,保持動畫名稱穩定且小寫,並使用底線分隔單詞(例如 walk_down)。
  • 如果某個狀態或動畫在最終化後看起來不對,請重複修復工作流程。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

相關技能