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).
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
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.
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.