网格对象由顶点、边和面组成,我们称这些为组件。组件可以以多种方式排列来创建任何给定的形状,我们将这种排列称为拓扑。
良好的拓扑
网格的拓扑决定了我们可以用它做什么。最终,模型是为某种用途而创建的,比如游戏、动画、3D打印、产品展示、用户界面元素等。如今3D应用广泛,具体使用场景决定了网格应该如何构建。
例如,在游戏资产工作流程中,你希望在尽可能少的多边形数量下获得尽可能多的细节。而在视觉特效工作流程中,多边形的数量不是那么重要,你可能更关心细分后的质量和修改的难易程度。在3D打印中,你可能不太在意多边形的数量,但非常在乎模型是否是一个完整的封闭物体。
因此,当讨论拓扑时,重要的是要认识到在一个工作流程或步骤中被认为是良好的拓扑,在另一个工作流程中可能被视为不良拓扑。随着你在专业领域的发展并开始专注于某个领域,你会了解到特定使用案例的要求以及如何相应地调整你的建模。良好的拓扑更多与最终结果的有效性有关,而不是线框看起来是否漂亮。
良好的拓扑是指网格组件高效地定义了预期的形状并且易于操作。
高效的拓扑意味着不在不需要的地方浪费大量的多边形。初学者往往通过添加环来定义细节,这是好事,但是这些环经常贯穿整个模型,不必要地复杂化,甚至更糟,会破坏其他区域。学习良好的拓扑的一部分就是学会将细节局部化,并控制网格的密度,以便在需要更多细节的地方放置更多的顶点,在不需要的地方放置较少的顶点。
定义中的预期形状部分指的是匹配边缘流动与所创建细节的解剖结构。如果你正在创建一条曲线,你需要有跟随这条曲线的边缘。这相当直观,但人们通常会被相反的情况绊倒——拥有与解剖结构不符的路径的边缘。这会产生我所说的非故意细节,可能会让你的模型看起来显著糟糕。
定义预期形状的另一部分是支持在动画过程中形状可能需要的变化。如果需要弯曲、压扁或拉伸,良好的拓扑支持这种运动而不是与其对抗。
预期形状还指模型的最终着色。良好的拓扑带来良好的着色,即使看似创建了相同的形状,不良的拓扑在渲染时也不会看起来很好。所以,有时你可能认为遇到了材质问题,但实际上根源可能是建模问题。
定义的最后一部分提到了易于操作作为良好拓扑的一个特征。有时候,容易且快速工作的拓扑比技术上更好但调整起来麻烦的拓扑更有优势。不过,大多数情况下,易于操作意味着保持非破坏性的编辑,尽可能长时间地使用修改器,并将部件保持为独立的对象以便快速更改。然而,当你完成建模后,有时这意味着应用修改器并合并对象,以使模型性能更好,动画速度更快。
虽然严格来说不属于拓扑范畴,但像对象组织、正确的父子关系设置以及智能定位原点和局部方向等因素都会极大地影响你建模的效率。
不良拓扑
我还想指出一些在任何工作流程中通常被认为是不良实践的事情,你应该尽量避免。
首先,破碎的面。当您将四边形或多边形的部分推向非平面方向过远时,就会发生这种情况,底层的三角划分变得明显。如果您需要沿细节处有一条边,最好明确设定它。
此外,你还应该避免凹面四边形。它们细分效果很差,造成着色问题,并在处理边缘循环时引起混淆,所以几乎总是不好的主意。如果需要,将四边形拆分为两个三角形,或者尝试重新组织该区域,使所有四边形都是凸面。
非常长且薄的面通常也是不好的,因为它们难以处理,常常导致不良的着色,并可能在渲染引擎中造成性能下降。
极其密集的几何体也非常不好。当然,雕塑和扫描可能出于必要性而产生高密度,但通过重拓扑过程将其转换为可用的东西是非常重要的一步。顺便说一句,即使是在雕刻时,更高的多边形数并不总是等于更高的质量。正如爱因斯坦所说,事情应当尽可能简单,但不要过于简化。
最后,有一个术语叫作流形几何,指的是完全封闭且表面不间断的网格。除非你要进行3D打印,否则你肯定不需要所有的网格都这样。我当然不会担心我的网格上有洞或是给每个物体都赋予厚度。
但有些属于非流形的类别,是你绝对应该避免的,包括法线不一致、模型中有游离的边或顶点、完全重叠的组件、内部连接的组件(这可能会引发很多问题),以及一般来说任何背面与正面相连的情况。这些都是导致挫败感的因素,最好避免。
总的来说,不良拓扑是指任何让最终结果看起来更差或表现不佳的拓扑。
边缘循环和极点
评估拓扑时主要看模型的边缘循环。
循环定义了模型的细节。它们需要沿着细节流动才能正确表示。如果循环与细节相反,它们将会创造不需要的伪影或导致模糊的形状。
可以通过极点来引导循环,极点是具有3个、5个或更多连接的顶点。极点是相邻循环可以分开并向不同方向延伸的点。通过合理布置它们,我们可以确保循环沿着我们想要定义的细节运行。
避免六个或更多连接的极点是最佳实践,因为它们在变形时往往会塌陷,并在细分时产生挤压。然而,三边和五边的极点非常常见。
使用三角形、四边形和多边形
每种类型的多边形都有独特的属性,根据情况可以帮助或损害拓扑。
三角形,即三个边的多边形,也被称为“三边形”,是所有计算机图形的基础形状。其他所有3D形状,甚至是非网格形状,在显示到屏幕上之前都被转换成三角形。使用三角形可以让你对最终渲染结果有最大的控制权。
三角形对于减少多边形数量非常有用,因为相同形状通常可以用较少的最终多边形通过三角形而非四边形来创建。三角形的最大缺点是边缘循环不能穿过它们,这使得编辑更加繁琐。
四边形,四个边的多边形,实际上是两个结合在一起的三角形,但由于其对立边的独特性质,允许循环通过它们。由四边形组成的模型通常更容易创建、编辑和变形,因此在建模时应作为默认选择。
多边形是具有超过四个边的多边形。就像四边形一样,多边形在底层是由三角形构成的,但为了便于编辑被抽象为单一形状。边缘循环也不能穿过多边形,所以在你还在确定最终拓扑时,它们有助于阻止循环切割进入某些区域。一旦不再平坦,它们就会‘破裂’,但对于具有复杂形状的平坦表面来说却是完美的。
在Blender中,你不能在多边形中创建孔洞,因此网格中的孔洞必须至少有两条边连接到外围。
细分曲面
当使用细分曲面时,所有多边形都会被转换成四边形,这是将所有边一分为二的方便副产品。分割三角形和多边形会在中心产生一个极点,该极点的连接数与原始多边形的顶点数相同,并且这些连接会穿过原始边的中间。
你经常会听到建议在细分曲面建模时使用全四边形,这可能看起来很奇怪,因为最终结果总是四边形。这个经验法则的实际原因在于它们创建的极点以及通过这些极点运行的循环是如何被重新定向的。
当细分时,三边极点会产生高顶点密度区域,而五边或更多边的极点则会产生低顶点密度区域,正是这种密度差异可能导致挤压。
此外,由于循环不会直接穿过细分后的三角形和多边形,必须绕过极点(而循环是定义模型细节的部分),因此很容易创造出与你试图描绘的形状相反的非故意细节,导致生成的网格看起来杂乱无章且不清晰。
顶点在细分曲面上会被其边缘拉扯。如果拓扑是一个完美的网格并且每个顶点在所有方向上都被均匀地拉动,即使网格包含三角形或多边形也不会有任何拉扯。然而,如果它们的边缘不是均匀分布的,它们就会从原来的中心位置被拉扯。
不同的边缘循环可以服务于不同的目的,在处理细分曲面时,我将它们分类为细节循环、支撑循环和填充循环。当然需要有一个循环来定义细节,但通常在细节循环旁边有一个辅助循环是有用的,以帮助保护它免受拉扯并支持它的形状。然后,有些循环只是为了连接其他部分并填补空缺。
四边形接合点
仅使用四边形来重新导向边缘循环的一个常见技术是使用全四边形接合点。它们特别适用于从高细节区域过渡到低细节区域。保持细节局部化的做法有助于使循环留在需要的地方,而不是环绕整个模型,从而复杂化并搞乱其他区域。
下面显示的主要四边形接合点可以用于从一个循环过渡到三个循环,从两个循环过渡到四个循环,或者从网格过渡到角落。
工具箱
Blender 有数百种建模工具,但大部分工作可以用少数几种工具完成。从技术上讲,你可以只通过放置顶点并在它们之间填充边和面来创建任何可能的3D形状,但这样的工作流程会非常繁琐。要知道,除了基本工具之外的其余工具只是为了让你的生活更轻松,你可以按照自己的节奏学习它们。
在Blender中最重要的建模工具有:
- 内嵌 (I)
- 切割 (K)
- 倒角 (Ctrl B)
- 插入边缘循环 (Ctrl R)
- 边缘滑动 (GG)
- 细分
- 挤出 (E)
- 创建面 (F)
- 顶点连接 (J)
- 合并 (M)
- 桥接
- 网格填充
- 溶解 (X)
- 撕裂 (V)
- 平滑
- 镜像 (Ctrl M)
- 剪切
建模技巧
知道工具是一回事,有效地使用它们又是另一回事。学习建模需要练习和奉献。初学时跟着懂行的人一起操作通常很有帮助,这样你可以看到他们如何解决常见的问题,获得实践经验,并从一开始就养成良好的习惯。在CG Cookie上,我推荐按照难度顺序观看以下课程来学习不同的建模技巧:
无论选择哪种方法,建模过程的第一步通常是块状建模。这就是用尽可能简单的部分来创建你的物体或场景,这对于确保所有比例正确非常重要。块状建模允许你在锁定任何细节之前快速更改整体形状和构图。
创建3D形状的一种常见方法是盒式建模,从立方体或其他原语开始,主要使用切割和挤出来向外构建。顾名思义,盒式建模非常适合本质上比较方正的物体。
另一种方法是指点建模,先在空白空间中创建循环来定义细节,然后再填充剩余的形状。这种方式对于可以从参考图像中追踪的对象或更复杂的有机形状非常有用。因为它允许你立即定义最重要的循环,所以在重拓扑过程中通常是首选方法,即在现有网格上创建一个新的简化网格。
可以使用布尔建模将网格融合在一起,或者用来切割彼此,这种方法常用于硬表面物体。CAD 或 NURBS 建模,基于曲线而非基于顶点的面,对机械部件也有帮助,尽管Blender对此的支持有限。
雕刻也是一种建模类型,使用数字画笔以一种对传统艺术家来说更为直观的方式推拉网格。
程序建模利用几何节点或Python脚本来创建能够适应环境或艺术指导的物体,一旦建立起来就非常有趣。
模拟也可以根据物理交互变形形状,创建那些难以直接建模的对象,如布料和液体。
每种方法都有独特的优缺点,但你不必只选择一种!它们都可以组合和混合使用,学习更多的技术只会让你成为一个更快更灵活的建模师。
解决问题的方法
建模既是一个创造性的过程,有时也是一个技术难题。在某个时候,你不可避免地会在一个棘手的区域卡住。这里有一些可以帮助你应对这种情况的技术:
在建模时,注意可变区域,或容易改变的网格部分,或者是顶点数量不太重要的地方。这可能是沿着一个多边形、边界、一条对称线、平坦表面或仅仅是不太重要的区域。可变区域非常宝贵,将问题转移到其中一个区域可以使问题更容易解决。
当我不满意某个区域的拓扑时,我经常选中整个区域并使用F快捷键将其变成一个大的多边形,然后用切割工具进行切割。这给了我一张白纸和新的视角,同时也防止了我在工作时周围的区域因边缘循环而变得混乱。
如果我能创建正确的形状但不能得到想要的拓扑,我通常会使用RetopoFlow等重拓扑工具(或Blender的本地捕捉工具)在其上绘制新面,无需完全从头开始就能创建更好的拓扑。
最后,当一切都失败时,最好的办法就是删除它并重新开始。这可能会有点痛苦,因为你可能已经在这个物体上花了几个小时,但你学到很多,有时候甚至没有意识到这一点,而且每次尝试都会比前一次快得多,因为你已经知道了大部分步骤。我一些最好的模型是我尝试了三次、五次甚至十五次的结果,第一次尝试和最后一次尝试之间的质量差异是巨大的。
评论留言