V-Ray User Scalar Shader

V-Ray provides its own shader to read and return float user data: V-Ray User Scalar. This data can be used to feed other shaders (such as a Crowd Switch Shader or HSL Shader). Refer to the Shader Attributes page to know how to store integer user data in a mesh.


Result of a V-Ray User Scalar Shader combined with a Crowd Switch Shader and different user data values.

Creation

To create a V-Ray User Scalar, the V-Ray (vrayformaya) plugin must be loaded.

  • Hypershade: Maya / Utilities / V-Ray User Scalar
  • MEL command: shadingNode -asUtility VRayUserScalar;

Configuration

User attribute name Name of the user data attribute to read in the rendered mesh and which will be returned. The name of the user data should be the same than the one defined in the Shader Attributes of the Mesh.
Default value Default value to return if the corresponding user data is not found

Shading Graph Integration

This shader can be used to feed an integer value of any other shader. The output attribute of this shader is called outAlpha.
 
In the following example the Crowd Switch Shader has 3 textures connected to its 3 first Shader slots. Its Selector value is fed by a V-Ray User Scalar shader and its output is connected to the Color attribute of a Blinn Tshirt shader.
 
In the Character Maker Geometry Tab, the Tshirt Shader has an Integer Attribute named "textureId" which will have a random value between 0 and 2 (notice that this value can also be controlled with a ppAttribute) :

Then, the V-Ray User Scalar is configured to read the parameter "textureId":
 
At render time, Entities having this Blinn Tshirt shader listed in their Assets, you get the following result: