Maya入门教程(十四)
1、revolve建模概念
Revolve就是旋转。这种建模方式是利用一条曲线,在软件的三维空间中沿着某个轴线进行旋转,曲线旋转所留下的轨迹就能产生一个表面,称为回转曲面。因为以这种方式建构的模型与陶艺师使用的辘轳塑形或者木雕师使用车床雕铣有异曲同工之妙,所以又称为车切表面。常见的球体、环面体、圆锥体、圆柱体等都可以使用这种方式建构。
利用revolve方式建模时,需要掌握物体的剖面造型,并且由于其原理是以曲线旋转来形成表面,因此要先利用曲线工具绘制出模型剖面的一半轮廓。
maya中常用的曲线工具包括了CV curve
tool与EP curve tool,CV与EP分别指NURBS云型线的CV控制点与EP编辑点。两者最大的不同在于CV是从曲线外部控制曲率,绘制曲线时可以看到曲线外部的控制线框;而EP则是直接指定曲线经过的位置。具体的概念可以参考教程十三,在此不再赘述。
2、revolve建模实际操作
打开maya,新建一个scene,确认interactive creation关闭,将main menubar切换至surfaces模组。
1)盘子的做法
我们首先来做一个盘子。
在create选单中从CV curve tool或者EP curve tool中选择一种来使用。
在绘制曲线之前,需要先开启吸附到参考格线的功能,以便于我们绘图更加精准。
然后切换到前视图(图中红框区域视图)。
在世界坐标参考格线的Y轴上单击左键就可以点出曲线的起始点。然后按照盘子的侧面轮廓从底部开始绘制出整条曲线。曲线的最后一点和起始点一样要落在Y轴上。
绘制完曲线之后按下enter键确定。需要注意的是,在进行revolve建模时,曲线的第一点与最后一点都必须吸附到旋转轴上,否则完成的模型会不完整或者错位。
完成盘子的1/2剖面轮廓绘制以后可以切换回透视视图。
接下来在surface选单中点击revolve就可以形成一个盘子的回转曲面模型了。
正常做出来的模型是上图中的颜色,如果做出来是黑色的:
代表形成模型的那层表面的正反面颠倒了,也就是表面的法线方向相反,这在以后的其他操作中可能会引起错误,如果出现上图中的情况则需要在edit NURBS的选单中按下reverse surface direction反转模型的正反面。
目前生成的模型表面会受到曲线的影响,因此,如果对自己做出来的模型造型不满意,可以把模型移到旁边,然后选取曲线,直接利用CV来调整曲线的造型,直到满意为止。而调整的结果会立刻反应在这个回转表面上:
这是因为曲线和回转表面之间存在历史关联性,曲线,就是这个回转表面的历史。所以,改变曲线就可以改变回转表面最终的呈现方式。等调整的形状符合要求以后选择回转表面,打开edit选单选择delete by type中的history选项,解除曲线与回转表面之间的关系:
解除关系以后曲线的改变不会再影响到回转表面的形状。完成以后可以按下delete删除曲线。
虽然在maya中所有的曲线都不会在算图中被计算出来,但是如果没有删除它的话,场景中的物件数量会成倍增加,造成物件管理的不便,因此需要养成随时将不需要的曲线删除的习惯。
2)高脚杯制作
新建scene,和盘子的制作一样,切换成前视图,其余设置也与盘子的制作一样。
选择曲线工具从世界坐标系原点开始绘制高脚杯的剖面轮廓线。
执行revolve,就可以制作出一个高脚杯:
同样的方法,假如我们对这个杯子的形状不太满意的话也可以对曲线调整直到形状满意为止。
最后记得调整完毕以后要将曲线删除。
当然,如果已经将曲线删除但是对这个模型还是不太满意的话,我们可以使用前面学过的知识,将模型调整到CV模式进行调整。
3)苹果的制作
苹果的制作和前面的盘子以及杯子是一样的,同样都是使用曲线工具画出苹果的1/2剖面轮廓线,再以revolve的方法成形。
然后将模型切换至CV模式,将果蒂头凹陷处外围隆起部位的CV任意选取,将它们提高或者降低,制作出比较自然的一些不对称的凹陷来:
接下来在create选单中打开NURBS primitives子选单,单击cylinder的设定钮:
由于预设的cylinder没有顶面与底面,因此要在设定视窗的caps项目中将top勾选起来,其它设定维持预设:
按下create就可以产生一个具有顶面的圆柱:
首先用缩放工具的Y轴方向拉长圆柱。
然后切换为CV模式,选取圆柱顶面最内侧一圈以及中心的CV,将它们的位置拉高并稍微往任意方向位移,使顶面具有一个偏移中心的隆起。然后将其中间位置的一圈或者两圈CV整圈选取起来使用缩放工具使果梗整体粗细产生变化,并将其向旁边弯曲:
切换回物件模式,调整整根果梗的大小和位置,然后将两者制作为一个群组,一个苹果就制作完成了:
3、extrusions与swept建模方法简介
Extrusions这种建模技术使用两条曲线来产生模型,第一条曲线称为profile curve剖面曲线,第二条曲线称为patch curve路径。当剖面曲线沿着路径曲线移动时,将剖面线所经过的地方视为一个表面,这样的建模手法称为Extrusions挤出。
这个原理和蛋糕师使用裱花袋沿着蛋糕边缘挤出奶油制作奶油花雕差不多,不同的挤花嘴可以做出不同式样的花雕。在这里挤花嘴的形状就相当于剖面线,而蛋糕的边缘就是路径。
Swept与Extrusions类似,都是一个剖面曲线沿着路径所产生的表面,区别在于当剖面线在进行swept时,除了沿着路径曲线移动外,还同时可以进行旋转或缩放等变换动作。
举例来说,当一个正方形以一条直线为路径进行Extrusions时,可以生成一个标准的立方体,但是进行swept时,就可以使用旋转产生螺旋形,或者使用缩放产生一个锥体。因此通过旋转与缩放的巧妙搭配swept可以快速且容易地产生复杂的造型。
在maya中,Swept与Extrusions都是由extrude这个指令来控制的。
3、extrusions简单练习
开启新的scene以后,和之前一样,以后我将不再赘述这一过程:确认interzctive creation是关闭状态,并将main menubar切换成surfaces模组。
通常在进行extrude时,我们需要profile与path两种曲线。
首先建立一个circle来作为profile:
切换到正视图,开启吸附到参考格线的功能,从CV curve tool或者EP curve tool中选择一种工具,将第一点吸附在世界坐标原点上,第二点落在Y轴正方向上任意位置,然后按下enter完成这个线段的绘制。
利用这条垂直于profile的直线来当作path。完成profile与path之后就可以进行extrude的操作了。
首先使用选取工具点选profile,按住shift加选path。需要注意的是,进行extrude时,需要先选择profile,再选择path,这个顺序是非常重要的,如果选择顺序不正确,会导致软件计算错误而操作失败,制作出奇怪的形状或者根本无法建模。
选择好以后打开surface选单,点击extrude的设定钮:
在打开后的设定视窗中依序将选项设定为tube,at path,component,profile normal:
按extrude后就可以得到一个圆柱体:
那如果说path曲线不是直线,而是一条随意扭动的曲线会怎样呢?随便画一条曲线来试验一下:
路径path如上图,制作后会得到下图这样的一个几何体:
由此可见,在这种制作方法中,几何体的形状是由profile和path共同决定的,profile决定了模型横截面的形状,而path则决定了整个模型的外观和扭曲程度。
以上是制作extrude模型的基本程序,与使用revolve的时候一样,在生成模型之后一开始用来执行extrude的profile与path仍然会对挤出表面产生影响,我们也可以通过调整这两条曲线的形状来控制最终模型的样式。
当模型造型确定完成后,也和revolve的操作方法一样,打开edit选单,按下delete by type子选单中的history选项,解除profile、path与模型之间的关系。
4、extrude设定选项功能简介
我们来看一下extrude的设定选项都有些什么功能。
将刚刚制作好的模型删除,只留下circle作为profile,然后切换到侧视图。
利用CV curve tool或者EP curve tool制作一条带有弧度的曲线作为path:
进行extrude之前,先按照上面说过的选择方式将这两条曲线选取起来,然后打开设定视窗:
第一排的选项是extrude的样式,distance是按照距离来进行extrude,这个模式下不需要使用path来产生挤出表面模型,而是在direction中指定生成挤出表面模型的方向。指定为specify时,可以往X轴、Y轴或者Z轴的方向或者使用free使挤出表面模型往输入坐标生成。而direction指定为profile normal时,则会以profile的法线方向来作为形成表面的方向。Extrude length与surface degree则分别控制了挤出表面模型的长度与区段数量。
除了distance之外,extrude另外还有flat与tube两种样式,分别为平坦与管状。
将flat勾选后按下apply,会让执行extrude后维持设定视窗的开启:
把制作出来的模型移到旁边,再选取一次profile与path,换成勾选tube来进行extrude:
可以发现以flat来进行extrude时,profile会保持原本的法线方向来生成表面,因此会有部分的挤出表面模型有点变形和歪曲。而tube这种模式下,profile则会根据path的方向来调整自己的法线方向,使自己一直与path保持垂直,所以最后做出的挤出表面会像弯曲的水管一样每一段剖面形状都会保持为一个圆而不发生变形。
使用flat与tube这两种样式来进行extrude时,可以利用result position来决定模型是在profile还是path的位置生成。
使用tube样式时,还可以设定pivot与orientation,也就是轴心点与方向。
我们已经知道挤出表面模型是profile沿着path移动产生的,而随着path改变方向,轴心点的位置也会影响变换的结果。因此我们可以在pivot指定为closest end point或者component,分别会让extrude时的轴心点发生在profile最靠近path的位置上或者profile的中心上。
而orientation则是控制profile与path的角度,path direction时会依据profile与path原本的角度来产生挤出表面模型。
Profile normal则会使profile的法线与path的方向吻合。
以上是在进行extrusions时可能使用到的设定。
除此之外在设定视窗中还有rotation与scale的设定值,这就是在进行swept时会使用的设定。Rotation与scale的数值会让profile在位移的同时进行旋转与缩放的变换,使挤出表面模型得到更多的造型变化。
将之前创建的物件全部删除,再创建一个circle,然后将circle的sections改成16:
之后利用之前制作豆腐之类的技巧将circle压出四个边,形成一个有圆角的正方形,作为profile使用:
然后使用曲线工具以世界坐标原点为起点,向上拉出一条垂直于XZ平面的直线,把它当作path。
之后打开extrude设定视窗,将各设定值设为tube,at path,component以及profile normal:
依序选取profile与path,按下apply:
就可以生成一个有圆角的棱柱。将这个棱柱移开,将profile与path选取起来,再到rotation中输入360,这代表profile顺着path移动时,会同时进行360度的旋转动作。设置好以后再按下apply,会发现可以产生一个带螺旋的柱体:
将这个螺旋柱体也移开,继续选择曲线,把scale改成0,代表profile移动到path终点时缩放值会变成0,按下apply,会发现可以产生一个带有螺旋的锥体:
这是圆角正方形在extrusions的同时进行变换,也就是swept所得到的造型。
由此可以看出,在profile与path完全相同的情况下,由于输入值的不同,也会产生很多种不同的模型:
5、extrude实际操作
1)杯子制作
杯子的杯身我们使用revolve来完成,而杯子的把手则会用到extrusions的操作。
杯身的制作详细过程我就不介绍了,不会的话可以多练练之前的revolve的操作方法。制作后如图,也可以根据自己的喜好设置杯子的形状,制作好以后删除曲线。
制作把手的时候将杯子转换为侧视图,在侧面先绘制把手的path曲线。
然后切换回透视视图,从create选单中创建一个NURBS circle,这个circle将作为profile来使用。将circle大小调整适中,按照之前讲过的选择顺序分别选择circle与path,执行extrude命令,设定如图:
设置好以后按下extrude或者apply都可以生成一个把手。最后再对这个把手的形状以及位置进行调整以后,在edit选单中将曲线与把手之间的历史关系删除,一个带有把手的杯子就制作完成了。
然后同时选择杯子和把手,按快捷键ctrl+G将杯子和把手组成一个群组给一个合理的命名即可:
当然,如果在删除了曲线以后还觉得杯子或者把手有些地方需要调整,比如把手制作出来时下图这样:
就需要将这种穿帮修改至看起来比较合理的状态,我们可以使用之前学习过的调整方法,将把手转换为CV模式逐点调整至模型位置合理为止。
这个地方需要注意的是把手制作出来以后默认的轴心点在世界坐标的原点,这样的话在后期的编辑中会有诸多不便,因此请使用之间讲过的轴心点编辑的方法将把手的轴心点移动至模型的重心位置或者你认为方便合理的位置。
2)奶油花雕制作
先创建一个circle,并且将它的位置与大小调整至杯子内缘附近,并且利用channel box的input页签将sections改成30,这样可以使这个circle的CV变成30个:
然后将circle切换至CV模式,将其上的CV隔点选取,并利用缩放工具将选中的CV稍稍缩小,使创建的circle成为一个带有波浪的圆圈,形成奶油花雕的path。
制作好以后将circle转换为object mode。
接下来制作profile。这时杯子如果占用了太多的空间,可以在outliner中选取杯子的群组,在channel box中将visibility改成0,就可以将它暂时隐藏起来了。
再制作一个circle,转换为CV模式,和之前一样将其CV隔点选取并缩小半径制作成一个带有波浪状的circle作为profile。
调整完毕以后同样切换至object mode模式,并调整其大小到合适的程度。然后执行extrude命令,就可以制作出一圈奶油花雕了。
之后,在outliner中选择杯子所在的群组,将visibility改成1就可以显示出杯子了。然后再调整杯子与花雕之间的关系,然后利用outliner选取奶油花雕的path曲线,从surface选单中点击planar,产生一个平面:
调整它的大小以及位置作为杯中饮料的液体表面,然后取消曲线与模型之间的历史关系并将曲线删除,就可以做出一杯具有奶油花雕的饮品了:
3)薯条制作
有了喝的没有吃的岂不是很不美好,所以接下来我们来做一些薯条。
之前的杯子制作我们使用了revolve技巧,而杯子把手以及内部的饮料则使用了extrusions方法,那么薯条我们将使用swept的技巧。
在maya中,swept与extrusions都是利用extrude这个指令,将刚刚制作的饮品拖动到旁边,然后创建一个circle,像刚才制作奶油花雕一样将这个circle变成波浪状,波峰与波谷差值最好大一些,再选取外围的CV稍微旋转一下,让这个circle带有一点回旋:
切换至前视图,绘制一条直线作为path,而之前的circle则作为profile。绘制好以后打开extrude设定框,设定rotation与scale的设定值,如图所示:
接下来将模型切换至isoparm模式,点选最底层的isoparm并执行surfaces选单中的planar指令,产生一个平面来作薯条的底面。同样的方法制作顶面。
制作完以后如果有平面是黑色的,请执行reverse surface direction修正顶面的法线方向。
接下来选择薯条的整个模型包括上下底面制作成群组fries。最后利用duplicate special将其复制出一定的数量任意摆放即可。
下次会介绍NURBS的其他进阶建模技巧。