USD Material Support
This topic explains notes relating to current material support in Maya USD. Development is ongoing and hence, best practices are denoted on below.
Import/ Export
Maya Materials
- Lambert: Color on import might not apply correctly. For better results on import, conver to Lambert shaders. Note that by default, Maya Lambert has one attribute for Color and one for Diffuse. Diffuse is set by default to a factor of 0.8. On USD export, the diffuse value is captured as 1.o. This signifies that on import it will display slightly brighter than the original. Lambert uses Transparency which is a 3-channel input and USD Preview Surface uses Opacity, which is a single channel input. Currently no translation exists for this.
- Stingray_PBS: No Translation seems to exist. Exporting an object with textures can often import without them. Lambert1 can be assigned to objects instead of UsdPreviewSurface.
- Standard Surface: Appears to have the best results. Displacement maps are supported.Caveats include no support for roughness color, coat color, sheen. Exporting Standard Surface to USD Preview Surface will be lossy.
Note: There is no support for node inputs (ie. if a multiply/divide node is attached, it will not be captured and imported back in)
Supported image file formats: The image reader for MayaUSD is facilitated through OpenImageIO (an open source library for image reading). MayaUSD should be able to open any image supported by OpenImageIO. MayaUSD also supports OpenEXR textures, 8, 16 and 32 bits, single channel, RGB and RGBA.
Best Practice
For best results (in regard to achieving similar results to your original file), on import, convert to your original material used.
Note: UsdPreviewSurface
round trips perfectly. However, some features are unsupported in VP2 render delegate and might not display. The file can be checked using USD View for metadata and inputs to verify that your data is being brought into Maya.
Important: Recent versions of MtoA support USD Preview Surface rendering in Arnold.
Texture Support: MayaUsd supports OpenEXR textures, 8, 16 and 32 bits, single channel, RGB and RGBA.