谁能给我提供一张正确尺寸的格栅灯贴图( 三 )


⑵. 模型拓扑布线优化预处理
在前面的图示中 , 大家一定看到如下图所示的物体 , 我们不妨将它单独移出来 , 一定有人会问 , 小姐姐为什么要这样建模呢?这就是所谓的拓扑布线问题 , 也就是物体上的边线布设问题 。一般情况下 , 物体(poly)的布线应根据物体的造型、材质、贴图、形变以及拆分UV2的需要来布设 , 同时这些边线的布设决定着模型面数的多少 , 不合理的布线会使模型的面数急剧上升 。
有了解单面建模的童鞋存在很多疑问 , 觉得单面建模就是尽可能减少模型面数 , 一些模型的某些面上明明不需要边线 , 却发现某些面反而布设了边线 , 这正是物体的布线要根据物体的造型、材质、贴图、形变以及拆分UV2的需要来布设的原因 。下面我们先来说说根据物体造型需要的布线(也就是可编辑多边形的边面切分或分割) , 因为上图那个位置有个窗户 , 我们需要在那个位置开个窗洞 , 一般情况下 , 按照最优化低面数精简单面建模的方法 , 先构造一个和窗户墙等大的几何体(如下第一张图所示) , 然后将需要开洞的面的上下和左右边分别布两条线(也就是连接两条线或者分割两条线) , 形成如下第二张图所示的网格面 。
接下来选择中心的面(如下第一张图红色部分所示)删除 , 形成下面第二张图所示的洞口 , 同理 , 在背面也开一个这样的洞口 , 然后将两个洞口的边缘线桥接 , 形成第三张图所示的窗户洞 。
一些用过单面建模的童鞋认为这个窗洞就开好了 , 但是 , 小姐姐认为 , 这里还需要对布线作进一步优化 。原因是上面的方法将窗户墙的前面分割成了8个面(如下图所示) , 不仅如此 , 背面也被分割成了8个面 , 同时 , 还给每条外边线各增加了两个节点 , 把每个外边线分割成了三段 , 导入Unity后 , 顶面会因前后面各增加的两个节点 , 自动连接节点生成如下第二张图的6个三角面 , 底面和两个侧面也会各生成6个三角面 , 这个窗户墙会变成64个面 , unity3d的模型面是按三角面处理的 , 也就是3dmax中的四边面到了u3d中 , 会自动连接每个四边面的对角线转换成三角面的 , 上面的64个面 , 就是64个三角面 , 64个面是怎么来的呢 , 前后墙面各8个四边面 , 就是16 , 窗洞4个四边侧面 , 加起来就是20个四边面 , 自动转换成三角面就是40个 , 窗户墙顶面、底面、左右侧面各自会自动变成6个三角面 , 这样又有24个三角面 , 40个三角面+24三角面 , 总共64个三角面 。
如果对布线进行一些优化 , 即将下图中2、3节点与节点1焊合(或叫合并) , 5、6节点与节点4焊合 , 7、8节点与节点6焊合 , 10、11节点与节点9焊合 , 形成如下第二张图所示的布线 , 窗户墙的前面就只被分割成了4个四边面 , 同时也不会分割相邻面的边 , 这样以来 , 整个窗户墙(前后各4个四边面 , 顶底和左右两侧4个四边面、窗户洞4个四边面)总共16个四边面 , 导入u3d自动转换成32个三角面 , 这与前面的布线方法相差一半 , 有的童鞋说 , 相差一半关系不大 , 1和2相差一半 , 没什么区别 , 大家可别忘了 , 一个场景50万面和100万面 , 200万面和400万面区别可就大了 。
如果不优化拓扑布线 , 这样的物体被大量复制 , 模型面数会急剧成倍上升 , 小姐姐这个例子比较简单 , 如果造型复杂 , 不优化拓扑布线 , 可不就是2倍的关系了 , 这也就是这个场景中小姐姐使用这种布线的原因 。
下面用图示比较一下同一个物体在3dmax中不同布线之后四边面和顶点区别以及导入Unity3d之后转换为三角面和顶点的情况 , 如下面两图所示 。
从上面的图示可见 , 不同的拓扑布线 , 模型的面数和顶点数是不一样的 , 有童鞋会问 , 为什么要强调模型的顶点数呢?因为模型的面是由线构成的 , 线是由顶点构成的 , 与其说模型的面数太多造成的卡顿 , 不如说是由顶点太多造成的 , 有童鞋肯定不服 , 那我们就在自己熟悉的建模软件中通过修改段数构造一个上千万个面的茶壶 , 然后将所有面全部删除 , 只留下顶点 , 我们会发现 , 即使没有模型面 , 顶点太多一样很卡的 , 也就是说真正的卡机其实就是由顶点引起的 , 所以在建模的时候 , 既要控制面数 , 也要控制顶点数 , 小姐姐用斜向布线就是让多个三角面或四边面共享顶点 , 以控制顶点的数量 , 下图所示的物体 , 如果用实体建模 , 顶点和面数会过千 , 小姐姐只用了几十个面和顶点 。