From 9b3c818a99b46f8b858e43730123f60335b4a28d Mon Sep 17 00:00:00 2001 From: ud18010 Date: Mon, 20 Jul 2026 12:32:11 +0800 Subject: [PATCH] =?UTF-8?q?ModelTranslator:=20README=20=E8=A1=A5=20UVPackm?= =?UTF-8?q?aster=204=20=E6=8E=92=E5=B8=83=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Tools/ModelTranslator/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Tools/ModelTranslator/README.md b/Tools/ModelTranslator/README.md index 8a07e480..8f9aa6ea 100644 --- a/Tools/ModelTranslator/README.md +++ b/Tools/ModelTranslator/README.md @@ -12,6 +12,7 @@ - Blender 5.0(默认路径 `D:\tools\blender-5.0.0-windows-x64\blender.exe`;也可用 `--blender` 参数或环境变量 `BLENDER_EXE` 指定) - RizomUV 2025+(可选,UV 展开质量更好;默认路径 `C:\Program Files\RizomUV2025\rizomuv.exe`,也可用 `--rizom` 参数或环境变量 `RIZOMUV_EXE` 指定;未安装或未授权自动回退 Blender 展开) +- UVPackmaster 4(可选,UV 排布质量更好:Blender 扩展 `uvpackmaster4` + 独立引擎,引擎路径经注册表自动发现;已装则 Blender 展开路径(seam/smart)的排布自动启用,未装自动回退内置 pack_islands) - 系统 Python 3.x(仅标准库) ## 用法 @@ -46,7 +47,7 @@ python model_bake.py src/well1500.fbx src/well1500_low.fbx # -> out_bake/well1 python model_translator.py out_bake/well1500/well1500.fbx # -> out/well1500/(Unity 资源) ``` -- **model_decimate.py**:多 mesh 自动 join;三角化后 Decimate(collapse) 减到 `--tris`(±3%,最多 2 轮修正);旧 UV 全删后重展——默认 **RizomUV 自动切缝展开**(官方 RizomUVLink 驱动:MOSAIC 分割 + 切柄/连洞 + Pack,会短暂弹出 RizomUV 窗口、占一个 license;RizomUV 未授权时解算会静默空跑,已用 Pack 空结果守卫转为明确报错),RizomUV 不可用或质量门不达标(翻转 >2% 或重叠 >8%)自动回退锐边 seam 展开(再不达标回退 Smart UV Project);`--unwrap seam|smart` 可跳过 RizomUV;`--rizom` 显式指定 exe 时独占生效(路径无效直接报错不回落);输出 `<名>_low.fbx`(`-o` 改目录),日志报 UV 岛数/利用率 +- **model_decimate.py**:多 mesh 自动 join;三角化后 Decimate(collapse) 减到 `--tris`(±3%,最多 2 轮修正);旧 UV 全删后重展——默认 **RizomUV 自动切缝展开**(官方 RizomUVLink 驱动:MOSAIC 分割 + 切柄/连洞 + Pack,会短暂弹出 RizomUV 窗口、占一个 license;RizomUV 未授权时解算会静默空跑,已用 Pack 空结果守卫转为明确报错),RizomUV 不可用或质量门不达标(翻转 >2% 或重叠 >8%)自动回退锐边 seam 展开(再不达标回退 Smart UV Project);Blender 展开路径(seam/smart,含 rizom 失败回退)的排布默认用 UVPackmaster 4 重排(利用率显著提升,日志模式带 `+uvpm` 后缀,4px@2048 像素边距与烘焙 padding 同口径),UVPM4 不可用自动沿用内置 pack_islands 布局;`--unwrap seam|smart` 可跳过 RizomUV;`--rizom` 显式指定 exe 时独占生效(路径无效直接报错不回落);输出 `<名>_low.fbx`(`-o` 改目录),日志报 UV 岛数/利用率 - **model_bake.py**:Cycles selected-to-active 烘焙。normal(切线空间 OpenGL +Y)/ao 直接烘;color/metallic/roughness 把高模 Principled 对应输入接 Emission 烘 EMIT。`--size` 默认 2048,`--samples` AO 采样默认 64,射线距离默认低模包围盒对角线 2%(`--ray-distance` 覆盖);低模无 UV 会报错,高低模包围盒差超 10% 打警告;导入后自动应用物体变换——未应用缩放的 FBX(如 cm 单位导出的 scale=0.01)会把射线距离缩到近零导致大面积烘空(脏色);固定 `-t 1` 单线程跑 Blender——5.0 的 selected-to-active 射线求交多线程有竞争,会随机 EXCEPTION_ACCESS_VIOLATION 崩溃 - 输出命名 `<名>_color/normal/metallic/roughness/ao.png`,正好命中转换器的纯网格贴图命名约定