The image on the right was taken from the Walt Disney's Production Careers page where they advertise what they expect from specific job roles which can be applied for. As a Rigger or TD artist, you are not only expected to create stunning rigs but also the ability to work with Dynamics, hair and nCloth, which was something I found very interesting.
|
Framestore is a CG studio located in the heart of London which produces high quality 3D computer graphics content for both Feature film and advertisements. At framestore they cover the full 3D pipeline and Rigging would well and truly play an important role in the studio. The screenshot on the left is what they expect from an Rigger or TD artist applying for any role.
|
Double Negative or otherwise known as DNEG is another CG studio located in London, Great Portland street. Similar to Framestore, They offer services in Feature Film and advertisements. With their new Development in their own fully dedicated Animated Film Division, there is going to be a surge of new jobs available for 3D artists including specialised Riggers, so this is an exciting time for artists in London
|
Marco is one of DNEG's character TD’s at Double Negative. A Character Technical Director creates puppets and controls for the animation team to be able to do their magical work. With the use of Maya and some scripting, they turn the static to kinetic. Most recently Marco has worked on Man of Steel, Godzilla and Hercules.
|
An EA and Lucasarts Character TD Known for pioneering and disseminating (through his book "Stop Staring: Facial Animation Done Right") a type of facial-rigging that did not rely on phonemes and pre-built expressions, but rather the blending of more generic poses using simplified controls often referred to as Osipa-Style controls.
|
Jason Schleifer
A Weta and Dreamworks Creature TD artist, Known for his video series "Animator Friendly Rigging", In which he discusses techniques for building complex rigging control systems that are intuitive and easy to use.
|
Hans Godard
A Naughty Dog Character TD Known for his implementation of the Skinning Converter, converting any sequence of meshes to a set of animated Joints and automated Skinning maps. Another interesting Plugin is the RBF Solver, a global interpolator N-dimentional
|
Joints
Sometimes called bones, you can think of joints for rigging in the same way you think of joints in a human body. They basically work in the same way. Joints are the points of articulation you create to control the model. For instance, if you were to rig a character’s arm you would want to place a joint for the upper arm, another joint for the elbow and another joint for the wrist, which allows the animator to rotate the arm in a realistic way. |
Driven Keys
To speed up the animation process for the animators, a rigging artist can utilize driven keys when rigging a character. Driven keys allow you to use one control or object to drive multiple different objects and attributes. In the example above we can use a driven key to control the fist position for the hand, with just one single control. A driven key contains two parts: the driver and the driven. The driver is the object in control of the animation. The driven is the objects and attributes that are being controlled by the driver. Typically for regular key frames an attribute has values keyed to time in the time slider. For a driven key, the attribute has values keyed to the value of the driving attributes. The driver can be another object, or in the case of the example image above it is a control slider. |
Blend Shapes
A blend shape, or morph depending on your 3D application, allows you to change the shape of one object into the shape of another object. When rigging, a common use for blend shapes is to set up poses for facial animation. This might be lip sync poses or more complex expressions like a smile or frown. You can tie all these new poses into the original face mesh and have it operate all on one control slider. For example, if you want to raise an eyebrow you can model a face pose with one eyebrow raised, connect it to a blend shape and using the slider with a value of 0 to 100 to either raise or lower the eyebrow. This is a great way for the animator to be able to quickly make face poses without having to move individual facial controls around. There are some downsides to using blend shapes for facial poses, because the edit ability can be limited. Riggers often will give the animators both blend shape options and traditional control points to use them in conjunction. |
IK (Inverse Kinematics)
Inverse Kinematics means that the child node within your rig’s hierarchy can influence the movement of its parents. For example... if you use IK for your character’s arm you can position your character’s hand and the rest of the arm chain will be calculated. This allows the animator to animate independently of the chain’s hierarchy. Because of this IK is great when needing to have a character’s arm stay planted on something. For example, pushing against a wall or swinging on a bar. |
FK (Forward Kinematics)
Forward Kinematics means your character rig will follow the hierarchal chain. This means more control over your chain, but also means you’d need to position each joint in your chain independently of each other. For example, with FK if you positioned the character’s hand the rest of the arm wouldn’t follow like it does with IK. Instead you would need to position each joint independently, starting with the upper arm, the elbow and then the wrist. This obviously takes more time than IK, but can give the animator much more control of the poses. Most times riggers will incorporate both FK and IK into the rig to meet the animator’s needs. |
Control Curves
Control curves are created by the rigger to assist the animator in manipulating joints within the rig. Typically a rig consists of many components that need to be manipulated to move the character in the desired pose. This can be very difficult to do without control curves because the animator would need to hide the mesh to see the skeleton within the character and try to determine which joint manipulates the elbow, for example. Control curves are typically simple NURBS curves placed outside of the character so the animator can easily select the curve to position the character instead of the actual joint. |
Constraint
Constraints are very important in both the rigging and animation process. Typically your 3D application will have several options for constraining. Constraints limit an object’s position, rotation and scale based off of the attributes of the parent object. For example, by taking two separate spheres, applying a parent constraint, and then deciding which is the parent and which is the child, you can select just one and the other will follow whatever the parent is doing. Setting up constraints is a vital step when creating control curves for the rig. For example, you will need to determine the type of affect that a control curve has on an individual joint. Setting up constraints will allow you to do this. |
Deformers
There are many different deformers/modifiers depending on your 3D application which can be utilized to enhance your rigs. Deformers are often used among modellers but they are also extremely helpful for riggers as well. Deformers contain algorithms that can move large sections of vertices on a model to produce organic shapes. For example, when rigging a character you can utilize something like a cluster deformer that allows you to manipulate a large section of vertices by using just one single control.. |
Skinning
Skinning is the process of taking the joints or bones of the rig and binding them to the actual 3D mesh. When the joints are bound to the 3D mesh it allows you to move the joints and the mesh will follow. Without skinning the mesh to the joints the joints will have no influence on the actual 3D model. |
Weight Painting
Weight painting is a vital step once the skeleton has been created. Even though the bones are put into place, it doesn't mean the 3D model will be able to deform exactly how you want. When a mesh is bound to the skeleton, the computer doesn't know how much influence each joint should have over each vertex, so it averages the weight out based on the distance from the joint to the mesh. Basically painting weights allows you to manually set how much influence a joint has on a particular area of the model and correct the deformations on the 3D mesh. For example, if the leg joint has too much influence on the model it might affect the torso area giving you unrealistic results. |
Facial Rigging
When creating complex character rigs the facial rig setup is often a whole different monster. A typical joint or bone setup doesn’t work well for a facial rig other than having a joint for the jaw bone because facial movement often requires very stretchy and organic motion. Instead of a normal joint setup, facial rigging usually requires deformers and blend shapes which was discussed previously. |
Step 8:
We then started to experiment with 'Set driven keys'. This tool allows the rigger to have one joint be affect by its parent. It is a very clever tool and is very powerful. In the this circumstance, we used the set driven keys to bend the knuckles of the fingers. When joint 1 rotated in the X Axis, the following 2,3 and 4 would also rotate in relation to the x axis
|
|
Topology Lesson
|
|
TopoGun is a stand-alone resurfacing, and maps baking application. The resurfacing functions in TopoGun will help you modify and/or recreate the edgeflow of your digital 3D models.
In short, Topogun makes the process of re-uv'ing your model very easy as It allows the viewer to simply draw on to the model where their new uv's should be. |
|
QUADRUPED RIGGING |
|
|
Before I jump straight into rigging the horse, I wanted to look at some reference of how a horse moves, walks and gallops so I can optimise my rig to act realistically with nature to really give over a well thought out rig.
The video on the left is a good secondary reference, showing various movements of the horse in slow motion. |
The first thing I've learnt with rigging is that you have to be organised, otherwise the task is going to be far too hard than it needs to be. So before I jumped into to rigging this horse, I begun by creating a unique shelf for this project consisting of the Various useful nodes.. I also added a display layer with the the Model geometry of the horse.
|
Once my shelf was all ready, I went on and came up with an naming convention which was suitable for the project. With some research the image on the left is a good way to start the naming convention process as it keeps everything organised and easy to understand.
Below is the basic naming convention I am going to use. Naming Prefix (NodeType)_[direction (l -Left or r -Right]_(nodeID) (How Many) |
I then went on to organise my Outliner so it was easy to understand, and so everything is grouped together nicely for a straight forward workflow.
Once that was all done, I added the Geometry of the horse into the corresponding group then went thought the channel box and hid the attributes that were not needed for each node. |
My next Job is to go and start to create the joints for the horse, but before I do that, I need to have a good understand of a actual Horse anatomy, so I can efficiently rig the horse with the right structure and deformations.
Another Thing I learnt from creating Rigs in the past is that less is more, and I mean that in the sense that if you were to create a exact replica of a horses skeleton, things would get all too much all too soon. Which in effect would make everyone job in the pipeline a lot harder. So keeping your rig as simple as it can be, is the best way to go |
Now I was ready to start to add in my my first set of joints. I began with the the back Left leg, and worked my way down starting from the hip, then all the way down to the hoof. Once the joint chain was complete, I oriented the joints so they were all facing the correct direction. I done this by going to component mode, selecting my joint and using a simple mel script to rotate them.
|
When I finished my back left leg joint chain I was then able to go and mirror my joints along the YZ axis for the back right leg.
This was made easier by the way we used our naming conventions, as it allowed us to search for any _l_ and change it automatically to _r_. So it saved us the job of having to manually change each node. |
I was now ready to go fouth and create the vertebrae, neck and jaw joints for the horse. I started with the vertebrae, drew out the joints and then used the search and replace option under the modify tab to quickly change the names for the joint chain. Then I drew out the neck joint chain and used the same principle. The jaw was also drew out then parented to the head joint.
|
The next step was to create the ear Joints for the horse, so I went into my side view and drew them in. The same as before, I used the same principle and used the search and replace name option. I then parented the left ear to the head of the horse, mirrored over the joint to the right ear and then made sure all orientation and naming conventions were correct.
|
I then Duplicated the vertebrae01 Joint, then deleted the children, so I was just left with the single Joint. This was was for the Ilium joint which allows the back legs to be rotated from the vertebrae. I then duplicated the vertebrae01 joint again and used this as the main bone joint. So I parented the legs and the vertebrae to it.
|
The next step was to constrain the tail to the Ilium Joint. In order to do this I had to create a locator, move it to the centre of the root of the tail. parent the tail to the locator. Then use the point constrain tool to connect the locator, along with the tail root so that that when the ilium joint moves or rotates, the tail moves along with it.
|
The bone structure for my horse is now finished. I have successfully parented all the joints together, working well with a good naming convention set up, and with an organised and easily accessible outliner.
At this stage all the joints are well oriented and each translae and rotare in the right axis. |
The next step for me to do was to bind skin. In order for this to happen I went to my Search-by-Name tool, typed in bn* so maya would select all the bones in the scene, shift selected the horses mesh, went to skin- bind skin and used the settings shown.
After the bind I had some pretty good results, however there is still a lot that could be improved. |
This next step was by far the hardest part of rigging I've found so far. In this step I began to paint the skin weights for the front left foot. I found it to be a lot of trial and error and playing about with the brush value to achieve the final look I wanted. I keyframed each joint moving so I could quickly and easily scroll through the timeline to see the deformations taking place. In the end I am happy with this first result
|
Once I painted the skin weights for the left back leg, I was ready to start my first blend shape. In order to do so, I duplicated the mesh on its bind pose. Corrected the order of the inputs, then used the soft modification tool to make the bend of the tarsal joint thicker, and to prevent the shrinking. I then used a set driven key to activate when rotating down the X axis.
|
Now all the skin weight painting which was needed has finished it was time to go fourth and use the mirror skin weights option in maya. This is a great tool to really speed up the process of rigging, and saves the hassle of having to draw the weight for each leg which would take a long time, especially for a different kind of character with even more legs! Once completed there were still some areas which needed fixing down the centre of the mesh
|
Once I had mirrored the paint skin weights, it was time for me to go in and tidy up the bind by repainting the skin weights down the centre of the model as well as correcting the cervical joints down the neck. I wantd to achieve some realistic folds in the skin when the horse bends and twists his neck. By working my way down each cervical joint I was able to paint and skin bind that I was happy with.
|
The next step for me to do, was to create some more joints that were going to be used for the fetlock controls to prevent any anti locking that would possible happen if we were going to just ignore this stage. These controls would also be useful as they will give the animator the control to animate the hoof curls, and just all in all gives the animator more freedom and control.
|
The next thing I done was to create the control curves for the feet. In order to do this, I drew out a box with the CV Curve tool, made a mel script and added it to my shelf. I then duplicated them onto each foot. Added 3 attribute, hoof curl, fetlock curl and a phalanx control. I done this using the component editor. I then organised them into the correct groups in the outliner.
|
I then went on to create the nurb curves for the knee controls. Once they were created I set a pole vector constraint from the control curve to the corresponding IK handle. When finished, I used display overides to change the colour of the controls. Blue for left and red for right, just to make it more clear to animators. The Gif below shows what effect these handles had and how an animator could possibly use them.
|
My next job was to create clusters for the back vertebrae. The i done this was to duplicate the five bones for the spine, create a IK spine solver and add the clusters to the vertex's of the curve. I had a bit of trouble doing this in the latest version of maya, so I had to go through and create each cluster individually rather than all together like in previous versions.
|
|
BOAR (PUMBA)
|
|
Pumbaa by smashmakerzappy on Sketchfab
The image on the right was a production sheet on the character of Pumba. I used this sheet to draw over the poses with a red pen to highlight how I am going to rig this character. I find that planning out the rig really helps as it gives you a good idea from the start on how the rig should look, rather than just jumping in a rigging blindly. Another thing which was handy, is that the artist has put notes on how the character should move, so I am definitely going to use this, as if I am on a live project.
|
Although Pumba is a more cartoony kind of character, I feel it is still a good idea to look into the anatomy of a real boar. This way it gives me a good insight into their bone structure, and gives me a good idea on how I should lay out the joints in my model. However, Pumba is going to need some more work, as some of his features have been exaggerated, like his nose for example, so I am going to need to adjust my bone structure to match this
|
|
|
|
|