The curves scenegraph location, in addition to the standard Katana curves attributes, KtoA handles the following additional attributes:
anoldStatements.*: the various curve-related settings are applied. In particular,
curve_triplicate_endpointsare used beyond the common settings available. Please see the
ArnoldObjectSettingsnode for those curve settings.
geometry.arbitrary.st: texture coordinates here are treated as per-curve values, and translated as root UVs for curves in Arnold. Note that there should be one ST (two floats) per curve, and the scope should be
geometry.point.normal: a three-float list of orientation vectors per curve point, indicating the direction the curve is facing. This only applies when
- Curve widths, listed in order of higher precedence (only one set is applied):
geometry.curveWidthEnd: float, per curve. These attributes allow the specification of a root and tip width for each curve.
geometry.curves_width: used only if
geometry.curves_ncurvesis present. One float width per varying value, or per curve point, or per curve.
geometry.point.width: float, one per varying value, or per point, or per curve. Semantically it is recommended to use this per point or per varying value.
geometry.width: float, one per varying value, or per point, or per curve. Semantically, it is recommended to use this per curve.
geometry.constantWidth: float, one value for the whole location.
geometry.point.constantWidth: float, one value for the whole location.
geometry.curveWidthEnd: float, per curve. This option attribute is used instead of use
geometry.point.constantWidthif present, this attribute allows the specification of a tip width for each curve.
geometry.curves_pointList: legacy synonym for
geometry.curves_nvertices: legacy synonym for
geometry.curveMode: legacy synonym for
Currently, standard curves location attributes
geometry.knots are ignored, but will likely be supported in some fashion in a future KtoA release.
Arbitrary Data Sizes
Arbitrary data for curves is a bit of a special case, because Katana normally vets arbitrary data scope such as
subdmesh location attributes to make sure there are the right number of values. Because curves lack those attributes, only
primitive scope should be used for curves arbitrary attributes. In a future version of KtoA additional scopes will be properly supported for curves.