The Crowd Render Proxy allows to add Displacement on Entities geometry to add details at render time. At render time, displacement will be assigned the same way than surface shaders: the render plugin will look for a Renderman Displacement Nodes with the same name than the one set in the Character File and assign it to the created geometry. As Arnold Displacement parameters can not be stored in the Character Geometry File (.fbx or .gcg), displacement information must be stored at the Character File level.
Examples of Displacement Mapping with different displacement amounts
Displacement Shaders are created automatically when a displaced mesh is imported to the character geometry mapping.
However, a Displacement Shader can be added manually:
Example of a Displacement Shader applied to a Shading Group Node
It is possible to configure a Displacement Shader by linking some
specific Renderer Attributes to the
Shading Group Node.
Here is an example of Renderman Attributes which need to be set via the
Renderer Attributes (those parameters are the same attributes defined
by Renderman for each mesh in
Maya):
Attribute Name | Description |
renderman.displacementbound.sphere.float | Determines the maximum displacement amount which occurs at places where the displacement map is white. (notice that this value can also be controlled with a ppAttribute). If not set, the value will be 0 and no displacement will be visible. |
Example of Renderer Attributes applied to a Displacement Shader
Notice that the gain can be controlled with a regular Shader Attribute and plugged to the PxrDisplace gain attribute