Since | 20.5 |
This 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, of the character.
See rigging a character for an example use of this component.
Parameters ¶
name
The name that is added to the nodes created by this 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 Bezier curve).
Each segment of a Bezier curve requires that <number_of_cvs> = order
. Compound curves share a CV between their curve segments, so each additional curve segment requires an additional order-1
CVs. This requirement can be expressed by the equation <number_of_cvs> % (order-1) == 1
.
Order 3 and 4 curves are popular choices for ensuring that each CV has a relatively local impact on the shape of the curve while allowing for the smoothness and flexibility of quadratic and cubic polynomial curves.
tangent
The direction down the length of the chain.
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. Tags can be set up on skeleton joints using an Attribute Adjust Array SOP. See preparing skeletons for rigging for more information.
If segments is empty, the spline logic is run once.
Note
The segments parameter does not take APEX path patterns, for example, the %tag() function. Instead, specify the tag names directly in this field.
driven
The TransformObject nodes to drive, for example, spine_01
, spine_02
, spine_03
. This parameter also accepts APEX path patterns, so you can specify tags in this field, 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. In this case, you can set driven to %tag(bind) & %tag(spline)
.
root
The root of the spline. If this is empty, the root of the driven chain is used. This parameter accepts APEX path patterns, so you can specify tags in this field, for example, %tag(splineroot)
.
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. If this is empty, the tip of the driven chain is used. This parameter accepts APEX path patterns, so you can specify tags in this field, for example, %tag(splinetip)
.
When using segments, you can use the segment name plus the tag, for example, %tag(splinetip) & %tag({segment})
. The {segment}
string is used to find the segment names.
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 root and tip as reference. Make sure the control names are unique and don’t conflict with any other controls. You can use the {segment}
string 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, for example, %tag(spline)
.
resample
When custom is turned on, the controls are deleted based on this value.
prefix
When custom is turned on, this is the prefix for the control names in the custom spline setup.
suffix
When custom is turned on, this is the suffix for the control names in the 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, for example, %tag(<tag>)
.
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 |