This page is a complementary page to the Appendix G: Standard Attributes from Katana's manual. It describes the locations and attributes that are supported by V-Ray for Katana.

Global attributes

These attributes are supported for different kinds of locations

AttributeExplanation
instance.IDUsed to mark geometry locations that point to the same geometry (use the same value for the same geometries). This allows the renderer to minimized the memory usage by the use of instancing.
geometry.arbitrary.<XXX>

These attributes make it possible to define attributes for particular locations and then use the values in various places in the shader. Check the documentation of Katana what is the format of these attributes.

The scope="primitive" is supported for all geometry locations. The other scope types are supported differently for different locations.

 textures.<XXX>Treated the same as geometry.arbitrary.XXXX where scope="primitive".

 

Location attributes

The table below describes which location types are supported and for every supported location type it lists the supported attributes.

Location typeAttributeExplanation

polymesh

subdmesh

 

 

 

 

geometry.point.PPositions of the points of the mesh.
geometry.poly.vertexList and geometry.poly.startIndexDescribe faces.
geometry.vertex.NNormals per vertex.

geometry.arbitrary.st

Depicts texture coordinates. Stored as the first mapping channel (channel=0).
geometry.arbitrary.<XXX>

All these attributes are turned into mapping channels and can be used as such or through the use of TexUserFloat or TexUserColor shaders.

Supported scopes are "point" and "vertex".

Supported types (inputType attribute is read) are "color3", "point3", "point2", "float", "double" and "".

geometry.point.vVelocities of the points. It should be in units/sec. Make it possible to render meshes that change topology with correct motion blur.
facesetgeometry.facesDescribes which faces are part of the faceset.
curves




geometry.point.PPosition of points in the curves.
geometry.numVerticesList of integers that depicts how many points comprise every separate curve.
geometry.degreeControls if the curves should be rendered as splines. Possible values 1 (segmented rendering) or 3 (rendered as splines). If not specified 1 is used.
geometry.point.widthSpecifies the diameter of the curves. It is per point.
geometry.arbitrary.stStored as the first mapping channel (channel=0).
geometry.arbitrary.<XXX>

All these attributes are turned into mapping channels and can be used through the use of TexUserFloat or TexUserColor shaders.

Only scope="point" is supported.

Supported types (inputType attribute is read) are "color3", "point3", "point2", "float", "double" and "". When inputType is "" the number of elements is read from the elementSize attribute (the value should be between 1 and 3).

pointcloud (for particle systems)




geometry.point.PPositions of the particles.
geometry.point.widthList of values that specifies the diameter of every particle.
geometry.point.constantWidthSpecifies the diameter of all particles. Used only if there is no geometry.point.width
geometry.point.vVelocities of the particles. It should be in units/sec. Makes it possible to render particle systems that change number of particles every frame/subframe.

geometry.arbitrary.<XXX>

V-Ray for Maya schema

If there is a attribute geometry.arbitrary.vray_maya_schema=1, then the translator will try to read any of the following:

  1. float list attributes (1 channel): age, lifespan, user_scalar_1, user_scalar_2, user_scalar_3, user_scalar_4, user_scalar_5
  2. color list attributes (3 channels): acceleration, incandenscence, rgb, user_vector_1, user_vector_2, user_vector_3, user_vector_4, user_vector_5

Supported scope is only point. Supported types (inputType attribute is read) are "color3", "point3" and "" (elementSize=3) for color list attributes, and "float", "double" and "" (elementSize=1) for float list attributes.

The data for the attributes can be read only from "value" attributes. Indexed attributes are not supported.

geometry.arbitrary.<XXX>

Generic schema

Not supported at the moment.
pointcloud (for instancing)geometry.point.instanceSourceString array that stores paths that point to "instance source" locations. Using this attribute makes it possible to instance different locations at every point in the pointcloud.
geometry.instanceSourceStores a string with a single path to an "instance source" location. Using this attribute makes it possible to instance this location at every point in the pointcloud. Used only if there is no geometry.point.instanceSource.
geometry.point.PPositions of the instances. This is an array where the number of element is at least N*3, where N is the number of points in the pointcloud.
geometry.point.scaleScale of the instances. This is an array attribute, where the number number of element is at least N*3, where N is the number of points in the pointcloud. So this make is possible to scale non-uniformly every instance.
geometry.point.quaternionRotation of the instances in quaternion form (4 floats). The size must be at least N*4.
geometry.point.matrixTransformation for every instance specified as 4x4 matrix. The size must be at least N*16.
geometry.arbitrary.<XXX>

Makes it possible to specify arbitrary data per point in the pointcloud. Only scope="point" attributes is supported. The data must be specified in a "value" attributes which are arrays with sufficient length to store the required data.

Supported types (inputType attribute is read) are "color3", "point3", "vector3", "float", "double" and "". When inputType is "" the number of elements is read from the elementSize attribute (the value should be between 1 and 4).

 Note: To compute the final transformation of every particle the following order of operations is used: point.scale, point.quaternion, point.P (translation) and point.matrix.
group Ignored, but its children are traversed recursively.
renderer proceduralrendererProcedural.args.<XXX>These are turned into V-Ray Plugin parameters by the exporter. So they should be present in the Description of the V-Ray plugin you're trying to use. See this How-To for example: Setup for rendering Yeti caches
error<none>Translation is terminated if such location is reached.
instance source Anything below this location is skipped. It is only rendered when an instance location references this location.
instance


geometry.instanceSourceString attribute that points to an "instance source" location. Both absolute and relative paths are supported.
xformTransformation of the instance. For every object in the "instance source" location that will be rendered we calculate its relative transformation (relative to the "instance source" location). Then we concatenate this relative transformation to the transformation of the instance location to calculate the final transformation of the object.
geometry.arbitrary.<XXX> and  textures.<XXX>These attributes are combined from both the "instance" and "instance source" locations. The attributes from the "instance" location take preference.
vrayStatements.visibility_options.<XXX>It is possible to override visibility options (camera, reflections, refractions, gi, shadows) for every instance.
camerageometry.fov, geometry.near, geometry.far, geometry.centerOfIntereset 
vrayfur Location created by the VrayFur node. See the node and its documentation about the generated attributes.
vrayvolume Location created by the VrayVolumeGrid_In node. Used to bring OpenVDB, Field3d and Phoenix cache files in Katana.