数码资源网·下载

展开

Maya教程-角色装配

作者:网友整理
Autodesk mayav1.3

Autodesk mayav1.3 81.30M / 简体中文

点击下载
Maya影视安卓版(影音资源播放平台) v1.3 手机版

Maya影视安卓版(影音资源播放平台) v1.3 手机版 23.92M / 简体中文

点击下载
玛雅maya最新网站地址1.1.71.4.7

玛雅maya最新网站地址1.1.71.4.7 33.85M / 简体中文

点击下载

先来两张装配好的,我添加了MEL窗口控制,方便做动画.



 

绘制骨架和创建IK的所有工具都位于Animation模块的Skeleton菜单中.
如图,选择Skeleton>Joint Tool后的选项盒,保证Create IK Handle选项前的复选框为选择状态,使Current Solver项为
ikRPsolver.在侧视图中绘制IK腿的骨架,并在透视图中调整位置





选择Window>Hypergraph,我们可以看到刚创建的骨架以及IK手柄.将他们重新命名,使腿关节分别为ltlegroot,ltlegknee,
ltleglow,ltlegend.命名手柄为ltlegik.命名是非常有必要的,它在装配和权重的时候都很重要. 



 

[page]

 

选择左腿的跟关节,也就是ltlegroot关节,并选择Skeleton>Mirror Joint后的选项盒,把Mirror Across设为YZ平面,
Mirror Function设为Behavior.在Search For 中写入 lt,而Replace With 中写入rt. 



单击Apply,我们可以看到骨架被复制到了右腿,而且自动命名拉~ 



选择Skeleton>Joint Tool选项盒,关闭Create IK Handle,我们先需要绘制FK骨架,在视图中绘制左臀部骨架和左脚骨架.
分别命名为lthiproot,lthipside,lthipend和ltfootroot, ltfootball, ltfootend.如图,
复制并镜象出右臀部骨架和右脚骨架.检查命名. 



 

[page]

在前视图中按住Shift绘制出三个直的向上的关节,在侧视图中调整,使其处于正确的位置. 


 
还是命名,backroot,back2,back3,backend. 



在锁骨的位置绘制IK骨架,如图,调整位置. 



命名, ltclavicleroot,ltclavicleend和ltclavicleik.镜象出右锁骨. 

[page]

 

用同样的方法,在左肩胛骨位置绘制IK骨架,命名为ltseapularoot,ltseapulaend.镜象.如图. 



绘制FK骨架,颈部neckroot和neckend.头部headroot和headend.下颚关节为jawroot,jawlow,jawend. 
 


 

在正视图中绘制左臂骨架.如图.注意是FK骨架. 



调整位置



命名ltarmroot,ltarmlow,ltarmturn,ltarmend. 



现在我们为左臂添加IK.不直接绘制IK的原因是就胳膊而言,IK不能放置到整个骨架上.
选择Skeleton>IK Handle Tool或者单击工具架上的卫星图标. 

 

[page]

操作步骤是:选择IK Handle工具,单击左臂跟关节,也就是ltarmroot关节,在单击ltarmturn关节. 



最终形成的IK手柄命名为ltarmik. 



为左手绘制一段FK关节lthandroot,lthandend.使手的跟关节在胳膊末端,完整的手指将在以后制作.
镜象出右手臂和右手,并查看命名. 





选择所有骨架.将它们添加到skeletons层中. 



[page]

基本的骨架我们就完成了,现在我们将创建控制图标.使用控制图标能更加有效的设置角色.

创建一个多边形立方体,缩放到合适大小.
在透视图中选择EP曲线工具,把Curve Degree设置为1 Linear.按住V键单击立方体的所有角,要使用单线条创建控制图标,因此需要曲线重叠,以覆盖立方体的所有边,继续单击,直到你的曲线盒子完成.完成后删除多边形立方体.现在就只剩下曲线制作的立方体盒子了.
如果以后还要创建多个控制图标,那么我们要把刚才的创建盒子的操作创建一个工具架按钮.

打开Scriot Editor.如图. 



在灰色的history区域,找到创建盒子使用过的MEL,代码就是图中的高亮部分.使用鼠标中键可以把它拖拽到工具架上,并命名.以后就可以直接使用了. 

