Since | 20.5 |
The spline component sets up a spline solver and adds the control for either a tangent control or a custom setup by the user. This component can be run in a loop over different segments, or parts, or the character.
Parameters ¶
name
The name that is added to all the nodes created by this spline component. When using segments, the segment name is also added to the nodes.
guidesource
The guide skeleton that is used as a reference when creating controls.
Settings ¶
curveorder
The order of the bezier curve to build from the CVs. Defaults to 2 (linear beizer curve).
The first segment of a bezier curve consumes an order number of CVs (control
vertices) for its construction. If the number of CVs is greater than the
curve order, additional curve segments are created. Each additional curve
segment requires an additional (order - 1) CVs, since it will share its
first CV with the previous curve segment. This relationship can be
expressed by the equation number of cvs % (order-1) == 1
.
Order 3 and 4 curves are popular choices since they balance the smoothness and flexibility of quadratic and cubic polynomial curves, while simultaneously preserving locality that changes to a CV’s position have on the shape of a curve.
tangent
The direction down the length of the chain. By default, it is set to the -Z axis.
pinroot
When turned on, constrains the orientation of the driven root to the controls. When turned off, the spline solver determines the orientation of the root.
pintip
When turned on, constrains the orientation of the driven tip to the controls. When turned off, the spline solver determines the orientation of the tip.
Driven ¶
segments
Segments are tags that separate each spline chain. These segment tags can be set up on the joints using an Attribute Adjust Array SOP.
By default, the segments parameter is empty, so the spline component is run once.
driven
The TransformObject nodes to drive. You can specify the individual joints, for example, spine_01
, spine_02
, spine_03
, or a tag that exists on the TransformObject nodes, for example, %tag(spline)
.
It is good practice to also specify the bind
tags that are set up by default on the fktransform component’s tags parameter. The fktransform component is normally the first component that is used to start building a rig. Including the bind
tag helps to ensure that you don’t include other controls that might have inherited, for example, the spline
tag. So in this case, you can set driven to %tag(bind) & %tag(spline)
.
root
The root of the spline. When using segments, you can use the segment name plus the tag, for example, %tag(splineroot) & %tag({segment})
. The {segment}
string is used to find the segment names.
tip
The tip of the spline. This parameter accepts APEX path patterns, so you can specify tags in this field.
Driver ¶
By default, the spline component sets up a tangent spline with 4 controls - rootname, rootcvname, tipcvname, and tipname. The controls are created automatically using the tip and root as reference. Make sure the control names are unique and don’t conflict with any other controls. The {segment}
string can be used when creating multiple splines so that there are no naming conflicts. See the root parameter.
custom
When turned on, the drivers, resample, prefix, and suffix parameters are available for creating a custom spline setup.
rootname
The name of the root control.
rootcvname
The name of the root tangent CV (control vertex).
tipcvname
The name of the tip tangent CV.
tipname
The name of the tip control.
drivers
When custom is turned on, these are the drivers for the custom spline setup. The controls are created based on the drivers. This parameter accepts APEX path patterns, so you can specify tags in this field.
resample
When custom is turned on, controls are deleted by skipping the controls using this value.
prefix
When custom is turned on, this is the prefix for the control names in a custom spline setup.
suffix
When custom is turned on, this is the suffix for the control names in a custom spline setup.
Parents ¶
rootparent
The parent of the root. If left empty, the root is parented to root's parent. If you are setting up multiple splines you can leave this field empty. However, you can set parent tags on the guide skeleton, and use the parent tag plus the segment tag to get the correct parent for each segment.
This parameter accepts APEX path patterns, so you can specify tags in this field.
tipparent
The parent of the tip. This parameter accepts APEX path patterns, so you can specify tags in this field.
cvparent
The parent of the CVs. This parameter accepts APEX path patterns, so you can specify tags in this field.
Tags ¶
Shape ¶
scaleinheritance
The scale inheritance for the controls.
shape
The shape of the controls. It can be set to any of the built-in APEX control shapes.
scale
The scale of the control shapes. To inherit the shape scale from the guide skeleton, set this value to (0, 0, 0).
color
The color of the control shapes. To inherit the shape color from the guide skeleton, set this value to (0, 0, 0).
See also |