ModelTranslator: QR watertightness gate + quad default
根因(真机排查):QuadRemesher 引擎在激进减面下非确定性地从封闭流形 输入打出孔洞/非流形边(实测同一输入约 85% 次数破碎),即"破碎面"。 修复:QR 导回后比对输入拓扑,若比输入新增开边(孔洞)/非流形边即判破损、 弃用 QR 回退 collapse(topology_acceptable 纯策略+单测;_edge_defects 计数)。 顺带修复水密门在导入后拒绝时未恢复 obj 选中态,导致 collapse 回退时 export use_selection 选不到对象、只导出 4KB 空 FBX 的 bug。 含用户改动:--reducer 默认改为 quad(配合水密门,破碎自动回退,安全), 及其 CLI 默认值测试。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
44060ac3cb
commit
0481f10b8c
@@ -1,6 +1,6 @@
|
||||
"""FBX 减面 CLI:减到指定三角面数并重展 UV(seam 展开 + UVPM4 排布),输出 <名>_low.fbx。
|
||||
用法:python model_decimate.py src/well1500.fbx --tris 5000 [-o dir]
|
||||
[--unwrap seam|smart] [--max-overlap 0.15] [--blender exe]"""
|
||||
[--unwrap seam|smart] [--reducer collapse|quad] [--max-overlap 0.15] [--blender exe]"""
|
||||
import argparse
|
||||
import os
|
||||
|
||||
@@ -14,8 +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("--reducer", choices=("collapse", "quad"), default="quad",
|
||||
help="减面后端:quad=Quad Remesher 四边重拓扑(默认,失败自动回退 collapse),collapse=Decimate 塌陷")
|
||||
ap.add_argument("--max-overlap", type=float, default=None,
|
||||
help="UV 重叠容忍上限(0-1,默认内置 0.08);调高可让更高 seam 角度过门、减少碎岛")
|
||||
ap.add_argument("--blender", default=None)
|
||||
|
||||
Reference in New Issue
Block a user