低消耗多边形建模基础
常见的低消耗网格建模的方法是盒子建模(Box Modeling)。盒子建模技术的流程是首先创建基本的几何体(例如盒子)。然后将盒子转换成Editable Mesh,这样就可以在次对象层次处理几何体了。通过变换和拉伸次对象使盒子逐渐接近最终的目标对象。
变换次对象
在次对象层次变换是典型的低消耗多边形建模技术。可以通过移动、旋转和缩放节点、边和面来改变几何体的模型。
1.1处理面
通常使用Edit Geometry卷展栏)下面的Extrude和Bevel来处理表面。可以通过输入数值或者在视口中交互拖曳来创建拉伸或者倒角的效果。
图 1 图 2
Extrude
增加几何体复杂程度的最基本方法是增加更多的面。Extrude就是增加面的一种方法。图3就给出了面拉伸前后的效果。

图 3
1.
Bevel
Bevel首先将面拉伸到需要的高度,然后再缩小或者放大拉伸后的面,图4给出了倒角后的效果。

图4
1.3 处理边
通过分割边来创建节点
创建节点最简单的方法是分割边。直接创建完面和多边形后,可以通过分割和细分边来生成节点(见图5)。在3ds max中可以创建单独的节点,但是这些点与网格对象没有关系。
选择网格对象的一个边 边被分割,生成一个节点

图5
分割边后就生成一个新的节点和两个边。在默认的情况下,这两个边是不可见的。如果要编辑一个不可见的边,需要先将它设置为可见的。有如下两种方法来设置边的可见性:先选择边,然后单击Surface Properties卷展栏中的Visible按钮,或者选择Object Properties对话框中Display Properties区域的Edges Only复选框,见图6。
切割边
切割边的更精确方法是使用Edit Geometry卷展栏下面的Cut按钮,见图7。

6图 图7
使用Cut选项可以在各个连续的表面上交互地绘制新的边。
1.4 处理节点
建立低消耗多边形模型使用的一个重要技术是节点合并。例如,在人体建模模型时,通常建立一半的模型,然后通过镜像得到另外一半模型。图8给出了建立人头模型的情况。
当采用镜像方式复制人头的另外一面时,两侧模型的节点应该是一样的。可以通过调整位置使两侧面相交部分的节点重合,然后将重合的节点焊接在一起,得到完整的模型,见图9。
图8 图9
将节点焊接在一起后,模型上的间隙将消失,重合的节点被去掉。有两种方法来合并节点:选择一定数目的节点,然后设置合并的阀值或者直接选取合并的点,见图10。
在前面的例子中已经使用了Weld下面的Selected选项。可以选择一个或者两个重合或者不重合的节点,然后单击Selected按钮。这样,要么这些节点被合并在一起,要么将出现图11所示的消息框。
在Selected右边的阀值数值键入区决定能够被合并节点之间的距离。如果节点是重合在一起的,那么这个距离可以设置小一点;如果需要合并节点之间的距离较大,那么这个数值需要设置大一些。

图10 图11
在合并节点的时候,有时使用Target选项要方便些。一旦打开了Target选项,可以通过拖曳的方法合并节点。
1.5 修改可以编辑的网格对象
在这个练习中,我们将使用Face Extrude选项来构造飞机的座仓盖。
1. 启动3ds max,或者在菜单栏选取File / Reset,复位3ds max。
2. 在菜单栏选取File / Open,然后从本书的配套光盘中打开文件Samples\ch08\ ch08_02.max。
说明:Object Properties对话框中的Edges Only选项已经被关闭,Edged Faces的视口属性已经被设置到User视口。这样的设置可以使对网格对象的观察更清楚些。
打开Samples\ch08\ ch08_02.max后的场景见图12。
3. 在用户视口中选择飞机。
4. 在 Modify面板,单击Selection卷展栏的 Polygon按钮。
5. 在用户视口选择座仓区域的两个多边形,见图13。

图12 图13
通过观察Selection卷展栏的底部(见图14)就可以确认选择的面是否正确。这特别适用于次对象的选择。
6. 在Edit Geometry卷展栏将Extrude的数值改为23.0 。
选择的面被拉伸了,座仓盖有了大致的形状,见图15。

图14 图15
7. 单击Selection卷展栏的 Vertex按钮。
8. 在前视口使用区域的方式选择顶部的节点,见图16。
9. 在前视口调整节点,使其类似于图17。

图16 图17
10. 单击主工具栏的 Non-uniform Scale按钮。
11. 在右视口使用区域的方式选择顶部剩余的两个节点(见图18的A图),并沿着X轴缩放它们,直到与图8.29中的B图类似为止。
A B

图18
现在飞机有了座仓,见图19。
如果得到的结果与想象的不一样,那么可以在菜单栏选取File / Open,然后从本书的配套光盘中打开文件Samples\ch08\ch08_03.max。该文件就是用户应该得到的结果。
1.6 反转边
当使用多于3个边的多边形建模的时候,内部边有不同的形式。例如一个简单的四边形的内部边就有两种形式,见图20。
将内部边从一组节点改变到另外一组节点就称为反转边(Edge Turning)。
图21是一个很简单的图形,因此很容易看清楚内部边。如果在复杂的三维模型上,边界的方向就变得非常重要。图22中被拉伸的多边形的边界正确。

图19 图20
如果反转了顶部边界,将会得到明显不同的效果,见图21。

图21 图22
需要说明的是尽管两个图明显不同,但是节点位置并没有明显改变。
下面我们就举例来说明如何反转边。
1. 继续前面的练习,或者在菜单栏选取File / Open,然后从本书的配套光盘中打开文件Samples\ch08\ch08_03.max。
2. 选取视口导航控制区域 Arc Rotate SubObject按钮。
3. 在用户视口绕着机舱旋转视口,会发现机舱两侧是不对称的,见图23。
从图23中可以看出,长长的小三角形使机舱看起来有一个不自然的皱折。在游戏引擎中,这类三角形会出现问题。反转边可以解决这个问题。
4. 在用户视口选择飞机。
5. 选择 Modify命令面板,单击Selection卷展栏的Edge按钮。
6. 单击Edit Geometry卷展栏中的Turn按钮。
左侧
右侧

图23
7. 在用户视口选择飞机座舱左侧前半部分的边,见图24。

图24
现在座舱看起来好多了。下面来设置右边的边。
8. 在视口导航控制区域选取 Arc Rotate SubObject按钮。
9. 在用户视口绕着飞机旋转视口,以便观察座舱的右侧。
10. 在Turn仍然打开的情况下,单击定义座舱后面小三角形的边