RIGGING GUIDELINES

Check List 


BEFORE YOU BEGIN

While it’s tempting to rush in and start creating joints, there are a few things you should do before you begin to avoid problems later.

CHECK THE MESH

The mesh will determine exactly where you’ll put the joints so you must make sure you have the correct version before you start. Any problems at this stage could mean headaches and reworks later.


Check Geometry:

Unreal Engine only supports Polygonal geometry. If you’ve used something else, for example sub-division surfaces, you’ll need to convert them before exporting to the Unreal Engine.


Check Version:

Always check you have the correct version of the character mesh before you start rigging your character. There’s nothing worse than building a rig, only to find you need to reposition all the joints because you’ve been working with the wrong mesh. This becomes even worse if you’ve already captured and edited some motion for it.


Freeze Transforms:

Freeze the transformations of the geometry to remove any transform data such as: Translation, Rotation or Scale values. Scale should always be set to 1 in x, y and z. 


Delete History:

Remove all the construction history from the geometry. Only skin modifiers and blend shapes can be exported to Unreal Engine.

Everything else will be lost as it’s very rare for this kind of information to transfer correctly between 3D packages.

Character Scale:

Ideally your character should be real-world size, for example 1.8m or 5’8” tall. This will help ensure compatibility between Maya/Unreal and the data from Motion Capture systems. Also, very small or very large characters can cause calculation errors for some solvers, for example, IK and Human IK. If you do have to work at a different scale, you can parent the hip joint of your character to a “Reference” node so it can be rescaled in Maya.

Character Alignment:

Ideally the character should be standing upright at the center of the scene, with both feet on the floor, facing down the +Z axis (looking at you in a front view).

Correct Naming:

Check every piece of geometry is named correctly. You should be able to tell exactly what something is from its name. Adding “_mesh” or “_geo” to the end of the name will also help identify what type of object it is. Handy if you need to select all the geometry in your scene by name.

CREATING A JOINT NAMING CONVENTION

List of Basic but clean naming conventions for the bones

The most important thing to remember is to keep the names simple, descriptive, and consistent.


Simple:

Make the joint names as simple as possible. While medical names like Humerus > Ulna > Carpus are anatomically correct, UpperArm > LowerArm > Hand is much easier for everyone to understand. Also, try to avoid long names or names with lots of abbreviations as these can be difficult to read. For example, “LeftHandSide_ShoulderArmJoint_ForMocapSkeleton” or “Lft_UprLg_Mcp_Jnt”


Descriptive:

The name should describe which limb the joint represents and where it is in the hierarchy. For example, start the name with “Left_” and “Right_” for joints on different sides of the character. Add numbers to joints in a chain like the spine, neck, and finger joints. Use “_joint” or “_mocapJoint” to identify what type of object the joint is. This additional information is also useful for selecting groups of joints by name or to script certain actions.


Consistent:

Avoid mixing the types of words used in the joint names. For example, Humerus > LowerArm > handBone. Giving them similar names like UpperArm > LowerArm > Hand or Shoulder > Elbow > Wrist will make it easier for people to guess what other joints might be called. Also, use the same joint names for all your character rigs. This lets you create a character template to automate the mapping process in Maya and create scripts to automate certain processes.


Namespaces:

If all your characters have the same joint names, you will need to add them to a Namespace. This will stop them being automatically renamed by the software to avoid naming conflict (2 objects in a scene cannot have the same name unless they are in different hierarchies).


Lock Names:

Finalize the joint names before you do any mocap. Once you’ve decided on the joint names, avoid changing them unless it is necessary. Changing the names halfway through a project can break a lot of things and make lots of people very angry.

Note: The rig needs to find the right balance between simulating the way real joints move and their “usability”. Too many joints and the rig becomes slow/difficult to work with. Too few and you won’t be able to achieve realistic looking motion and mesh deformation.


LIST OF JOINTS

