5.5 KiB
新场景组件默认模型生产流程
自 2026-10-26 起,所有新场景组件(含独立地表)默认使用:
分件设计图
→ 混元网页 50k GLB 高模
→ 3D Studio 低模
→ 3D Studio UV
→ Blender 同源高低模对齐、保留 Studio UV 烘焙
→ 超出目标 30% 时 Blender 保留 UV 减面
→ XPbr base/mix + FBX → Unity Pipeline 导入、Prefab 与场景验收
→ 美术收尾(Lit 材质、平铺地表、烘焙光照、后处理)→ 对图评分
场景级的美术基准、分层拆件、收尾和对图评分见 SceneReviewGeneration.md 的“商业化品质基线”和第 5 阶段。
制作要求
- 分件图通过审核后再制作模型;地表单独生产。复用已验收 Prefab 时跳过新模型生产。
- 混元使用
--faces 50k。保留任务号、原始 GLB、哈希和日志,校验文件头及内嵌贴图解码。 - Studio 低模和 Studio UV 分别保留任务回执。不得用 Blender 自动展 UV 替代 Studio UV。
- 烘焙前将 Studio 低模对齐到确切来源高模,保留 Studio UV,烘焙颜色、法线、AO、金属度、粗糙度并打包 XPbr。
- 减面条件为
actualTriangles * 10 > targetTriangles * 13;等于 130% 不触发。未超出时登记跳过,超出时减至目标附近,保留 UV 和贴图;必要时向最终低模补同源投射烘焙,不重展 UV。 - 模型完成不等于外观通过。单件四向检查、UV/面数/贴图检查、地表水平与碰撞检查通过后才拼场景。
- 新 FBX 为 Y-up、底面中心原点、局部 +Z 正面。坐标与正面必须实测;历史 -Z 资源按已登记配置复用。
- 分件图尺寸按场景 manifest 的
artDirection.scaleChart标注真实米制尺寸,导入 Unity 后按该尺寸缩放,不在拼装时目测缩放。
面数预算(按屏占比)
targetTriangles 按组件层级和正式机位下的屏占比确定,不再对所有组件统一用 300~2000:
| 层级 | 参考预算 | 适用 |
|---|---|---|
| A 主体 | 3000~6000 | 主建筑、地标;造型复杂(带遮阳棚、阳台、烟囱)取上限 |
| B 中景 | 1000~3000 | 侧屋、摊位、台阶、拱门、大树 |
| C 点缀 | 200~800 | 花盆、木箱、岩石、灌木 |
| 地表几何 | 2000~6000 | 只承载起伏和轮廓,表面细节交给平铺材质 |
整场景在正式机位视锥内的参考上限为 6 万三角面、80 个 Draw Call,以真机验收结果为准。HomeCamp 首版整场景只有 9987 面,瓶颈在面数预算过低导致的碎面,而不是性能。
Studio 低模失败时的处理顺序
出现碎面、破洞、反面或贴图黑斑时,按以下顺序处理,每一步都要登记回执,不能直接降级成平面贴片了事:
- 提高预算重跑 Studio 低模:目标面数提高到原来的 1.5~2 倍,但不超过本层级上限。
- 拆分组件:把遮阳棚、烟囱、花箱等附件拆成独立分件,分别走五步流程,在 Prefab 里组合。
- 修复反面与黑斑:统一面朝向,检查烘焙 cage 距离和射线距离;黑斑通常来自高低模没对齐或 cage 太小,需要重新对齐后再烘焙。
- 重做分件图:造型过于细碎时,简化设计图里的镂空和细杆结构后重新生成高模。
- 以上都失败时,才允许用替代表现(例如树改成卡片),并在 manifest 标注
fallback和原因。替代表现同样要满足第 5 阶段的 Lit 材质和阴影要求。
统一工具入口
Tools/scene_component_pipeline.py 从场景 manifest 读取 sceneId、组件 id/type、designImage、highpoly/highPoly 和 targetTriangles。若有单独的 modelReferenceImage,混元计划使用该图。ground 独立登记;普通组件放在 components。modelPipeline.textureSize 默认 1024。
先查看计划,不调用远程服务或 Blender:
python Tools/scene_component_pipeline.py --manifest Doc/Design/Scene/Battlefield/battlefield_scene_manifest.json --part tree --dry-run
计划会打印混元 50k 高模命令及来源/输出路径。先使用 Tools/hunyuan_3d_generate.py 完成高模,再用 LLM3DGraphics 虚拟环境执行后续生产:
& D:/UD/AI/XModel/LLM3DGraphics/.venv/Scripts/python.exe Tools/scene_component_pipeline.py --manifest Doc/Design/Scene/Battlefield/battlefield_scene_manifest.json --part tree
普通场景默认中间目录为 Tools/output/scene_models/<sceneId>/<part>/,可用 manifest 的 modelOutputDir 或 --output-dir 指定其他 Tools/output/ 内目录。不得覆盖来源或设置不匹配的旧生产记录。已有完成记录按哈希复用。
Tools/homecamp_model_pipeline.py --part ... 是该入口的 HomeCamp 兼容包装,保留既有输出目录和修复步骤。
收尾与历史资源
production.json记录任务、面数、减面执行/跳过、烘焙和输出哈希;模型路径、回执和 Prefab 路径须登记回场景 manifest。- 仅复制源 FBX 和贴图入
AIClient/Assets/Bundles/Scenes/;导入、材质、Prefab、碰撞体、场景制作均通过 Unity Pipeline。 - 图片登记
Doc/ResDesc_Picture.md,模型、贴图和 Prefab 登记Doc/ResDesc_Model.md。 model_lowpoly_bake.py保留用于已有资源的历史复现与其他明确使用它的工具;不再作为新场景组件的默认入口。- 既有战场 A 的 Blender 减面/UV/烘焙回执保留真实来源,不自动重生成,也不标为已执行 Studio 低模/UV。