AutoRigger is an automated rig builder used in Maya. It currently supports procedural
rigging based on modules as well as pre-made template for biped, quadruped and chain.
Chain Demo
|
Quadruped Demo
|
Biped Demo
The AutoRigger tool started out as my practice for maya scripting back in late 2018. But Little by little, I started to implement new rigging knowledge on to it. After years of expansion, it became my rigging tool kit which handles a lot of the automation in general rigging process.
-
enum34 package for Python 2.7
pip install enum34
-
Unzip the autoRigger.zip package under
%USERPROFILE%/Documents/maya/[current maya version]/scripts/
or a custom directory underPYTHONPATH
env variable. -
Run through script editor:
from autoRigger import autoRigger autoRigger.show()
The autoRigger is modular and very straight forward to use; Each item on the left is referred as a rig object, you create them in the scene individually and piece together to build the final rig; there are also pre-made template for standard characters like biped and quadruped.
note: autoRigger isn't a skinning tool
Create Guide
-
choose a rig object, and then enter specific properties on the right-side field, finally click guide.
-
this creates a guided locators or the rough joint placement of the rig. you are now free to move, rotate, scale the locators around to better match the target mesh.
Build Rig
- when you are satisfied with the guide placement, click build. it will generate all the joints, controllers and constraints.
- The next step if for you to skin your character/creature using anything you prefer
the rig object and all of its components can be accessed through scripting with ease, as each rig object is a class inheriting the abstract bone class.
To instantiate a rig object, build guide and rig
from autoRigger.constant import Side
from autoRigger.chain import chainEP
test_chain = chainEP.ChainEP(
name='rope',
side=Side.LEFT,
segment=20,
curve='curve1',
cv=10
)
test_chain.build_guide()
test_chain.build_rig()
Access rig object properties:
>>> test_chain.name
output: rope
>>> test_chain.side
output: Side.LEFT
>>> test_chain.type
output: chain
>>> test_chain.scale
output: 1
>>> test_chain.components
# this is used mostly in template such as biped or quadruped
# which will yield all rig sub-components
output: []
Access rig object nodes in maya scene
# shared maya nodes
jnts = test_chain.jnts
root_jnt = jnts[0]
top_jnt = jnts[-1]
"""
subsequently:
['chain_l_rope0_jnt']
['chain_l_rope19_jnt']
"""
ctrls = test_chain.ctrls
locators = test_chain.locs
offset_group = test_chain.offsets
# chain specific maya nodes
test_chain.clusters
test_chain.guide_curve
test_chain.curve
test_chain.cvs
- integrate facial rigging
- bird template
- vehicle template
- refactor quadruped leg modules
Update 2.0 (current)
- rig object abstraction
- added chain modular rigging package
- added dynamic property widget
Update 1.2 (01/05/2021)
- PEP8 code re-formatting
- updated naming convention
- updated user-interface
Update 1.1 (04/08/2020)
- added quadruped template rigging
- added biped template rigging
Update 1.0 (10/19/2019)
- re-built autoRigger as a modular rig system
- updated user-interface
Update 0.4 (04/21/2019)
- integrated body and face rigging
- added face picker
Update 0.2 (03/22/2019)
- added FK/IK to limb
- added flexible spine control
Update 0.1 (12/29/2018)
- initial release of the autoRigger tool
- included one-click rig building
- included default skin binding