创建4个这样的盒子,把它们放在图上的位置上. 



保证骨架层为可选状态,选择其中的一个盒子,按insert键进入物体的轴中心调整状态,按V键将盒子的轴中心吸附到相应关节的跟关节上面,比如左脚的跟关节 



调整好所有的控制框后,选择Modify>Freeze Transformations重新设置它们的转换通道. 



[page]

如图调整后的状态. 



还是命名,它们分别是ltarm,rtarm,ltleg,rtleg. 



为头和臀部也添加控制框,转换通道并命名为head和hips. 



另一种类型的控制图标是文本曲线,这种图标很容易识别.
这样创建它:选择Create>Text选项盒,把Type 设置为Curves.只能使用单线条就能组成的字母.比如U Z V T L S .
创建一个字母U. 



完成后发现它有一对父级组节点 



选择曲线节点,在曲线节点上按住鼠标中键不放,然后拖拽到一个空的位置,可以取消它和它的父级节点的关系,删除那对父级组节点. 
 

[page]

将曲线U放置到一个合适的位置,调整它的中心到身体躯干的中部.重设转换通道.它将控制整个身体.命名为upperbody.
用同样的方法创建一个字母S的控制框,使它的中心在双肩之间,它将控制双肩的运动.命名为shoulders. 



用曲线在平面上绘制一个箭头图标,也可以是其他的,只要是一根曲线完成的图案.使它位于膝盖前的几个栅格,复制几个这样的图标,放置到如图上的位置.重设转换通道. 



 

[page]

为它们命名,分别是膝盖,ltknee,rtknee.肘部ltelbow,rtelbow. 



为了使肘和膝盖的控制能正常使用,必须使用极点矢量约束,使箭头图标控制肘和膝盖的指向.
如图,选择左侧肘部的箭头,然后按住Shift选择左胳膊的IK手柄,并在顶部的菜单栏中选择 Constrain>Pole Vector



可以在透视图中看到一条线连接在IK和箭头之间. 



用同样的方法处理其他几地方的极点矢量约束.
这样我们就创建了控制角色运动的所有元素,但是它还不能使用.我们必须把它们装入到角色的装配中去. 



现在规范命名的第一个好处就体现出来了,我们可以很清楚的,很有条理的进行装配.
首先我们创建身体下部的层级关系.
操作如下:
把腿和臀部跟关节子化到hips控制框.
把腿的IK手柄,脚的跟关节,膝盖图标子化到相应的腿控制框.
也就是把ltlegik,ltfootroot,ltknee都子化到ltleg.
同样的方式子化右腿.
如图.
装配正确应该可以向下移动hips的控制框,腿将弯曲,而脚不动.
移动腿控制框,脚运动,臀部保持不动. 



选择create>Locator.创建一个定位器,命名为feet.使它位于两腿控制框之间,并使它成为两个腿控制框的父物体.
当角色跳跃时可以使用到它.
如图 

[page]

使upperbody图标成为hips图标和脊椎跟关节的父物体. 



创建另一个定位器,命名为rig.选择upperbody图标再选择rig定位器,选择Constrain>Point命令.
使定位器到正确的位置.然后在Hypergraph视图中删除连接到rig定位器的约束节点.冻结它,
并使它成为feet定位器和upperbody图标的父物体.如图. 





创建身体上部的身体层级.
使neckroot关节成为backend关节的子物体.我们可以在透视图中看到,在这两个关节之间产生了新的骨架,
这是我们不愿看到的,为了不产生新的骨架,应该在脊椎和所有子关节之间创建两组节点,
方法是:选择neckroot关节,并按Ctrl+G组合键两次. 



为这两组节点命名为backpad1,backpad2. 



使下列节点成为backpad2的子物体:
锁骨跟关节,肩胛骨根关节,颈部根关节,head控制框, shoulders图标,胳膊控制框和肘部箭头图标. 

[page]

 

选择neckend关节,按住Shift,选择head控制框,使用Constrain>Point命令. 



使head控制框成为headroot和jawroot的父物体. 



使两个锁骨IK手柄成为shoulders图标的子物体. 



使每个肩胛骨的IK成为同侧锁骨IK的子物体.比如使ltscapulaik成为ltclavicleik的子物体. 



