Maya Pose Editor on animation puppets
https://www.youtube.com/watch?v=5UzWtYL5jHs
Kiel Figgins' Animation Blog
Now that the base skinning and face rig is done, on to the final bits. Again, thinking in broadstrokes, we're trying to cover the biggest areas of the character (the base rig), then what they'll see next (the face), then wrap up with polish detail. Details that if production time was tight, could possible be forfeited with minimal impact on the final output.
With the base body rig created, it’s time to paint the weights and add in the accessories.
Painting weights is often cited as being one of the worst parts of 3d Animation. I’ve never really felt that, mainly for a few reasons
Lower expectations
I start broad and only really finesse what I see as an issue in the animation
You can always add more joints
There are tools and processes to simply the process
I won’t go into each of those in great details, since I’ve written about it a length here with Corrective Joint Setups, Twist Joints and an entire walk through of weight painting process and toolset : https://3dfiggins.com/Resources/
This particular character didn’t have any real challenges. The base mesh was borderline too detailed for my sock puppet approach ( https://www.3dfiggins.com/writeups/paintingWeights/#sockpuppet - creating a low res mesh to easily paint weights then transferring it back ) but since the various surface spikes were large enough and the topology light enough, I left it as is.
Each accessory takes about 5-10 minutes to build and paint weights for. The setups are all created with tools I’ve built so the results are known from the get go. At this stage, the only accessories I’ve done for the body are
Breather rig - https://3dfiggins.com/Personal/AnimLab/
Shipkov corrective shoulders (tutorial no longer online unfortunately - https://petershipkov.com/index.html )
Crotch Riser - (will talk about that in a separate tutorial)
Face Setup (will talk about that below)
I’ll do the body spikes in the next round.
I chose to do a fully custom face rig for this character. The exaggerated mouth, no lips and nostril line could work with my default biped face, but it would be a lot of work for little gain. The face setup consists of
Eye Aim At and local controls
Jaw (using process from previous post - https://kielfiggins.blogspot.com/2025/05/henning-kaiju-prepping-for-rigging.html )
A few single controls for the nose and center line
Marco Cartoonly Eye Lids, since the lids will be more expressive almost like eye brows https://vimeo.com/66583205
SplineIKs for the brow and nostril lines. Likely overkill and too fleshy, but want it just in case
Neck Jowls, single FK controls to jiggle the neck fat. Not entirely sold on how they’re currently constrained, especially on the jaw open yell, but will test it in the anim scene
Tongue, 7 joint FK, see below on how I approaching skinning on props to remove a lot of the headache
The goal of this process it to make it more straightforward and less of a headache. I know I want a smooth gradient on this prop, in this instance a tongue. However the same mentality could be applied to skirts, clothing, hair, antenna and so on. The overview being, creating a proxy prop that’s easy to skin then transfer the weights from that to the high density mesh. I call it sock puppeting, and you can read about it more here to see the more indepth and character focused process: https://www.3dfiggins.com/writeups/paintingWeights/#sockpuppet
For the tongue and more planar/linear accessories, I’ll use the same approach but combine the Hammer Skin Weights Tool to more quickly get the end results.
Create a poly plane with a good amount of sub divisions along a single axis
Using soft select on the verts sculpt them loosely to fit the profile of the tongue mesh
Build your FK chain, I'll typically try to have more joints at the tip and less at the base since I'll want more explicit control in that area
Create your FK setup
Create a ROM on your FK setup
Skin the joints to the proxy poly
Block in the weights, smooth them a bit
Go to a heavily twisted frame
Starting from the base of the proxy poly, select the pair of verts
Use the Rigging > Skin > Hammer Skin Weights tool
Move to the next pair of verts working your way to the other end, running Hammer on each set
When you get to the end, reverse your way back, running the Hammer again
That will give you a nice smooth weight gradient
Transfer the weights from the proxy poly to the full tongue mesh
Now you have a solid weighting on a single plane transferred to the volume of the full mesh. I use this approach all over my characters.
Here’s just a few more scattered thoughts about painting weights at this stage of the character
Create a Rig ROM that you can add to as more parts of the rig is built. This is purely for checking each joint and area. We’ll leave the more polished walk cycle for other tests
When skinning, remember “unrealistic motion gives unrealistic results”, so if you crank an arm straight up without using the clavicle, no amount of skinning is going to help fix that
I really want to try ngskintools - https://www.ngskintools.com/ - I hear it’s fantastic and other riggers swear by it, so check it out
You can select a vertex > ctrl + right click > conver to UV shell to quickly select merged meshes like claws, teeth or the like. Useful for when you need to set full influence on rigid pieces of a combined mesh
When naming joints in a chain, be sure to buffer joint names with a zero (01, 02, 03, etc) so it reads more clearly when sorted in the Paint Weights list (instead of 1,10,11,12,2,3,4, etc)
If you need to select a lot of joints in a mixed hierarchy in the Outliner, you can select Outliner > Show > Objects > Joints. Now all the constraints and other elements are hidden
Lastly, because I get asked this often, why joints instead of blendshapes? You can read my full mindset here https://www.3dfiggins.com/writeups/corrective/ but in short:
Joints are automated and easy to add more of. I can’t be sure the model’s topology won’t change. The project size doesn’t warrant the time and resources it would take to build a functional set. And lastly, I’m not a modeler, I find sculpting shapes to be the most tedious part of CG Animation, the irony of which is not lost on me. So I would rather just build the joint and controls to give me more flexibility as an animator until the last possible moment when a blendshape would be needed.
Now that I’ve updated a key part of the rig, I’ll update the walk cycle to show case the elements. In this instance I’ve looped the cycle 3 times and layered on top of it a little growl and head look. And judging from the results, the neck jowl setup will need some adjusting as it’s pinching too much at the crease and those bake spines are the most distracting element, so we’ll tackle them… next time!
I hope you’ve enjoyed this update, if you have any thoughts or questions, by all means ask!
Now that the model is prepped and I’ve done a once over to identify what elements I’ll be creating, the first step is almost always a base biped rig. I’ve been developing my own auto rig for years, so most of this is push button at this point, but there are a few things worth pointing out.
I start with a placer template. By default it’s too small, as it’s based off the scale for film not Unreal, so will need to scale it up.
From there, I move around the placers to fit the mesh. I spend a good deal of time on the fingers and spine. Though, if I find I messed up, I can roll back to this file and recreate the base rig. In the future, I’d like to make my rig a true modular template and build script instead of my current milestone approach, but that’s a story for another time. Since toes are rarely part of a biped, they’re not included in the template, so I’ll make those joints as well to save time if I have to reload. The same is true for the tail curve.
I’ll also shape and size the controls and fit the props to the hands of the character.
Now that the Placer file is complete, I’ll save that and click to build the rig.
After a few moments, the base rig and initial skinning is created.
I also built the toes and added the tail setup. These are both automated, so it looks more complex than it is. These are all broad strokes to see if they’ll work. I can quickly rip out setups and recreate them if I don’t like the joint placement or the like.
Apologies if you're reading this hoping for a literal step by step on how to build a rig, and this overview feeling too much like how to draw an owl...
If you want a more guided approach, you can see a previous post I've written about Learning to Rig as an Animator, https://kielfiggins.blogspot.com/2025/05/learning-to-rig-as-animator.html. It's a constant work in progress where I collect my thoughts and try to structure such a response to a question I get asked rather often.Skinning is a topic I’ll cover next time when we get into adding additional elements to the rig. If you’d like to see a more complete breakdown of my skinning approach, you can read about it here: https://www.3dfiggins.com/writeups/paintingWeights/
But at this stage, nothing fancy, just broad weights on joints, not correctives or the like.
From here, I like to create a walk cycle from a mocap file to test the rig. You could create your own animation or more technical ROM, but here’s my take on those. The walk cycle from mocap lets you see how your character believes in an isolated manner and with realistic motion, so you’re judging setups and skinning in context. You can also get this mapped to a rig very quickly. If you’re keying your animation, it might be too exaggerated or take up too much time for this stage of the project. Next, a more technical ROM, where you jiggle each control and channel, works fine for skinning and I create one for each character, but again, it’s missing context to see how the components work together.
So for a walk cycle, I’ll go to mixamo.com and grab one. Then I’ll port it to my rig using a custom free tool you can find here: https://3dfiggins.com/Store/Support/Mixamo/
I find the ‘Sad walk’ fit the general vibe of this character, so I’ll use that as a base. The initial results are less than ideal. And to be honest, this can be a hit to motivation and enthusiasm to a project when you see results like this. It shows you have a long way to go before it looks good. What if it doesn’t look good? What if this project isn’t a good idea? Or a waste of time?
All these types of negative thoughts are common, the best way through them, I’ve found, is to work small, do broad strokes and keep chipping away at it. That being said, I’ll typically spend an hour cleaning it up with a combination of anim layers and brute force. Again, the walk cycle isn’t the point of this project, so I don’t expect to win any awards with it, it's just for internal tests as we develop the rig.
Since the rig is referenced into this scene, as we update the rig, we can see the results when we open it back up.
Again, the cycle is not for presentation, but there’s a few bits I would like to mention (in no particular order):
I typically strip out my pole vectors to be on a single world axis (tx in this case) so I have more control over how they’re handled
When you have a walk cycle, test it walking in place and walking forward through space. Walking forward can make it feels a world different and show better context for the motion
I’ll often constrain the motion of the head/chest/hips to global controls to better read the curves, as mocap can add jitters and pops from other places in the hierarchy that make clean up tedious
I almost always start walks/run from a mocap base, it’s simply too complicated and pieces are too connected to start from scratch. I find it almost cruel we ask students to do walk cycles as a first exercise as they have a very steep learning curve.
If you pick up a cycle from mocap, do a once over to make sure that controls don’t have 360 values on it, as it can mess up renders/skinning/export joints. Even in my own tools, I find them and same for clavicles being pushed too far in extremes.
Add in a ground plane to make sure feet aren’t going through the ground, especially when you have long toes
I have an Anim Cycle tool for free here: https://3dfiggins.com/Store/#Tools You may find it useful, if nothing else, I like the ‘match out tangent’ when making curves looping
Also, if you have any questions or thoughts, feel free to ask!