Houdini 20.5 Character KineFX

spline

Sets up a spline solver.

Since 20.5
This feature is still under development. The current functionality is unfinished and subject to change, and may have thin or no documentation. Please bear this in mind when using it.

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

tags

The tags that are added on all the nodes created by this spline component.

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

KineFX

Preparing character inputs

Rigging with rig components

Rigging with APEX graphs

Building graphs with APEX Script

Animating in the viewport

Technical Animation

Deformation

Animation Retargeting

Pre-H20

Panes

Appendix