Rigamajig2 is an advanced, modular data-centric rigging tool designed for Autodesk Maya. Empowering riggers, Rigamajig2 streamlines the complex process of creating intricate rigs by providing a user-friendly interface and a powerful set of features.
-
Modular Data: Rigamajig2 excels in modularity, allowing users to effortlessly store and manage data. This modular approach facilitates the construction of sophisticated rigs with ease. While allowing data to be very potable, saving time when facing similar rigging problems.
-
Designed for riggers: With a focus on simplicity and efficiency, Rigamajig2 offers a straightforward method for creating rigs. While also exposing an internal framework for artist who want to build additional components or features.
-
Rigs animators love: With a focus on building well-designed systems and an emphasis on performance rigs built with rigamajig allow for great deformations and real time playback.
To install rigamajig2:
-
Download the latest release from the git repository
-
Unzip it
-
Copy the rigamajig2-master folder somewhere on your hard drive. If you're unsure of a good place the Maya modules folder is a good bet.
Windows: Users<username>Documents/maya/modules Linux: ~/maya/modules Mac OS X:/Users/<username>/Library/Preferences/Autodesk/maya/modules
-
You will also need to install the third party requirements for rigamajig. (see the requires.txt).
Note: These are only the requirements for a general user, there are other recommendations if you plan to contribute
cd path/to/rigamajig2 pip install -r requirements-core.txt --target python/lib
-
Open Autodesk Maya
-
Navigate to the
drag_into_maya.py
file located within the rigamajig package -
drag the
drag_into_maya.py
file into your viewport
Rigamajig2 has two methods to utilize the tool:
- The framework (available through python)
- The BuilderUI (a more straightforward PySide interface)
To launch the UI run the following code in python
from rigamajig2.ui.builder_ui.builderDialog import BuilderDialog
BuilderDialog.display()
More documentation to come
When developing on rigamajig2 It is highly recomended to work within a virtual enviornment. Setup your venv to use python 3.9. You will also need to install the addional requirements for developers this includes addtional tools for testing and code style:
cd path/to/rigamajig/venv/bin
pip install -r requirements-dev.txt
When developing you will often want test your changes by reloading your python packages. To reload the python packages within maya:
Note: Due to the structure of data gathering functions within the builder UI you will also need to re-launch the UI for rigamajig2 to function properly.
import rigamajig2
rigamajig2.reloadModule()
In general rigamajig adheres to the black coding style to format code consitantly. For more information check out the black documentaiton.
to reformat files with black
cd path/to/rigamaijg2
black path/to/python/module.py
While black handles code formatting the pylint configuration helps to ensure consistant naming within files.
cd path/to/rigamajig2
pylint python/rigamajig2
While testing is still incomplete rigamajig uses pytest (specifically the mayatest package) to ensure code quality
To run tests run the python command
located in the bin at rigamajig2/bin/testrigamajig
.
cd path/to/rigamajig2/bin
runmayatest -t ../tests/
// you can also specify a maya version to test with
runmayatest -m 2022 -t ../tests/
// or specific test modules or functions
runmayatest -t ../tests/test_module:test_func
Documentation can be auto-generated using sphinx.
when new modules are added please cd into rigamajig2/docs
and run the following to generate .rst
files for all
modules
sphinx-apidoc -o source ../python
To build the HTML Documentatino run:
make html
Rigamajig2 development blog: https://www.masonsmigel.com/blog
Questions? email me at me@masonsmigel.com