直到最近,和许多其他人一样,我认为自己在多边形方面做得很好,但从未熟练地使用 NURBS 建模。但当我需要建模高质量的反射模型(A 级表面,例如具有精确反射的车身)时,我意识到没有办法逃避花时间学习它,后来我觉得它可以成为一种非常有用的知识,可以加快我的建模过程,虽然在编写本教程时,我不能说我提供的信息是基于长期经验的,但我希望分享我的新理解将有助于以不同的角度阐明这个主题。
NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割
1、什么是 NURBS
NURBS 是一种使用曲线创建可修剪和对齐的矩形面片的方法。
等等!就是这样?我一直以为 NURBS(非均匀有理基样条)比上面的线复杂得多!其实不是。这当然是一个实用的定义,有许多工具或工具组合可以以不同的形式完成同一件事,这可能需要一段时间才能习惯,但原理相当简单。
我们将在下面演示所有 NURBS 工具如何归入以下类别之一:
- 曲线创建/修改。
- 矩形表面创建/修改。
- 布尔/相交/投影操作。
- 对齐工具。对齐可以使 2 个面片或曲线看起来无缝地融合在一起。
- 测量和评估工具。
2、NURBS vs. 多边形
多边形使用点(称为顶点)来定义 3D 空间中的位置。这些点通过直线(称为边)连接,形成面(三角形)。
为了避免这些直线或有角度的网格结构看起来参差不齐,人们发明了 Gouraud 着色技巧。只改变面的外观,而不改变几何形状。你可以使用细分算法(如 Catmull-Clark)更改几何形状来平滑网格。
虽然这些方法在许多领域都很有效,特别是如果你只需要渲染或查看模型的图像。但如果你想要高精度地将物体机器构建到公差*为 0.01 毫米,就会发现它用处不大;要在多边形中实现这一点,你需要多次细分网格以获得足以适应该精度水平的顶点定义。
从上图可以看出,多边形细分对图像来说很有用,但如果你想制造一个半径为 3 米的圆柱体,你将需要更多的细分,真的很多。想象一下,用手指沿着