_geo Geometry
_anim animation controls
_joint joints
_skin joints used for skinning
_grp Group nodes
_shad shaders
_tex texture
Bouncy Ball
testing animation controls
Ball Moves Around
Has Squash and Stretch
Squash and stretch can be angled
Can Squash Against Any Object
*simple controls
*animation easily transferable
*controls should be unique and understandble
*controls have correct rotation orders
*controls named correctly
*limited keyability
Ball Rotation
*rotaion order
*self -> easy but hard control
*automatic -> easy
Rotation/Squash and Stretch Independent
makeRoll<object><radius><cube><ty> trick
->makeRoll ball .5 false 1
explain:
Creates an expression that simulates rolling an object on the ground. The rotation of the specified object is set based on the change in position from the last time the expression was evaluated. The start rotation values(for frame 1) are initially cached in dynamic attributes added to the object: startRotX,Y and Z. Look under the extra attributes block in the attribute editor to change these values. Note that one should keyframe the X and Z position of the object to animate, but not key the rotate values because the expression sets these using rotate commands. When the animation is satisfactory one should then bake the result, as scrubbing the time slider or rendering will otherwise have inconsistent results. Note that when the current frame is greater than 1 you can interactively move the object in x and z while seeing the effect of the rolling rotation. If you are using radians for your rotate values, you will need to remove "rad_to_deg" from the created expression.
MEL examples
// Create a 1 unit sphere rolling on the groundplane
sphere;
makeRoll nurbsSphere1 0.0 false 1.0;
// Create a rectangular prism rolling on the groundplane
nurbsCube;
scale -r 1 2 3;
makeRoll nurbsSphere1 0.0 true 1.0;
// Create a card rolling on the groundplane
plane;
scale -r 1 0.7 1;
makeRoll plane1 0.0 true 1.0;
// Create a torus rolling on the groundplane
torus -ax 0 1 0 -hr 0.5;
makeRoll nurbsTorus1 0.0 true 0.5;
怎样用表达式让节点属性产生变化
$scale = 1/sqrt(ball_geo.scaleY)
ball_geo.scaleX = ball_geo.scaleZ = $scale
用deformer中的nolinear来产生变形约束
在edit->attribute中可以新建一个属性,来方便控制希望联动的其他属性
用属性栏中的edit->connection edit 来连接两个节点之间的属性
好的rigger能够想animator之所想,能够让animator尽可能方便的动画,重要的一点是让绑
定尽可能容易的让animator理解
比如简单的做皮球的绑定:绑定使用nolinear中的squash,但animator的重点在于碰撞的方
向dirction, 角度angle,以及中心点pivot。所以设计squash的操控时这三个都要直接体
现出来
注意使用正确的rotation orders
xyz坐标系和zyx坐标系每个轴进行相同的旋转操作最终有可能会产生不一样的旋转位置。
e.g. 如果是选择了xyz rotation orders,我先旋转z轴,在旋转y轴,其y轴不会因为z轴的变化而在其轴方向上产生变化,所以相对来说y轴是z轴的父级。
下面找到了一些针对于rotation orders的解释以及在动画中的使用:
From document maya
The rotation order specifies the order in which an animated object is rotated about its X, Y, and Z axes. Changing an animated object’s rotation order changes its final orientation. You can specify the order of rotation for an object by setting itsRotate Order attribute. For example, if you set an animated object’s Rotate Order to YZX, the object will first rotate in Y, then Z, and finally X. You can use the Rotate Order attribute to match the rotation order of imported, animated objects to the co-ordinate systems (for example, XZY opposed to Maya’s default XYZ) of the 3D software packages from which they came. This is important if you want the animated rotations of your imported objects to appear as intended.
from maya riging wiki
Rotation Orders (TD Matt)
excerpt:
Rotation orders are perhaps one of the most neglected areas of rigging and yet they have a major impact on the stability of the rig and usability for the animators. Setting the correct orders can save hours of work trying understand curves that make no sense and struggling to clean up wierd rotation pops in a single animation. Multiply that over all animations for a character, all characters in a project and suddenly the importance of getting this right becomes self evident.
He even includes a skel w/his preferred rotation orders..
Biped Cheat Sheet
Note: These are suggestions only, and may vary w/personal preference or based on the structure and range of motion needed by the character.
for Y-down (from TD Matt):
COG: zxy
Hip: zxy
leg joints: yzx
shoulder/clav: yxz
upper arm: zyx (or yzx)
lower arm: zyx (or yzx)
wrist: yzx
spine base: zxy
mid spine: yzx
chest: zxy
neck: yxz
head: yxz
for X-down
COG: zxy
Hip: zxy
leg joints: xzy
shoulder/clav: xyz
upper arm: zxy
lower arm: zxy
wrist: xyz (or yzx?)
spine base: zxy
mid spine: xzy
chest: zxy
neck: yxz
head: yxz
没有评论:
发表评论