Rendering with Arnold
Arnold is a widely used renderer, now included with Maya: https://www.arnoldrenderer.com/
Ornatrix has built-in support for rendering hair using Arnold. No special steps are required, simply set the scene renderer to Arnold and all Ornatrix hair should be detected and rendered.
Supported Versions
Please refer to this page: Arnold Compatibility
Parameters
You can find various Arnold-specific attributes under the rendered hair or guides shape's Extra Attributes section inside the Attribute Editor.
For example, an important Minimum Pixel Width parameter can be found here.
Procedural rendering
Ornatrix can render Arnold hair as a procedural. This means that, instead of computing the final hair geometry inside Maya and then sending this data to the renderer, the hair description will be sent to Arnold renderer and the geometry will be computed there. This can significantly speed up rendering when using a render server or a render farm.
To enable hair rendering using a procedural:- Select the rendered hair shape
- In Attribute Editor, expand Renderer Export->Arnold groups
- Check the Use Procedural option
You can also specify a target groom file for the hair by using the Procedural Groom File option.
Exporting Ornatrix hair as .ASS (Stand-ins) files
Ornatrix hair can be included in the .ASS or Stand-ins to make your scene lighter.
To export an Ornatrix hair object as .ASS:
- Select the hair shape on top of the hair stack
- In the Arnold menu, go to StandIn > Export StandIn,
- Specify a name for your file and click Export.
To use your .ASS file:
- In the Arnold menu, go to StandIn > Create StandIn,
- Load your .ASS file in the aiStandInShape node.
Using Ornatrix strand data for Arnold shading
You can export Ornatrix hair channel data to be used inside the Arnold's shading and material pipeline.
Please read here how to define the channels to export.
Arnold supports up to 3 channels per attribute, one is interpreted as float
, two as point2
and three as RGB
type.
Use the exported attribute for Arnold shading
- In Maya's Hypershade select your current hair material
- In the list on the left, expand Arnold, Utility, and press User Data
- From the available node list select the type of attribute you created. For example, aiUserDataFloat for scalar or aiUserDataColor for color
- Select the new node in the node view. In the Property Editor on the right enter the name of the attribute which you previously exported (e.g. "MyColor")
- Connect the Out Color output of the user node to your material's color input (e.g. Diffuse Color)
- Render the scene. The color from the strand channel will now control the hair's color.
Arnold attribute export | Painting the hair with color |
Troubleshooting
If you experience any issues when rendering Ornatrix hair with Arnold make sure the following files are present in Ornatrix installation:- extensions\OrnatrixTranslator.dll (will be different extension on OSX and Linux)
- procedurals\OrnatrixProcedural.dll
Also make sure that the following line is present in Ornatrix.mod file, with 20XX being the current Maya version:
MTOA_EXTENSIONS_PATH := 20XX/extensions ORNATRIX_ARNOLD_PROCEDURAL_PATH := 20XX/procedurals/OrnatrixProcedural.dll
Arnold not working out of the box on OS X
Arnold render currently does not work out of the box on OS X!As a temporary fix please do the following:
- navigate to /Applications/Ephere/Plugins/Autodesk/Maya/Ornatrix/20XX/extensions/
- copy the OrnatrixTranslator.dylib and OrnatrixTranslator.py files to /Applications/solidangle/mtoa/20XX/extensions/
The hair looks different each time you export the same hair object as .ASS.
Arnold will use the preview hair when exporting the hair with the .ASS file, and arnoldExportAss doesn't trigger pre/post render mel script that Ornatrix needs to give Arnold the proper render hair amount.
To solve this issue, call OxSetIsRendering(true) before calling the arnoldExportAss command.