top of page

Animator Friendly Rigging - Global/Master Control Scaling Issue Solved

I am sure that if you took the time to read my very first post on this dang ol' Barbarian Blog, you saw that I mentioned the Animator Friendly Rigging Tutorials.

Jason Schleifer was an Animation Supervisor at DreamWorks and has made an awesome combination of videos teaching more advanced concepts for rigging! It's literally an animator telling you want he wants in a rig. I don't think it could be more useful! :D Click HERE to go the Animator Friendly Rigging Site!

Why am I posting this? Well, I've had an issue with scaling my additional Global Controls

(Master Controllers or whatever you want to call it.) For the "Head n' Torso" videos, Jason goes over how to set up a squash and stretch spine using a set script to put into the expression editor. If you've gone through the tutorial series you'll know what I'm talking about. My mentor wanted me to add two more Global Controls to the character and I couldn't for the life of me figure out how to fix this issue.

As you can see, there are three global controls, but in the video series Jason only goes over how to set up the scale for one controller.

For those of you who are new to rigging, the global controls are the circles at the bottom. The smallest circle is my first global control and above that are global controls 2

and 3. The help the animator translate, rotate and scale the entire character in a scene.

Left: No scale has been applied to the extra global control.

Right: When the scale is applied to my second global control controller.

I called up my buddy, Brian Eby and asked him what the heck I was doing wrong! He told me that when you're combining attributes together for an object in Maya you have to know:

Rotation and Translations - Add them together

Scale - Multiply them together

But Nick, what code are you talking about?!

I'm getting there, my young impressionable rigging child!

=

Part of the script (Python):

The main script I was dealing with was this:

$scale = curveInfo1.normalizedScale/globalControl.scaleY;

The expression above is only using the first global control to effect the scale of the entire rig.

All you have to do to implement more scales! Just multiply all the global controls scales together and BADDA BING! IT WORKS!

$scale=curveInfo1.normalizedScale/(globalControl.scaleY*globalControl_02.scaleY*globalControl_03.scaleY);

The expression above now uses all of the global controls's scale to effect the rig.

I was surprised by how simple the solution was, but heck I'm still learning myself! Ha ha!

Again, shout out to Jason Schleifer for making such an awesome video series! I am still learning so much. :D

Get Animator Friendly Rigging now!

Follow Jason Schleifer on Twitter:

Featured Posts
Recent Posts
Archive
Search By Tags
No tags yet.
Stalk... I mean, Follow Me!
  • Twitter - Black Circle
  • LinkedIn - Black Circle
  • Vimeo - Black Circle
  • YouTube - Black Circle
bottom of page