Navigation
API > API/Plugins > API/Plugins/AnimationWarpingRuntime > API/Plugins/AnimationWarpingRuntime/BoneControllers
Inheritance Hierarchy
- FAnimNode_Base
- FAnimNode_SkeletalControlBase
- FAnimNode_OrientationWarping
References
| Module | AnimationWarpingRuntime |
| Header | /Engine/Plugins/Animation/AnimationWarping/Source/Runtime/Public/BoneControllers/AnimNode_OrientationWarping.h |
| Include | #include "BoneControllers/AnimNode_OrientationWarping.h" |
Syntax
USTRUCT&40;BlueprintInternalUseOnly&41;
struct FAnimNode_OrientationWarping : public FAnimNode_SkeletalControlBase
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bEnableDebugDraw | Enable/Disable orientation warping debug drawing. | |
| float | DebugDrawScale | Scale all debug drawing visualization by a factor. | |
| float | DistributedBoneOrientationAlpha | Specifies how much rotation is applied to the character body versus IK feet. | |
| TArray< FBoneReference > | IKFootBones | IK Foot definitions. | |
| FBoneReference | IKFootRootBone | IK Foot Root Bone definition. | |
| float | LocomotionAngle | The character locomotion angle (in degrees) relative to the specified RotationAxis This will be used in the following equation for computing the orientation angle: [Orientation = RotationBetween(RootMotionDirection, LocomotionDirection)] | |
| float | LocomotionAngleDeltaThreshold | Specifies an angle threshold to prevent erroneous over-rotation of the character, disabled with a value of 0 | |
| float | MaxOffsetAngle | ||
| float | MinRootMotionSpeedThreshold | Minimum root motion speed required to apply orientation warping This is useful to prevent unnatural re-orientation when the animation has a portion with no root motion (i.e starts/stops/idles) When this value is greater than 0, it's recommended to enable interpolation with RotationInterpSpeed > 0 | |
| EWarpingEvaluationMode | Mode | Orientation warping evaluation mode (Graph or Manual) | |
| float | OffsetAlpha | ||
| float | OrientationAngle | The desired orientation angle (in degrees) to warp by relative to the specified RotationAxis. | |
| TEnumAsByte< EAxis::Type > | RotationAxis | Rotation axis used when rotating the character body. | |
| float | RotationInterpSpeed | Specifies the interpolation speed (in Alpha per second) towards reaching the final warped rotation angle A value of 0 will cause instantaneous rotation, while a greater value will introduce smoothing | |
| TArray< FBoneReference > | SpineBones | Spine bone definitions Used to counter rotate the body in order to keep the character facing forward The amount of counter rotation applied is driven by DistributedBoneOrientationAlpha | |
| float | WarpingAlpha |
Overridden from FAnimNode_SkeletalControlBase
| Type | Name | Description | |
|---|---|---|---|
| void | EvaluateSkeletalControl_AnyThread
(
FComponentSpacePoseContext& Output, |
Evaluate the new component-space transforms for the affected bones. | |
| bool | IsValidToEvaluate
(
const USkeleton* Skeleton, |
Return true if it is valid to Evaluate | |
| void | UpdateInternal
(
const FAnimationUpdateContext& Context |
Interface for derived skeletal controls to implement use this function to update for skeletal control base |
Overridden from FAnimNode_Base
| Type | Name | Description | |
|---|---|---|---|
| void | GatherDebugData
(
FNodeDebugData& DebugData |
Called to gather on-screen debug data. This is called on the game thread. | |
| void | Initialize_AnyThread
(
const FAnimationInitializeContext& Context |
Called when the node first runs. |