Last Updated: 08.24.2020
mrsBuilder is the UI for working with and creating Morpheus Rig System templates and rigs
What can I do with it?
- Create rigBlocks
- Connect, change options and more
- Mirror blocks
- Post Processes
- Built on zooBaseMelUI
Some content is easier to put up on articles on CG Monastery so you'll find a lot more information there.
There's some important things to consider before pushing the build button- knowing which build method to use is also important.
- Make sure all blocks are at
- Run a precheck on all blocks.
Block>Rig>Prechecksto look for bad settings that will make your build fail.
- Only build in scene when you're messing around or troubleshooting. Otherwise use the maya standalone method as it frees maya and is actually faster.
- UI | Top cgm menu -
CGM> MRS > mrsBuilder
import cgm cgm.core.mrs.Builder.ui()
This ui element is a scroll list for selecting rigBlocks and access some other functions.
You can multi select this list | right click multi selection isn't currently done
Right click menu is only built when a single rigBlock is selected
The format is as follows: blocknameBlocktype -
STATE. If there is a side it will be appended to the front as R - blocknameBlocktype -
STATE. The ticks in front are to denote depth in a limited format we have with scroll lists in the ui.
I mess with this every now and then trying to find the best way to display the most info in the space and limitations for the format. Open to suggestion.
Block Filter| Type to look for specific blocks
Refresh| Refreshes the list if you've been messing with stuff manually
Section for setting context settings and pushing states. It has two main parts - context and state pushing
Set the context with three options currently.
First is the main context:
self| just the main rigblock
below| From the beginning
root| From the top most blockParent of the current context and below
scene| All blocks. Don't use this for now. IN TESTING
Begin actions with:
active| Start with the active block
selected| Start with selected
False| If the block is at the current state, let it be. Except in self mode.
True| Force means that even in the current state, it will rebuild that state. Normally you'll want this to be False
Self mode will push force to True.
Main buttons for changing rigBlock states. Works off of what you have in context.
This is the section we're most often in these days when in the ui. These utilities work off of selected context in the scroll list. We'll talk about them by row. I've tried to keep them organized by category-------------[func][func]... format
Remember - multi select works
Select| Select rigBlocks in context
Verify| Verify the rigBlock
bakeScale| Bake any blockScale value back to the block to make it 1.0 again
Duplicate| Create another rigBlock matching it
Delete| Delete the rigBlock and all it's parts
These calls are for working with blockMirror and self rigblock mirroring functionality.
Verify| Verify a blockMirror to our contextual rigBlocks
Rebuild| Delete existing and rebuild blockMirror
Push| Push settings from contextual rigBlocks to their blockMirrors
Pull| Pull settings from blockMirrors of contextual blocks to themselves
Self[L]| Self mirror with Left being prime axis. Not all blocks support. Added for facial blocks
Self[R]| ... Right ...
Settings | Push| push settings from blockMirror
Settings | Pull| pull ....
Functions for working with blockDat. This is still very much in iteration. The idea is to save a rigBlock at a certain setting state and do functions with that information.
Save| Store the blockDat
Load| Load stored blockDat
Load Current| Only load the data the the current blockState
Query| Log the blockDat in the script editor
Transfer| Copy the active block's blockDat to any blocks in context
Reset| Reset the blockDat to the default data (WIP function)
define| Only load define dat
UI for working with a rigged asset. Works with a loaded puppet or finds it via contextual selection. This is a post build UI for handling standard functions at the step in prepping as asset.
For full breakdown on post processes, look at the core concepts post on it.
The Puppet will reset before running these functions.
Mirror Verify| Setup mirror wiring and functions on a puppet
Gather Space Drivers| Collect dynParent world space drivers
Connect Rig| Connect the bind skeletons to the rig drivers
Proxy Mesh| Verify proxy mesh setups per module
Is Historically Interesting| Something we're trying out. See Post Processes.
Qss -Bake set| makes a bake set (currently targetting Unity workflow)
Qss - Delete set| Same but for deleting stuff
Qss - Export Set| Implemented in Dec 2018. This attempts to gather geo and joints in an export set
New concept implemented in February 2019. Previously we had to process a rig build manually step by step when we wanted to check things. This is a simple ui which populates the rig steps and let us easily step through and undo steps while we're mucking about fixing stuff.
- Header | Name of the block loaded to the stepBuilder
Reload| Reloads the block module to pull in updates when we're testing
Log Self| Log the local data to the rigFactory.
INFO| Set the block module to info logging
DEBUG| ... enable debug mode. More Prints!
- Build Order | important note is that these options will change by block type as they use that blocks rig order steps. It just takes each step and puts it on a button
- Report | Reports the last successful step in case you forget where you were testing things. Clicking it refreshes the data
We try to keep this updated with big feature adds to see how it's changed over time.
- Maya py | Implemented ability to build rigs via maya stand alone so as to not take control of your maya instance
- Prechecks | Implemented prechecks to the batch build and menu
- Siblings | Initial functionality for block siblings
- Vis Menu | Added vis menu
- Select Menu | First pass
- Relayout | Split the top contextual menu to 3 - Block, Vis, Advanced. Focused on simplification
- Dev mode | First implementation currently only affects attrMasking.
- AttrMasking | first pass
- Filtering | added block filtering search bar
- Name Match | added check for duplicate block naming dicts
- Color Coding | Block list colorized by block state
- BlockList | Rewrote the scroll list python object to get around maya being stupid
- Hit on ui updates in general
- Added new contextual menu options: Geo, mirror, blockFrame and new sub options
- Step Build | initial documentation
- Progress bar implemented
- Context menu | made frame element with a context report similar to the mrsAnimate time context stuff I'd been messing with
- Added Focus framework and functionality to UI
- Added new Post Process UI
- Added new RP Pos visualize button
- Did a pass on making contextual functions that I can not clear the block list
- Head | new right click menu
- New contextual rows
- Name List
- Reset to Profile
- Iter from Base Name
- Side | duplicated from right click menu