NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - AI模型在线查看 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 - 3D道路快速建模
组合 3D 模型的过程对后续过程影响很大 - 稍后编辑的难易程度、应用光照和着色器时的外观效果如何、动画时变形的难易程度等等。 一个好的模型对于 CG 管道的所有其他部分的良好运行至关重要。
另一方面,凌乱的拓扑结构会使流程的其余部分成为一场灾难。
你能做些什么来防止这种情况发生? 这里有 8 个技巧,你可以立即使用。
1、了解常用的网格工具
这是一个显而易见的技巧,但每个尝试在 Blender 中进行 3D 建模的人都需要精通这一技巧。
建模时,了解如何正确添加/删除/修改网格是最重要的方面。 毕竟,3d 建模要做的 就是利用一致的面/边/顶点以形成视觉上令人愉悦的形状。
因此,让我们来看看在建模时使用的一些最常见的工具类型。 请注意,大多数这些工具只能在 Blender 的编辑模式下访问。
1.1 添加边循环
添加边循环(Edge Loops)是你通常会做的事情,以支持网格的边缘以创建清晰的边缘,或者只是非常快速地提供额外的几何体。
快捷方式是 Ctrl + R。
启用此功能后,你需要将鼠标悬停在网格本身上,然后会显示一条黄线以投射边缘循环将放置的位置。 要增加边循环数,请使用鼠标滚轮或使用数字键盘输入所需的循环数。
1.2 插入
插入(Inset) 允许你创建窗口之类的东西。 如果我单击一个面并在选中面的情况下按 I,就可以移动鼠标以在其中创建这个面的较小版本。 这对于在网格的特定部分周围创建框架或边缘之类的东西非常有用。 请注意,这会在与所选面相同的表面上创建面,并且不会更改其形状。
1.3 挤压
与 Inset 类似,挤压(Extrude) 也会创建额外的几何体,但与 Inset 不同的是,它允许你通过获取额外的几何体并将其四处移动来更改其形状。
要挤出一个面,请按 E,然后将鼠标移动到想要挤出的方向。 通常,这将默认为该面所指向的轴,但你可以沿任何所需方向移动拉伸。 再次左键单击以停止移动。
除了基本的挤出之外,还有许多不同的挤出需求。 要访问更多挤出选项,请按快捷键 Alt + E,这将打开挤出菜单。 如果你启用了顶点选择模式,将看到所有可用于挤出的选项。
1.4 顶点/边滑动
很多时候你需要重新对齐顶点以符合适当的形状,虽然可以尝试推拉顶点,但这可能会导致尝试使顶点正确对齐的过程令人沮丧。 顶点滑动(Vertex Slide) 允许你移动顶点使其与它们连接的边一致。 可以将其视为连接到轨道 — 也就是边。 为了启用此功能,你可以在选定顶点的情况下按两次 G。 如果不小心滑动了一个顶点,可以右击取消移动。
同样可以用边来加速这个过程。 如果你需要将边滑入到位,同时将其保持在同一表面上,请使用相同的快捷键。
1.5 刀具
顾名思义,Blender 刀具(knife)可让你切割网格。 首先按 K 键,该工具会出现,然后是光标的刀图标。 可以选择一条边来添加一个顶点,然后将其连接到另一条边。 完成剪辑后,按回车键保存更改。
通过按 C,可以将切割限制为 45 度增量。 这对于在你的网格中获得那些完美的直线切割很有用。 最后,如果需要进行多次切割(彼此不连接),可以按 E 开始新的切割。 你仍然需要按 Enter 键保存更改。
1.6 连接顶点
连接顶点是在两个选定顶点之间轻松创建边的常用方法。 选择至少 2 个顶点并按 J 连接它们。 这类似于用刀具切割面,但速度要快得多。
1.7 填充
与 Connect 类似,你也可以填充面(Fill)。 选择要连接成面的顶点,然后按 F。可以使用此方法创建 n 边形、三角形或四边形,也可以使用它在两个顶点之间创建边。
1.8 细分和平滑着色
这些可以在同一个右键单击菜单下找到,但是是特定于上下文的。
如果处于对象模式,右键单击将显示平滑阴影,这将使网格平滑并消除平面化的外观。 这通常是你在对网格应用一些细分后启用的功能。 这类似于在启用简单的情况下添加细分曲面修改器。 细分可以快速添加更多几何体,并在整个网格中均匀分布这个新几何体。
这些只是少数最常用的工具。 熟悉如何访问它们以及何时使用它们将改进你的拓扑工作流。
2、了解何时使用多边形、三角形和四边形
N 边形是包含 5 个或更多边的多边形。 例如,五边形被认为是 N 边形。 由于 N 边形形状奇特,因此很难细分,你可能会看到奇怪的阴影伪影。 在为对象设置动画时,这会成为一个更大的问题。 如果你尝试将面弯曲成两半,会得到意想不到的结果。
但是 N 边形并不总是会被避免,因此不妨熟悉一下它们。
CG Cookie 的 Blender 培训师 Jonathan Lampel 说:
N 边形适用于不需要设置动画或具有细分的复杂平面形状。 它非常小众,但这是他们可以击败四边形的地方,因为它们使用起来更快。 只需要在 UV 展开之前小心地将它们转换为三或四边形。
三角形是创建面的最简单方法。 由于它们的简单性,你会发现游戏使用三角面网格。 如果你将一个完全由四边形构成的模型导入到 Unity 中,会看到它被转换成了三角形。 三角形几乎为每个顶点引入了极点 — 极点是3、5 或更多条边连接的顶点,这些会产生它们自己的问题,我们将在稍后讨论。
最后,我们有 四边形。 四边形有 4 条边和 4 个顶点,因此很容易细分。 这也使它们非常适合雕刻或在游戏引擎中使用它们,最终将这些四边形转换为三角形。
在使用四边形的同时,请确保它们已正确缩放。 拉长的面会导致纹理拉伸,并会使你的网格拓扑变形。 四边形不仅有助于清洁拓扑 - 它们还有助于显示网格的正确形状和“流”。
3、理解边流
我们之前讨论过 N 边形和三角形,这些可以引入称为极点的东西。 正如我上面提到的,当我们有一个顶点有 3、5 或更多条边连接到它时,极点就存在。
为什么这很重要? 因为极点本质上控制着拓扑的方向。 了解如何控制拓扑的“流”对于获得特定细节至关重要。 如何移动和放置极点以控制流在很大程度上取决于你正在处理的模型。
如果有兴趣了解更多有关如何控制极点和边流的信息,我强烈建议你观看 Jonathan Lampel 在他的网格建模训练营中关于 Blender 中的边循环的课程。
在那门课程中,Jonathan 还讨论了所有四路结,其中包括此图,以更好地理解极点如何影响你的拓扑:
4、使用MatCaps
MatCap(Material Capture 的缩写)是一种完整的材质,可以实现适当的照明和反射。 MatCaps 帮助我们了解光线和反射如何对你的网格拓扑做出反应。 这是一种非常简单快捷的方法来确定你的网格是否因不良拓扑而变形。
下面,我们有一个使用传统作色的场景。 虽然我们确实有一些光照和阴影,但可能很难看到反射之类的扭曲。 我们可以快速将视口着色更改为使用 MatCap,而不是在 Blender 中创建反射材质和着色器。
我应用了一个 MatCap,它包含一个非常光滑和反光的表面。 现在我可以快速判断这个物体的光滑曲面是否出现任何变形。
要添加 MatCap,你需要访问视口着色菜单:
确保你使用 Solid 作为显示方法(实心白色圆圈),当打开它时,应该立即可以看到一个选项,可以在 Studio、MatCap 和 Flat 之间切换照明。 选择 MatCap 后,我还可以通过单击材质预览来更改类型:
5、何时使用折痕或保持边缘
有时,当你将细分曲面修改器添加到具有平面的网格时,会看到这些边缘开始下垂或失去清晰的边缘。
有几种方法可以保持修改器的平滑度,同时仍然保持这些边缘清晰。 第一种方法:使用折痕(Crease)。
折痕直接应用于边缘,可以通过增加它们的折痕值 — 有时也称为它们的权重(介于 0 和 1 之间的值)来使它们变得尖锐。 在编辑模式下选择边缘,然后使用键盘快捷键 CTRL + E(与边缘菜单相同)然后将鼠标移入或移出以调整折痕重量。
正如你可能已经猜到的那样,折痕只能应用于特定的边缘。 如果你有一个非常光滑的网格,但希望它的特定部分更加尖锐(例如车辆上的车身线条),使用折痕可能正是你所需要的。 下面是一个应用了细分修改器的基本立方体示例,前 4 条边启用了值为 1 的边折痕。
由于一般情况下可以对网格产生影响,因此通常建议使用保持边。
类似于帐篷,你提供的支撑杆越多,形状就越鲜明。 固定边(也称为支撑环)允许你围绕边创建额外的几何图形以确保它们不会下垂。 一个区域中更多的几何形状会留下更少的空间来“混合”边缘。 这样做的缺点是添加的几何体可能会导致网格拓扑的其余部分出现问题。
看一个类似的例子,一个带有细分修改器的立方体 - 但这次,我们有支持每个角的固定边:
这是两者的另一个示例,但左侧的立方体只包含折痕。 这意味着更少的几何体,如果你对可以在场景或对象中包含多少几何体非常严格,这可能会很有用,但如你所见,它也有缺点:
6、保持简单且愚蠢 (KISS)
这在很大程度上取决于你的网格,但通常可以将其分解以确保细节部分不会使网格的其余部分比需要的更密集。
想想车门把手。 车门本身的几何形状可能相对简单,但门把手有钥匙孔、把手和把手周围的框架。
手柄会更复杂。 但是,为什么整扇门都要为较小的一块提供支撑环和几何形状呢? 单独创建车门和把手是有意义的。 你可以通过门把手获得尽可能多的细节,同时门保持其低多边形数量。
与此同时,确定形成你要寻找的形状所需的最少边缘循环。 早期添加大量循环以使某些东西看起来更好可能很诱人,但添加的几何图形越多,使用起来就越困难。 尽早限制循环以创建所需的内容,然后在必要时添加更多内容。
7、谨防重复
当开始使用 Inset 和 Extrude 等工具时,你可能会忘记移动添加的几何体,这会在完全相同的位置留下重复项。 根据复制的内容,可能很难真正看到所做的更改,但当你尝试在这些区域中操作网格时,就会变得很明显。 看看下图:你能找出重复的顶点吗?
在这里,我通过按 E 挤出顶面,然后按回车键。 有时你可能不小心按了回车键,或者认为已经取消了操作,而实际上所做的只是将其留在原地。 我可以选择顶面并将其向上移动:
如果你怀疑可能有重复的顶点,你可以选择整个网格并使用快捷键 Alt + M 来拉出合并菜单。 你将获得基于中心点、3d 光标合并顶点(假设选择了多个顶点)或将它们折叠为一个的选项。 最后一个选项是按距离。 如果顶点足够近,它们将合并在一起。
8、经常检查法线
与复制几何体类似,你可能会注意到网格看起来比正常情况更暗。
首先 - 什么是 Blender 中的法线?
法线指的是面的方向。 在这里,你可以看到蓝线表示每个面所指向的方向:
如果你想启用法线现实,你可以在视图叠加选项中找到法线这个设置。 你可以选择顶点、分割或面法线以及蓝线长度的大小:
有时,你可能在处理网格时遇到法线向相反方向翻转的情况。 虽然这主要影响对象的渲染,但它可能会让你迷惑,试图通过添加更多边循环或修改网格来解决问题。
下面是我们的网格翻转的几个面的示例。 这些面仍然存在,但因为它们指向相反的方向,所以会产生奇怪的阴影。 在极少数情况下,你可能还会遇到通过这些区域创建边缘循环的问题。 通过启用法线显示,你可以看到哪些面有问题。
通常,翻转法线是一次性完成的。 要打开法线菜单,请使用快捷键 Alt+N。 接下来,可以重新计算外部(Recalculate Outside),使法线指向外部。
在极少数情况下,你可能正在构建一个渲染内部的模型,在这种情况下,你可能想要重新计算内部(Recalculate Inside)。 这在玩游戏时也很重要。 你可能会导出一个模型并注意到网格看起来是透明的并且只渲染了内部部分:
这是因为法线被翻转了。 通常你只渲染网格的一侧,因为渲染实际上看不到的网格部分没有意义(这也有助于提高性能)。 如果你在导入游戏引擎时遇到这种情况,必须在 Blender 中重新计算外部法线并再次重新导入。
9、重新拓扑工具
一旦达到定期使用更高密度网格模型的程度,你将希望加快重新拓扑工作流程。
重新拓扑是将密集拓扑转变为更简单、更低多边形拓扑的过程。 这在处理游戏资产或动画时特别有用,因为雕刻对象的成本太高而无法使用或提供不正确的变形。
9.1 重拓扑流
RetopoFlow 是由 Jonathan Williamson 和 Jonathan Denning 在内部创建的重新拓扑套件,可以在 Blender Market 上找到。
9.2 DynRemesh/自动流
DynRemesh 2.5 是用于 Blender 2.8 的基于四边形的重新网格化器,有助于为包含太多三角形的动态拓扑雕刻和 3d 扫描重新拓扑。
9.3 Tesselator
Tesselator 是一个重新网格化插件,可帮助您轻松地从造型中创建规则的四边形和三角形网格。
原文链接:8 Tips for Clean Topology in Blender
BimAnt翻译整理,转载请标明出处