Maya脚本:轮子自动跟随位移精确旋转

mel-2

本次案例:轮子跟随位移精确旋转。

  • 表达式原理:让表达式,计算出【前一帧和当前帧】的位移差。计算出位移差之后,我们用【位移差/周长】得到一个百分比,然后我们再用百分比*360度,就得出了每帧旋转的角度。最后我采用一个累加的方式,将累加的值传递到旋转属性值上。

float $last = `getAttr -time (frame-1) 位移属性`;
float $now= `getAttr -time (frame-0) 位移属性`;
float $chazhi = $now – $last;
float $baifenbi = $chazhi/(3.14*直径);
float $jiaodu = $baifenbi*360;
float $default_jiaodu=旋转属性 + $jiaodu;
setAttr “旋转属性” $default_jiaodu;

Maya脚本:不动大圈小圈如何整体旋转角色POSE(自动创建约束)

%e6%9c%aa%e6%a0%87%e9%a2%98-6

本次案例:不动大小圈,整体旋转角色POSE的方法。

  • 脚本实现原理:自动创建约束,K帧,删除约束。

circle -c 0 0 0 -nr 0 1 0 -sw 360 -r 1 -d 3 -ut 0 -tol 0.01 -s 8 -ch 1;objectMoveCommand;
scale -r 15 15 15 ;

select -r nurbsCircle1;
select -tgl 左脚控制器名;
doCreateParentConstraintArgList 1 { “1”,”0″,”0″,”0″,”0″,”0″,”0″,”0″,”1″,””,”1″ };
parentConstraint -mo -weight 1;
select -r nurbsCircle1;
select -tgl 右脚控制器名;
doCreateParentConstraintArgList 1 { “1”,”0″,”0″,”0″,”0″,”0″,”0″,”0″,”1″,””,”1″ };
parentConstraint -mo -weight 1;
select -r nurbsCircle1;
select -tgl 中心控制器名;
doCreateParentConstraintArgList 1 { “1”,”0″,”0″,”0″,”0″,”0″,”0″,”0″,”1″,””,”1″ };
parentConstraint -mo -weight 1;
select -r nurbsCircle1;