使每个胳膊根关节成为相应的锁骨IK的子物体. 



使每个胳膊的IK成为相应胳膊控制框的子物体. 

[page]

使手的跟关节成为相应胳膊末端关节的子物体 



到此基本的骨架设置完成.再次检查一下视图中的层级关系.
并在透视图中测试骨架的运动. 



光是这样还远远不够的,我们还要继续添加装配.今天先到这里,以后继续. 





继续添加装配.
为角色的左臂创建一个尺骨和桡骨.注意是创建IK骨架.
在角色胳膊肘部一侧的骨架为尺骨,命名为ltulnaroot,ltulnaend.手臂内侧的为桡骨,命名为ltradiusroot,
ltradiusend.IK手柄为ltulnaik,ltradiusik. 



镜象出右臂. 



使左桡骨IK手柄成为ltarmturn关节的子物体. 



尺骨的运动要稍微复杂点,首先我们创建一个新的定位器,使用前面介绍过的点吸附或者约束把它移到尺骨IK上面.命名为ltulnaconstrain.
建议用点吸附比较好~~如果用约束,就必须在位移后删除约束节点,因为我们将在下面的步骤中使用新的约束 

 

[page]

将尺骨的IK约束到ltulnaconstrain定位器.
使ltulnaconstrain定位器成为ltarmturn关节的子物体,并使ltulnaik成为ltarmlow关节的子物体.测试手臂转动是否正常. 





同样的方式处理右手臂. 



绘制左手的FK手指骨架,并命名.这里可以顺便命名,自己好记好认就可以拉~~其实反复提醒命名的原因是可以在以后蒙皮,写表达式,写MEL控制的时候少花点时间来认骨架.镜象到右边. 







选中左手所有的手指骨架的跟关节并成组两次,如图.这两组是为了不形成新的骨架,而且它们将分担手掌的两种旋转. 



[page]

接下来我们要使用驱动关键桢来完善角色的控制.
首先是肩膀的运动.

如图打开驱动关键桢的窗口. 



选中胳膊控制框,如图.按S键在时间尺上记录下一个关键桢.这个关键桢没有实际意义,只是为了让控制框快速的回到默认位置. 



保证胳膊控制框为选择状态下,调入胳膊控制框的Translate Y 通道为驱动器.如图. 



调入同侧锁骨IK受柄为从动物体. 



点KEY设置一个关键桢.如图. 



调整胳膊控制框的位置. 

[page]





同侧锁骨IK位置也相应提高些~这是真实手臂的运动方式,手臂过肩后,肩开始上抬. 



点KEY再设置一个关键桢,现在我们在Y轴上向上移动胳膊控制框,当超过肩部时,肩就会相应的抬高.

我们还要创建肩部单独耸起,下落的控制.


选中shoulders控制框,如图,为它添加一个新的左肩通道, 



设置内容如图. 



我们可以看见新的通道在通道栏的最下面. 

 

[page]

当然也可以这样添加.添加一个右肩的控制,参数一样. 



驱动物和从动物如图. 



通过修改zuojian 通道的数值,对应左锁骨的IK位置,打三个关键桢.
0在默认位置,-3向下移动一点,10时抬高些. 



同样的方法处理右肩.

同样,可以用驱动关键桢处理的还有手臂的旋转,方法是在胳膊控制框上添加手臂旋转通道.范围-10到10,默认是0.
驱动ltarmturn关节的X轴旋转通道.
图中是默认位置,打一个关键桢 



将旋转参数调到-10
rX调成45
再来一桢 



将旋转参数调到10
rX调成100
来一桢.
完成. 



处理右手臂~~
还可以用驱动关键桢处理手掌的两种旋转.手指的张开,合并.每根手指的弯曲,下颚的张开.
我在这里就不一一演示拉.今天就到这里,明天继续,写教程还是很辛苦的. 

现在,我们将要制作一个手跟随运动的开关.
首先断开两个胳膊控制框和身体的父子关系. 



创建一个定位器,命名为hands,使它成为两个胳膊控制框的父物体. 



再创建两个定位器.如图. 

 

[page]

使backfollw成为backpad2的子物体~ 



使torsofollow成为upperbody的子物体~ 



