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.
These attributes are supported for different kinds of locations
|instance.ID||Used 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.|
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".|
The table below describes which location types are supported and for every supported location type it lists the supported attributes.
|geometry.point.P||Positions of the points of the mesh.|
|geometry.poly.vertexList and geometry.poly.startIndex||Describe faces.|
|geometry.vertex.N||Normals per vertex.|
|Depicts texture coordinates. Stored as the first mapping channel (channel=0).|
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.v||Velocities of the points. It should be in units/sec. Make it possible to render meshes that change topology with correct motion blur.|
|faceset||geometry.faces||Describes which faces are part of the faceset.|
|curves||geometry.point.P||Position of points in the curves.|
|geometry.numVertices||List of integers that depicts how many points comprise every separate curve.|
|geometry.degree||Controls 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.width||Specifies the diameter of the curves. It is per point.|
|geometry.arbitrary.st||Stored as the first mapping channel (channel=0).|
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.P||Positions of the particles.|
|geometry.point.width||List of values that specifies the diameter of every particle.|
|geometry.point.constantWidth||Specifies the diameter of all particles. Used only if there is no geometry.point.width|
|geometry.point.v||Velocities of the particles. It should be in units/sec. Makes it possible to render particle systems that change number of particles every frame/subframe.|
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:
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.
|Not supported at the moment.|
|pointcloud (for instancing)||geometry.point.instanceSource||String 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.instanceSource||Stores 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.P||Positions 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.scale||Scale 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.quaternion||Rotation of the instances in quaternion form (4 floats). The size must be at least N*4.|
|geometry.point.matrix||Transformation for every instance specified as 4x4 matrix. The size must be at least N*16.|
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 procedural||rendererProcedural.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.instanceSource||String attribute that points to an "instance source" location. Both absolute and relative paths are supported.|
|xform||Transformation 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.|
|camera||geometry.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.|