The following joint names will help easily identify each bone in its Hierarchy without complex naming or layering.


01. root02. pelvis03. spine_0104. spine_0205. spine_0306. clavicle_l07. upperarm_l08. lowerarm_l09. hand_l10. index_01_l11. index_02_l12. index_03_l13. middle_01_l14. middle_02_l15. middle_03_l16. pinky_01_l17. pinky_02_l18. pinky_03_l19. ring_01_l20. ring_02_l21. ring_03_l22. thumb_01_l23. thumb_02_l24. thumb_03_l25. lowerarm_twist_01_l26. upperarm_twist_01_l27. clavicle_r28. upperarm_r29. lowerarm_r30. hand_r31. index_01_r32. index_02_r33. index_03_r34. middle_01_r
35. middle_02_r36. middle_03_r37. pinky_01_r38. pinky_02_r39. pinky_03_r40. ring_01_r41. ring_02_r42. ring_03_r43. thumb_01_r44. thumb_02_r45. thumb_03_r46. lowerarm_twist_01_r47. upperarm_twist_01_r48. neck_0149. head50. thigh_l51. calf_l52. calf_twist_01_l53. foot_l54. ball_l55. thigh_twist_01_l56. thigh_r57. calf_r58. calf_twist_01_r59. foot_r60. ball_r61. thigh_twist_01_r62. ik_foot_root63. ik_foot_l64. ik_foot_r65. ik_hand_root66. ik_hand_gun67. ik_hand_l68. Ik_hand_r

Hips


Spine Starts at top of Sacrum


Neck

Arms

Fingers

Legs

Rules for Sharing Skeleton Assets

An important feature of Skeletal assets is that a single Skeleton can be used by multiple Skeletal Meshes. Best of all, the bone hierarchies in each skeleton do not need to be identical. They do, however, need to have the same general structure. Most importantly, the bone hierarchy from one Skeletal Mesh to another cannot be violated This means that the bone name and order of your bones must be consistent.

For example, consider a 3-bone limb with bones named 1, 2, and 3:

