Masks
stacks_image_0C954D19-3878-41E1-A3E7-1512749A3C50
Mask configurations provide an additional layer of functionality on an exoSwitch constraint system. The creator of a constraint system can create any number of configurations or "masks". The masks are a description to the node of how relationships between driver and driven should be structured. The granularity of the mask configuration is on each individual channel.

By providing this access to the node's evaluation engine a user can customize how driven nodes respond when certain channels of the driver(s) are evaluated. And since the node is multi-directional those relationships will change once another node or nodes become the drivers of the system. Hence within one constraint system you can create multiple rigging relationships.

Without masking each constrained object offers the ability to become the driver of the system but what happens if the needed relationship is a little more complex? What happens if object A needs to drive object B and object C but drive object B only in translation? Masking allows this type of customization to the relationships in a constraint system per driver.

Below is some documentation on the basics of masking. We also have some tutorial movies on the Tutorials page.
stacks_image_36629C90-F02A-41FB-9015-7D95F70F8EAE
The Mask UI provides the ability to setup and configure constraint masks. From within this UI the user can create a new mask, configure it by declaring driver to driven channel relationships, remove existing mask configurations, copy mask configurations and get help on working with constraint masks.
stacks_image_10A284E0-E531-47A4-8D8D-98184B9BD7BB
stacks_image_58A2F8C9-AF88-4D13-95CF-D1F2D125B733
Constraint Pull Down
This pull down list the exoSwitch Constraints present in the scene. Choose one that you would like to create, remove or modify the mask configurations for.
stacks_image_D9421597-955D-40FE-B876-E81DE41B0F8F
Mask Configurations
The pull down lists the mask configurations present on the current constraint. Select the mask you want to edit by choosing one from the pull down list.
stacks_image_C9A63518-7398-45BD-8F54-ED17E012E7DB
Driver Node(s)
This panel lists all of the nodes connected to the constraint system. Choose a driver node from this list to begin to configure a mask.
stacks_image_92637AE6-FA86-4C2F-A4AF-0ACDDB1474F2
Driver Channels
This panel lists all of the channels on the selected driver that are controlled by the constraint. Select the attribute you want to be a source of masking so it will affect the selected channels of the driven nodes. When this attribute is evaluated selected driven channels will not evaluate.
stacks_image_433778FD-8C1C-4001-A57F-2CBCE007F704
Driven Node(s)
This panel lists all of the nodes connected to the constraint system. Choose a driven node from this list to be masked by the selected driver node's channel
stacks_image_BA8E2945-C055-4960-8AA6-0FED8D871835
Driven Channels
This panel lists all of the channels on the selected driven node that are controlled by the constraint. Select one or more channels that you want to NOT be evaluated when the selected driver channel is evaluated. These are the masked channels.
stacks_image_909E5DF5-1075-439A-8B36-DADB3015C299
To start learning the fundamentals of masking we are going to build a very simple scene then add, copy and remove a mask to the nodes within the constraint system. In Maya start a new scene and add two locators - locator1 and locator2. Select locator1 then locator2 and in the "Constrain" menu pulldown select the "ExoSwitch" menu item to build a constraint system that includes these two locators.

Creating A New Mask

To create a new mask choose the "Create New Mask Config..." menu from under the "Configs" menu in the UI.

You will be presented with a dialogue box to fill in the name of the new mask. Once accepted you will see the mask show up in the pull down of the mask configurations in the main UI window (See # 2).

stacks_image_D2FD05B5-5A1D-4CC2-9C19-6795FD04390C
stacks_image_F31DDCCE-3801-418C-940D-FF838913E0DF
From here you can choose which driver node and channel you want to mask out which driven nodes and their channels. Work on the UI in the columns area from left to right - choosing the driver node, driver channel then driven node, driven channel(s).

So first choose a driver node for masking. In our scene let's use the current driver "locator1". Select "locator1" in the far left column - the "Driver Node" column.

stacks_image_F54B3F0F-440D-4233-AD93-689BAC9F5981
Notice how the "Masked Node" column updates to provide you with only viable nodes to be masked. Now choose the "translateX" in the driver node's channels column - only one channel can be chose since the masking is channel by channel values.
stacks_image_D0093130-9B14-4A63-AE32-41D49F4037CF
The "Masked Channels" column updates to show you only viable channels - in our case only "translateX" on locator2 will show up. Choose "locator2" in the "Masked Node" column then "translateX" in the "Masked Channels" column. At this point we are saying that when locator1 is the translation driver of the system and it translates in X do NOT affect the translate X of locator 2. Locator 2 should stay "in place".
stacks_image_812C3388-0210-4851-BFB2-FAD92D1B5938
To see the mask relationships on a configuration we can use the "Print Mask Config Relationships" menu. This will print mask relationships in human readable form to the script editor.
stacks_image_8D60FB79-B769-4789-AD4B-97165486299D

Copying A Mask


To copy and existing mask choose the "Copy Mask Config..." menu under the "Configs" menu in the UI.
You will be presented with a list of existing masks that you can choose to copy. On the right area of the UI you can fill in the new name of the copied mask.

stacks_image_430C1027-8769-49BF-AE5B-D0F76C292BAC
stacks_image_CD82D150-1062-4634-8C6A-8A17DA355089

Clearing A Mask

Sometimes it is good to start over. Well if you want to start over on a mask config make it the current configuration in the "Mask Configurations:" option menu. Then choose the "Clear Mask Config" button on the lower left of the UI. This will clear out all mask relationships within that configuration. In addition, all mask data on the constraint node itself will reflect the cleared relationships.

In case you want to clear all of the mask relationships for every configuration on the constraint choose the "Clear All Masks" button.

stacks_image_4F544CE6-0CF1-41BE-B06E-BEE336C057A3

Removing A Mask

To remove an existing mask or set of masks choose the "Remove Mask Config..." menu from under the "Configs" menu in the UI.
You will be presented with a list of existing masks on the current constraint. You can choose multiple masks then hit the "Remove" button. Unlike Create and Copy this action will introspect into the node to remove any of the masks as well as remove it from the temporary UI data.

In addition to removing one or multiple masks there is the "Remove All" button in the UI shown below.

stacks_image_4A0569AE-15AB-4755-826C-2666F180411F
© 2010 Exotools Inc. Contact Us