Skip to content

Latest commit

 

History

History
63 lines (44 loc) · 3.92 KB

README.md

File metadata and controls

63 lines (44 loc) · 3.92 KB

What is AL_USDMaya?

Represent Maya data in Maya, and USD data in USD - for example, we use AL_USDMaya to allow native Maya entities such as complex maya referenced rigs (and other assets not easily represented in USD) to be embedded in USD scenes and imported into Maya in their native form. The plugin maintains a "live" connection between the USD and Maya scene, and can respond to various events, keeping the Maya and USD scenes in sync. This affords a dynamic user experience which allows artists to swap in and out different representations of objects in their scene (e.g Rigs for Geometry Caches, different levels of detail etc). Additionally, heavyweight scene elements such as sets/crowds can be represented in OpenGL in the Maya viewport, and manipulated either with USD or Maya tools and UI components.

Motivation

Why did we need an alternative USD Maya Bridge to the USDMaya plugin that comes with USD?

Pixar's USDMaya plugin was originally designed for quite a specific (Set Dressing) workflow using Maya's Scene Assembly Feature. Maya is our most important DCC app, and while, like in the Pixar plugin, we try and avoid representing most of our data (particularly large and complex things) in the Maya native data model, we do use it as the hub of our Scene Building and artist workflow - our Layout Artists, Animators, Set Dressers and Lighters work mostly in Maya, so it made sense to try and implement something that was more tailored to the way we work at Animal Logic. We played with the idea of modifying/forking the existing Pixar USDMaya, but in the end we diverged so much that it didn't make sense. In the end, we think the two plugins complement each other.

Contact

Email us at usdmaya@al.com.au. We may set up a google group or some other forum/mailing list as the need arises.

Detailed Documentation

Developers Documentation

Source code documentation

How is the repository layed out?

The important parts:

Location Description
lib The real code
plugin maya plugin entry point
samples mixed bag of test inputs
schemas Schemas - Maya specific schemas for which we have translators
translators Reference Schema Translator Plugins

The code

Best to have a look here but a quick summary here:

Location Description
lib/AL_USDMaya/AL/maya code which is maya specific but not USD specific. Contains a large number of non-USD specific Maya helper and convenience classes, some documented here
lib/AL_USDMaya/AL/usdmaya code which is Maya and USD specific
lib/AL_USDMaya/AL/usdmaya/cmds Maya MpxCommands
lib/AL_USDMaya/AL/usdmaya/fileio File Import/Export code including some general purpose USD<->Maya interchange utilities e.g DGNodeTranslator DAGNodeTranslator
lib/AL_USDMaya/AL/usdmaya/nodes Maya MpxNodes such as the proxy Shape