ModelTranslator: expose --reducer CLI option

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ud18010
2026-07-22 16:55:20 +08:00
co-authored by Claude Opus 4.8
parent 687bc99aea
commit 11036877fc
+5 -1
View File
@@ -14,6 +14,8 @@ def main():
ap.add_argument("-o", "--out", default=None, help="输出目录(默认源文件同目录)")
ap.add_argument("--unwrap", choices=("seam", "smart"), default="seam",
help="UV 展开:seam=锐边接缝整岛展开(默认),smart=Smart UV Project")
ap.add_argument("--reducer", choices=("collapse", "quad"), default="collapse",
help="减面后端:collapse=Decimate 塌陷(默认),quad=Quad Remesher 四边重拓扑(失败自动回退 collapse)")
ap.add_argument("--max-overlap", type=float, default=None,
help="UV 重叠容忍上限(0-1,默认内置 0.08);调高可让更高 seam 角度过门、减少碎岛")
ap.add_argument("--blender", default=None)
@@ -30,10 +32,12 @@ def main():
s = run_blender_script(blender, "bl_decimate.py",
[args.input, out_fbx, str(args.tris), args.unwrap,
"" if args.max_overlap is None else str(args.max_overlap)])
"" if args.max_overlap is None else str(args.max_overlap),
args.reducer])
print("== %s: %d -> %d 面(目标 %d-> %s" %
(s["src"], s["tris_before"], s["tris_after"], s["target"], out_fbx))
print(" 后端: %s" % s.get("reducer", "collapse"))
u = s["uv"]
overlap = "%.1f%%" % (u["overlap"] * 100) if u["overlap"] is not None else "n/a"
print(" UV: 模式=%s 岛数=%d 利用率=%.1f%% 翻转=%.1f%% 重叠=%s" %