AutoRemesher 网格修复:把破面高模重网格成干净四边形

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.txt

report.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),仅供参考

相关新闻

WorkBuddy_WorkBuddy界面布局指南18_移动端App界面布局

WorkBuddy_WorkBuddy界面布局指南18_移动端App界面布局

移动端App界面布局 摘要 本文围绕移动端App界面布局展开讨论,重点分析手机端与桌面端在布局上的核心差异,并针对"云端工作"与"连接电脑"双模式场景,给出界面切换的设计思路与可运行的代码实现。文章涵盖视口与响应式基础…

2026/10/20 4:27:40 阅读更多 →
Qt新建工程全攻略:从环境配置到构建调试一步到位

Qt新建工程全攻略:从环境配置到构建调试一步到位

最近有朋友问我:Qt 到底怎么新建工程?他说自己把 Qt Creator 装好了,结果打开软件,面对一堆模板和选项完全不知道该点哪里。这个问题看起来基础,但我在带新人时发现,能在这一步顺畅走完、并且真正理解每个选…

2026/10/20 4:26:40 阅读更多 →
Flutter集成HarmonyOS实战:从跨平台架构到鸿蒙适配全记录

Flutter集成HarmonyOS实战:从跨平台架构到鸿蒙适配全记录

开篇先说明一个事:这个项目不是我接的“外包订单”,也不是教学 Demo,而是我作为主要开发者,从 0 到 1 做的一个自研社区共享类 App。整个过程涉及三块硬骨头:第一,把“共享社区”这种偏软性的业务逻辑落到产…

2026/10/20 4:26:40 阅读更多 →

最新新闻

AI面试八股文-17_17-AI 编程工具与自主 Coding Agent 面试题

AI面试八股文-17_17-AI 编程工具与自主 Coding Agent 面试题

pdf版下载链:https://pan.quark.cn/s/9cc742e9c2a8 17 AI 编程工具与 Coding Agent:原理、评测与工程实践 更新: 2026-10-12 难度: ⭐⭐⭐⭐ 考点: Coding Agent、Harness、沙箱、权限、Skills、长任务、评测与工具选…

2026/10/20 5:05:58 阅读更多 →
Python vs Go:2026年到底该怎么选

Python vs Go:2026年到底该怎么选

早些年我写项目,常年泡在Python里。写接口、跑数据分析、捣鼓大模型原型,几行代码就能把想法跑通,爽感拉满。但随着服务流量涨上去,麻烦接踵而至:接口延迟忽高忽低、容器冷启动慢吞吞、并发一上来资源开销直接超标。那…

2026/10/20 5:05:58 阅读更多 →
详细描述一个完整RAG系统的详细工作流程?

详细描述一个完整RAG系统的详细工作流程?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 5:05:58 阅读更多 →
windows上安装docker步骤

windows上安装docker步骤

1. 检查是否已开启虚拟化 ctrlshiftesc快捷键: 2. 安装wsl 开启管理权限在cmd中输入以下命令: wsl -l -v查看版本: wsl -l -v输出会显示每个发行版的 NAME、STATE、VERSION,其中 VERSION 为 1 表示 WSL1,2 表示 WSL2 。如果…

2026/10/20 5:05:58 阅读更多 →
一亿数据找Top K,内存仅存k个元素(Top—K问题)

一亿数据找Top K,内存仅存k个元素(Top—K问题)

问题导入:假使有一亿个整数要去排序,从中找出k个最大值和k个最小值,当前的内存仅仅可以保留k个整数应当如何存储内容扩展:1GB1024MB1024*1024KB1024*1024*1024Byte≈10.7亿字节一个整形需要用到4个字节,一亿个整形要用…

2026/10/20 5:05:58 阅读更多 →
Agent稳定运行的工程基石:Harness设计与实践拆解

Agent稳定运行的工程基石:Harness设计与实践拆解

先交代一个背景。我们团队最早做某自动化运维 Agent 时,第一版代码就是一个while True循环里反复调用大模型、执行工具、再喂回模型。前三天跑得挺顺,第四天它突然开始疯狂调用同一个内部接口,把下游服务打到限流。查了半天才发现&#xff0c…

2026/10/20 5:04:57 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →