abAutoRig II

March 4th, 2012

AbAutoRig version 2 is now available! You download it here.

It's full of new features and improvements to the original, including:

  • Face rigging tools are now included (as of version 6.4).
  • FK/IK Toes (as of version 6.3).
  • Ability to create simple hierarchical skeletons (Simple Skeleton, sometimes known as a shadow skeleton) that can be used to import your animation into various game engines (as of version 6.2).
  • A ribbon spine (new as of version 5.5).
  • A jaw (as of version 5.4) which gets rigged along with the head.
  • A new system of arm and leg joints, which allow for a no-flip shoulder (really!).
  • Manual override for forearm and lower leg twist.
  • Ability to specify up to six split joints for each limb section (upArm, foreArm, upLeg, and lowLeg).
  • The number of split joints can be adjusted after the skeleton has been created.
  • Individual FK controls for each finger joint that blend with the existing finger control attributes.
  • The ability to pose multiple finger joints via simple movement and rotation of master finger controls.
  • A new master spine control which allows you to pose complex spines quickly.
  • Improved control curves (CV hardness is now captured; wireReplacer works with multiple curve selections, and now has draggable curve rotation fields).
  • Arm, leg, and head align attributes and IK/FK spine attributes are now float values (instead of booleans), and can be smoothly blended.
  • Improved arm IK/FK setup and improved IK/FK switcher.
  • Improved default rotation orders on important controls.
  • Rig options (spine joint number, finger IK, align hands to world) are now saved to the skeleton when the rig is created and retained when the rig is removed and re-applied.
  • And much more!

Something Has Changed

This release will be a bit different than previous versions.  This time I'm releasing two versions of the script, and for the first time ever, one will not be free.

Supercrumbly Sells Out

This is the only script that I currently have any plans to sell.  Everything I've released for free will remain so.

Break It Down

So which of the above features do I plan to strip from the free version and charge for?

None of them.

All of the features listed above are in there.  So abAutoRig Standard is still a huge update to the previous version of the script.  What you will get with the Premium version are some of the more advanced features, like:

  • Stretchy FK/IK fingers and hands (new as of version 6.1).
  • Create FK blendable dynamically driven ikSplines using the "Make Stretch Spline From Curve" (new as of version 5.6).
  • Optional squash and stretch on arms, legs, and spine, and a lattice based version on the head. (new as of version 5.5).
  • Rubber hose arms and legs (new as of version 5.3).
  • The ability to create a skeleton in a non T-pose, which can then be recalled and bound to your mesh once the character has been rigged.
  • Up to three neck joints, including a master neck control.
  • Up to eight mid spine control curves, a master spine control, and an optional spine shaper control.
  • A fully featured character marking menu, complete with auto-matching IK/FK snapping, space switching, the ability to bake master control transforms to their child controls, and more.
  • A new stand alone space switching tool.
  • A new mirror pose tool.
  • A skeleton updater that allows you to quickly convert your old abAutoRig skeletons to skeletons that can be rigged with this version of the script.
  • A tool to change the default colors of your rig controls (colors which will be saved along with your control curves when you use the "Save Wires To Shelf Button" tool).

If you decide to buy a copy, I appreciate your support.  If not, no worries.  I hope you find the standard version a worthy upgrade.

How to Use It (The Short Version)

For those unfamiliar with the script, here's a quick rundown of how to use it.  You can also check out the post for the previous version here.

When working with the script you want to make sure that you move through the tabs of the UI from left to right.  Begin with the "Start" tab and end with "Hands".  If you don't, you'll lose big chunks of functionality that depend on other parts of the rig existing at the time of creation, features like space switching and adjustable rig settings.

Assuming you've copied the scripts and icons into their appropriate folders and have restarted Maya (or run the mel command "rehash"), you can bring up the script UI by running the following bit of mel in the command line (or script editor):

source abAutoRig.mel;abAutoRig();

Now let's begin at the "Start".

Start Tab

Enter your character name in the text field and click "Create a Skeleton".  A new window named "abSkeletonMaker" should pop up.  You'll use this to create a proxy skeleton which you can pose to match your character mesh.

Set the slider to the number of fingers that you wish your character to have and click the "Make Proxy Skeleton" button.  A stick-like character will appear in your viewport.  This is your Proxy Skeleton.  Move, scale and rotate it using the standard and group controls (red wire spheres).  Try and get it to conform as closely as possible to your character mesh.

Note that any locked channels you come across are locked for a reason.  Resist the urge to unlock them.

Once you're happy with your posed proxy, specify the number of split and spine joints, and click the "Build Skeleton" button.  By default, a button will be saved to your shelf that you can use to recall your proxy if you later find that you need to make adjustments.  Note that the number of split and spine joints you specify can be changed without rebuilding your skeleton, so don't get too hung up on those values (the defaults are a good place to start).

Spine Tab

The "Spine Root" and "Hip" fields should be filled in with your character's root and hip joints.  If not click "Refresh UI" in the "Options" menu.

The number of spine joints should be set to whatever value you specified in the Skeleton Builder.  This is the number of weight joints that will be distributed evenly along the ikSpline which is constrained to (and moves with) the spine control curves.

Enable the "Align Control Curves to Spine" checkbox if you want the spine control curves to align to their respective spine joints.  This means, in all likelihood, that the spine controls' Z axes will be offset from the world Z axis, which can be a hassle when animating.  You probably want to leave it disabled.

Click "Create Spine Rig".

Head/Neck Tab

Enable the "Hide Translate on Head/Neck Controls" checkbox if you don't intend to move the head and neck controls around and would like to prevent the translation attributes from cluttering up your channelBox.

Click "Create Head Rig".

Legs/Feet Tab

Here's where we get into the magical realm of split joints, and an important difference between this and previous versions of the script.  The up (upArm, upLeg), mid (elbow, knee), down (wrist, ankle), and split joints are now broken out into individual weight joints (joints to which you bind your mesh) and the underlying rig joints upon which they sit.  So now, instead of binding your mesh to and upArm joint, you'll bind it to an upArm_weight joint which is constrained to the upArm joint.  It's an additional bit of complexity that allows for much greater flexibility in dealing with limb joint X rotation.

