-
Notifications
You must be signed in to change notification settings - Fork 69
AL_USDMaya and pxrUSDMaya Feature Sets
Eoin Murphy edited this page Aug 7, 2019
·
2 revisions
This is heavily biased towards AL_USDMaya - someone with deeper knowledge of the Pixar plugin should add more detail here
Feature | Feature Detail | Notes | Future? |
---|---|---|---|
Utilities | |||
Event System | used heavily by USDMaya | ||
MayaTest | |||
Test framework | used heavily by USDMaya | see docs | |
Maya Utilities | We could probably extract these to a new AL OSS Library? (need to think how this would work | ||
Common | macros for shortening the amount of boilerplate code we need | ||
CommandGuiHelper | Automatically generate a simple UI from MpxCommands | ||
DGNodeHelper | get/set types on DG Nodes | ||
FileTranslatorBase | macros and templates to help automate the boiler plate setup of Maya import/export plugins | ||
MenuBuilder | generate Menu entries for an entire Plugin | ||
NodeHelper | various utility functions for adding static/dynamic attributes to an MpxNode | ||
USD Utilities | This lib is probably too small to exist on it's own | ||
DiffCore | diffing utilities | ||
SIMD | |||
USD+Maya Utilities | |||
USD to Maya Diffing, Conversion, Attribute Manipulation |
Feature | Feature Detail | AL_USD | PxrUSD | Notes | Future Support |
---|---|---|---|---|---|
Export to File | Priority #1 for ADSK plugin? | ||||
Transforms | yes | yes | |||
Camera | yes | yes | |||
General | |||||
Duplicate Instances | yes | yes | see AL_USDMaya docs | ||
Merging Transforms | yes | yes | see AL_USDMaya docs | ||
Time Samples | yes | needs investigation | pxr seems to have no compression flags | ||
Frame Samples / Sub-Frame Export | yes | yes | see AL_USDMaya docs | ||
Animated Visibility | yes | yes | |||
Instancing | yes | yes | |||
Dynamic Attributes | yes | yes | |||
Metadata / extra attrs | yes | yes | |||
Lights | no | yes | Pixar only supports RfM Lights. AL todo: Include Reference Translator for Maya Lights | ||
Mesh | |||||
UVs | yes | needs investigation | pxr seems to have no compression flags | ||
Topology and Point Positions | yes | yes | |||
Varying Topology | no | yes | |||
Indexed UVs | yes | yes | |||
Color Sets (by default RGBA and faceVarying) | yes | yes | AL_USD requires colorSet to be called displayColor ( displayOpacity is also supported ). See AL_USDMaya docs. pxrUSD has the same displayColor set requirement, however it handled the missing 'flood data' elegantly. multiple colorSets have not been tested yet* | ||
Subdivision Edge and Vertex Creases | yes | yes | |||
NurbsSurface | no | yes | |||
NurbsCurve | yes | yes | Note: Not currently renderable in Hydra | ||
BasisCurve | no | no | Note: Renderable in Hydra | ||
Particles | no | yes | OriginalForce may be adding support in AL_USDMaya? (eoinm) | ||
Shaders | yes | yes (RfmShaders) | via ExtraData Plugin | ||
Skin/Joints | no | yes | PxrUsd has basic USDSkel support | ||
Import from File | Priority #1 for ADSK plugin? | ||||
Lights | yes | yes | PxrUsd only supports RfM Lights, AL_USD has reference DistantLight importer | ||
Supported Animation | yes | yes | through time1 connection | ||
"AlembicMaya" style Animated Geometry Cache | yes | yes | see docs | ||
Load Part of Stage | yes | yes | yes, each plug-in has it's own way of importing 'fast' (ie: proxyShape), then diving down into transforms to interact with / update the usd stage (visible in the viewport ) | ||
Shaders | no | yes | PxrUsd only supports RfM Shaders | ||
Custom Shapes, Transforms | yes - enumerate special features | ? |
Feature | AL_USD | PxrUSD | Notes | Future Support |
---|---|---|---|---|
UsdAdaptor | no | yes | The rationale behind this was to make it easier to adapt an existing UsdSchema into and out of Maya. It's not something user-facing.. rather, if you're writing tools/scripts to work with data, this would help transfer data between Usd and Maya in a consistent manner. | |
Custom Blind Data | no | yes | If a maya node has some extra "user" attribute that we want to export, the "User Exported Attributes" interface helps with this. It lets users tag nodes and get them exporting to Usd. Users can choose to export as normal attributes, or primvars | |
Chasers | no | yes | This is similar to the "post-export" jobs that some other file format plugins have. | |
Extra Data Plugins | yes | no | see https://github.com/AnimalLogic/AL_USDMaya/blob/master/docs/extraDataTranslatorPlugins.md | |
Events | yes | no | https://github.com/AnimalLogic/AL_USDMaya/blob/master/docs/events.md to the existing events documentation |
Feature Type | Feature Description | AL_USD | PxrUSD | Notes | Future Support |
---|---|---|---|---|---|
Hydra Integration | |||||
Hydra GL Support | yes, via USDImaging | yes, via custom code Path (optimised for multiple shapes) | Consolidate | ||
Support other Hydra Render Delegates | yes | ? | |||
Selection | |||||
Partial Stage Selection | yes | yes | |||
VP2 Selection of Stage | yes | no/ip | see AL_USDMaya PR | ||
UFE Selection | yes | see PR | |||
VP2 Selection from Stage to Outliner | yes | under investigation | AL_USD has extra selection management going on, and hooks into it's ProxyShapeImportTransforms command. PxrUSD selection ( back to native dag nodes of some form) might not be possible this is being investigated | ||
Live/Interactive Workflows | |||||
Constraint Based Workflows | yes | limited | AL_USD has bi-directional constraint support, including access to constrain to individual elements of the USD Stage. PxrUSD has limitations due to the Assembly node and not having 'connect to prim' capability (out-of-the-box, might be possible through scripting and such ) | ||
Interface with Native USD | no* | no* | not natively, but through custom commands / plugins ( pxrUsdReferenceAssembly or AL_usdmaya_Transforms or a proxyShape node to each USD Stage ) | ||
Variant Switching | yes | no | A | ||
Variant Switching of MayaReferences | yes | no | AL_USD has a schema for MayaReferences to allow to switch out to rig representations. | ||
Selective Translation USD to Maya | yes | no | Can select prim hierarchy in USD, translate to Maya | ||
Selective Translation Maya to USD | yes | no | Can select USD translated data in Maya, modify, Translate Back. This is a key feature, and very powerful. It does a diff of the converted maya data to work out what's changed, so "overs" can be generated | ||
"Live" Maya Nodes | yes | no | AL_USDMaya uses maya's "storage=internal" to allow creation Cameras, Lights and other MPxNodes which directly drive a USD equivalent, storing values in USD | ||
Layer-based Workflows | |||||
Layer Management | yes | no | AL_USD serializes 'live layer data' so when artist re-opens maya session it opens the usd stage, then your local edits. Once task is complete, layer can be saved out and merged back to the usd stage/file ). PxrUSD seems to require full import / export from usd -> maya nodes, which can impact Maya performance |