2013年9月22日星期日

通过mudbox,maya,ps来画六面体skybox

通过mudbox,maya,ps来画六面体skybox

学校里面的工具有局限,所以需要自己开发一个画skybox的流程。
以下是通过mudbox,maya和ps来制作一个无缝的skybox:
1:在maya里面建立一个以原点为中心的sphere,subdivision为30x30或者40x40,将面法相发转过来,再在maya里面send to mudbox。
2:接下来就是在mudbox里面通过对球体里面画画来讲圆形的天空画出来,texture的resolution可以根据机器性能来定义,越高越好。
3:画好的球体再次导入到maya中,创建一个同样以中心点为原点的cube,subdivision为1x1x1
通过rendering->lighting/shading->transfer maps将sphere的texture投射到cube上,因为默认的cube uv是展好的,所以在uv editer中输出一张snapshot的uv线框图。再将cube的texture及snapshot两张图片转入到ps里面将六个面分别切割下来。
4:打完收工。

2013年9月17日星期二

maya riging note_1

对象命名方式
_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