Files
AIGame/ResourceCreate.md
T
udxandCursor 79369e4473 Compress baked PNGs and tighten XPbr shadows with URP quality tweaks.
Add png_compress to the model pipeline and update TownSquare lighting plus MaleExplorer/plaza textures.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-28 16:25:38 +08:00

7.2 KiB
Raw Blame History

各生成节点使用方法

文/图生图

  • 默认模型:gpt-image-2.5(≤1K,如 1024x1024 或比例 "1:1" / "16:9")
  • VIP 模型:gpt-image-2-vip(>1K 像素,如 2048x2048、2048x1152)
  • API key:sk-b69877bd82c6412ca4872351f428d580
  • 接口文档:Doc\gpt-image_doc.md
  • 脚本:Tools\gpt_image_generate.py

模型选择规则(Agent / 人工均需遵守)

  1. 输出边长 ≤1024(含 1024x1024 及比例写法):用默认 gpt-image-2.5。
  2. 输出任一边 >1024(如 2048x2048 UI 图集):必须改用 VIP gpt-image-2-vip,并传像素写法(VIP 不支持 "16:9" 这类比例字符串)。
  3. 脚本在 --aspect-ratio 为 WxH 且任一边 >1024 时:若当前模型不是 VIP 系列,会自动升为 gpt-image-2-vip;已是 gpt-image-2-vip / gpt-image-2.5-flare / gpt-image-2.5-sunburst 则保留。
  4. VIP 像素约束:边长为 16 的倍数、最大边 ≤3840、总像素约 0.64M–8.3M、长短边比 ≤3:1。
  5. 当前账号下 gpt-image-2.5-flare 对 >1K 不可用,不要默认使用 flare。

AI / 命令行调用

# 文生图(默认 1K / gpt-image-2.5)
python Tools/gpt_image_generate.py -p "一只边牧在草地上奔跑" -o AIClient/Assets/Generated/dog.png

# 大于 1K(如 2048):用 VIP,传像素尺寸
python Tools/gpt_image_generate.py -p "UI sprite atlas" -o Tools/output/ui_atlas.png --aspect-ratio 2048x2048 --model gpt-image-2-vip

# 图生图(可多次传 --image)
python Tools/gpt_image_generate.py -p "保持构图,换成赛博朋克风格" -i ref.png -o out.png

# JSON 参数(适合 Agent / 流程编排)
python Tools/gpt_image_generate.py --json "{\"prompt\":\"城市夜景\",\"output\":\"out/city.png\"}" --result-only
python Tools/gpt_image_generate.py --json "{\"prompt\":\"UI图集\",\"output\":\"out/atlas.png\",\"aspectRatio\":\"2048x2048\",\"model\":\"gpt-image-2-vip\"}" --result-only

流程回调

  • --callback-url:每个进度/结果事件 POST JSON
  • --callback-file:覆盖写入 {latest, history} 状态文件
  • 默认 stdout 输出 NDJSON 事件流,最后一行为最终结果

环境变量可选覆盖:GRSAI_API_KEY、GPT_IMAGE_API_KEY

腾讯混元3D(图生3D → GLB)

  • 网站:https://3d.hunyuan.tencent.com/
  • 脚本:Tools/hunyuan_3d_generate.py
  • 模块:Tools/hunyuan_3d/(auth.py 微信登录 / client.py 图生自动化)
  • 依赖:Tools/requirements-hunyuan.txt(playwright + 本机 Microsoft Edge)
    pip install -r Tools/requirements-hunyuan.txt
    playwright install msedge
    
  • 会话目录:Tools/data/hunyuan/(storage_state.json 为登录凭证,已 gitignore)
  • 环境变量:HUNYUAN_SESSION_DIR、HUNYUAN_BROWSER_CHANNEL(默认 msedge)

能力说明

  1. 首期仅 图生3D → GLB。文生请先用上文「文/图生图」出图,再交给本脚本。
  2. 未登录、凭证失效或当前账号额度/次数用尽时,会 弹出 Edge 微信扫码页(同步阻塞,最长 --login-timeout 秒);额度满时提示换号登录,成功后自动续跑。
  3. 面数:--faces 50k|500k|1m(默认 50k)。
  4. 任务中间文件在 Tools/data/hunyuan/jobs/<job_id>/;最终 GLB 写到 -o。
  5. 生成完成后须在 Doc/ResDesc_Model.md 登记资源(索引见 Doc/ResDesc.md)。

AI / 命令行调用

# 查看登录状态
python Tools/hunyuan_3d_generate.py --status

# 预登录(弹出微信扫码)
python Tools/hunyuan_3d_generate.py --login

