正式美術生產
產出可上線的 2D 資源:立繪、背景、UI、道具、圖示。不是佔位方塊——但要先說清邊界(見文末)。
第 0 步:確認出圖能力
按順序確認,不要假設:
- 先檢查當前會話可用的原生圖像生成或編輯工具,並在可用時直接呼叫;不要只寫提示詞。
- Codex 的圖像生成技能預設使用內建
image_gen工具,不需要 API key。若用戶明確選擇直接 API 路線,可用下方插件介面卡;該路線需單獨配置 key 和模型許可權。 - 都不行就明確告知:這條路當前產不出正式美術,不要用腳本畫方塊冒充
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會驗證外圈是否可九宮格拉伸;不過就重新設計,別硬上- 報告裡的
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
圖集劃分按「同屏同集」,不按資源型別。單張不超過 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": "主按鈕,三態"
}
python scripts/validate_assets.py --manifest assets/manifest.json --final --strict-license
終檢會攔:仍是 draft、缺 license、sprite/ui 沒有 alpha、全不透明(去背沒做)、尺寸不符。
授權與稽覈(不能跳過)
- AI 生成素材的商用條款依服務而定,逐服務核對並在
license欄位寫清來源 - 部分平臺(國內小遊戲稽覈尤其)要求說明素材來源;
ai_generated: true就是給稽覈用的標記,別漏 - 字型只能用 OFL 開源字型(Noto / 思源系列),商用字型必須使用者自購授權,不要下載來路不明的字型
做不到的部分(必須如實告知使用者)
| 需求 | 結論 |
|---|---|
| 2D 立繪 / 背景 / UI / 圖示 / 道具 | 能做,需人工篩選與修圖 |
| 同角色逐幀動畫 | 可嘗試 AI 精靈表或序列幀,需檢查一致性並視情況修圖 |
| 3D 模型 / 骨骼繫結 | 本鏈路做不到 |
| 畫素級嚴格統一(如嚴格畫素風網格對齊) | 需人工逐畫素修,AI 出圖常半畫素偏移 |
| 商用字型 | 只能給開源替代方案 |