You can export shader trees and shape properties from Arnold to MaterialX looks. The export includes:
- Surface shading, displacement and volumes.
- Properties (shape parameters) such as 'visibility', sideness, matte, and displacement settings are automatically exported, and you can specify other shape parameters.
- There is a special visibility assignment which is like the bit mask equivalent, where users can specify they want to disable camera rays.
Exported looks can be reused or shared across different DCCs. For each mtlx document you can define what parts of the scene are exported and what the look should be called. The Arnold plug-in translates the scene and then calls the public API function which goes through the universe, generates a mtlx document and then writes it to a file.
- Export material assignments with node graphs with Arnold's proprietary closure type, channel information and context definitions (shader and displacement).
- Material/property/visibility assignments.
Replace/append mtlx document mode.
- Look variants because this is a baked version of the scene.
- Support for the MaterialX standard library.
- Shader assignments for lights.
You cannot render whilst exporting to MaterialX.
By default, the exported .mtlx documents use the node definitions that ship with Arnold. Users can specify their own node definitions and search path using the environment variables 'ARNOLD_MATERIALX_NODE_DEFINITIONS' and 'ARNOLD_MATERIALX_SEARCH_PATH'.
Choose the name and path that you want the .mtlx file to be saved as.
For existing mtlx files, the export will either update an existing look, or append a new look to the document.
The look name to use in the exported MaterialX document.
Additional shape parameters to export. For example, step_size and volume_padding for a polymesh that is rendered as a volume.
The following shape parameters are automatically exported (if they are set to non-default values):
If set, the shader/property/visibility assignments will be relative to the namespace the shape is in, otherwise, the assignments will contain the full path to the shape. For instance, if a sphere named '
sphere1' resides in a procedural '
my_proc', the full name would be '
my_proc/sphere1' and the relative name '
sphere1'. This makes it possible to assign the look to another procedural with a different name.