Tuesday, August 5, 2025

Corrective shapes in Maya



>>> ROUGH / IN PROGRESS <<<


Corrective blendshapes mark a real step up in any production.  It shows additional time and resources were spent to achieve finer details in anatomy and a reduction in intersections.  However, getting these results can be a tedious process.  

I started looking into corrective shapes in Maya back in 2004 

3 point blend from anim lab

and periodically check in to see what the latest options are, always hoping that someone cracked the case and made a universal, streamlined and production friendly approach.  For the longest time, I wasnt able to find one, or at least one that worked for my current projects and clients.  As such, I went further and further down the 'add more joints' path.  Here's a quick over view as to why

1. Joints can be rigged and automated
2. Meshes, esp in commercials were rarely finales in time for a shape set
3. Game engines wouldn't support it, mind you I started on in games before unreal and unity were the norm.
4. Tools were too confusing and I was too in experienced.
5. Tools created custom nodes that the client or server farm also had to have installed.

As such, more joints were easier as they could be automated and I got fairly good at skinning and transferring weights.  I've built multiple systems for corrective joints

1. Corrective joints
2. Ankle from anim lab
3. Shipkov shoulder from henning
4. Lac beast muscles

But the desire to have true shapes to get that little bit extra, the folds, creases and anatomy, not just volume preservation still itches in the back of my mind.  So I figured I would document my latest round looking into corrective shape options in 2025.  I'd like to thank the online community for helping find, suggest and create such amazing resources.  Special shout out to robbie and sierrna.  For further thoughts, check out the Twitter thread ( https://x.com/KielFiggins/status/1952094522097139968 ) and the linkedIn thread ( https://www.linkedin.com/feed/update/urn:li:activity:7357860716462153728/ )

Set Driven Keys
Maya default works fine for hinge, or single axis driven deformation like a knee or elbow, but falls apart when you introduce more axis, like twist on a wrist or free range like a shoulder. That's the main reason the other tools were created.

Comet cones

Make your own pose reader, marco tutorial.  I also use his eye lid setup.


Maya Pose Editor
Added to Maya in 2016, I had hoped that it would be a reliable starting point.
1. Bit clunky of a workflow
2. Examples are for bare minimum tasks
3. Odd results on wrist


Maya Pose Editor on animation puppets
https://www.youtube.com/watch?v=5UzWtYL5jHs


Brave Rabbit Shapes
Another solution I had known about as it's been around for a while.  It seems the most industry standard, but there are a few draw backs mainly needing a paid licence to use and only supported with the latest version  of maya, though the need of custom nodes seems to be resolved so after the shapes are created, the client or end user is only using vanilla maya.

Unreal Pose Wrangler
I had wondered what all those additional joints in the unreal skeleton was for or more importantly controlled, so that's one mystery solved.  From my initial investigation, this looks like a robust SDK driver for joint transforms and though that does quiet help on current project, I can already see it being useful on another.  Specifically, having robotic pieces move around to remove intersection on an armored suit.  What I'm also curious about is using this setup solely to output 0 to 1  joint information that then drive shape values.  It's a bit layered and convoluted but I've done worse.

Tuesday, June 10, 2025

FAQ: Animation Panel Interview Questions



I was recently asked about what types of questions you may get asked in a panel interview for an animation position.  This is not a complete list at all, but may help you better prepare for your own upcoming interviews.


So with that, here's a few that come to mind:


1) What interests you about working for our company?
(Showing that you've done some level of research on the company, their projects and so on help connect you further to the role and give the impression you'll stick around)


2) How did you hear about us?
(Was it a friend, job search, saw their project showcased, etc)


3) In the last 12 months what was an animation related challenge and how did you overcome it?


4) Do you prefer IK or FK?
(Now this seems like a silly question, and might be an ice breaker, but really their asking what your workflow is like and seeing if you change it up to fit shot context and often it's interesting to hear peoples personal preferences and reasoning)


5) A host of questions about programs and software you've been exposed to and your comfort level.


6) How you approach a shot vs a game cycle vs dialog


7) Your level of comfort with mocap / face cap


8) Have you animated with a FACs based facial rig


9) Outside of animation, do you have any other strengths or interest in the pipeline (concept, modeling, rigging, etc)


10) What personal projects are you working on / programs / software are you learning?




Hope this helps and good luck!

Thursday, June 5, 2025

Henning Kaiju - Spine Ridge and Anim Muscles


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.  


You can spend ages on a rig, finessing every vert, adding control after control, and though that's not a bad thing, it's not always particle.  As the itch to properly animate this character grows, the desire to paint hip crease correctives and stomp on stray verts on the back of the tail shrinks.  I want to see the character moving, slamming around!  I want to recharge my rigging batteries by ramping up the actual animation I had in mind when I first saw the model being developed.

So that being said, here was the final bits of the rig before calling it good enough to start animation.

Jowls