选择backfollw定位器,并按住shift选择hands定位器.
如图创建点约束. 



保证两者为选择状态,再创建方向约束. 



可以看到hands定位器下面多了两个约束节点. 



用同样的方法建立torsofollow定位器和hands定位器之间的两个节点关系~如图:
其中的点约束节点等会儿将作为我们的从动器使用~ 

 

[page]

在upperbody图标上面创建一个新的通道.数值如图所示: 



选择upperbody图标新建的通道为驱动物,hands定位器的点约束节点为从动物.
如图:在默认位置打一个关键桢~ 



将通道值调整为1 



将两个点约束节点的数值调为0.
并再打一个关键桢. 



测试一下,当通道值为1时~移动upperbody图标,可以看到手不跟随身体运动. 



当通道值为0时~移动upperbody图标,可以看到手会跟随身体运动.

(这个手跟随运动的开关本来不打算做的,后来加进来,所以会出点小问题.这个开关最好是在给肩膀设置驱动关键桢以前创建,如果之后创建会导致肩膀的自动运动失效.) 



接下来我们要使用表达式来创建一些简单的身体自动运动.
我们将使用到Expression Editor,如图. 



首先我们要将躯干约束到脚.
为upperbody图标创建两个父级组节点.如图: 

 

[page]

我们先创建一个平均表达式.其基本语法是(A+/2
我们使upperbody图标在水平方向上的移动距离为两腿移动距离的一半,既使身体的重心永远保持在两腿之间。
用图中的表达式可以X轴上upperbody图标保持在两腿之间。 



如果表达式正确,可以看到图中显示的文字出现。 



在透视图中测试一下。在X轴上移动腿控制框,身体将跟随运动。 



再编辑Z轴上的表达式。 



测试。 



在Y轴上我们也要使用一个表达式,使角色举步时,身体重心跟着下降。这才符合真实的运动。
因此我们使用如图的表达式,该表达式通过X轴和Z轴中从一只脚减区另一只脚来确定它们之间的距离。
abs是绝对函数,而除以15中的15是一个常数,可以根据模型的大小调节的。 



测试。看到角色向前移动时,重心有所下降,比较符合真实的人体运动。 



下面介绍另一种高级表达式,条件表达式。
使用的条件可以是任何的判断条件真与假的数学语句。我们要用到if和else两个命名。
如图,该表达式可以使躯干重心在脚抬高时能够自动从一侧移动到另一侧。 

[page]

测试,我们可以看到,当角色的重心可以随脚的抬高而移动。 



同样的方式,我们先为臀部控制框添加一个父级节点。 



用条件表达式控制臀部在腿向前移动时有轻微的转动。 



测试,看到当左腿向前移动时,臀部发生了轻微的旋转。 



我们还可以创建一组呼吸控制。
在胸腔位置绘制FK骨架。命名如图 

 

[page]
将这组关节成组两次,使最上面的组成为back3的子物体. 



在upperbody图标上创建两个通道。breathspeed和breathsize,设置参数如图: 



表达式如图。该表达式使用了cosine函数和time 函数。cosine函数创建波动。time 函数可以在时间尺上播放时自动产生缩放运动。 



调整两个参数,并单击播放按纽观察效果。 



我们要为脚添加新的控制,让它的运动更加真实,也更容易调整~~
如图~以左脚为例~~这是以前装配好的,我们现在要完善它~ 



在脚控制框和脚跟关节之间创建3组节点~~~~ 



命名~~~ 

 
[page]

选择IK Handle工具~~ 



在ltfootroot到ltfootball创建ik. 



在ltfootball和ltfootend创建另一个IK 



调整位置~~ 



命名这IK为ltfootik和lttoelik 



下面调整三组节点的位置~~首先是ltheel~~把它的轴中心移到如图位置~脚后跟位置~ 



lttoe的轴中心在脚趾位置~ 

[page]

 

ltfoot的轴中心吸附到ltfootball关节上~ 



如图~~将ltlegik子化到ltfootroot关节~ 



两个新的ik子化到lttoe节点~ 



如图~~层级关系~ 



下面~~我们在脚控制框上创建一个新的通道~~ 

 

 

加载全部内容

相关文章
相关专题