With the base body rig created, it’s time to paint the weights and add in the accessories.
Skinning / Paint Weights
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.
Body Accessories
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.
Face Rig
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
Tongue Skinning Process
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.
Final thoughts on Skinning
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.
Updating the Walk Cycle
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!
Loving this article series, please keep them coming! Just curious, what does ROM stand for? I'm guessing it's an animation that you use to test out the rig?
ReplyDelete