Source
Description
This script allows the user to have temporary panel settings during manipulator dragging and timeline changes (dragging, playback). The idea was to hide control shapes during this time, to allow animators to evaluate the deformation.
When using this script together with Mayas controller autohide on proximity, it can get pretty close to "Pixar style controls"
Related
The purpose is similar to "Pixar style controls". I'm not aware of a publicly available version of them. I have only seen around a dozen videos of prototypes from independent users.
Origin
I randomly stumbled upon the -preDragCommand and -postDragCommand flags of the manip*Context commands (manipMoveContex, ...). Before that I was not aware that the user can access these events. So when I saw them I thought they can be used for the purpose of this script.
Evolution
At first I thought about setting an attribute in the rig (global control visibility switch). But then I realized that it makes more sense to use it like a Maya setting and change the panel settings ("Panel > Show > .."), because:
At first I thought about setting an attribute in the rig (global control visibility switch). But then I realized that it makes more sense to use it like a Maya setting and change the panel settings ("Panel > Show > .."), because:
- It works for any rig and does not introduce any per asset requirements (visibility attribute has to exist and has to be hard coded in the script)
- It can hide shot objects that are not part of the rig, like locators used for constraint setups
- It makes the animator completely independent and gives them full control over what to hide
- Can be used to hide the manipulator itself and other panel settings (wireFrameOnShaded, ...)
- Custom Playblast settings "panel > show"
- Display layer playback setting
Comparison
Compared to "Pixar style controls" it is not as intuitive, but there are some advantages:
- It has less complexity than writing a Locator plugin that works in all Maya Viewports (legacy, 2.0) and on different OSs.
- It does not introduce dependency. The animator does not rely on an RnD department to develop the plugin and a rigging department to create these custom controls for each asset.
- It does not slow down the rig. In my limited speed testing it actually did speed up all the rigs a little bit.
Limitations
I could not find a way to access camera and channelBox dragging.
I could not find a way to make it work with component selection for modeling. Because the command flags I'm using require there to be a specific node type in the selection.
Personal usage
I don't think its that useful when rigging. I usually auto-hide the manipulators and only sometimes do I hide the controls in the timeline context when I'm working on the deformation.
I don't think its that useful when rigging. I usually auto-hide the manipulators and only sometimes do I hide the controls in the timeline context when I'm working on the deformation.