1、云型线与补缀面
在之前就已经说过,在Maya中模型主要可以分成NURBS与Polygon两个大类。
Polygon是多边型建模模型,这种模型是由直线与平面构建而成的,与之对应的NURBS则是利用平顺的曲线与曲面来建构模型。它是常用来产生与表示曲线或曲面的数学模型,是之前提过的云型线当中的一种。
云型线最早是在电脑建模出现之前由船舶工业发展而来。当时为了制造出供船壳使用的弯曲木板,会利用数根圆柱放在定点上,让木板穿过这些圆柱而产生自然弯曲,最后就能得到拥有光滑过渡的弯曲木板,这块木板就称为云型线板。
而云型线板的曲率会受到圆柱配置的影响。后来,利用类似的方式产生的曲线就被称之为云型线。
一般来说,云型线的曲率是受到控制点(Control Point/Control Vertex)的控制,就像是云型线板的弯曲幅度会受到圆柱影响一样。
各控制点之间的连线则称之为Hull,也就是壳线或控制线框。
到上世纪五十年代,需要利用数学来精确表示自由曲面的工程师们发现了NURBS,这是Non-Uniform Rational B-Spline的缩写,也就是非律性有理数基准云型线。
同上面介绍的一样,NURBS云型线同样具有控制点与壳线,并且除了第一与最后一个控制点之外,曲线是不会通过控制点的。
此外,还有一组称为Edit Points的点,它们会实际通过曲线,当我们需要让这条曲线平滑流畅时,可以调整控制点,而要精确控制曲线经过位置时,则可以调节编辑点。
和直线一样,当曲线通过一个异于自身的曲线或者直线构成的扫描轨道进行移动时,产生的轨迹就会是一个曲面。
由两条云型线构成的曲面称为一个Patches(补缀面),其中,原本曲线的方向称为U方向,而这条曲线的扫描轨道方向则称为V方向。
在大多数的软件中,产生补缀面按的云型线是相同类型的,例如NURBS补缀面就是由两条NURBS云型线产生的。
UV两个方向的云型线上的控制点数量将会决定补缀面上的控制点数量,而各个控制点之间的连线则会产生一个网状的外壳。
简单地说,NURBS就是专门做出曲面模型的一种造型方式。
NURBS造型由曲线与曲面来定义,因此我们可以用它做出各种复杂的曲面造型并且表现特殊效果,例如人体、动物这类有机物体的外形。但同时,也因为它是由流畅曲线所构成,所以在NURBS表面生成一个有棱角的造型是比较麻烦,需要比较多的步骤和技巧的。
2、基础曲面造型
(1)保龄球瓶模型制作
制作之前我们需要先将Main Menubar切换成Surface功能模组:
这个是建构NURBS模型时所需要的主选单工作环境。首先我们需要创造一个NURBS的几何原型来作为模型的基础造型。
打开Create选单,将NURBS Primitives子选单里的Interactive Creation选项关闭。
NURBS几何原型可以使用不同的方式创造,第一个就是刚刚提到的Create选单下的NURBS Primitives子选单。在这个子选单中有所有的NURBS几何原型,只要直接点击原型名称即可在世界坐标的原点创建模型。
另一个方式是直接在Shelf中点选Surfaces页签:
也能在这里找到NURBS几何原型图示,点击不同的图示即可创造不同的模型。
创建保龄球瓶,我们需要使用NURBS Sphere。
创建NURBS Sphere以后,我们可以先利用这个模型来观察一下NURBS模型的构成元素。
如同前面所说,NURBS模型是由云型线构成的补缀面所定义,而补缀面的形状则受到控制点的影响。控制点连线所构成的框架则称为壳线或者控制线框。这些就是一个NURBS模型的构成元素。
在Maya中可以显示出一个模型的不同构成元素,预设的显示方式是Object Mode(物件模式)。在这个模式中,会将选取中的NURBS模型的构成曲线以绿色线条的方式呈现出来,并且将整个模型视为一个物件:
当我们要将整个模型进行变换时就会使用这种模式。
将鼠标移动到视图中的模型上,选择模型并按住鼠标右键就可以展开这个模型的各种元素模式,通过这个途径我们可以改变这个模型的显示方式:
从最上方数,按逆时针方向,显示方式依次为:Isoparm曲面线,Control Vertex控制点,Surface Patch补缀面,Surface Point曲面点,Surface UV曲面经纬线,Hull控制线框,Object Mode物件模式。
要制作保龄球瓶,我们需要将模型切换成控制点模式,按住鼠标右键不放并移动至Control Vertex选项,可以看到构成模型的曲线变成了蓝色,并且在每条曲线的交叉点外出现一些粉色的点状物,这些点状物就是控制点,之前大概有讲过,简称为CV。
这些CV的位置将会对NURBS模型的外观造成直接的影响,是在NURBS建模中最常使用的元素。
每个控制点都可以独立选取并且调整位置,被选中的CV会以亮黄色来表示。在进行编辑时,可以一次选取多个CV来操作,多选CV可以通过按住Shift或者直接用鼠标框选来实现。
现在我们需要对这个NURBS Sphere进行外观调整。
将圆球下半部分的CV全部选取起来,为了方便选取,可以将视图在前视图侧视图等不同的视图之间切换以便选取完全。
选取后,需要沿着Y轴垂直移动这些CV的位置,将球体的下半部分拉伸车长椭圆形。
为了避免球体产生不对称的外形,我们在调整CV的位置时,一定要确认整圈的CV都有被选取。
这一步完成以后,我们还需要对这个瓶子的腰身进行塑形。但是现有的CV数量并不足以让我们进行更细致的造型调整,因此需要为球体增加更多的CV,要增加CV就需要有更多的Isoparm。
Isoparm通称为曲面线或者等参线,这是在NURBS模型中沿着Patch的U与V方向延伸的曲线,是NURBS模型的构成元素之一。借由增加Isoparm就可以提供更多的CV,也就意味着可以对模型进行更加细致的造型设计。但是Isoparm本身是无法进行位移调整的,需要使用CV来控制。
在模型上按住鼠标右键,移到的位置后再放开,就可以将显示切换至Isoparm模式:
此时模型颜色会变成浅蓝色,对着某一条浅蓝色的线按住鼠标左键,这条线就会变成红色,放开则会变成黄色,代表该线已经被选中。
当我们要新增Isoparm时,需要按住模型上的一条线,然后拖移鼠标,就可以拉出一圈红色的虚线,移动到适当位置后放开左键,虚线变成黄色:
然后打开Edit NURBS选单,点击Insert Isoparm就可以插入新的Isoparm。这里我们需要新增三条Isoparm。增加完毕以后将显示模式切换为CV模式。可以看到新增的Isoparm上也会新增CV供调整。
现在我们需要使用新增的CV通过变换工具将这个球体一步步修饰成保龄球瓶的样子。
为了操作方便我们将这个视图调整为前视图:
上方新增的第一圈CV与原来球体中央赤道位置上的CV缩小,调整出瓶颈:
接下来第二圈CV放大,调整成瓶身最粗的位置,然后选择第三圈CV,拉到最接近瓶底的位置,要注意的是对这个瓶子调整的时候要一次性选取整圈的CV,以免调整完毕的模型不对称:
为了可以选取到所有的CV,我们可以将模型调整为Hull模式,此时点选其中一段Hull就可以直接选取一整圈的CV。
另一方面,原本球体的南极点与北极点并不是一个单独的CV,而是多个CV组合而成的。
在NBURBS模型中,每四条Isoparm围起来的封闭区域称为一个Pach,与CV、Isoparm一样,是NURBS模型的构成元素之一。
在南北极的地方有几个面交汇,就代表这里由几个CV所构成,所以在调整南北极位置时,要用圈选的方式选择,不要用单击,否则会因为只移动了一个CV而使模型表面产生破洞。
瓶身CV大致调整到位以后,需要将保龄球底部压平,使球瓶可以拥有一个看起来可以确实贴合地面的平坦底部。
先选取瓶身底部所有的CV,利用缩放工具,将Y轴方块往轴心点位置拉近,但不要超过轴心点。拖拉距离越大,次数越多,瓶底就越接近平面。
不断地使用变换工具:移动、缩放,来使这个模型的形状接近于球瓶的形状。
在打算形成底部边缘的地方,把内外两圈的CV尽可能地拉近,就可以塑造出锐利的边角。
经过这样修改CV,增加Isoparm的过程,就可以将一个NURBS Sphere转变为保龄球瓶的造型了。
接下来我们可以使用上次使用过的复制功能,制造出十个一样的保龄球瓶,并将它们排列成一般比赛的排列方式。
选择Edit选单,选择Duplicate Special设定钮,展开设定视窗。在这个视窗中我们可以根据不同的模型尺寸来制定不同的位移偏移量,复制出九个一样的瓶子,并且开启吸附至格线的功能将这些球瓶重新组合摆放即可:
PS.在制作球瓶的时候我们可以顺便复习并且熟练掌握变换的几个快捷键:选取Q,移动W,旋转E,缩放R。
(2)其他形状的制作
先来制作一个方形的糕点。
打开Maya,并确认Interactive Creation功能是关闭的。
首先制作一个有圆角的方形糕点,用来练习并且巩固上次制作保龄球瓶曲面压平方法。
首先创建一个NURBS Sphere来作为模型的基本造型,接下来将元素模式切换成CV模式:
接下来需要做的就是将球体压出六个平面来形成正方体(为什么不直接用正方形做呢?因为Polygon Cube或者NURBS Cube都不能做出圆角)。
使用空格键将视图切换为前视图,然后选取三条纬线在Y轴右半部的所有CV,选取CV时为了避免遗漏,我们需要使用框选的方式进行选取。
接下来像刚才制作保龄球瓶底部一样,使用缩放命令R将X轴方块往轴心位置拉但不要超过轴心。
重复这个步骤几次,使选取的CV沿着X轴尽量形成一个平面。同样的方法压平左侧的CV。
然后按住空格继续切换视角至侧视图,用同样的方法压平其他的四个面。
这样就可以使球体成为一个具有圆角的立方体。
制作完毕后将模型沿着Y轴的方向缩小压扁,就可以完成一个方形圆角的糕点模型。
利用这个造型,我们还可以加工出其它的造型。
执行Duplicate Special命令,制作两个复制品。
先来做一个中心凹陷的糕点。
选取其中一个模型,切换至CV模式,同时选取它的南北极点,这个时候可以先切换成上视图,然后用框选的方式进行选取,前面也说过了,千万不能点选南北极点,因为它们是一个CV组,而不是一个点。然后使用缩放命令R在Y轴方向上缩放,使其极点彼此靠近,就可以制作出中心凹陷的造型了:
我们还可以做出豆腐的造型。因为豆腐拥有比较锐利的折角,所以可以用来联系边角的调整。
因为球体自身的Isoparm比较少,而锐角可以通过使两条Isoparm彼此接近来产生。所以制作思路就是增加Isoparm并且调整CV使其靠近。
选取要制作的模型,将其切换至Isoparm模式,利用之前介绍过的增加Isoparm的功能在最上方的纬线内侧插入一圈新的Isoparm:
然后切换至Hull模式,选取新增的那一圈CV,然后利用缩放工具的平面缩放,使其在XZ平面上缩放以达到与外圈CV无限接近的目的。
同样的思路,我们可以制作出垂直的其它四个面。在其余四个垂直面的边界处插入Isoparm,这个时候可以搭配使用Shift键先拉出每一条Isoparm需要插入的位置以后再执行Insert Isoparm命令一次插入多条Isoparm,然后将新增的Isoparm往原有的边线拉近,就可以将其余面的折角锐利化,完成一个豆腐的造型:
在调整折角时,控制新增的Isoparm与边线的距离,就可以改变折角的曲率,
接下来我们用球体做其他的练习。首先制作一个星星:
新建模型,创建一个NURBS Sphere,并将其沿着Y轴方向压扁,然后切换至上视图,切换至CV显示模式,将同一个圆周上的CV隔点选取,再使用缩放工具使这些CV往轴心靠近:
最后切换至拉出所需要的厚度就可以完成一个星星了。同样的思路,我们也可以制作出五角星,六芒星等等。
需要提示以下的是,如果我们制作五角星的话,使用前面的方法增加Isoparm数量却没有办法使它们精确地分布在球体表面,所以我们需要另一种方法来增加Isoparm数量。
创建一个新的NURBS Sphere,在窗口右边的Channel Box的Inpute页签中点击Makenurbsphere3,再将Sections的数值改成10:
这个时候我们可以看到球体被均匀的分成了十等分。
使用与上面相同的方法,就可以制作出五角星。
用NURBS Sphere还可以制作出一个爱心:
或者八面体:
在同样的制作技巧下,还能制作出别的基本形状来,在此不在一一举例。
下次将练习NURBS建模常用的另一个技巧——Revolve,回转的概念与练习。