本节主要来制作手臂的拉伸效果,从而丰富手臂的动画。
Step01 打开上一节完成的场景文件“IK/FK单键切换设置",先选择手臂的控制器R_ IK_ shou_ crv,在通道盒中将它的Translate X/Y/Z (x/y/z轴平移)及Rotate X/Y ( x/y轴旋转)值归零,将RotateZ (z轴旋转)值调整为-90,如下图(左)所示。
Step02 在图层编辑器中将layer3隐藏,即将场景中的R_ IKFK_ crv隐藏。
Step03 测量IK长度。执行Create> Measure Tools>Distance Tool (创建>测量工具>距离工具)命令,然后在按住V键的同时在角色手臂的skin_R _bi14和IK_ R_ shou16关节上分别单击鼠标,最后按Enter键结束操作,这样就测量出了IK的长度是7.919489,也就是手臂的长度,如下图(右)所示。同时也在手臂的两端
创建出了两个定位器,分别是locator1和locator2。
Step04 通过点约束的方法将创建的两个定位器固定在IK上。先选择手臂上的骨骼IK_ R_bi18, 按住Shift键加选locator1,如下图(左)所示,单击Constrain>Point (约束>点)打开选项窗口,勾选Maintain offset (保持偏移)选项,然后单击Apply (应用)按钮。同理,选择ikHandle2,按住Shift键加选locator2,在保持Maintain offset (保持偏移)勾选的状态下执行Constrain>Point>口(约束>点>口)命令,这样两个定位器就固定在角色手臂的IK上了。现在调节手臂上的R_ K_ shou_ crv控制器时,其IK的长度会随之变化,如下图(中)所示。
Step05 打开Outliner (大纲),选择距离工具distanceDimension1,然后在大纲菜单中执行Display>Shapes (显示>形状)命令,将形态节点显示出来,如下图(右)所示。
Step06 在大纲中选择distanceDimension1下的distanceDimensionShape1,然后在Maya的主菜单中执行Window>Rendering Editors>Hyper shade (窗口>渲染编辑器>材质编辑器)命令,打开材质编辑器窗口,在该窗口的工具栏中单击8 ( 输入和输出连接)按钮,展开属性节点,如下图(左)所示。
Step07 创建一个乘除节点multiplyDivide5,先在distanceDimensionShape1节点的右下角单击鼠标右键,从弹出的菜单中选择distance (距离) ;再在muliplyDivide5节点上单击鼠标右键,从弹出的菜单中选择input1>input1X (输入1>输入1X)选项,这样distanceDimensionShape1节点与乘除节点multiplyDivide5连接起来了,如下图(右)所示。
Step08 双击乘除节点multiplyDivide5,打开属性編辑器,在multiplyDivide5标签下的Multiply-Divide Attributes (乘除属性)卷展栏中可以看到,Input 1 (输入1)的值为7.919,我们在Operation(操作)中选择Divide (除以)选项,然后在Input2 (输入2)的第一个输入框中输入7.919,如下图(左)所示。这样做除法运算之后就得到了一个拉伸倍数,将该拉伸倍数赋予手臂的每一节骨骼 上,骨骼就可以做拉伸效果了。
Step09 在Outliner (大纲)中选择IK_ R_ bi_ grp下的IK_ R_ bi18和IK_ R_ bi15骨骼,如下图(中)所示,然后在材质编辑器中执行Graph>Add Selected to Graph (图表>添加所选对象到图表)命令,将IK_ R bi18和IK_ R_ bi15骨骼添加进来,如下图(右)所示。
Step10 在材质编辑器中创建一个条件节点condition1,排列IK_ R_ bi18节点、IK_R_ bi15节点、multiplyDivide5节点及condition1节点之间的位置关系,如下图(左)所示。
TIPS:条件节点起到判断作用,双击condition1打开属性编辑器,如下图(右)所示,在Condition Attributes (条件属性)卷展栏下,First Term为条件1,Second Term为条件2,Color If True与Color If False是判断的结果。
Step11 回到材质编辑器窗口,在乘除节点multiplyDivide5的右下角单击鼠标右键,从弹出的菜单中选择output>outputX (输出输出X )选项;然后在condition1节点上单击鼠标右键,从弹出的菜单中选择First Term (条件1 )选项,连接的效果如下图(左)所示。
Step12 再次双击condition1节点,打开其属性编辑器,在Condition Attributes (条件属性)卷展栏下,将Second Term (条件2)的值设置为1,在Operation (操作)中选择Greater Than (大于)选项,如下图(右)所示,意思是如果条件1的值大于条件2的值,则拉伸;如果条件1的值小于条件2的值,则缩短;如果两者的值相等,则既不会拉伸,也不会缩短。
Step13 再次回到材质编辑器中,在乘除节点multiplyDivide5的右下角单击鼠标右键,从弹出的菜单中选择output>outputX (输出>输出X )选项;然后在condition1节点上单击鼠标右键,从弹出的菜单中选择colorfTrue>colorlfTrueR选项,连接的效果如下图(左)所示。
Sten14 在condition1节 点的右下角单击鼠标右键,从弹出的菜单中选择outColor>outColorR选项;然后在IK_ R_ bi18节点上单击鼠标右键,从弹出的菜单中选择scale> scaleX选项,用同样的方法将condition1节点与IK_R_bi15节点也连接起来,连接之后的效果如下图(中)所示。
Step15 测试一下,在场景视图中选择手部的控制器R_IK_ shou_ crv进行调节,如下图(右)所示。
由此可见,现在手臂通过弯曲的方式来代替自身缩短,这才是真正想要的效果。
上一篇 人物角色绑定之创建手臂拉伸开关
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答早在1988年,Newtech科技公司就推出了Lightwave 3D。但好景不长,公司内部出现了一些纷争,结果一群核心的开发......
10个方面做比较,Cinema 4D和Blender哪个更好?
3D建模与动画软件在视频游戏、电影、建筑设计和广告等创意项目中扮演着重要角色。今天,我们来聊聊两款强大的3D软件:Cinema......
《黑神话:悟空》作为一款现象级中国游戏,其成功离不开多种先进计算机技术的支持。本文将深入解析该游戏背后的关键技术,包括虚幻引擎......
在游戏开发领域,Unity和Unreal Engine(虚幻引擎)都是备受推崇的游戏引擎,但它们各自拥有不同的特点和优势。
春节之后大量抢人!这6个行业是转行首选,进去1年顶3年!火星毕业就能进
春节后求职,哪些行业进去能立马涨薪?打破信息差很关键!
还没毕业,就去帮电视台拍活动,作品被主任说“非常好”!猜猜是哪个专业呀?