Breakdown of Rigs and Constraints in Animation

(Term 1: Week 4)

Breakdown of Rigs

Before entering UAL, I was fortunate to have experience working in a couple of animation and game productions as a character rigger and animator.

From my experience, one of the frustrations as a rigger is when I think I have finished and fully tested the rigs and distributed to all animators only to find out several days later animators informing me something in the rigs not working properly as intended. The revised rigs can put the production in a bit messy situation as there are several versions of rigs use among the animators. There are also some scenes in the animation that require certain modifications to the rigs so the character can make specific poses according to the script or storyboard.

So from that small experiences and several other sources, I have gathered quite several knowledges of what can be considered as good and bad rigs.

Good Rigs

Clear Controllers – As a rigger I will always think about making good controllers for the animators since this is very crucial during the animation process. The controllers should have proper shape, good placement and size, so animator can easily select the controller and know exactly which body parts are influenced by it.

Example of proper rigs

Controller Picker UI –It’s not compulsory but very good to have for a complex character with hundreds of controllers, especially for facial control. All the controllers will be displayed in one place for easy selection instead of looking around in the viewport to select the specific controllers.

Facial UI for easy access and control

Proper Hierarchy – Each bone and controller should be in the correct hierarchy structure. It is very important for each body parts to move properly. One common example of annoying problem that I always stumble is which body part should the elbow and knee controllers follow so the arm and thigh will move as intended but at the same time not making any weird wobble motion when the hand and feet rotates.

Proper Labels – Properly renamed bones and controllers can be very useful for animator and sometimes compulsory, especially if the rigs are planned to be used a game engine where proper naming is crucial for programmer to access the rigs to attach a prop for example.

Proper hierarchy, naming and layers

Rigs Layers – When animating, not all controllers are use at the same time. So, to have certain controllers in different layers that can be turned on and off when needed can be very useful in different stage of animation. The rigs can be separated for basic body parts, facial and detail controllers so animator can focus on the necessary controllers only.

Good Deformations – From my experience, this is the most important thing since will be visible not only for animators, but in final render and to the audience as well. It doesn’t matter to have powerful controllers if the deformations are bad. The rigs surfaces should be able to deform properly in any area of manipulation. This can be done during weight painting by making sure every part gets proper weight in the right areas.

Good deformation at shoulder and elbow

IK and FK Switch – Good rigs should have the option to switch between either Inverse kinematic (IK) or forward kinematic (FK) especially for the hands and feet. In certain situations, animator may need to switch the character’s hands to IK so it can fix in place such as when holding a steering or clinging to a bar.

Automation – Some automation or ready states for frequently use poses can be very beneficial for animators such as opening and closing eyelids, fist hand and ‘o’ shape mouth. The poses can be triggered by a simple slider or button to speed up the animation process.

The sliders on the right make it easy to do the basic finger poses

Detailed and Versatility – The rigs should perform well in any style and clear from any limitation required for the project. It can do cartoony, realistic and even subtle motion such as breathing. The rigs can have controllers to affect small details, for example the shape around the eyes, ears and stomach so animator can add extra detail motions in the animation. The rig also may incorporate stretchy parts for squash and stretch for stylised and exaggerated animation.

Bad Rigs

Bad rigs are basically the opposite of good rigs, but here are some additional points for a bad rigs.

Not Enough Bone and Controller – From my experience, I have met characters with very minimal bone structure such as at the fingers, face and tail, making it limited and almost impossible to make certain poses in animation.

Useless Controllers – There are some characters I used in the past that have unnecessary and useless controllers with no clear function, or don’t affect intended area very much.

No Freeze Pose – Making it’s hard to revert to original pose and position especially for the face and fingers.

Too Many Controllers – Rigger should know to make controllers that optimise for the character. To many unnecessary controllers for a simple character can make controlling the character harder.

Bad Scaling – Wrong scaling in terms of character size and world scale when the character is rigged. Not many people aware that wrong world scale also can cause huge problem when importing the rigs to other scene especially to other software. Depends on how the character is rigged, some character parts can broke when rescale to other size.

Multiple Roots – Rigs should have one root or one highest parent in the hierarchy only. Multiple roots can make harder to move the whole-body and also can cause failure when importing the animation to other software. I learned this valuable lesson when working with several software especially with Unreal Engine and Unity where the software not able to detect the root motion of the rigs and most of the time fail to import the animation at all.

______________________________

Constraints in Animation

In the last week class, Luke demoed different type of constraints. I have used some types of constraint in 3dsmax and Blender, but this is my first time trying this features in Maya. I can say the workflow is a bit different but the functions are the same.

Constraint:

Is basically a special type of controller to bind or attach object’s position, rotation, or scale with another object. Constraints can help us to automate some animation process which can be hard to animate manually.

Some example of the use of constraints are:

  • Attach an object to character’s hand
  • Controlling the rotation of four car wheels using one controller only
  • Pointing both character’s eyes to desired direction
  • Rotating gears

Type of constraints:

Constraint menu in Maya

Parent – With a parent constraint, we can relate the position and rotation of one object to another, so that they behave as if part of a parent-child relationship that has multiple target parents. An object’s movement can also be constrained by the average position of multiple objects.

Point – A point constraint causes an object to move to and follow the position of an object, or the average position of several objects. This is useful for having an object match the motion of other objects. It can also be used to animate one object to follow a series of objects.

Orient – An orient constraint matches the orientation of one object to one or more other objects. This constraint is useful for making several objects orient simultaneously.

Scale – A scale constraint matches the scaling of one object to one or more other objects. This constraint is useful for making several objects scale simultaneously. The scaling of one or more target objects is called the target scale.

Aim – An aim constraint constrains an object’s orientation so that the object aims at other objects. Typical uses of the aim constraint include aiming a light or camera at an object or group of objects. In character setup, a typical use of an aim constraint is to set up a locator that controls eyeball movement.

Pole Vector – A pole vector constraint causes the end of a pole vector to move to and follow the position of an object, or the average position of several objects.

Parenting vs parent constraint:

Parent – Parenting is the most simple for just making something move with something else, but we can still animate the child object freely.

Parent constraint – Allows us to keep elements within their own hierarchy and not have them contained within a larger and hard to understand hierarchy.

Leave a Reply

Your email address will not be published. Required fields are marked *