If you had a second Skeletal Mesh that you intended to use the same Skeleton asset, it would need to keep those bones in the same order with the same names. You can, however, add bones that are peripheral to the hierarchy (characters that don't have those additional bones would just not use that data). So for example, your new hierarchy could look like this:

However, in order for both Skeletal Meshes to use the same Skeleton asset, you cannot re-order the hierarchy or re-name the bones. For instance, this is not valid:

In this instance, the above Skeletal Mesh uses a different bone hierarchy and would need a new Skeletal asset.

Additional Limbs

Because adding bones that are peripheral to the hierarchy is valid, it is easy to reuse Skeleton assets between Skeletal Meshes that have additional parts. Say, for example, you wanted to share animation between 3 different but similar character types, all having essentially the same bone structure (and same bone names) except for some key differences, such as:

You could use the same Skeleton asset with all of these characters, and the result would be that the Skeleton asset would contain joint hierarchy information for all three types. The animation will use the Skeleton asset to determine what rotation to apply to each bone. Since the Skeletal Meshes are designed so that their base bone hierarchies are the same, the animations between them will work perfectly. The only difference is that you may need some special animations to drive the extra arms or ponytail on those characters.

Any time animation data is received for a bone that is not included in the Skeletal Mesh (say, if a ponytail animation was used on a character that used the same Skeleton asset but did not have a ponytail), then that animation data is ignored.

Additional Limbs

Clean Deformations - This is probably one of the most important aspects of having a great character rig. A rig needs to deform properly and believably in every single area of manipulation. If a character is bending over, the stomach and chest all need to deform properly like a real human would. Bad deformations can stick out like a sore thumb, and not only look bad at animation time, but also when rendered. To fix this, you'll need to make sure you're painting the weights properly and in the right areas. As the character comes down from the modeling department the character should have enough resolution to deform well, so it's up to you to ensure the characters you receive have all the right edge flow and topology in order to create a great rig. Before ever passing your rig on you should have a strong testing phase to ensure that all the weights have been properly painted to achieve a realistic deformation, so your rigs won't be kicked back by an animator due to deformation issues.

Clear Control Curves - In order for an animator to move the individual joints on a character they'll need to have access to control curves to make the selection process much easier. The placement of your control curves should be clear on the rig; the animator should be able to tell exactly what the curve will influence on the particular part of the character without having to select it first. The control curves should also be big enough to see so the animator can easily select them. Clear control curves will ensure the animator spends less time figuring out what a control does and more time actually animating.

A GUI (Graphical User Interface) picker is a great feature to include on a rig with hundreds of controls. While clear control curves are vital, depending on how many controls are actually needed on a character rig can make the selection process extremely difficult for the animator. A complex character rig can sometimes get up to the thousands in the number of controls. Having a place where all these controls can be displayed is very beneficial. GUI pickers are especially good for facial controls because often times there can be hundreds of controls all populating one small area on the face, making them extremely hard to find or select if doing it directly in the viewport. Giving the animator the ability to see a representation of where each control lies on the character and allowing them to select it in a different window can greatly speed up the animator's workflow. However, it's important to keep in mind the GUI picker should be simple enough to use. Try not to have numerous submenus for one character all with different controls. A GUI picker should speed up the control selection process not slow it down.

In any character rig you create there should always be the option to switch between either IK or FK, whether in the arms or the feet. A great character rig will give the animators different options, because not all animators like using IK for every shot. And as a rigger you can never predict the types of animations your rig will be used for. In a character rig there should also be the ability to switch to IK or FK for the feet. While most of the time IK will be used for the feet, there are still times when an animator may want to use FK to achieve the right look. Having IK and FK options for both the feet and arms will eliminate any possibility your rig will be sent back because an animator likes to work in FK.

Versatility

You never know what type of animation your character rig will be used for, so you should design your rig to be versatile. The rig should perform well for very subtle acting shots, as well as realistic body mechanics or more cartoony animations. You can incorporate stretchy limbs and squash and stretch controls where needed to give the animators the ability to exaggerate their animations when needed. Not all shots need to be cartoony or subtle, but a character rig should be able to perform well and achieve the look wanted no matter what type of shot it is. Of course, depending on the project there will be times when your character rig will be used for only very realistic movement, and will never need to achieve a cartoony style animation. So it's important you have clear communication with the other departments on the limitations that need to be set for a rig, and how much freedom you have.

Full Finger Controls

The finger controls are an extremely important aspect in a character rig that sometimes get overlooked. The controls on the fingers should be more than a simple opening and closing in one rotation axis. The hands are used to express emotions, and getting the right posing is extremely important. A great character rig should have the ability to rotate each individual finger joint in the X, Y, and Z rotation axis. This'll allow the animator to incorporate things like drag and lead and follow into the finger animations. It'll also give the animators a great deal of control over the fingers so they can get the perfect pose. You can even take this a step further and add in squash and stretch controls for the tips of the fingers to get the compression that occurs when a finger is pressed up against another object, like a table for instance.

Global Scaling

Having the ability to scale a character rig is great for ensuring the character will look right in any environment. The animator should have the ability to completely scale the entire rig, including the controls. This will give the animator as much control over a shot as possible. For example, animators are often required to cheat certain things to the camera to achieve the look they want, and scaling a character down can be perfect for establishing perspective between two characters in a shot.

Breathing Controls

Breathing controls are a great feature to incorporate into any character rig, because if this is a living and breathing character, they will obviously need to be able to breath, which means they will need to be animated to give the illusion of breathing. By including breathing controls you can speed up the animation process. You'll give the animator the ability to quickly and easily create a breathing animation without having to move and scale the chest controls to try and simulate this effect. Providing a simple slider controlling the characters breathing means the animator can get a realistic animation in a fraction of the time by keying this one slider.