Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/leixingyu/autorigger

Procedural rigging tool for Maya
https://github.com/leixingyu/autorigger

auto-rigging maya maya-python python rigging

Last synced: 2 months ago
JSON representation

Procedural rigging tool for Maya

Awesome Lists containing this project

README

        


AutoRigger 2.0


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


## About The Project


autoRigger

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.

## Getting Started

### Prerequisites

- [enum34 package](https://pypi.org/project/enum34/) for Python 2.7

`pip install enum34`

### Launch
1. Unzip the [autoRigger.zip package](https://github.com/leixingyu/autoRigger/releases/tag/v2.0.1) under
`%USERPROFILE%/Documents/maya/[current maya version]/scripts/`
or a custom directory under `PYTHONPATH` env variable.

2. Run through script editor:
```python
from autoRigger import autoRigger
autoRigger.show()
```

## Usage

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

interface

## Scripting Example

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
```python
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

```python
# 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
```

## Roadmap

- [ ] integrate facial rigging
- [ ] bird template
- [ ] vehicle template
- [ ] refactor quadruped leg modules

## Versions

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