The original setup I had for the jowls worked, but didn't work well once I saw it in the walk cycle.  So I stripped out the constraint setup and switched it to an Aim constraint setup.  Each control aims at a null constrained part way from the jaw to the sternum, the results is more natural with a nicer spread.

Tail Extras

I wanted the tail to have a bit of an accent, so I added 5 single FK controls to give the main fingers of the tail design the ability to fan out and break up the shape.

Spine Ridge

To help sell the size of the creature, I wanted each ridge on the spine to be able to move.  This will be nice when the character slams to the ground and these can react in a sharper more offset way than the main body, giving the performance more texture.

To create this setup, I created a poly plane along the spine with a single face per ridge.  I transferred the weight from the body to the poly plane.  From here, I have a tool that will create an empty group parent constrained to the same weights as the verts of the poly face.  It's a bit easier to set up than a rivet constraint and results are a bit faster at the cost of not being as precise.  Once the empty groups are created, I constrain my single FK controls to each one and paint the weights accordingly.  As a final touch, I create a series of twister controls that spread out their rotation values across the FK chain, so I only need to animate a single control to fan 5 ridges, while leaving each FK control to spot fix if needed.



Anim Muscles

This sounds more complex than it is.  In practice it's a series of single joint FK controls constrained to the base skeleton.  The joints from these controls are painted into the weights of the main body.  Though the results from the walk are slight, once I properly hand animate the controls to flex, scale and bounce, it will really help sell the size.  To see a great example of this, check out 
https://x.com/jitterbot/status/1638227227879043073




That character has a similar setup and you can see just how much the jiggles can make a character feel massive.



You can see all these pieces shown in the movie below
  1. The ridge controls and twisters
  2. The jowls under the jaw
  3. Tail details at the end
  4. Anim Muscles (blue octagon shapes scattered over the body) move more than the area they affect since the weights are pretty light at the moment
  5. Anim Overlap controls, the yellow dots, are my own real time Maya tool give some dynamic life to FK controls and chains.  Nothing too fancy, based off Maya dynamic nHair.  I use it everywhere for first passes, and in this case it's used to make sure everything is working, less so for final production.






And there we have it.  The kaiju base rig is completed and ready to start animating!  Very exciting times.  Once I get into animation, I'm sure I'll update the rig further with more controls, different constraints and most like a full corrective SDK set to help with volume preservation at the wrist, elbows, ankles and knees.  But that will have to wait until... next time!


If you have any questions or thoughts, by all means ask!

Tuesday, June 3, 2025

Henning Kaiju - Skinning and Face Rig

 



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

  1. Lower expectations

  2. I start broad and only really finesse what I see as an issue in the animation

  3. You can always add more joints

  4. 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

  1. Breather rig - https://3dfiggins.com/Personal/AnimLab/

  2. Shipkov corrective shoulders (tutorial no longer online unfortunately - https://petershipkov.com/index.html )


  3. Crotch Riser - (will talk about that in a separate tutorial)

  4. 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

  1. Eye Aim At and local controls

  2. Jaw (using process from previous post - https://kielfiggins.blogspot.com/2025/05/henning-kaiju-prepping-for-rigging.html )

  3. A few single controls for the nose and center line

  4. Marco Cartoonly Eye Lids, since the lids will be more expressive almost like eye brows https://vimeo.com/66583205

  5. SplineIKs for the brow and nostril lines.  Likely overkill and too fleshy, but want it just in case

  6. 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

  7. 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.


  1. Create a poly plane with a good amount of sub divisions along a single axis


  2. Using soft select on the verts sculpt them loosely to fit the profile of the tongue mesh


  3. 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


  4. Create your FK setup


  5. Create a ROM on your FK setup

  6. Skin the joints to the proxy poly

  7. Block in the weights, smooth them a bit


  8. Go to a heavily twisted frame

  9. Starting from the base of the proxy poly, select the pair of verts

  10. Use the Rigging > Skin > Hammer Skin Weights tool

  11. Move to the next pair of verts working your way to the other end, running Hammer on each set

  12. When you get to the end, reverse your way back, running the Hammer again

  13. That will give you a nice smooth weight gradient


  14. 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

  1. 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


  2. 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

  3. 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

  4. 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

  5. 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)

  6. 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!



Sunday, June 1, 2025

Henning Kaiju - Base Rig and Walk Cycle




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.


Base Rig

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.






Initial Skinning



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.




Walk Cycle

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.




Walk Cycle Tips

Again, the cycle is not for presentation, but there’s a few bits I would like to mention (in no particular order):

  1. 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

  2. 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

  3. 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

  4. 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.

  5. 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.

  6. Add in a ground plane to make sure feet aren’t going through the ground, especially when you have long toes

  7. 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





And now that we have a decent walk cycle and first pass on the rig.  We’ll jump back into the rig file and start adding the custom character elements, improve the skinning and start planning out the actual animation… next time!



Also, if you have any questions or thoughts, feel free to ask!