|
Modeling
- Build your low_poly model a little bigger then it actually is, because smoothing will shrink it.
- Smooth proxy with mirroring works only when the vertices in the mirroring axis are aligned. Otherwise when you press `, the smoothing version will simply not appear.
- If freeze transformations and the model was built using two mirrored halves, the side that was scaled in negative one will have its normal flipped. This can cause problems in textures ( eg, bump map calculation), dynamic simulation or particle collisions. To flip the normals of a NURBS surface: shcnage or swap its surface direction. For polygons, Normals->Conform, then Normals->Reverse Options, choose Reverse and Propagate.
- After a model is done, always freeze the transformation node.
|
Rigging
- For the head of a character you can create a separate hierarchy that is point-constrained to a locator that is a child of the spine or neck. This leaves the rotational controls free from the hierarchy and enables the animator to animate them by hand.
It is a good idea to place the jaw's pivot point slightly in front of and below the side view of the ear lobe. Also should include a few extra joints that stem from the jaw aw well as a joint that goes up to the top of the head f the character for extra weighting of facial geometry.
- How to Bind a subdiv mesh's poly proxy control mesh
- Common Workflow for Paint Smooth Skin
- To create blend shapes for a character after it has been bound to a skeleton, be sure to either
Be sure to use an exact duplicate of the character's geometry before it was bound to the skeleton to begin modeling the blend shapes
or
When create the blend shape, go into the Advance tab in the Create Blend Shape option box and choose Front of Chain options in the deformation order pull-down menu. Or after created the blend shape, choose Inputs->All Inputs and use the MMB to drag the blendshape to the bottom of the deformation order list ( just above any tweak nodes there) .
- It is necessary to have blend shape morph targets before the joint cluster in the deformer list. to reorder deformers, right click on the object being deformed, Inputs->All inputs..., MMB drag
- hand rig: create a locator and snap to the wrist, and point constraint the wrist ( and also the IK handle if IK arm is used) to it. This gives more flexibility in control than making the locator a parent of the wrist.
use connection editor to connect the rotation of the locator to wrist and connect the ry of the locator to ry of the forearm
- Using particle dynamics, weighted constraints, IK to create overlapping action skeleton rig example: OverlapAct_fin.mb
- When posing, remember these:
the shoulder line always complement the hip line
the nose should be above the shoelaces of the supporting foot
push the poses and make them read ( use the alpha channel render to help make sure the post is clearly readable)
when completed the pose, make sure the keys are recorded
- Before skinning and rigging:
- double check the following:
geometry (eg, Polygons->Cleanup: nonmanifold edges, nonduplicate vertices)
normals are in the right direction and are not locked (Edit Polygons->Normals->Set Vertex Normal->check the Unlock Normals)
UVs
parameterization, resolution, surface direction, etc
- clean the scene: all the transform nodes are frozen and center-pivot if necessary; make sure all the node names are appropriate, esp. the shape node and the transform node names match; delete all history, deformers (delete `ls -type weightGeometryFilter`;)
make sure no additional hidden shape or intermediate nodes hanging around (delete `ls -io`;)
break all the connections from geometry to any shading groups, display layers, etc
- File->Optimize Scene Size
- select only the geometry transform nodes and export selection into a *.ma with all the include check box options turned off. Open the exported file in a text editor, delete any unnecessary requires lines ( the only one necessary is requires maya "5") at the header and resave.
- Bulletproof the rig: lock and hide the attributes and nodes the animator doesn't need and might break the rig. Communication is the key.
- Fix broken joint connection ( such as broken .inverseScale connection): select the root of the broken hierarchy and duplicate by Ctrl+D. Maya does all the fixes and reconnection.
- Moving joints after binding:
a skin cluster works because of an input attribute called .matrix[]. This is an array attribute that has a new element for every joint or influence object that the skin cluster uses to deform the geometry. Each matrix element is connected to .worldMatrix[0] attribute of the bound joints. When the joint moves, the transformation matrix gets sent into the skin cluster's deform function. Create a new transform node with zero transforms as a child of the bound joint, and hook up the new node's .worldMatrix[0] attribute in place of the original one. So now you can move the joint freely using the insert key and also can reorient the joints.
**Remember moving a joint can cause local rotation axis prblems. Be sure that you always reorient and align the LRA of the joints after they are moved.
- Changing / Editing Geometry after Smooth Binding:
- if the vertex order and count don't change ( the shape and UVs can), you can plug the updated model's .outMesh to the .inMesh attribute of the intermediate object mesh shape. ( for NURBS, it is the .worldSpace[0] => .create attribute)
- if changing the resolution but the UVs will stay, go to Skin->Edit Smooth Skin->Export Skin Weight Maps, Option Box. Maya writes out a bunch of texture images that it can load back that contains all the necessary links to reapply the weight data. This doesn't rely on the resolution.
- if the resolution, shape, layout of UVs all must change, first swap out the newly laid out UVs, then save the weights for the geometry, then rebind the new model and load in the .weightMap file. ( a low-res wrap deformer can be used as a mechanism for swapping in high-res models so that the low-res model is bound to the skeleton and acts as a wrap deformer to the high-res. The downside is lacking of detailed finessing of character deformations)
- Be sure not to rotate or scale the joints into place. Always translate them.
- Always use an extra joint between the hip and the legs so additional rotation contrl can hook IK onto the legs and still rotate the hips independently.
- quadruped IK legs and feet
- IK Spline Tail and Ears Setup
- Low-Res Stand-In Geometry
- Hook up control boxes to the rig
- Advanced biped spine
- Advanced IK Arms and Clavicular Triangle
- stretchy IK legs and Reverse Foot
- Hand and Fingers
- Eye rigs
- To move the c of cluster off the pivot center: Ctrl+A and go to clusterHandleShape, press ctrl and middle mouse dragging on Origin
-
|
Texturing
- transfer UV map: Polygon Menu, Mesh->Copy Mesh Attributes.
- What is a **ShapeOrig node (under the same parent as the **Shape node):
- Nonlinear deformer chain always has at least one shape node that represents geometry in it's non-deformed state ( Orig means original ). It has status of 'intermediate' node - meaning it's invisible and it's used as temporary state data in the dependency graph.
- To make it visible in hypergraph, outliner and viewports: open the hypergraph->Options->Display->Hidden nodes, this will show the **ShapeOrig node. Selete it, open the attribute editor and unchecking "Intermediate Object " attribute under Object Display options.
- Orig shape is useful if you want to make tweaks on your model after the rigging is done. eg, to transfer
without a history: make it visible by doing the above step, transfer from the UV set onto Orig, then delete the history from the **ShapeOrig. This way the history won't be added to the transform node but the UV is transfered.
- Apply UV texture before smooth and triangulate.
- In Attribute Editor, use Image Sequence can be keyed to do file texture on geometries.
|
Dynamics
- gravity in Maya is calculated as 9.8 meters per second squared, regardless of the units using
- when doing the Make Collide, need to make sure the Face Normal is facing in the opposite direction of the coming particles
- in case chunkiness happens when working with high speed particles, lower the Max Distance attributes of the emitter.
|
MISC & How-To's
|
Hot Keys
- a: frame all
- c: curve snap
- g: repeat the last command/action
- p: parent
- w: move tool
- e: rotate tool
- r: scale tool
- s: key all
- t: bring up the manipulator handle
- v: snap to point
-
- Ctrl+g: group
- Ctrl+d: duplicate
- Ctrl+h: hide
- Shift+h: show
- Ctrl+Shift+h: unhide the last hidden
- insert: change pivot point
- Shift+Ctrl+menu item: add this item to the shelf
- purple in channel box: expression
orange: keyed (set key or set driven key)
yellow: set connection
|
Render
- unless the render type of particle is set to a geometry-based type (eg. spheres), or the particles are instanced, the hardware render buffer cannot create a z-Depth channel for the rendered image. So to help compositing hardware-render particles, turn on the Geometry Mask option. It is similar to the Use Background shader in Software rendering: it creates a holdout in the scene without rendering geometry.
- the cutout of the geometry in the hardware render doesn't line up with software-render because of the difference in tessellation, especially in high curvature area. To correct that, turn on Display Render Tessellation for each surface cutting out the particles. Motion blur is also different in the two rendering methods.
|