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 plugin (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 than 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 than the Shader Attribute type, it is mandatory to specify it.