文章标题

2019-04-13 14:12发布

在 3D 建模里,拓扑(Topology)这个概念,指的是多边形网格模型的点线面布局、结构、连接情况。拓扑是一个比较重要的进阶概念。如果 3D 模型只有「形」,能渲染出好的结果,不过没有一个好的拓扑结构,依然不能称得上是一个好的模型。
简单来说就是将高模做为参考,做一个低模,一般会用辅助程序在高模上面直接做,它会直接吸附于高模表面。
简单的来说就是你用ZB刷了一个高模,但是由于面数太多不能使用,这个时候,你就会希望他能保持大体的样子,但是有一个合理而简洁的线框,所以就要拓扑。通常就是用程序在高模表面画点,直接做在原模型表便做一个新的低模,这里不需要考虑模型的起伏,只要考虑拓扑的结构。然后将拓扑完成的低面数模型和高面数模型放一起进行烘焙,这样就有了发现贴图,你把法线贴图贴到低模上面,他就会有近似高模的效果,很神奇。
举例说明一下:
这里写图片描述
可以看到这两个平面的外观、大小是一样的,不过内部的顶点、边线、面的排布方式却不尽相同。右边的平面内部结构仅仅是平直的网格,左边的却复杂一些,平面、边线围绕中心部分,形成了一个环状的结构。 拓扑对一个模型结构非常重要,如果一个模型拥有良好的拓扑结构,不仅模型布线外观比较干净规整,还可以很大程度上,改善建模的工作效率,可以更快、更精确地修改、操作模型的整体和细节,从而更好的反映这个物体的结构特征。 这里写图片描述
这是一个根据左边那个平面创建的一个简单的冲击坑/环形山地形模型。可以看出,根据线、面的排布,这个平面可以被分割成几个部分(每个部分用不同颜 {MOD}标示),选择、修改加工这些部分,相对于右边那个平面来说,更方便。比如,可以选择某个特定的 edge flow 或者 edge loop,也可以使用环切(loop cut)命令来添加细节。 这里写图片描述
对于创建人物模型尤为要注重拓扑结构。上图模型的拓扑结构比较合理。可以看到,这个模型的拓扑结构,大体上符合真实的人头结构:眼部被围成一圈,眼睛和鼻子加起来是一圈,嘴是单独一圈,下颌的走线类似真实世界里相应的骨骼结构。这样,要编辑某个部分,比杂乱无章的拓扑模型(如直接用球体雕刻出来一个人头模型)方便的多,比如调整眼眶的大小,可以直接选择眼睛的那几圈,然后缩放一下,再调整一下位置和细节即可。另外,由于拓扑结构大体符合真实人头的骨骼、肌肉结构,做动画时形变也能做到更加平滑、自然、真实。 一般来说,要尽量(但不必须)消除多边形模型中的三角面,因为三角面会打断 edge flow/edge loop,从而破坏拓扑结构。三角面在动画中也经常出现形变不自然的情况。并且,三角面在做表面细分(subdivision surface)时更容易出现异常。比如,有两个外观相同的方块,一个由四边面(quads)组成,另一个由三角面组成:
这里写图片描述 但做 subdivision surface 后,由三角面组成的模型看上去,表面显得不自然、混乱;相比之下,由 quads 组成的方块在细分后看上去更规整:
这里写图片描述 另外,也要避免使用边数大于 4 的多边形(N-gon)。所以通常情况下,只有四边面构成(quads-only)的模型拓扑结构是最好的(比如最开始给出的两个平面模型)。