Maya Tools

Abby Cohn

*Images used contain property of Nickelodeon Animation, do not duplicate*


This is a set of tools built using Python/PyMel to speed up repetitive processes and aid artists with a variety of asset creation needs and quality control aspects.


Redshift Shader Exporter

This shader exporter, which works with the Redshift renderer, allows the user to export any shader from a file of their choosing. Each shading network in a Maya file is identified and displayed by name in the UI. The exporter supports multiple exports at once to the same folder. The default export location is the "Data" folder of each asset, but can be altered via the UI. If there is a shader update that the user may need to export to the same folder, the old shader is not overridden, but archived in an "Old" folder, which gets created upon the initial shader archive for each asset.

Exported Shader Files
Archived Shader Files With the Date & Time

Redshift AOV Helper

Setting up custom AOVs for emission within a shader can be a tedious task, especially with many different shaders that require a custom AOV node. This tool allows the user to select as many shading engines of the networks they would like to add the AOV to at once. The code then inserts a RedshiftStoreColorToAOV node into each selected network with either the emission color or file node as the custom input. The AOV name is added to a "Custom AOV Trigger" attribute on the transform or the trigger is created with the new AOV name, if not already made. This allows the user to add + remove the passes from renders, and keep track of each AOV.

Shading Engines Selected
AOV Nodes Inserted with Custom AOV Created
Custom AOV Attr Added to Transform
Full Render
Card01 Shader AOV
Card02 Shader AOV

Follow (Transform Space) Attribute Helper

When assets have multiple components that can move independently, it is nice to have the ability to alter the transform space within each asset's rig as needed. The user may define the control they would like to add the attribute to, the Master control, COG control (center of gravity), Transform control, and indicate whether they would like to include World space. The user may omit any enum they would not like to include. Once the attribute is created, the user can define the control group to constrain based on the list of "Follow" enums. The list of constraints are added & the final step sets up driven keys for each enum and weights the new constraints accordingly.

Ctrls Specified
Follow Attr Added to Ctrl

Image Sequence & Redshift Proxy Sequence Looper

Since there is no built-in method of looping sequences in Maya, this can be done via expressions. This script creates the expression needed to loop an image sequence or Redshift proxy sequence by finding the total number of frames. Taking the current frame mod the number of total frames will give the remainder of frames once the timeline gets past that total number & will seamlessly loop. The code accounts for the sequence starting at zero or 1, as well. The below example is a 119 frame sequence starting at zero and ending at 118.

Last Frame of Sequence
Sequence Begins to Loop
Expression Created using Seq Length and Starting Frame

QC Tools

This is a series of QC tools that perform simple checks and ensure clean scenes when working with large files. They check for objects with no materials assigned, objects with multiple shape nodes, and Scene Assembly references that have locked transforms. There is an option to unlock all of the references that are found to be locked, as well.