The UpLeg and LowerLeg number split joint should match the number of split joints on your skeleton.  Note that you can change either of these values before creating the rig, but if you do, your existing split joints will be deleted.  This isn't a big deal if you haven't bound a mesh to the skeleton, but if you have, you'll have to add the newly created joints (influences) to your skinCluster and adjust your skin weights accordingly.

You're almost done, but before you can rig the leg, you have to specify where the heel should be positioned.  Click the "Create Heel Locator", and two locators will appear, one under each ankle.  Move the locator under the character's left ankle to the position where the foot should pivot on the heel.

When you're happy with the heel position and number of split joints, click "Create Leg Rig".

Arms Tab

The arm split joint sliders are like those for the legs.  The only other arm option on the "Arms" tab is the "Align Hand IK to World Axes" checkbox.  Disable to align the hand IK control to the wrist/hand joints instead of the world axes.  This can cause issues when working with animation cycles, and unless you have a good reason (which I can't think of), you should just leave it checked.

Click "Create Arm Rig".

Hands Tab

The final tab, "Hands", has one checkbox: "Create IK Finger Controls".  Enable it if you want your rig to include the option to manipulate the fingers with individual IK controls.

Click the "Create Hand Rig" button, and you're done!

Rig Settings

The Rig Settings Control holds attributes that govern other parts of the rig.  A couple of important examples:

The master controls (spineMaster_ctrl and neckMaster_ctrl) have attributes on the rigSettings_ctrl that specify the amount of translation and rotation inherited by each child control curve.  You can adjust these values to tweak the way movement is distributed among the control curves.  Note that values for each control should add up to 1.0, otherwise the movement of the child curves won't match that of the master control.

The rotations of split joints are another important set of attributes that are carried on the rigSettings_ctrl.  It will have an attribute for each split joint in your rig.  You can adjust these values to specify the amount of the upper (in the case of the upArm and upLeg splits) or lower joint's (foreArm and lowLeg) twist (X rotation) that each split joint will inherit.

Two notes here: first, the split joint rotation values do not have to add up to one, and second, the rig's upArm and upLeg split joints (if they exist) will carry all of the upArm and upLeg X rotation.  The shoulder and upLeg have no X rotation, unless there are no split joints.

The Tools Menu

Here's a quick run through of the items in the "Tools" menu.

Note that several tools require a rig to be selected before they will work.  All it means for a rig to be "selected" is that one or more of its control curves are selected.

The tools menu contains:

Select All Character Controls:  Select all of the control curves for the currently selected rig.  

Skeleton Maker:  Bring up the Skeleton Maker UI.

Rig Remover:  A tool to remove all or part of a rig from a skeleton.

Weight Joint Selector:  A UI to help you select the weight joints for binding a mesh to its skeleton.

Skeleton Updater (Premium):  A tool that enables you to update your abAutoRig v. 1 skeleton to a type that will work with the current version of the script.  The existing rig must be removed from the skeleton before it can be updated (remember to save your wires first).

Install Character Marking Menu (Premium):  Click to install and select the hotkey for the abAutoRig character marking menu.

Joint Orientation Tool:  A simple tool to rotate the local rotation axes of joints on your skeleton.  You shouldn't need to use this one.

Change Rotation Order Tool:  Use this tool to change the rotation order of a control curve while preserving any existing animation on it.  If there are no keyframes set on the control, you should change the rotation order with the attribute editor.

Stretchy Spline From Curve:  Create a stretchable, ikSpline based joint chain from a curve.

Wire Replacer:  Customize your rig's control curves by choosing from a library of shapes, all of which can be rotated, resized, and mirrored.

Wire Color Control (Premium):  Quickly change the default colors of the control curves on the currently selected rig.

Save Wires To Shelf:  Save the currently selected character's customized control curve shapes (and colors, if you're using abAutoRig Premium) to a shelf button for later recall.  Note that if you hold the control key while you click the saved shelf button, only the currently selected control curves will be restored.

Quick Create Character Set:  Create a character set for the currently selected rig.

