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:
  1. Select the rendered hair shape
  2. In Attribute Editor, expand Renderer Export->Arnold groups
  3. Check the Use Procedural option

You can also specify a target groom file for the hair by using the Procedural Groom File option.
When rendering animation, a separate groom file needs to be written for each frame. To achieve that, the file name must include the # character, which will be replaced by the time of the frame being exported.
If no extension is specified, .oxg.zip will be assumed.
The file path that is used by default is %TEMP%/OrnatrixArnold_<hair object name>.#.oxg.zip

 

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:

  1. Select the hair shape on top of the hair stack
  2. In the Arnold menu, go to StandIn > Export StandIn,
  3. Specify a name for your file and click Export.

To use your .ASS file:

  1. In the Arnold menu, go to StandIn > Create StandIn,
  2. 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 

  1. In Maya's Hypershade select your current hair material
  2. In the list on the left, expand Arnold, Utility, and press User Data
  3. From the available node list select the type of attribute you created. For example, aiUserDataFloat for scalar or aiUserDataColor for color
  4. 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")
  5. Connect the Out Color output of the user node to your material's color input (e.g. Diffuse Color)
  6. 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.

Missing Something? Let us know if this page needs more information about the topic.