curves - Arnold for Katana
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_mode,curve_basis,min_pixel_width,flip_t, andcurve_triplicate_endpointsare used beyond the common settings available. Please see theArnoldObjectSettingsnode 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 beprimitive(notface,vertex, orpoint).geometry.point.orientation,geometry.point.N,geometry.point.normal: a three-float list of orientation vectors per curve point, indicating the direction the curve is facing. This only applies whenarnoldStatements.curve_modeisoriented.- Curve widths, listed in order of higher precedence (only one set is applied):
geometry.curveWidthStartandgeometry.curveWidthEnd: float, per curve. These attributes allow the specification of a root and tip width for each curve.- (deprecated)
geometry.curves_width: used only ifgeometry.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.- (deprecated)
geometry.point.constantWidth: float, one value for the whole location. geometry.curveWidthEnd: float, per curve. This option attribute is used instead of usinggeometry.point.widthorgeometry.point.constantWidth; if present, this attribute allows the specification of a tip width for each curve.
- (deprecated)
geometry.curves_pointList: legacy synonym forgeometry.point.P - (deprecated)
geometry.curves_nvertices: legacy synonym forgeometry.numVertices - (deprecated)
geometry.curveMode: legacy synonym forarnoldStatements.curve_mode
Currently, standard curves location attributes geometry.degree and 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 face or point against polymesh or subdmesh location attributes to make sure there are the right number of values. Because curves lack those attributes, only the primitive scope should be used for curves' arbitrary attributes. In a future version of KtoA, additional scopes will be properly supported for curves.