Make abxPicker Character Sheet:  Creates a node that will show up as a character UI when using the abxPicker script (I know it starts with "ab", but I didn't write it).  If you have an awesome customized character sheet that you've created for an abAutoRig rig (and you want to share), please send it my way and I'll incorporate it into the script.

Show IK/FK Snap UI:  Bring up the IK/FK snap UI for the currently selected rig.

Make IK/FK Snap UI Shelf Button:  Creates a shelf button that, when clicked, will display the IK/FK snap UI for the currently selected rig.

Space Switcher (Premium):  A space switching UI.

Space Switch Matcher:  Copy and paste control curve positions across keyed space switches.

Mirror Pose Tool (Premium):  An easy way to mirror your character's poses.

Reset Character To Default Pose:  Resets the currently selected rig to its default T-pose.

Reset Selected Control Curves To Default:  Resets only the currently selected control curves to their default positions.

Reset Character To Proxy Pose (Premium):  Resets the currently selected rig to the last pose of the proxy before being turned into a skeleton.

So There It Is

That's it for now.  Don't forget to use the new "Check for Updates" item in the "Help" menu of the script.  I probably went a little overboard on it, but it should be pretty useful.

I plan to post some run through videos soon, so keep an eye out for those, and be sure to email me with any feedback that you might have.  It's always appreciated.


Updates

Version 3.4
October 23rd, 2011 Fixed issue with hand not snapping from IK to FK and FK to IK using IK/FK snap UI.
Version 3.5
October 24th, 2011 stuff you couldn't do before.  Skeletons will be created in T-Pose, but once the character is rigged, you can use the "Reset Character To Proxy Pose" option to recall the proxy pose and bind your mesh.  Note that the skeleton still needs to be rigged in the T-Pose, so always return to the default pose before removing or rebuilding part of the rig.
Version 3.6
October 31st, 2011 Lots of new hand controls.  Added Fk Controls to fingers (enable with "fkFingerCtrlVis" on "handCtrl") and finger curl controls (enable with "fingerMasterCtrlVis" on "handCtrl").  "Wire Replace UI" now works on multiple object selections (where appropriate).  Removed "Auto Build IK/FK Snap UI Button" (threw errors in 2012 service pack 1) and added "Show IK/FK Snap UI" to "Tools".
Version 3.7
November 1st, 2011 Skeletons recalled from shelf button saves no longer respect settings in skeletonMakerUI (fingerNum), which is the way it should be.
Version 3.8
November 4th, 2011 Option for up to three neck joints, and up to 8 spine control curves.  Spines of more than three joints can be created with or without a spineShaper control.  Added neckMasterCtrl to move multiple joints at once.  Spine (and now neck) controls' "useRootSpace" attribute is now a float value instead of a boolean (and so can be blended).  Got rid of Head IK control and moved its functions to the head control curve.  If you hold the Control key and click on a Proxy Save shelf button, the proxy will be created with the fingerNum, spineNum, and neckNum specified in the skeletonBuilder UI.  Otherwise it's rebuilt as it was saved, regardless of the settings in the UI.  Shelf buttons should now work when the script hasn't been sourced.  Main UI checkboxes now remember their settings.
Version 3.9
November 6th, 2011 Added "Wire Color Control" tool to "Tools" menu.  Select a control curve on your rig and run it.  Colors are updated as you adjust the sliders.  "Save Wires To Shelf" tool now saves control color in addition to curve information.  Hold Shift when clicking a Wire Save shelf button to restore only the control colors (not shape info) to the selected rig.  Remember, you can also hold Control when clicking a Wire Save button to restrict the restore to only the selected control curves.
Version 3.9.2
November 7th, 2011 Rig build options (number of weightSpineJnts, fingerIK, etc.) are saved in the skeleton and loaded in the UI when a character is selected.  RigRemover will no longer remove parts of the rig out of order.  Rearranged "Tools" menu.
Version 3.9.3
November 8th, 2011 Added masterSpine_ctrl.  Can be used like masterNeck_ctrl to rotate and move all of the spine controls above the COG.  The influence of the master over each control can be specified in "Spine Master Control" section of attributes on the "rigSettings_ctrl".
Version 3.9.4
November 9th, 2011 Added "Space Switcher" Tool to "Tools" menu.  Switch spaces on a selected control while maintaining its position in worldSpace.
Version 4.0
November 10th, 2011 Added ability to rotate wires to "Wire Replacer".  Changed some of the default control curve types (finger FK is now a flattened circle instead of a sphere).  Improved control curve quality.  Sharp corners and curves living happily together on the same curve.  Lots of wire related bug fixes.
Version 4.1
November 11th, 2011 Changed rotationOrder on FK limb controls.  Added "Mirror Pose" tool to "Tools" menu.
Version 4.2
November 17th, 2011 IK/FK snap should now work with new hand setup.
Version 4.3
November 30th, 2011 Added "Master Spine Ctrl" to hand and finger spaces.  Improved hand setup and IK/FK snapping.  Renamed "spineSplitRot_ctrl" "rigSettings_ctrl".
Version 4.4
December 2nd, 2011 gear_1, gear_2, twister_1, and twister_2.  Further improved stability of hand setup.
Version 4.4.1
December 4th, 2011 Fixed some skeleton proxy bugs.  Adjusting "Spine Num:" and "Neck Num:" values in skeletonBuilder will change the number of each for the active proxy skeleton.
Version 4.4.2
December 5th, 2011 Locked all but active rotation axis on elbow fk control.
Version 4.5
December 8th, 2011 existing skeletons will have to be reweighted to the new weight joints.
Version 4.6
December 13th, 2011 Arm, Leg and Spine weight joints are now created when a skeleton is built (no more having to build a rig to create weight joints).  Removed Insert Split Joints tool.
Version 4.7
December 23rd, 2011 Added "Head/Neck" to Weight Joint Selector.  Added "Skeleton Updater" to the advanced version of the script.
Version 4.8
December 23rd, 2011 Added character Marking Menu to advanced version of the script.  Use "Install Character Marking Menu" option in the "Tools" menu to assign it to a hotkey.
Version 4.8.1
January 9th, 2011 Updated skeletons use correct charName even if not set in UI.  Fixed neck joint selection issue in weight joint selector.
Version 4.8.2
January 10th, 2011 Weight joints are no longer all deleted when the up or down number of splits changes.
Version 4.8.5
January 16th, 2011 Legs stretch again.  More robust workflow for skeleton updating.  Added ability to bake masterSpine and masterNeck rotations to influenced controls.
Version 4.9
January 20th, 2011 Finger master controls can now be moved up and down to adjust mid and tip curl relative to base curl.  Curl amount for .ty movement can be set with the "midCurlCtrlSpeed" and "tipCurlCtrlSpeed" attributes on the rigSettings ctrl.
Version 4.9.5
January 22nd, 2011 Added the ability to bake masterFinger controls to either the FK finger controls or the finger attributes on the hand_ctrl.  In IK mode SpineCtrl curves are now parented to the cogCtrl.  Switched "useRootSpace" attribute on spine curves to "useCogSpace".
Update/Bug Fix
January 25th, 2012 Added the ability to bake masterFinger controls to either the FK finger controls or the finger attributes on the hand_ctrl.  In IK mode SpineCtrl curves are now parented to the cogCtrl.  Switched "useRootSpace" attribute on spine curves to "useCogSpace".
Version 5.0
February 28th, 2012 Not really a feature, but there are now two versions of abAutoRig: standard and premium.
Version 5.1
March 8th, 2012 Improved align functionality on neck controls (it now rotates with the rootCtrl); added useRootSpace attribute to mid neck controls;  Fixed naming issue (certain rig components were missing part of their names);  Completely split premium and standard into two separate scripts instead of piggybacking one on the other (reduces a bunch of sourcing complexity);
Version 5.11
March 12th, 2012 Fixed issue where the script wasn't properly inited when called only from the marking menu.  Use the "Install Marking Menu" tool to remove and reinstall the marking menu to update.
Version 5.13
March 15th, 2012 Proxies can now optionally be built in the proxy pose (though you should still build in the T-Pose).
Version 5.2
March 31st, 2012 Added choice to omit spineShaper when creating a character with three spine controls (Premium).  Fixed issues with marking menu installer (Premium).  Added two new color categories for left and right finger controls (Premium).  Clavicle and Finger control curves are now colored like their respective arm controls.
Version 5.21
April 2nd, 2012 Improved robustness of upleg and knee orientation on skeleton creation, which should prevent rotation issues on upleg split joints reported by Droo.
Version 5.3
April 24th, 2012 Added the option to create rubberhose limbs (Premium).  Hooray!!

Added "useAimTwist" attribute to hand and foot ctrl curves.  Enabled (set to one) it will use the previous aim constraint method of reading twist from wrist and ankle joints, set to zero it will use a ikHandle based reader, which is less prone to flipping.

Note that there is now no distinction in the way the upper and lower limb split joint twist values on the rigSettings_ctrl are interpreted.  Each value is now specified as the percentage (0 to 1) of the limb section's total twist that the split joint should inherit.

Version 5.4
May 1st, 2012 Added a set of jaw joints which get rigged along with the head.  Delete them before rigging if you don't need a jaw.
Version 5.5
May 14th, 2012 Added ribbon spine with squash and stretch (S&S is Premium-only).  Arms and legs now support S&S (Premium), as well.

For each S&S system, there is a set of attributes created on the cogCtrl, footCtrl, or handCtrl curves (based on the part of the rig being created with S&S) and another set added to the rigSettings curve.  The limb ctrl curve (cog, foot, or hand) will hold two new S&S attributes:

  • autoSquashStretch: Enable for stretch to be calculated automatically.
  • squashStretch: If "autoSquashStretch" is disabled (set to zero), you can use this attribute to manually adjust the amount of S&S.

The rigSettings ctrl will receive the following Squash and Stretch attributes:

  • limbMaxStretchAmt: The minimum value beyond which the joints will not scale when the limb is stretched.
  • limbStretchSpeed: Determines how quickly the limb S&S value will reach its maxStretchAmt scale when stretched.
  • limbMaxSquashAmt: The maximum value beyond which the joints will not scale when the limb is squashed.
  • limbSquashSpeed: How quickly the limb S&S value will reach its maxSquashAmt scale when squashed.
  • multiple limb_n_SsScale attributes: A zero to one value that specifies the amount of Squash and Stretch driven scale that a given joint will inherit.

Added option for adding lattice based S&S to the head (Premium), which can be applied any time after the head rig has been built.  Added Eye and Jaw selector buttons to Weight Joint Selector.  UpLimb joints now have attribute to specify twist inherit on the rigSettingsCtrl curve.  Fixed bugs with the rubberhose arms that caused the wrist to be flippy.  Fixed issue with rubberhose UI not updating correctly.

Note that scaling joints (as the rig does to create Squash and Stretch) can cause issues when working with Dual Quaternion skinned meshes.  I'm not sure why, but it doesn't happen when the "Classic Linear" skinning method is selected in the skinCluster node.

Version 5.6
May 18th, 2012 New features for the "Make Stretchy Spline" tool.  Added the ability to specify the pivot orientation and size of the FK control curves (Standard and Premium).  Added the option to "Add Dynamics" which creates a dynamically driven ikSpline that can be blended with the standard FK spline (Premium).  Great for stuff like antennas.

Added "HeadSqStrLatticeVis" attribute to the rigSettingsCtrlCrv when the Head Squash and Stretch Rig is applied (Premium).

Version 5.61
June 4th, 2012 Added option to rotate a joint's local rotation axes (LRAs) by a custom amount in the "Joint Orient Rotation Tool".  Fixed issue with split joints not appearing when the upper or lower number of splits is set to zero.
Version 5.7
June 14th, 2012 Fixed issue with wrist joint not following the arm (Standard and Premium).  Don't know how I missed it, but it was introduced in one of the last updates.  Fixed bad wrist rotation values (too high) causing over rotation (Standard and Premium).  Let's not speak of version 5.61 ever again.

Added translateable hip and shoulder controls (with visibility controls on the foot and hand control curves) (Premium).  Added rubberhose controls for knees and elbows to move them independently of the limb joint chain (Premium).  Adjusted default S+S values.

Version 5.71
July 11th, 2012 Added "localAlign" to controls with "align" attribute (Standard and Premium).  If enabled, FK controls with "align" set to 1 will only align to compensate for the shoulder (arms) or hip (legs) controls.  Any control or joint rotations in the hierarchy above those will not be compensated for.  Hard to explain.  Play around with it and you'll get it.  Also added "Space Switch Matcher" to the Marking Menu.
Version 5.72
August 2nd, 2012 Fixed issue that threw an error when attempting to apply S+S to the head for the first time.
Version 5.73
August 4th, 2012 Fixed issues with functions that relied on curve selection (to specify a character) not working with referenced or multiple characters in a scene (spaceSwitcher, IK/FK snap, Save Wires to Shelf, etc).  Fixed overlapping varName issue that could occur when scaling control curves with wireReplaceUI.
Version 5.74
August 11th, 2012 Added the option for the foot IK control curve to rotate about the ankle instead of the heel.
Version 5.75
August 13th, 2012 The Ik/Fk Snap UI  now switches the ikFkBlend attribute on the affected limb to display the "matched" limb (IK or FK).  Added the option of a more advanced abxPicker character sheet (thanks Rey!).
Version 5.76
August 15th, 2012 Removed old IK/FK Snap UI and replaced it with a more universal UI based on the Marking Menu version.  No more selecting namespaces: select a control related to the limb (the recognized controls have been expanded to the finger, shoulder and hip controls) and click a button to switch.  Replaced Snap UI entries in the "Tools" menu with "Show IK/FK Snap UI" and "Show IK/FK Toggle UI."  Hold ctrl(command)+shift and click one of the Snap UI "Tool" menu items to create a shelf button.
Version 5.77
August 21st, 2012 "Recall Proxy Pose" now recalls wrist rotation (Premium).  MasterFingerControls align to the fingers correctly when hand is built with X rotation (no longer aligns to world axes).  Added features to abxPicker "Advanced" template.  Added missing "Select All Character Controls" function to Standard version.
Version 5.78
August 30th, 2012 Arm and leg weight joints can now be created in a hierarchy instead of free floating (which may help with skinning issues).  Set by clicking the "Create Hierarchical Limb Weight Joints" checkbox in Skeleton Maker.  Added "Apply All Rotations To Mirror Joint" to Joint Orient Tool.  Added the low spine control curve to those affected by the MasterSpineCtrl.  Improved finger IK: tip rotation is now bound to the finger IK control with an ikHandle instead of an orientConstraint.  As a result the finger tips rotate more realistically when the finger IK is stretched.  Added "Unstickify IK Limb" to the "Tools" menu.  Use it if an IK limb isn't solving correctly (select a control curve on the affected limb and click "Unstickify IK Limb").

Added abAutoRigAnimatorTools to Premium.  It allows animators who don't need any of abAutoRig's rigging tools access to its animation tools, like the marking menu, IK/FK snapping, space switching, etc.  You are welcome to use it with any number of animators working on a project with at least one registered copy of abAutoRig Premium.  However, because the tools overlap some of those in Premium, you are not allowed to redistribute it.   Please do not include it with any characters rigged with abAutoRig that you release to the public.  Doing so would be severely uncool.

Version 5.781
September 3rd, 2012 Ok, so "new improved IK fingers" not so much.  Sorry about that.  Back to how it was.
Version 5.79
September 11th, 2012 This update is all about the wires:
  • Wire saves are restored in object space which allows applying wire schemes from other characters (thanks leonsooi!).
  • Lots of improvements to the Wire Replace UI.
  • Wire rotation, axis and scale are now saved inside the curves.
  • Wires now adjustable in place (they won't snap back to their parent origin).
  • Improved several wire shapes.
  • Added "Center On Pivot" which will center the selected wires on their pivots (good for reseting PV controls after applying wires saved from a different character).
  • Added "Center On Object" which will center a selected wire on a selected object.
  • Split the copy function into "Copy From To (Absolute)" and "Copy From To (Relative)."  Use the second to copy from one to many.
  • Improved the way in which wires are rotated.
Version 5.791
September 26th, 2012
  • Added terms of use.
  • Eyes no longer roll when character rootCon is rotated (thanks Arron!).
  • Fixed issue with incorrect upLimb split joint rotation when shoulder or hip controls were translated (thanks Szabolcs!).
  • Compatibility fixes for Maya 2010.
Version 5.792
November 16th, 2012 UpLimb joints and splits should rotate correctly once again (Standard and Premium).
Version 5.793
November 17th, 2012 Fixed issue rigging arms and legs on characters with no split joints.
Version 5.8
November 29th, 2012 All fixes Premium specific:
  • Hugely improved wrist joint rotation with rubberHose (RH) limbs (it's now much less flippy).  RH wrist joint also now responds correctly to manual twist control inputs.
  • Now, when there is more than one lower limb split joint, the last split is point constrained to its ribbon follicle instead of parent constrained, which eliminates potential over rotation.
  • Added secondary FK controls to the upLeg, ankle, upArm, and wrist FK controls (which are hidden by default).
  • Moved discreet FK and IK switch menu items to "FK/IK Switch" sub menu and added "Toggle FK/IK" to the "E" position on the character marking menu.
Version 5.81 (internal only)
January 10th, 2013 All fixes Premium specific:
  • Changed abRTMakeSplitJointTargetLoc function so upLimb aimLocs are parented to a dummy joint which is connected the the twisting upJnt via connectAttr (t, r, and s).  The result is that rubberHose limbs (mostly the left one) should no longer lock after having been stretched (assuming the "stretchyLimb" attribute is enabled).  Thanks to Ozgur for all the help in troubleshooting this and various other esoteric issues.
  • Knee and elbow sharpnesses now default to three.
  • "Add Elbow RH Control" is now enabled by default.
  • Weight joints are now attached to rootCtrl "skeletonVis" attribute when created.
  • Fk/Ik toggle will now behave correctly when multiple controls on the same limb are selected.
Version 5.9
January 10th, 2013 All fixes Premium specific:

Moved Reset Pose functions to new script menu named "Reset Pose" and added three new menu items:

  • "Set Current Pose As Default" -- Group freeze (or move previously created zeroFreezeGroups of) all the controls of the currently selected character so that the current pose will become the character's default pose (in this way, you can set your proxy pose as the default pose).
  • "Restore Build Pose As Default" -- Add zeroFreezeGroups with no offset (or zero out the translation and rotation values of existing zeroFreezeGroups) so that the build pose will become the character's default pose.
  • "Remove Zero Pose Freeze Groups" -- Remove all zeroFreezeGroups from the selected character so that the build pose will become the character's default pose.

To allow poses to be reset, the PV and several spine controls are group frozen instead of having their transforms frozen.

Also:

  • Added knee and elbow softness attributes to foot and hand controls, respectively, which replace the knee and elbow sharpness sliders in the UI.  Rigs are no longer limited to a single knee or elbow sharpness; it's now adjustable (and called "softness").
  • Added Master and subMaster controls (hidden by default), accessible via visibility attributes on the rootCtrl.
  • The "skeletonVis" attribute on rootCtrl now toggles display override of the skeleton group (connecting it to visibility was causing issues with sticky IK limbs for some reason).
  • Added translation attributes to clavicle controls, and changed clavicle control suffix to "_ctrl" from "_fk_ctrl".
  • Tweaked abRTGetMirrorObj() so that it now attempts to match by name first (it should be much faster and more reliable).
Version 5.91
January 14th, 2013
  • Fixed shoulder flipping issue.
  • Moved clavicle translation attributes to clavicleTrans_ctrl, visibility of which is toggled from clavicle control.
  • Restored previous clavicle_ctrl rotation orientation.
  • Minor fixes to "Mirror Pose" and "Set Current Pose As Default".
Version 5.92
January 18th, 2013 Improved rotations of end split joint(s) on rubberHose limbs.
Version 6.0
February 15th, 2013 Lots of Improvements to split joint weighting in this one.

  • Added "Split Joint Weighter" to "Tools" menu.  It's a UI to help quickly set the twist contributions of multiple upLimb split joints by specifying the first and last joint twist amounts (I recommend beginning with a start value of .4).

  • Added "Set Split Joint Weight Defaults" and "Revert To Default Split Weight Settings" to the "Options" menu.  Note that split joint weight settings are saved inside the skeleton of a rig, so when you load a character that has previously been rigged into the UI, its default split weight settings will overwrite the previous default settings.  Use "Revert To Default Split Weight Settings" to get back to the default settings.

  • Added buttons to adjust the split joint settings to the "Leg" and "Arm" tabs of the UI.

  • Elbows and knees are now rotatable in both Z and Y.  Rotating them in their secondary axis will contribute to the upLimb twist.  You can disable this twist contribution by setting the "midJntUpLimbTwistScalar" attribute (found on the hand and foot control curves) to zero.  Note that switching limbs with non-zero secondary rotations from FK to IK will sometimes display twist discrepancies (yes dear reader, the very same twist discrepancy issue first elucidated upon by the esteemed F. S. Scrimmenhour in the year 1843).

  • The default elbow FK control rotationOrder is now "xzy", and the default knee FK control rotationOrder is "xyz".

  • Added "upLimbAutoTwist", "upLimbTwist", "upLimbTwistScalar", and "midJntUpLimbTwistScalar" (mentioned above) attributes to the hand and foot control curves.  If "upLimbAutoTwist" is 1, the upLimb will rotate as it always has and the "upLimbTwist" can be used to modify the twist amount.  If "upLimbAutoTwist" is 0, the upLimb will only rotate based on the value of "upLimbTwist".  "upLimbTwistScalar" allow you to adjust how much of the actual twist reader's rotation is fed to the twist joints.

  • Mid RH control is no longer dual constrained to the up and mid limb joints (fixes an issue with the mid joint flipping at full extension in earlier versions of Maya).

  • Added shoulder and hip controls that were being missed to mirrorPoseUI.

  • UpCtrlParentSplitJnt is now reverse rotated to offset upArmJnt rotation when setting up non-RH limbs with split joints.

  • Exposed rotate attributes on PV controls to allow spaceSwitching to match rotation.

Version 6.01
February 16th, 2013
  • Increased the separation of the knots (which slide to set the elbow/knee sharpmess) on either side of the mid joint knot by .005 cm to prevent a flip which could occur in a very narrow range of rotation near ninety degrees.  The sharpness knots offset amount is now a global value, "rhMidJointInitRibbonKnotOffset", which you can set to suit your character (though you shouldn't have to).

  • Discovered a flip on the first low limb split joint in an extremely narrow range which turns out to be a Maya bug.  You can find a description and script fix here.

Version 6.02
February 25th, 2013
  • Added 'Use "Rivet.mel" To Attach RH Joints To Ribbon' to the "Options" menu.  If enabled, joints will be attached to rubberHose (RH) limbs using "rivets," created by the "rivet.mel" script, instead of follicles.  The advantage of this you avoid a Maya bug that causes follicles to flip when the ribbon to which they are attached is bent exactly ninety degrees.  Note that you must have "rivet.mel" (which you should be able to find here) somewhere in your script path for this option to be available.

  • Added "Freebies" folder that contains an unreleased version of abScriptMenu 2.0.  New to this version is the ability customize the order in which the scripts are listed in the menus, the ability to add dividers to your menus, and a "Recent Script" menu, which lists the last ten (by default) scripts that you've run. I'll probably release it for free soon, but until then please don't redistribute this copy.

Version 6.03
April 21st, 2013 Updated "abRTDuplicateJointHierarchy" function to correct for crash when rigging legs in Maya 2014.
Version 6.1
April 26th, 2013 All fixes Premium specific:
  • Added stretch attributes to fingers and hands (both FK and IK).
  • Added attributes that allow you to specify finger spread and roll inheritance for mid and tip joints.
  • Consolidated and clarified the arrangement of the finger attributes on the hand control.
  • Updated the Weight Joint Selector to include the end joints when selecting fingers (required for the finger stretch to work correctly).
Version 6.2
June 10th, 2013 Added "Simple Skeleton Creator" option to "Tools" menu.  It creates a simple hierarchical skeleton that can be imported into game engines.  

Note that there must be an existing (abAutoRig created) skeleton in your scene before you can use it.

The basic workflow is:

  • Click the "Simple Skeleton Creator" item in the "Tools" menu to bring up the UI.
  • Select your base skeleton in the "Guide Skeleton Name" menu and click "Create Simple Skeleton For Selected Guide Skeleton" to create your simple skeleton.
  • Rig your original base skeleton.
  • Bind your mesh to your simple skeleton.
  • Click the "Attach Simple Skeleton To Guide" button or the "Attach Simple Skeleton To Guide (No Scale)" to attach your simple skeleton to your original rigged skeleton.  Note: you can use the "No Scale" button for game engines that don't like scaling joints, just realize that you'll lose any joint based squash and stretch from the original rig.
  • Animate!
Version 6.3
October 25th, 2013 All fixes Premium specific:
  • Added Toes (and all that entails).
  • Simple Skeleton Creator now works with less than five fingers.
  • Weight Joint Selector now selects spine joints correctly on Simple Skeletons.
  • Also in Weight Joint Selector: broke head and neck selection into two buttons, added left and right clavicle selection buttons (as well as adding them to "All Default Weight Joints" selection).
  • Added new shapes to Wire Replacer ("octagonDouble","octagonDoubleSpoked","octagon","octagonSpoked","lollipop", and "lollipopFlattened").
  • Added "revHeelRoll" and "revBallRoll" attributes to the IK foot controls.
Version 6.4
March 4th, 2014 All updates Premium specific:
  • Changed the way the jaw and eye joints are set up.
  • Added chin and jaw mover controls (hidden by default).  Jaw_c_jnt is no longer a child of jaw_b_jnt, and can be moved independently of it, if desired.
  • Added eyeMover joints which allow for the eyss to be moved with the eyeMover controls (hidden by default, visibility attributes located on the left and right eye controls).  This is especially useful when setting up face rigs with abFaceRigTools (you can parent your brows, up and low lid weight joints to the eyeMover joints).
  • Added "Transfer Weights From Guide To Simple Skeleton" and "Transfer Weights From Simple Skeleton To Guide" buttons to the Simple Skeleton UI for one click weight transfers.
  • Fixed an issue that prevented a few joints on a Simple Skeleton (ringCup and single neck) from being bound to the Guide.
  • Removed "Skeleton Updater" from "Tools" menu (no longer needed).
  • abFaceRigTools now included!
  • Also, Holy Smokes!  Today's abAutoRig II's two year anniversary!
Version 6.5
March 12th, 2014 All updates Premium specific:
  • Added new worldSpacePivotCtrl (hidden by default; vis attribute on the rootCtrl), which defines worldSpace for all controls on which it appears.
  • Added "cogCtrl" space to most controls with space switching (you can now rotate the entire character around the cog, if desired).
  • Added "Move Cog, Root, Or WorldSpace Controls" to the "Tools" menu. Use it to move the rootCtrl, worldSpacePivotCtrl, and cogCtrl relative to the rest of the rig (e.g. if you want your character to perform a somersault jump and you want to rotate the entire rig around the upper torso). Use "Set Current Pose As Default" (in the "Reset Pose" menu) after moving controls if you want to this to be your new default pose, otherwise the rig will re-assume its original pose when you click the "Reset Character To Default Pose" button.  If you have existing animation on the rig, note that "Set Current Pose As Default" adds a layer of freezeGroups to all controls.
  • Added "Add A New Control Space" to the "Tools" menu, which allows you to set up your own spaces on rig controls.  Use it very carefully, and only if you know what you're doing (it's not exactly reversible at the moment).  On second thought, don't use it.  I think I might have made a terrible mistake.
  • Exposed space switching on the cog, hip, and spine controls.
  • Added "locator" and "diamondCross" curves to wireReplace UI.
  • EyeMover controls are now properly prefixed.
  • Removed "Unstickify IK Limb" from "Tools" menu (hasn't been an issue for a while).
Version 6.52
April 2nd, 2014 Unlocked a few previously locked rotation attributes on the Skeleton Proxy (Premium only):
  • UpLeg and foot grpLocs can now rotate in Z.
  • UpArm grpLocs can rotate in X.
Version 6.52b
May 27th, 2014 Updated abFaceRigTools to improve Maya 2013 compatibility (v. 1.12).  No changes to abAutoRig.
Version 6.53
September 22nd, 2014 All updates Premium specific:
  • Unlocked a few previously locked rotation attributes on the skeleton proxy: upLeg and foot grpLocs can now rotate in Z, and upArm grpLocs can rotate in X.
  • Fixed "Out of Range" error when rigging arms.
Version 6.54
September 24th, 2014 All updates Premium specific:
  • Proxy Skeletons are now displayed with bones connecting the controls instead of lines (set your preference in the skeletonMaker "Options" menu).
  • Increased default size of proxy locators to 0.7 from 0.4 (changed value of "proxyLocScale" in abRTGlobals function).
Version 6.55
April 27th, 2015 Changed orientation of thumb proxy locs and grpLoc to allow for easier adjustment.
Version 6.57
May 21st, 2015 All updates are Premium specific.  Which has kind of been a trend lately.  So, to make things easier, just assume from here on out that all updates are Premium specific, unless otherwise noted.

And with that, here's what's changed:

  • You can add toes to the proxy again.
  • Removed auto proxy updates when adjusting the "Spine Ctrl Num" and "Neck Num" int sliders in abSkeletonMaker.
  • Added a new method of creating Marking Menu for Maya 2016 and up (because the new Hotkey Editor isn't doing what I want, wah!).
Version 6.58
July 14th, 2015 Auto Keyframe is automatically disabled in Maya 2016 SP1, because otherwise it slows the script to a crawl.
Version 6.6
August 19th, 2015 abAutoRig is unchanged, but abFaceRig has been completely overhauled.  I'll post a demo video soon.
Version 6.6a
September 18th, 2015
  • A bunch of abFaceRigTools fixes.
  • New version naming scheme will use an alpha suffix to indicate when there have been changes to abFaceRigTools only (and not abAutoRig).
Version 6.6b
November 3rd, 2015 Updated abFaceRigTools to version 2.11:
  • Added version check for using "menuItem -dividerLabel" flag.
Version 6.61
February 17th, 2016
  • Added "Find Clashing Nodes" and "Rename Clashing Nodes" to "Tools" menu.
  • Newly built rigs should no longer have any name clashing nodes.
  • Improved build orientation of hand_ctrl curves.
  • Finger joint orientation has been improved for skeletons created in their proxy pose (not that you should build them that way -- if you do, though, they'll at least be oriented a little bit better).
Version 6.62
March 2nd, 2016
  • Fixed an error that could occur when transferring weights in the Simple Skeleton UI (SSU).
  • Added "Filter Skeletons By Type" to new "Options" menu in the SSU.  If enabled, only Simple Skeletons will be displayed in the SSU "Simple Skeleton Name" option menu.  Simple Skeletons created with older versions of the script won't be detected (which is why I added the option).
Version 6.63
March 28th, 2016
  • Fixed issue where the thumb joints weren't included with the rest of the proxy when saved to a shelf button.
Version 6.63
August 31st, 2016 AbAutoRig Premium is now free!
Version 6.66
November 29th, 2016 Inclusive of versions 6.64 through 6.66:
  • Added "ringCup" and "pinkyCup" attributes to hand_ctrl, and relevant ring or pinky base FK controls.
  • Hid connected vis attribute on worldSpaceCtrl.
  • Wrist twist target locator (that determines forearm twist when hand_ctrl.useAimTwist is true) is now aligned to world axes when "Align Hand IK To World Axes" is enabled.  Should result in more accurate split joint rotations, especially when the the hand is rotated significantly relative to the forearm.
  • Removed re-declarations that were causing warnings in Maya 2017.

buy stuff

"abAutoRig II" was posted on March 4th, 2012 under Mel Scripts.  It was created using Maya.  It is tagged with Animation, Autorig, Character, Rig and Rigging.

This entry was last updated on November 29th, 2016.

Subscribe to the Comments Feed or Updates Feed for this entry.

Share |

comments

August 19th, 2015 said:

I just uploaded version 6.6 of abAutoRig.

While there are no changes to abAutoRig, abFaceRigTools has seen a ton of improvements.  It's easier to demonstrate than explain, so I'll be posting a demo video soon.

February 10th, 2016 said:

Hi crumbly, I always use your ab auto rig premium. I use the 6.6a version and I believe I've found a little bug. I've got some problem with master scale after I've attached my face rig (built with my procedure, not made by your face tool). I've found out that there is a double connection with the group of head control called "RIG_head_rig_grp" group, that takes the single total scale value from the "RIG_head_a_jnt" joint and the three value of scale (x,y,z) even from the "RIG_root_ctrl" control. So this makes error with the scale of my face rig when you use the master scale of the character. If I break the connection with the joint all is fixed and works well. I hope to help you with the debug of the auto rig!

Clare Swift
March 15th, 2016 said:

In version 6.5 You added "Add A New Control Space" to the "Tools" menu, then suggested it not be used. Has that been updated/modified to be OK to use?

April 2nd, 2016 said:

Hi, Crumbly, I've been recently experiencing issues with the plugin. It was working fine before, and did a bunch of animations with it. but now all of a sudden when I build my skeleton from the proxy, the spine joints aren't showing up, the ball joints are not attached, and I cannot select the hierarchy of the spine/joints to skin my model/geo to.

I was using the 6.03, and I just purchased the Premium rig, and they are both doing the same thing. I was animating with it in Maya 2015, but when I needed to rerig in a whole new project, the issue started occuring. I even tested in 2012 x64, same thing.

Please I need help!

April 4th, 2016 said:

Hey All,

Sorry, it seems like I've been absent.  Gmail's been sending all of my site notifications to spam, so I had no idea there were unaddressed comments here.

Michele and Shandy Tam emailed me with their issues, which should be sorted out. The answer to your question, Clare, is that no, the custom space feature has not been updated or modified.  I was being kind of flippant when I said not to use it.  If you know what you're doing, you should be fine (and you should be fine).  The biggest issues are that it's not reversible, and that you can possibly get yourself into a cycle check situation.  Obviously, you want to test it on a copy first.

Robert
June 1st, 2016 said:

Any plans to make a quadruped version?

Pious Nyenyewa
August 19th, 2016 said:

Hi

Any chance the pro version is gonna be up for premium download anytime soon. Been waiting for months now, yeah!

August 24th, 2016 said:

Hey Pious,

Thanks for asking!  And sorry for the delay in getting back to you, but that's one of the reasons I removed the download -- I just haven't had as much time to devote to it lately as I have in the past.

The other reason I pulled it for a while, is because I've decided to make it free. I didn't think it was fair to those who had recently purchased it to make that switch over night.  Look for it to be available for download sometime early next month.

Alvaro
September 1st, 2016 said:

Hi there.

Are you updating the plug in for new Maya versions ? Lets say, Maya 2016.5 or 2017 ?

Cheers.

September 12th, 2016 said:

Hey Alvaro,

Sorry it's taken me so long to get back to you.

As far as I know, the script (and resulting rig) works fine in both 2016.5 and 2017.  If you've had issues  either version, please let me know.  I'll see what I can do to fix it.

October 9th, 2016 said:

Hi Crumbly, I notice a small bug on one of my rigs.

I am setting up simple corrective blendshapes on my character and didn't want to use any PoseSpaceReader or or any extra plugins like 'Shapes WeightDriver

It was going well until I added a corrective elbow shape driven by the ***_elbowWeight_jnt. Seemed simple enough, but I discovered that the joint flips if the are any Z rotation on the FK control and same goes if using the IK control.

2nd problem came up when I used the rig removal tool and then rebuilt the arms, resulting in a much worse and different flip.

I really enjoy using your set-up and wanted to release this rig publicly. You don't have any responsibility with this, I would appreciate you've advice if you have any.

I can send you the scene if that would help -

Scabyx
November 8th, 2016 said:

Hello Master Crumbly

Long time not chat. I have an original question, if you dont mind:

Is there anything stopping us from unlocking the 'translation' attributes on the fk controls themselves?  This would offer the user more flexibility over which access is being translated.

Thanks in advance

Scabyx

November 9th, 2016 said:

Joel:  I'm sorry, but somehow I missed the notification when you originally posted.  I know it's way late now, but if you still want to send it to me, I'm happy to take a look.

In my limited testing with a demo character, I wasn't seeing the flipping on the elbow that you mention.  But that could just come down to differences in the character proportions.

Scabyx: Sorry, I'm not sure I'm totally understanding your question. If you want to unlock and translate the limb FK controls, you can do that. But, because they connect to the rig with orient constraints, their translation won't affect the rig.

I think you might be asking something else, though.

ruysaki
November 23rd, 2016 said:

not working :( did the instructions like your tutorial on youtube, but

  • scene folder doesn't exist
  • i get every time an error by importing the Mel into the shelf manually
November 29th, 2016 said:

Hey ruysaki,

I emailed you regarding your issue.  But it sounds like you're talking about abFaceRigTools.

I would recommend you mosey on over here, and jump down to "How To Use This Thing".  It's a pretty simple install, but it does require another script (djRivet) to run.  Maybe that's where you're getting hung up.

Robert
December 2nd, 2016 said:

Can you use this with motion capture files,if so how? I purchased the premium.

AV
February 10th, 2017 said:

It has been three hours of frusrtration and I still can't setup my skeleton proxy to conform to my mesh...I set the skeleton proxy settings to the correct number of joints for the spine, fingers, etc. and create a skeleton proxy. When I go to manipulate the control nodes to position them into my characters arms, legs, etc. it wont allow me to move the nodes wherever I want when I use the move tool. In the hands for example, when I made the skeleton proxy the hand nodes were spread wider than the charcters mesh so I select the move tool and then the hand nodes to move them. It allows me to move the hand nodes up and down but for some reason when I try to move it left or right to widen or narrow the nodes to position it acts like it is locked there and wont allow me to move it. Am I like the stupidest person ever or what is going on? How can you lock up the move tool like this? I am at a complete loss with what to do because it wont let me do anything.

February 10th, 2017 said:

Hey AV,

Some of the translation and rotation attributes had to be locked on the proxy skeleton to maintain a planar relationship between the up, mid and down joints of the limbs (which is important for stuff like snappable elbows).

When adjusting the arms, you may have to rotate the lf_arm_grpLoc to match your proxy to the plane of your model's arms (as defined by the shoulder, elbow and wrist).  That said, it should be the translateY attribute on the lf_upArm_loc, lf_elbow_loc, and lf_wrist_loc that's locked, and not X or Z.  Make sure your model is facing +Z and that up is +Y.

If you want to send me the file, I'll be happy take a look at it.

Lina
March 13th, 2017 said:

Hello Crumbly, thanks for a lovely tool! I just have a question regarding adding a stretchy spline to an existing character set. Is there a quick way of including the spline to the root control, so that it will also be affected by the Master scale? thanks :)

Mark
April 26th, 2017 said:

Hey AV,

I'm having some difficulty with the masterScale setup using the spineWeight joints. They seem to get double translations. I looked around and found a constraint to a follicle for every spine weight joint which I can set to 0 and that seems to fix it, but that also messes up the deformations on the spine. I could just skin to the Character_spine_low_jnt, Character_spine_mid_jnt etc joints, but I guess the weightJoints have a bit more benefits?

Any idea what could be the issue? Amazing tool by the way :)

Thanks


just say it






    

Related Posts