mrsBuilder¶
Last Updated: 08.24.2020
Overview¶
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
Tool specs
- Python
- Built on zooBaseMelUI
Some content is easier to put up on articles on CG Monastery so you'll find a lot more information there.
Building¶
Prebuild¶
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
skeleton
state. - Run a precheck on all blocks.
Block>Rig>Prechecks
to 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.
BlockList¶
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
Push/Context¶
Section for setting context settings and pushing states. It has two main parts - context and state pushing
Context¶
Set the context with three options currently.
First is the main context:
self
| just the main rigblockbelow
| From the beginningroot
| From the top most blockParent of the current context and belowscene
| All blocks. Don't use this for now. IN TESTING
Begin actions with:
active
| Start with the active blockselected
| Start with selected
Force
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
Note
Self mode will push force to True.
Main Sections¶
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
Note
Remember - multi select works
Utilities¶
Select
| Select rigBlocks in contextVerify
| Verify the rigBlockbakeScale
| Bake any blockScale value back to the block to make it 1.0 againDuplicate
| Create another rigBlock matching itDelete
| Delete the rigBlock and all it's parts
Mirror¶
These calls are for working with blockMirror and self rigblock mirroring functionality.
Verify
| Verify a blockMirror to our contextual rigBlocksRebuild
| Delete existing and rebuild blockMirrorPush
| Push settings from contextual rigBlocks to their blockMirrorsPull
| Pull settings from blockMirrors of contextual blocks to themselvesSelf[L]
| Self mirror with Left being prime axis. Not all blocks support. Added for facial blocksSelf[R]
| ... Right ...Settings | Push
| push settings from blockMirrorSettings | Pull
| pull ....
blockDat¶
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 blockDatLoad
| Load stored blockDatLoad Current
| Only load the data the the current blockStateQuery
| Log the blockDat in the script editorTransfer
| Copy the active block's blockDat to any blocks in contextReset
| Reset the blockDat to the default data (WIP function)define
| Only load define datform
| ...prerig
| ...
Special UIs¶
Rig Prep¶
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.
Note
The Puppet will reset before running these functions.
Mirror Verify
| Setup mirror wiring and functions on a puppetGather Space Drivers
| Collect dynParent world space driversConnect Rig
| Connect the bind skeletons to the rig driversProxy Mesh
| Verify proxy mesh setups per moduleIs 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 stuffQss - Export Set
| Implemented in Dec 2018. This attempts to gather geo and joints in an export set
Step Build¶
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 testingLog Self
| Log the local data to the rigFactory.INFO
| Set the block module to info loggingDEBUG
| ... 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
Updates¶
We try to keep this updated with big feature adds to see how it's changed over time.
2020¶
Sping/Summer¶
- 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
2019¶
April¶
- 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
February¶
- 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
January¶
- 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