(1)基本的拉伸设置. 1: 创建骨骼链。重命名shoulder, elbow,和 wrist.见图01 2: 在shoulder 和wrist骨骼之间建IK,用RPsolver解算方式.具体可以说明为什么用这种解算方式. 3: 测出should和wrist 之间的距离.记录下这个长度值,为原始长度.具体操作可以演示.见图03 4: 点约束wrist处的locator给IK手柄,点约束shoulder处的locator给shoulder骨骼. 5:创建二个节点.一个multiplyDivide.一个condition.相应的mel是: createNode multiplyDivide; ctrateNode condition; 6:connectAttr distanceDimensionShape1.distance multiplyDivide1.input1 X; 联接属性,可以用connectionEditor窗品操作,或用上面的MEL 7:connectAttr distanceDimensionShape1.distance condition1.firstTerm;联接multiplyDivide节点到condition的colorIFTrueR. connectAttr multiplyDividel.outputX condition1.colorIFTrueR. 8: connectAttr condition1.outColorR shoulder_Left.scaleX ; connectAttr condition1.outColorR elbow_Left.scaleX ; 这里的联接的是scaleX.是由建骨骼链时指向下一骨骼轴向是X.如果指向下一骨骼的轴向是Y,则是scaleY. 9:OK,操作完成.可以分析做的工作. 见图09 (2) 可控性拉伸设置. 基本功能就这样子做好了.不过这个拿到动画师手中用,还是不方便的,为什么呢. 因为,有的时候我们不要拉伸,可是稍一动IK控制器,他就拉伸了,太难控制了.所以,我们还得加一个功能上去,去控制拉伸的大小. 让它不拉伸,或拉伸一点点. 一般我们把这个属性直接加在IK的控制器上.可命名为,stretchiness 在这里也能让大家深入的了解maya节点的应用. 1:接下来的控制也是建立在上面的基础这上的,只是现在这个要接受来自的用户的数据.我们可以设置stretchiness区间为0-10之间.0的时候不拉伸.10的时候完全拉伸.这样设为1的时候拉伸的是,完全拉伸的1/10.其它内推. 2:怎么做.可以根据这样的一个公式.(i-1)*X/10+1.可以具体讲解为什么.举例说明.见图原理10 3:具体怎么用节点实现.可以操作演示,这里用到几个节点,并不复杂,每个节点做一个远算,比如+1用一个节点,减一用一个节点了, 所以看起来复杂,实则原理简单.见图原理操作11 |
|
来自: 浅c8onyxntue39 > 《教程》