aiUserDataVector Shader

Arnold provides its own shader to read and return vector user data: aiUserDataVector. This data can be used to feed other shaders in Maya that have a vector or color input. Refer to the Shader Attributes page to know how to store vector user data in a mesh.


Result of a Get User Data Vector Shader combined with a Surface Shader and different user data values.

Creation

To create a aiUserDataVector, the Arnold plugin (mota) must be loaded.

  • Hypershade: Arnold / Shader / Utility / aiUserDataVector
  • MEL command: createNode aiUserDataVector;

Configuration


aiUserDataVector attributes

Vector Attr Name Name of the vector user data attribute to read in the rendered mesh. 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 no matching user data was found in the Character File

Shading Graph Integration

This shader can be used to feed a vector or color value of any other shader. The output attribute of this shader is called outValue.

In the following example the GetUserDataVector shader directly feeds the Color attribute of a Blinn Tshirt shader.

The Crowd Get User Data Vector is configured to read the parameter randColor as seen in the figure above.

In the Character Maker Geometry Tab, the Tshirt Shader has a vector Shader Attribute named randColor which will have a random value between 0 and 1.0 for each vector component (X, Y, Z). Notice that this value can also be controlled with a ppAttribute.


Random vector Shader Attribute values

At render time the t-shirt has a random color, as shown in the example above.