导航:首页 > 编程语言 > maya编程基础入门

maya编程基础入门

发布时间:2023-08-23 16:12:46

‘壹’ Maya入门教程(四)

上次讲了Maya中的Hotbox的用法以及坐标系统,认识了视图的种类以及视角的操纵方式。这次介绍的是3D动画基础物件的模型以及模型的变换概念。

我们在电脑动画中所看到的所有景物都是由Model(模型)所构成,3D模型是以定义的方式构建而成的,如果这个模型定义得比较精细和准确,我们就可以在软件中通过各个角度来检视它。

模型分类

电脑动画中所使用的模型大致上可以分为三类,分别是实体模型,表面模型和粒子系统模型。

实体模型Solid Modeling:要求比较高,因为除了定义了外形以外,它还需要对物体的物理特性做准确的描述和定义,比如:体积、密度、质量、惯性等实体物质所拥有的特性资料。比如下图中的实心球体,剖开以后可以得到两个实心半球体。

这种模型通常会被用在工程上,提供给工程师很多关于物体物理特性的信息。

表面模型Surface Modeling:这是动画中常常使用的模型类型。它是由表面来定义外部形状的模型,而对它的物理特性要求并没有太高。类似于兵乓球这种厚度比较薄的物体。

如下图中的球体,如果构建的是表面球体模型,那么切开后得到的是两个碗状的半球体

但是和乒乓球不同的是,表面模型构建的物体的那层表面的厚度是零。由于并不包含像实体模型那样的大量物理特性,所以运算方式相对简单,这也是它在电脑动画中使用比较广泛的原因。

粒子系统模型Particle System Modeling:区别于上面的两种模型,粒子系统模型没有表面,没有质量,甚至连外形也是不固定的。它是一种用于处理短暂现象的制图方式。

比如火焰、烟雾、云彩这种没有固定外形的物件就需要使用粒子系统模型来构建。

动画制作程序

由于模型是动画产生的媒介,所以在一般的认知中,先构建好物体模型,再来赋予这个模型一个合理的动作似乎是制作动画的正常程序。但实际上,因为模型的建构方式会影响动作的呈现,而动画制作的需求也会影响到模型建构的方式,所以在对模型进行构建的时候要考虑动作的需求,因此实际工作中,动作制作与模型构建是相辅相成互相调整制作完成的。

架构技术的基本概念

在制作3D模型时,可以数据化的实体资料是容易处理并表现出来的,但是却难以呈现主观的概念。比如,想让电脑制作出一个“迷人”的“美女”形象,它应该是根本就没有办法处理的,但是如果说,我想制作一个“半径XX的圆柱形”就可以很容易的被构建出来,所以在Maya中制作3D动画模型是需要采用可数字化的概念也就是基本的几何形状Geometry来制作的。

和学习2D图形的绘制之初需要学习几何体的绘制一样,3D软件中所购建出的一切物体都是用最基本的几何体构建而成的,这些基本的几何体被称为“几何原型Geometric Primitives”。

例如:四个细长的圆柱体和一个薄薄的长方体就可以组成一个简单的桌子。

而铅笔也可以看成是用圆锥体和圆柱体组合而成的。

通常构建一个物体都是按照严格的程序来进行的,首先选定需要使用的几何原型,然后定义该几何原型所处的坐标位置,长宽高等数据,这些数据叫做参数Parameters。

Maya中建构几何体的方式

Maya中构建几何体主要有两种方式:NURBS与Polygon。

NURBS意思是非均匀性分布云形曲线。这种建模方式利用数学函数来产生曲线或者曲面,然后以控制点来构建处理这些平滑曲线或曲面,适合运用于需要流线造型的模型。

Polygon是多边形建模,利用很多多边形平面以不同的角度组合来构成模型。

以上两种方式各有各适合的领域,在大多数情况下也可以相互转换。

NURBS包含了球体Sphere、立方体Cube、圆柱体Cylinder、圆锥体Cone、平面Plane、环面Torus、圆Circle、正方形Squard几种几何原型。

而Polygon的几何原型则包含了球体Sphere、立方体Cube、圆柱体Cylinder、圆锥体Cone、平面Plane、环面Torus、三棱柱Prism、四棱锥Pyramid、圆管Pipe、螺旋体Helix、足球体Soccer Ball以及正多面体Platonic Solids。

要使用Maya中提供的几何原型的话可以直接使用Shelf里的建模工具。

分别使用NURBS或者Polygon页签来选择模型构建的方式,点选所需要的几何图形,比如球体,接下来将鼠标移动到视图区域中,在想要放置模型的位置按住鼠标左键并拖拽鼠标,就能够建构出一个球体:

但是Shelf中并没有包含所有的几何原型,因此,可以通过主选单里的Create选项,展开Nurbs Primitives或者Polygon Primitives子选单选择需要的几何原型。

从主选单选择几何原型的好处是其下拉子选单中的每一项都包含有设置按钮,可以直接设置好所需要的几何原型的各项参数以后再调用使用。

以上构建方式被称为互动式建构Interactive Creation。这种构建方式快速方便而直接,可以很快速地完成集合物体的构建。

但是在实际操作中,制作动画的话这样子肯定是不行的。

动画的制作需要对模型有更精确的控制,因此会取消互动式建构功能。

取消这项功能的方法是:

在Create选单中点开Nurbs Primitives或者Polygon Primitives,将这两个子选单中的Interactive Creation选项取消勾选,如下图所示。

取消互动式构建以后,Maya中构建的所有几何原型都将依设定的参数控制。之后的教程中会详细讲解NURBS与Polygon两种方式中的模型制作方式。

变换

在实际操作中,如果我们已经构建好了一个几何原型,但却不能更改它们的外形数据,或者更改它们的位置的话,那以后的工作会非常地不方便。所以在Maya软件中我们也可以随意地变换自己构建好的几何原型的大小、位置以及角度。

在Maya中我们队几何原型进行变换时,都要依据该软件的坐标系统来判定。比如,做移动的时候就需要使用坐标系统来判定位移。如高中几何中所讲,任何一个三维空间中的物体进行移动的时候,它的位移都需要使用XYZ轴上的三个位移数据共同限制。

同样的,进行旋转或者改变大小的时候,也需要给出相似的指令。

需要注意的是,在旋转的时候,Maya中默认正方向为逆时针旋转。就是说,如果一个物体需要绕着某一个轴旋转某个角度的时候,那么我们需要将这个轴线的正方向对准自己,这个物体则会绕着这个轴逆时针旋转,如果这个轴正方向背向自己的话,物体则会顺时针旋转。

变换这里的概念很多,比如绝对坐标,相对坐标,世界坐标系,绝对变换,相对变换,固定比例变换,非固定比例变换之类的,不过如果直接这样解释这些概念的话并不会有什么直接的印象,所幸变换这个编辑几何原型的方式以后会经常用到,所以在使用的时候具体问题再具体说明吧。

不过快捷键还是要记住的,之前就有说过,快捷键使用熟练的话可以节省很多工作时间,提高工作效率。需要注意的是,所有的软件,当你使用快捷键工作的时候,请将输入法切换至英文输入法,并关闭大写锁定。

变换中所用到的几个快捷键整理如下:

移动:W。

在输入W命令后,几何体中间会出现一个坐标,称为轴控制器,点选某个方向,该方向的轴控制器就会以黄色显示,此时拉动鼠标就可以对几何原型进行相应的移动了。

如果想要对该物体进行整体移动,则需要点击坐标中间的区域,称为中心控制器,然后拖动鼠标进行移动。

如图:

X轴的高亮显示,此时拖动鼠标可以对物体进行X轴方向的移动。

中心控制器,点选此区域并拖动鼠标可以对该物体进行整体移动。

在Maya2015以及新版本中,该坐标系还会有一个面控制器,可以对该物体进行单一平面上的移动。

如果你的软件版本没有面控制器,可以按Ctrl+某方向的轴控制器+鼠标左键来控制物体在一个平面上进行移动。

旋转:E

旋转控制器如图所示,选定想要变换的几何体,输入E,就会在该物体中心出现一个旋转控制器,和移动的轴控制器操作方法一样,当需要将该物体进行旋转的时候需要选定某个方向的控制器,使其以黄色高亮显示,接着按住鼠标左键,就可以进行旋转了。

同样的它也分为轴控制器、外环控制器以及中心控制器三种。分别可以控制物体单轴以及整体的旋转。

缩放R

缩放控制器的操作方式也是一样的。

以上通过各种控制器进行变换的方式比较直观,但是并不能精确控制变幻的变量,如果想要精确的进行控制,则需要使用Status Line右边的Input Box。

Input Box默认是折叠起来的,点选Input Box左端的折叠图示就可以控制其隐藏或是显示了。

或者我们也可以使用Channal Box来控制物体变换。

(不知道Channal Box在哪的请直接看教程二)

Channal Box在没有选定物体的时候是空白的(下图所示):

一旦有物体选定就会出现下图一样的输入框,分别可以可以进行移动、旋转、缩放的动作。

下次我将讲解动画原理以及关键影格、影格的编辑。

‘贰’ Maya入门教程(十三)

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,回转的概念与练习。

阅读全文

与maya编程基础入门相关的资料

热点内容
单片机100位百位符号 浏览:684
用友通加密狗坏了 浏览:548
如何在服务器上配置外网网址 浏览:840
阿里云服务器的硬件在哪里 浏览:52
python自动注册谷歌 浏览:329
phpini验证码 浏览:824
解压后的文件怎么驱动 浏览:326
老板要程序员加班 浏览:414
泰尔pdf 浏览:311
视频转码压缩哪款软件好 浏览:647
盯盯拍记录仪下载什么app 浏览:436
新东方新概念英语pdf 浏览:696
python中如何创建菜单栏 浏览:507
中石化app那个叫什么名 浏览:706
借贷宝合集解压密码 浏览:640
python爬取网页代码 浏览:480
efs加密对微信无效 浏览:496
刘秀pdf 浏览:998
脚上长黑刺是什么app 浏览:703
算法工程师上海 浏览:390