Navigation
API > API/Runtime > API/Runtime/AnimGraphRuntime
| Name | FAnimNode_SplineIK |
| Type | struct |
| Header File | /Engine/Source/Runtime/AnimGraphRuntime/Public/BoneControllers/AnimNode_SplineIK.h |
| Include Path | #include "BoneControllers/AnimNode_SplineIK.h" |
Syntax
USTRUCT (BlueprintInternalUseOnly)
struct FAnimNode_SplineIK : public FAnimNode_SkeletalControlBase
Inheritance Hierarchy
- FAnimNode_Base → FAnimNode_SkeletalControlBase → FAnimNode_SplineIK
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FAnimNode_SplineIK() |
BoneControllers/AnimNode_SplineIK.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bAutoCalculateSpline | bool | The number of points in the spline if we are specifying it directly | BoneControllers/AnimNode_SplineIK.h |
|
| BoneAxis | ESplineBoneAxis | Axis of the controlled bone (ie the direction of the spline) to use as the direction for the curve. | BoneControllers/AnimNode_SplineIK.h |
|
| ControlPoints | TArray< FTransform > | Transforms applied to spline points | BoneControllers/AnimNode_SplineIK.h |
|
| EndBone | FBoneReference | Name of bone at the end of the spline chain. | BoneControllers/AnimNode_SplineIK.h |
|
| Offset | float | The distance along the spline from the start from which bones are constrained | BoneControllers/AnimNode_SplineIK.h |
|
| PointCount | int32 | The number of points in the spline if we are not auto-calculating | BoneControllers/AnimNode_SplineIK.h |
|
| Roll | float | Overall roll of the spline, applied on top of other rotations along the direction of the spline | BoneControllers/AnimNode_SplineIK.h |
|
| StartBone | FBoneReference | Name of root bone from which the spline extends | BoneControllers/AnimNode_SplineIK.h |
|
| Stretch | float | The maximum stretch allowed when fitting bones to the spline. | BoneControllers/AnimNode_SplineIK.h |
|
| TwistBlend | FAlphaBlend | How to interpolate twist along the length of the spline | BoneControllers/AnimNode_SplineIK.h |
|
| TwistEnd | float | The twist of the end bone. Twist is interpolated along the spline according to Twist Blend. | BoneControllers/AnimNode_SplineIK.h |
|
| TwistStart | float | The twist of the start bone. Twist is interpolated along the spline according to Twist Blend. | BoneControllers/AnimNode_SplineIK.h |
|
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| BoneSpline | FSplineCurves | Spline we maintain internally | BoneControllers/AnimNode_SplineIK.h | |
| CachedBoneLengths | TArray< float > | Cached bone lengths. Same size as CachedBoneReferences | BoneControllers/AnimNode_SplineIK.h | |
| CachedBoneReferences | TArray< FSplineIKCachedBoneData > | Cached data for bones in the IK chain, from start to end | BoneControllers/AnimNode_SplineIK.h | |
| CachedOffsetRotations | TArray< FQuat > | Cached bone offset rotations. Same size as CachedBoneReferences | BoneControllers/AnimNode_SplineIK.h | |
| LinearApproximation | TArray< FSplinePositionLinearApproximation > | Piecewise linear approximation of the spline, recalculated on creation and deformation | BoneControllers/AnimNode_SplineIK.h | |
| OriginalSplineLength | float | Cached spline length from when the spline was originally applied to the skeleton | BoneControllers/AnimNode_SplineIK.h | |
| TransformedSpline | FSplineCurves | Transformed spline | BoneControllers/AnimNode_SplineIK.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void GatherBoneReferences
(
const FReferenceSkeleton& RefSkeleton |
Build bone references & reallocate transforms from the supplied ref skeleton | BoneControllers/AnimNode_SplineIK.h | |
FTransform GetControlPoint
(
int32 TransformIndex |
Get specified handle transform (in component space) for the spline | BoneControllers/AnimNode_SplineIK.h | |
int32 GetNumControlPoints() |
Get the number of spline transforms we are using | BoneControllers/AnimNode_SplineIK.h | |
const FSplineCurves & GetSplineCurves() |
Read-only access to spline curves | BoneControllers/AnimNode_SplineIK.h | |
const FSplineCurves & GetTransformedSplineCurves() |
Read-only access to transformed curves | BoneControllers/AnimNode_SplineIK.h | |
FTransform GetTransformedSplinePoint
(
int32 TransformIndex |
Get transformed spline point (in component space) for the spline | BoneControllers/AnimNode_SplineIK.h | |
void SetControlPoint
(
int32 TransformIndex, |
Set specified handle transform (in component space) for the spline | BoneControllers/AnimNode_SplineIK.h | |
void SetControlPointLocation
(
int32 TransformIndex, |
Set specified handle location (in component space) for the spline | BoneControllers/AnimNode_SplineIK.h | |
void SetControlPointRotation
(
int32 TransformIndex, |
Set specified handle rotation (in component space) for the spline | BoneControllers/AnimNode_SplineIK.h | |
void SetControlPointScale
(
int32 TransformIndex, |
Set specified handle scale (in component space) for the spline | BoneControllers/AnimNode_SplineIK.h |
Overridden from FAnimNode_SkeletalControlBase
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void EvaluateSkeletalControl_AnyThread
(
FComponentSpacePoseContext& Output, |
Evaluate the new component-space transforms for the affected bones. | BoneControllers/AnimNode_SplineIK.h | |
virtual bool IsValidToEvaluate
(
const USkeleton* Skeleton, |
Return true if it is valid to Evaluate | BoneControllers/AnimNode_SplineIK.h |
Overridden from FAnimNode_Base
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void GatherDebugData
(
FNodeDebugData& DebugData |
BoneControllers/AnimNode_SplineIK.h | ||
virtual bool NeedsOnInitializeAnimInstance() |
BoneControllers/AnimNode_SplineIK.h | ||
virtual void OnInitializeAnimInstance
(
const FAnimInstanceProxy* InProxy, |
BoneControllers/AnimNode_SplineIK.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void BuildBoneSpline
(
const FReferenceSkeleton& RefSkeleton |
Build spline from reference pose | BoneControllers/AnimNode_SplineIK.h | |
float FindParamAtFirstSphereIntersection
(
const FVector& InOrigin, |
Use our linear approximation to determine the earliest intersection with a sphere | BoneControllers/AnimNode_SplineIK.h | |
void TransformSpline() |
Transform the spline using our control points | BoneControllers/AnimNode_SplineIK.h |