Renderer Attributes

Renderer Attributes is a mechanism to override / set almost any attributes on meshes generated by the Golaem for Arnold / Vray / Renderman procedural rendering plugins. For example, it can be used to set displacement, visibility on a per mesh level et render time. Renderer Attributes can be set on a mesh by creating a Shader Attribute node in the Character Maker Geometry tab of a Character File with a name following the template:

renderer.attrName.[subAttrName.]type

Where renderer is the name of the renderer (arnold, vray or renderman) which will be edited, attrName is the name of the attribute to set / override and type is the type of the attribute (bool, int, uint, byte, float, string or vector). Notice that subAttrName is only required when using the Renderman procedural rendering plug-in (see below).

Arnold

To override / set a mesh attribute for Arnold, it's required to know its name when exported to .ass. You can use Maya / Export / Ass to export a scene and inspect it. Thus the following blue piece of ass file can be overriden using a Rendered Attribute the following way:

polymesh

{    name myMeshName

   ...

   opaque off

}

 

Here the type is casted from int to bool to comply with Arnold attribute type. The 0 value will be converted as off.

Notice that the same result (and even more!) can also be achieved using Arnold Operators

VRay

To override / set a mesh attribute for Vray, it's required to know its name when exported to .vrscene. You can use the Export to vrscene option in Vray Render Settings to export a vrscene file and inspect it. Thus the following blue piece of vrscene file can be overriden using a Rendered Attribute the following way:

GeomStaticSmoothedMesh myMeshNameShape@mesh1@subdivGeometry {

    mesh=myMeshNameShape@mesh1;

    static_subdiv=1;

    ...

}

 

Even if the casted type is the same as the Shader Attribute type, it is mandatory to specify it.

Renderman

To override / set a mesh attribute for Renderman, it's required to know its name when exported to .rib. You can use Maya / Export / Rib to export a scene and inspect it. Thus the following blue piece of rib file can be overriden using a Rendered Attribute the following way:

    AttributeBegin

        Attribute "identifier" "string name" ["|myMeshName|myMeshNameShape1"] "int id" [1474904439] "int id2" [0]

        ...

        Attribute "user" "string __materialid" ["myShadingGroup"]

    AttributeEnd

 

Even if the casted type is the same as the Shader Attribute type, it is mandatory to specify it.