1、浅谈使用 MAYA制作机器人 摘要:模型是一个三维作品中非常重要的环节,没有一个好的模型,不可能完成一副好的作品。本文中介绍了 MAYA 的建模方式,多数应用的是多边形建模,曲面建模。而这里的例子主要使用的是多边形建模。模型是动画项目中核心的部分,只有开始的模型建得好、建得合理,才能让后续的工作变得顺利和轻松。这里以一个机器人来了解建模方法。另外还通过项目中的机器人模型,介绍了多边形建模的要点。除此之外还讲解了建模的技巧以及多边形建模需要注意的地方,并通过对例子的介绍进一步的去熟悉 MAYA 建模的方法,以及技巧。 关键词: MAYA 建模;建模技巧;建模方法 引言 Maya 是目前世界上最为
2、优秀的三维动画的制作软件之一,是相当高尖而且复杂的三维电脑动画软件,它是 Alias|Wavefront 公司在 1998 年才推出的三维制作软件。被广泛用于电影、电视、广告、电脑游戏和电视游戏等的数位特效创作。曾获奥斯卡科学技术贡献奖等殊荣。 2005 年 10 月 4 日,生产 3D Studio Max 的 Autodesk(欧特克 )软件公司宣布正式收购生产 Maya的 Alias。所以 Maya 现在是 Autodesk 的软件产品。它的应用领域主要包括四个 方面;一、平面图形可视化,它大增进平面设计产品的视觉效果,强大功能开阔平面设计师的应用视野,二、网站资源开发,三、电影特技(蜘
3、蛛侠、黑客帝国、指环王等等),四、游戏设计内容: MAYA 软件在影视动画行业有广泛的运用。 一、 MAYA 建模介绍 1.1 建模之前的考虑 其实在建造一个模型之前,我们心里要仔细思考它的结构,要对这个模型要有一定的了解,如果对自己要建造的模型一概不知的话,那建造出来的模型会不够真实,会缺乏细节。建模有很多种方式, 如基础模型:基础模型是多边形模型,随后它将被 转化成细分表面模型。可以使用 Maya 的Convert Poly to Subdivision Surface 命令来完成。 多变性模型:多边形模型的英文是 polygons,的细分表面模型。不管你使, NURBs、多边形还是细分表
4、面,它们都各有优缺点。但是,如果要制作一个复杂的模型,多边形技术比 NURBs 技术要有优势。 首先,多边形技术既综合建模能力较强,又可以得到象 NURBs 模型一样的平滑表面,而无需象 NURBs模型那样,需要进行复杂的编辑工作,才能维持各个面片之间的连续性。 其次 ,多边形建模技术可让整个模型保持为整个模型表面的同时,仍然拥有非常复杂的细节。这可以大大简化随后的角色装配和贴图绘制工作(当然,如果需要,也可以把模型分成若干个部分)。比如,可以使用一张 UV贴图覆盖整个模型表面。而不象 NURBs 模型那样,要为每个模型面片分配UV 贴图。在细分表面模型上,既可以任意地布置网格线的拓扑结构,也
5、可以专门定制它们,使得整个模型得到最大的优化,而不象 NURBs模型那样比较难于控制。这种优化的直接结果就是,模型比较简洁。在这里,简洁的含义就是这个模型的数据量比较小。经过特别设计的模型网格 拓扑结构还可以使模型表面产生比较平滑的变形结果,而不象 NURBs模型那样需要很密集的模型面片。最后,又可以通过较高的细分层级修改细节。而不象 NURBs模型那样任何对细节的修改,都会影响到整体的形状和网格线拓扑结构。 1.2 尽量是 4 边面 尽管许多软件都能够对具有 3 边或者 5 边多边形面片构成的模型进行渲染,但是尽量使用 4边多边形仍然不失为一种最好的选择,有时甚至是必需的。因为在进行计算时,
6、大多数的软件都使用 Catmul-Clark 算法,但是对于具有 3边或者 5边多边形面片构成的模型,计算结果并不 完美。对于 Maya软件来说,尽管它可以对具有 3条边以上的面片构成的细分表面模型进行计算,但截止到目前为止( 2003 年 11 月), Mental Ray 渲染器还只能对基础网格(细分层级为 1)为 4 边形面片的细分表面模型进行渲染( Mental Ray渲染器已经是 Maya 的内嵌渲染器)。 使用这种带有奇数边的多边形表面所带来的第一个问题就是表面的平滑问题,在生物模型或者一些需要圆滑表面的模型上,三角形面片(三边多边形)会引起褶皱,而 5 边面片会稍好一些,但也不是
7、很完美。明白了上面存在的问题后,就可以对其加以利用 ,使最终结果尽量好一些。现在,我们将基础模型转换成细分表面模型,然后在此细分表面模型的细分层级 1上,分析一下会有什么样的结果。假设建一个手臂模型模型代表人体上臂中的一段,上面一段表示鼓起的二头肌;它下面的平坦区域表示二头肌下面向内凹陷的区域,在此区域分别放置了一个 3角形面片和一个 5边形面片。所以在基础模型上,尽量不要让三角形面片出现。要想去除三角形面片,我这里提供一种方法,我们知道,在一个对称分布的几何体上,不论上面有什么形状的面片,它们的总数总是偶数。假设上面有 2个三角形面片并列放置,可以通过编辑工作让它 们共享同一条边,然后删除共
8、享边而得到 4边形面片。理论上说,只要三角形面片的数目是偶数,我们就可以通过这种将它们放置到一起的办法来处理。但是在实际工作中,情况并不那么简单,如果在一个模型上, 2 个三角形面片相隔的很远,要想将它们最终放置到一起,你可能需要大量的编辑工作,甚至还会改变整个模型的拓扑结构。遇到这种情况时,要想到最终转换成细分表面模型时,使用不同形状的的面片仍然可以产生同样的拓扑结构。 另外一种避免产生 3 角形面片的方法是:尽量不要让它们在开始阶段出现。比如可以使用挤压命令来创建初始模型(我将在以后详细 介绍这种方法)。用一个立方体作为开始,使用挤压( Extrude)命令逐步添加细节,就可避免三角形面片
9、的出现。 只要使用上面的方法,就可保证由基础模型转化而来的细分表面模型可以用于 Mental Ray 渲染器。 最后,我还要提醒大家注意模型上的极点问题。所谓极点,就是模型上三条边汇聚在一起的那些控制点。上面显示的是一个带有极点和 5边形面片的基础模型和由它转化而来的细分表面模型,可以看到,最终的细分表面模型上仍然存在着极点。下面显示的是没有极点的基础模型由它转化而来的细分表面模型,可以看到,最终的细分表面模型上 没有极点,我推荐使用这种拓扑结构,因为变形模型表面时,它可以得到更满意的结果。 制作出的模型既要简洁又要容易装配。这句话的意思就是说,模型上不应该出现一些相互交叠的面片,这为将来绘制
10、关节的权重以及控制变形的范围会带来很大的困难。出现相互交叠的面片会导致这样几个问题: 1、为分配 UV坐标及贴图工作带来困难。 2、为将来添加一些变形控制器时带来困难。 3、会导致一些意想不到的变形效果。 俗话说: “ 条条大路通罗马 ” ,如果这个 “ 罗马 ” 就是模型上的拓扑结构的话,那么 “ 条条大路 ” 就是建模过程中的所使用的各 种方法。最重要的是最终结果,但是结果的产生则要艺术家的才能和使用各种方法的熟练程度。不同的软件都有其各自的优势,这要根据它们的所提供的工具和用户界面而定。 Maya 提供了非常强大的建模工具,甚至还可以使用它提供的变形工具来帮助建模工作。至于每个个人,你可
11、以只使用最有限的工具来完成工作、也可以依 *一些非常强大的工具、还可以平衡使用各种各样的建模工具。在学习 Maya 的建模工具时,我的建议是先熟悉老的工具,在学习新的工具,循序渐进,一点一点地增加你的知识。其实,只使用很少量的一套工具,就可以非常有效地完 成建模工作。 1.3 建模的几种方法 我要介绍的第一种建模方法是逐一地创建多边形面片,从而构建出一个整体模型的方法。尽管这种方法不是最快速的但却是非常有效的。使用这种方法时,先用 Create Polygon Tool 创建一个多边形面片,然后可以使用extrude edges 命令添加多边型面片,使用 Append Polygons 命令等
12、填补空洞等。还可以使用 extrude face 命令、 split polygon 命令等等。再结合使用移动工具、旋转工具和缩放工具、 duplicate 命令、 combine 和 merge vertices 命令以及所有你需要的工具。我就是使用这样的方法进行建模工作的。但是,非常重要的一点就是你必须从一开始就仔细考虑好模型的拓扑结构。事先计划好一些事情会节省你大量的时间。 第二种方 法是挤压法,或者叫方盒建模法。这种方法也不需要使用太多的工具。首先创建一个多边形立方体,使用 extrude face 命令挤压相应的面片,用移动或缩放工具沿 X轴的正、负方向编辑、修改,直到满意为止。这种
13、方法的特点是快速,并且能保证所有的面片都是 4变形面片,所用到的工具也很少。此外还有一个 非常有用的脚本工具 “spinfaces.mel“可以给你很大帮助。这个工具可以让你选择一些具有共享边界的多边形面片,旋转共享边界的方向,帮你修改编辑模型的拓扑结构。当然你也可以只使用Maya 提供的工具,删除共享边界,用 split polygon tool 重画边界来达到同样的目的,只不过稍微麻烦一些。 第三种方法叫做自适应式建模法。如果你对 Maya的工具有比较全面深入的了解,这种方法的限制性最小。你可选择你最适合完成工作的工具来操作。建模的质量和速度则根据你对各种工具掌握的熟练程度和事先对模型拓扑
14、结 构的计划而定。唯一的限制是你对各种工具的熟练程度还有编写、开发 Mel 脚本工具的能力。 还有一种方法是使用 Nurbs曲线作为开始,然后使用放样工具( Lofting)构建初始模型,这是一种非常有效的方法。如果你最终的目的是将它转换成细分表面模型,你就不必过多地考虑 Nurbs模型的连续性问题,只把注意力集中在拓扑结构上。你甚至可以在这种模型上留下一些空洞区域,这在将来转换成多边形模型或者细分表面模型后很容易修补。还可以将原始的Nurbs 曲线保存起来,为以后构建类似的其他模型作参考。但是这种方法的一个问题 是,在模型的某些区域上会有过于密集的网格线,而实际上却并不需要如此,对于 Nur
15、bs 模型来说,这是一个经常要碰到的问题,因为在Nurbs 模型上,在某些区域经常需要较多的等参线才能维持表面的连续性。这样制作出来的模型并不是在拓扑结构上最优化的模型,但优点是可以使模型表面的面片总数较少。 二、机器人的建模 2.1 机器人身体和头建模 先看下最后完成的基本模型,其实对于这机器人,我已经非常熟悉了。这个机器人是用一些平时我们总能看见的家用电器和学习用品等等搭建起来的,看起来很有创意。在网上 收集一些参考素材,就开始我们正式的建模了。 根据照片上面的实物我们可以拆开来制作,我选择从身体开始制作。身体是选择的一个盒子,增加了它的分段数,并在胸前那里做了小装饰和类似电箱,并把中间进
16、行了挤压和缩放做出了整体的大型,这时开始使用倒角或加环形线来卡边,使模型更加美观。(图 2 1)。 图 2-1 身体大型做好之后我利用了 maya中自带的文字做出电表的效果,侧面做出了老式音响的喇叭和手摇柄给以装饰。 接下来要做的是头部,头部用的是一个立方体,同样增加它的分段数,把它作为一 个现代的音响来建模,先是定好嘴的位置,之后利用挤压和缩放工具来把嘴做出来,眼睛单独来看就是个摄像头吗,用的也就是一个圆柱切开挤压缩放然后再不断的调整,还有小装饰是必不可少的,这样看起来会更加真实一些。图( 2-2) 图 2-2 2.2 机器人腿部和脚的建模 接下来要做腿的部分,(图 2-3)这一部分做起来是
17、很简单的,其实就是我们平时常见的手电筒,我们分为三部分来制作,先来创建个圆柱。将他上下面删掉,这里说一下没有的面就删了不然会给以下 UV 贴图带来不必要的麻烦,然后我再来看上面的部分创建 螺旋在螺旋中间加上一个圆柱就可以出来这样的效果了,下面的手电筒照明部分就是加线然后进行一个 0.1的倒角,调整大小,缩放调整出想要的形状。然后创建个球切掉半个球,调整段数为 8,来制作手电筒的后盖。直接放上去会显得生硬,可以用个小圆柱两边挤压一下来连接接手电筒后盖。最后就是手电筒的开关了,这个不难,创建盒子加线来调整想要的形状,中间用盒子圆滑两次在用缩放工具压扁些就可以当做按钮了。 图 2-3 图 2-4 下
18、面接着看脚,就是我们的学习用品吗,订书器这个是都常见的,(图2-4)创建盒子选择线把上面的 4 条线缩放,在中间加循环边线调整,然后把所有的边都倒角调整出订书器底座的形状。上半部分也是用盒子加线挤压调整卡边,知道出来相视的形状为止,连接的穿肖是用圆柱挤压出来的。 2.3 机器人手和胳膊建模 下面接着做手的部分,手我用了盒子,进行挤压,修改外形做出机器手的大体形状,(图 2-5)然后对手进一步调整,因为是机器人吗我做了 4 个手指,我在手上面复制面来做皮革手套,加以调整,手指用盒子把上下面删掉然后圆滑一下就出来指尖的形状,这个看上去好比黑色胶布粘着电线的感觉。手腕就是圆柱调整点删除没用的上 下面
19、加环线进行倒角缩放来调整形状。这些做完还是不好看,在把手上添加一些装饰,创建球删掉一半缩放来制作出小铆钉的形状,铆钉正好铆在小铁片上这样会更加美观些。 图 2-5 下面来制作胳膊,也就是机器人身上的电线制作,先用 NURBS 创建圆柱一个然后调整好圆柱的走向,在创建 CV 曲线,先选择圆柱上的曲线在加选CV 曲线,点击挤出命令,这样骨骼就出来了,调整想要的形状,外边的电线包裹着里面的骨骼,手指上的电线都是相应这样做出来的,只是调整时麻烦了点,注意电线走向要美观,类似手臂的形状。 2.4 拼装出完整的模型 做好这些之后,机器人模型基本上就完成了,剩下的就是把之前所做的部分零件拼装起来,加以调整一
20、个模型就出了,一个漂亮的模型不单只外形做得相似,细节部分也非常的重要,缺少了细节的模型会失去真实感。所以我还为这个模型添加了丰富的细节,这些细节的模型都是用圆柱体和矩形圆滑之后做成的。到这里这个机器人模型就完成了。 三、总结 如果去做一件事,事先没有好好的去计划和考虑随时可能出现的因素,那么想很好的去完成它,一定会很难。无论做什么事,都要先在心里思考一下,分析下整件事的 流程,那样才能遇到问题而不乱。 就像做模型一样,没有一点准备的去做,没有去了解一下那个物体的构造,就凭空的想象去做,最后做出来的作品一定不会让人满意。或许半途中遇到某个问题,会使得整个模型无法继续下去,只有从头再来。这样的话不
21、仅浪费了很多时间,也会让我们没有了开始时候的那种热情。在机器人的模型中,我体会了很多东西。在整个做项目的过程中,我也遇到了一些问题,有些是因为开始的时候没有考虑好,就盲目的去做,结果发现比例有点不协调,后来就在那里一点点的修改,在改的时候,我明白这样的问题,都源自开始的时候没 有好好的去琢磨,太过于草率。 “ 成功是留给有准备的人 ” 这句话一点也没错,一个没有付出努力的人,是永远也无法获得成功的。 【参考文献】 ( 1) Autodesk Maya 2010 标准培训教材 I 人民邮电出版社 ( 2) Autodesk Maya 2010 标准培训教材 II 人民邮电出版社 ( 3) Autodesk Maya 2010 标准培训教材 III 人民邮电出版社