In addition to the standard attributes and user attributes supported on both `polymesh`

and `subdmesh`

locations, KtoA adds a few additional attributes it can translate.

`polymesh`

locations can have subdivision activated (in the `ArnoldObjectSettings`

node) and KtoA will allow them through as subdivision meshes, but with a warning. It is preferred to use the `subdmesh`

location type.

All of the mesh-related attributes from `ArnoldObjectSettings`

(stored in the `arnoldStatements`

attribute group) are applied. In addition, the following are recognized:

`geometry.point.Pref`

: the same size as`geometry.point.P`

, this is a per-vertex reference position typically used for applying projective textures or noise at a bind-pose and having it stick.`geometry.creaseIndices`

: there are two modes for this attribute:- An integer array of pairs of indices referencing vertices (points from
`geometry.point.P`

). E.g. if a subdmesh has 600 vertices,`creaseIndices`

with values 1, 2 will make a creased edge from vertex 1 to vertex 2. - Runs of vertex indices, each run length indicated by geometry.creaseLengths. E.g. if a subdmesh has 600 vertices, geometry.creaseLengths has a three values 4, 3, 3, and creaseIndices has values 1, 2, 5, 7, 2, 6, 7, 9, 10, 12, then it will make creased edges from vertices 1 to 2, 2 to 5, 5 to 7, 2 to 6, 6 to 7, 9 to 10, and 10 to 12. Note that the runs can be conceptually thought of as 1,2,5,7; 2,6,7; 9,10,12.

- An integer array of pairs of indices referencing vertices (points from
`geometry.creaseLengths`

: if present,`geometry.creaseIndices`

contains runs of vertex indices instead of being restricted to pairs of vertex indices. When not present, it is implied that each length is 2, producing pairs of indices.`geometry.creaseSharpness`

: the OpenSubdiv-compatible float crease sharpness, one per pair or run of crease indices. If`creaseLengths`

is present, there will be the same number of crease sharpnesses as entries in`creaseLengths`

and otherwise there will be one per pair of indices if not. This will produce a hard/perfect crease up to the subdivision level that matches, and then will soften for any subdivision levels beyond that. E.g. if the subdivision level is set to 4, and a crease sharpness is set to 2.5, then it will produce a hard crease through subdivision levels 1 and 2, a half-hard crease on subdivision level 3, and a regular subdivision on level 4.`geometry.cornerIndices`

: an array of vertex indices indicating which should be sharpened.`geometry.cornerSharpness`

: like`creaseSharpness`

but applies to a vertex to create sharp corners. This will have one float value per index in`cornderIndices`

.