# 强制换号登录(忽略本地凭证 / 额度满换号)
python Tools/hunyuan_3d_generate.py --login --force-login

# 图生3D(未登录或额度满则中途自动弹登录页)
python Tools/hunyuan_3d_generate.py -i ref.png -o Tools/output/prop.glb --faces 50k

# JSON / Agent
python Tools/hunyuan_3d_generate.py --json "{\"image\":\"ref.png\",\"output\":\"out/a.glb\",\"faces\":\"50k\"}" --result-only

# CI:禁止弹窗,未登录直接失败
python Tools/hunyuan_3d_generate.py -i ref.png -o out.glb --no-interactive-login

流程回调 / 事件

  • --callback-url / --callback-file / NDJSON 与文生图脚本同模式
  • 典型事件:login_required → login_waiting → login_ok → stage → succeeded / failed
  • login_required.reason:auth(未登录/失效)或 quota(额度满需换号)

高模减面与贴图烘焙

  • 来源:复刻 ClientTrunk/Tools/ModelTools(model_decimate + model_bake)
  • 目录:Tools/model_tools/(说明见 Tools/model_tools/README.md)
  • 依赖:本机 Blender(推荐 5.0);可选 Pillow(UV 观察图);可选 UVPackmaster 4
  • 默认路径:D:\tools\Blender\blender-5.0.0-windows-x64\blender.exe(可用 BLENDER_EXE / BLENDER_PATH / --blender 覆盖)

流程

高模(FBX / GLB / glTF)
  -> 减面 + 重展 UV -> <名>_low.fbx
  -> Cycles selected-to-active 烘焙
  -> 五通道 PNG + 低模 FBX
  -> model_translator(默认)-> XPbr 两张图 + .mat/.meta
       <名>_base.png  RGB=Albedo A=AO/透明
       <名>_mix.png   RG=球面法线 B=Metallic A=Roughness
       写出 PNG 时无损压缩(Blender compression=100 + zlib 9 / Pillow optimize)

AI / 命令行调用

# 一键:减面 + 烘焙 + XPbr 打包(默认)
python Tools/model_tools/model_lowpoly_bake.py Tools/output/prop.glb -o Tools/output/prop_game --tris 5000 --size 2048

# 仅五通道、跳过 XPbr
python Tools/model_tools/model_lowpoly_bake.py prop.glb -o Tools/output/prop_game --no-xpbr

# 单独 XPbr 转换(输入为烘焙后的 FBX 目录旁贴图)
python Tools/model_tools/model_translator.py Tools/output/prop_game/prop/prop.fbx -o Tools/output/prop_xpbr

与混元衔接:

python Tools/hunyuan_3d_generate.py -i ref.png -o Tools/output/{actor}_3d/{actor}.glb --faces 50k
python Tools/model_tools/model_lowpoly_bake.py Tools/output/{actor}_3d/{actor}.glb -o Tools/output/{actor}_game --tris 5000 --size 2048
python Tools/install_character_bundles.py -a {ActorName} -b Tools/output/{actor}_game/{actor}_xpbr -c ref.png
# Unity: AIGame/M3/Setup Character Prefab + Art Collector(挂 Test/XPbr 生成预设)

与 AIC#Project ModelTranslator 对比(减面/烘焙)

  • 更优(AIC#):默认 Quad Remesher 四边拓扑、更深 seam 扫描;本仓库未捆绑 QR 引擎。
  • 已对齐:自适应烘焙射线、UV 最大单岛门限、XPbr base/mix 打包与 Test/XPbr 材质。
  • 本仓库优势:高模直接吃 GLB/glTF(混元产物),一键流水线含 XPbr。

游戏目录:AIClient/Assets/Bundles/Characters/{ActorName}/;高模中间件留在 Tools/output/。完成后登记 Doc/ResDesc_Model.md。

UI 自动生成(JSON → Prefab)

总览:Doc/UI_AutoGen_Overview.md

需求 → 写 Doc/UIPrefabCreater/{UI}.json
    → Unity Tools/UI 或获焦自动转换
    → Assets/Bundles/UI/Prefab/{UI}.prefab
    → HotUpdate C# 接管
  • 契约提示词:Doc/Rule/UIGenerationPrompt.md
  • 切图规范:Doc/UI_Normal_Set.md / Doc/UI_Pic_Set.md
  • 风格:Doc/Design/UI_Design_Principles.md
  • 缺切图时用上文「文/图生图」,>1K 用 gpt-image-2-vip;导入 Assets/Bundles/UI/Texture/Common
  • 完成后登记 Doc/ResDesc_Picture.md