AutoRemesher 网格修复:把破面高模重网格成干净四边形【免费下载链接】autoremesherAutomatic quad remeshing tool项目地址: https://gitcode.com/GitHub_Trending/au/autoremesher扫描仪吐出的高模又密又破:几百万张碎三角面,边界缺面,非流形边(一条边被三块以上面共用)一出现,渲染器直接报错。AutoRemesher 网格修复就是为这种输入准备的:一条命令吃进 OBJ,出来一套边长均匀、拓扑干净的四边形重网格。🚀 30 秒上手先装依赖再编译,Linux 下就三步:sudo apt install qtbase5-dev libtbb-dev libgl1-mesa-dev git clone https://gitcode.com/GitHub_Trending/au/autoremesher cd autoremesher && qmake && make -j$(nproc)Windows 与 macOS 的依赖清单见 README.md,照抄即可。编译完直接跑无头模式,不用开界面:./autoremesher --input model.obj --output quads.obj --target-quads 50000 --report report.txtreport.txt 会写明 quads、non-quads、顶点数和耗时,方便在脚本里做断言。🔧 它到底修了哪些东西缺陷类型表现修复方式冗余高密度面扫描模型动辄上亿面,远超显示需要岛面数超过目标 8 倍时,用 meshoptimizer 自动减面非流形连接一条边被三块以上面共用,法线计算异常removeNonManifoldFaces循环剔除,直到拓扑干净破面孔洞边界环内没有任何面fixHoleWithQuads沿边界环补四边形三角、五边残留四边形网格里混着三角扇和五边面splitSixEdgeFaces等把非四边面统一转成 quad上面这些都不是逐面硬编码判断的,全都走同一条流水线。GUI 预览会铺上这张 UV 检查纹理,四边形排得整不整齐一眼能看出来:GUI 预览用的 UV 检查纹理底层怎么做的(技术拆解)整条流水线在 autoremesher.cpp 的remesh()里:先用 meshseparator.cpp 按连通分量把网格切成 island(互不相连的独立面片),再丢给 TBB 的parallel_for各岛并行。1. 压成均匀三角网输入:岛内的顶点与三角形。处理:过密先减面,再按曲率给每个顶点算目标边长,细节处密、平坦处疏,然后等距重采样(把面按统一边长重新分布)。输出:边长接近一致的均匀三角网,见 isotropicremesher.cpp。2. 参数化算出四边形走向输入:均匀三角网。处理:每个面上摆一组互相垂直的向量,决定 quad 的横竖走向(切平面帧场),再做约束最小二乘参数化把曲面展成 UV 平面,找出网格线必须汇合的奇点。输出:每张三角形的 UV 坐标和奇点列表,见 parameterizer.cpp。3. 沿等值线切四边形并清理拓扑输入:UV 平面上的整数网格线。处理:求网格线与三角形边的交点、连成线网,塌缩短线与孤点,剔除非流形面、补齐小洞。输出:几乎纯四边形的网格,report 里的 non-quads 就是没切干净的残留,见 quadextractor.cpp。⚡ 效果与速度仓库自带 TBB 示例的并行加速比演示动画里横轴是参与叠加的多边形数量,加速比随规模持续爬升而不是早早封顶——任务越大,并行收益越高。AutoRemesher 把每个 island 当一个独立任务丢给parallel_for,切出的岛越多、越大,越吃得到这条曲线;--target-quads设得越小,单岛工作量越大,并行占比也越高。🎯 谁会用得上扫描资产整理工业或文物扫描的高模是碎三角的汪洋,绑定动画前必须转成可控的四边拓扑。手动重拓扑按周算,这里一条命令丢进批量队列。3D 打印前处理切片软件碰到非流形边和孔洞会直接拒收。减面补洞之后输出没有破洞的 OBJ,省掉来回手动修的功夫。游戏角色资产高模到游戏低模的自动重拓扑,把美术从重复劳动里抽出来;sharp-edge参数还能保住硬表面模型的棱角。⚠️ 容易踩的坑CLI 只认.obj输入,STL、FBX 先用别的工具转好再喂进来。减面有触发门槛:岛面数不到目标面数 8 倍时不启动,输入比--target-quads密很多才有意义。--sharp-edge默认 90° 只锁最明显的棱角;往上调保住更多弯折(面也更密),往下调连硬边都可能被抹平。先拿一个有破面的 OBJ 把两条命令跑通,用 report.txt 里的 non-quads 数量当验收线,再慢慢调target-quads和sharp-edge。【免费下载链接】autoremesherAutomatic quad remeshing tool项目地址: https://gitcode.com/GitHub_Trending/au/autoremesher创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
AutoRemesher 网格修复:把破面高模重网格成干净四边形【免费下载链接】autoremesherAutomatic quad remeshing tool项目地址: https://gitcode.com/GitHub_Trending/au/autoremesher扫描仪吐出的高模又密又破:几百万张碎三角面,边界缺面,非流形边(一条边被三块以上面共用)一出现,渲染器直接报错。AutoRemesher 网格修复就是为这种输入准备的:一条命令吃进 OBJ,出来一套边长均匀、拓扑干净的四边形重网格。🚀 30 秒上手先装依赖再编译,Linux 下就三步:sudo apt install qtbase5-dev libtbb-dev libgl1-mesa-dev git clone https://gitcode.com/GitHub_Trending/au/autoremesher cd autoremesher && qmake && make -j$(nproc)Windows 与 macOS 的依赖清单见 README.md,照抄即可。编译完直接跑无头模式,不用开界面:./autoremesher --input model.obj --output quads.obj --target-quads 50000 --report report.txtreport.txt 会写明 quads、non-quads、顶点数和耗时,方便在脚本里做断言。🔧 它到底修了哪些东西缺陷类型表现修复方式冗余高密度面扫描模型动辄上亿面,远超显示需要岛面数超过目标 8 倍时,用 meshoptimizer 自动减面非流形连接一条边被三块以上面共用,法线计算异常removeNonManifoldFaces循环剔除,直到拓扑干净破面孔洞边界环内没有任何面fixHoleWithQuads沿边界环补四边形三角、五边残留四边形网格里混着三角扇和五边面splitSixEdgeFaces等把非四边面统一转成 quad上面这些都不是逐面硬编码判断的,全都走同一条流水线。GUI 预览会铺上这张 UV 检查纹理,四边形排得整不整齐一眼能看出来:GUI 预览用的 UV 检查纹理底层怎么做的(技术拆解)整条流水线在 autoremesher.cpp 的remesh()里:先用 meshseparator.cpp 按连通分量把网格切成 island(互不相连的独立面片),再丢给 TBB 的parallel_for各岛并行。1. 压成均匀三角网输入:岛内的顶点与三角形。处理:过密先减面,再按曲率给每个顶点算目标边长,细节处密、平坦处疏,然后等距重采样(把面按统一边长重新分布)。输出:边长接近一致的均匀三角网,见 isotropicremesher.cpp。2. 参数化算出四边形走向输入:均匀三角网。处理:每个面上摆一组互相垂直的向量,决定 quad 的横竖走向(切平面帧场),再做约束最小二乘参数化把曲面展成 UV 平面,找出网格线必须汇合的奇点。输出:每张三角形的 UV 坐标和奇点列表,见 parameterizer.cpp。3. 沿等值线切四边形并清理拓扑输入:UV 平面上的整数网格线。处理:求网格线与三角形边的交点、连成线网,塌缩短线与孤点,剔除非流形面、补齐小洞。输出:几乎纯四边形的网格,report 里的 non-quads 就是没切干净的残留,见 quadextractor.cpp。⚡ 效果与速度仓库自带 TBB 示例的并行加速比演示动画里横轴是参与叠加的多边形数量,加速比随规模持续爬升而不是早早封顶——任务越大,并行收益越高。AutoRemesher 把每个 island 当一个独立任务丢给parallel_for,切出的岛越多、越大,越吃得到这条曲线;--target-quads设得越小,单岛工作量越大,并行占比也越高。🎯 谁会用得上扫描资产整理工业或文物扫描的高模是碎三角的汪洋,绑定动画前必须转成可控的四边拓扑。手动重拓扑按周算,这里一条命令丢进批量队列。3D 打印前处理切片软件碰到非流形边和孔洞会直接拒收。减面补洞之后输出没有破洞的 OBJ,省掉来回手动修的功夫。游戏角色资产高模到游戏低模的自动重拓扑,把美术从重复劳动里抽出来;sharp-edge参数还能保住硬表面模型的棱角。⚠️ 容易踩的坑CLI 只认.obj输入,STL、FBX 先用别的工具转好再喂进来。减面有触发门槛:岛面数不到目标面数 8 倍时不启动,输入比--target-quads密很多才有意义。--sharp-edge默认 90° 只锁最明显的棱角;往上调保住更多弯折(面也更密),往下调连硬边都可能被抹平。先拿一个有破面的 OBJ 把两条命令跑通,用 report.txt 里的 non-quads 数量当验收线,再慢慢调target-quads和sharp-edge。【免费下载链接】autoremesherAutomatic quad remeshing tool项目地址: https://gitcode.com/GitHub_Trending/au/autoremesher创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考