Navigation
API > API/Plugins > API/Plugins/AnimationWarpingRuntime > API/Plugins/AnimationWarpingRuntime/BoneControllers
Inheritance Hierarchy
- 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 (BlueprintInternalUseOnly)
struct FAnimNode_OrientationWarping : public FAnimNode_SkeletalControlBase
Remarks
Maintains a look at direction for the upper body (orientation), while rotating the lower body to match capsule velocity direction Does nothing if the root motion velocity direction matches the desired / current capsule velocity direction
Variables
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
bool | bCounterCompenstateInterpolationByRootMotion | Whether to counter compensate interpolation by the animated root motion angle change over time. |
![]() ![]() ![]() |
bool | bEnableDebugDraw | Enable/Disable orientation warping debug drawing. |
![]() ![]() ![]() |
bool | bScaleByGlobalBlendWeight | |
![]() ![]() ![]() |
bool | bUseManualRootMotionVelocity | |
![]() ![]() ![]() |
float | CounterCompensateInterpSpeed | Same as RotationInterpSpeed, but for CounterCompensate smoothing. |
![]() ![]() ![]() ![]() ![]() |
TObjectPtr< UAnimationAsset > | CurrentAnimAsset | Experimental. |
![]() ![]() ![]() ![]() ![]() |
float | CurrentAnimAssetTime | Experimental. Current playback time in seconds of the CurrentAnimAsset. |
![]() ![]() ![]() |
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)] In most cases, this is the difference between the Velocity of the Movement Component and the actor rotation (obtained via CalculateDirection) |
![]() ![]() ![]() ![]() |
float | LocomotionAngleDeltaThreshold | Specifies an angle threshold to prevent erroneous over-rotation of the character, disabled with a value of 0 |
![]() ![]() ![]() ![]() |
FVector | LocomotionDirection | The character movement direction vector in world space When set, this vector is used to compute LocomotionAngle automatically. |
![]() ![]() ![]() ![]() |
FVector | ManualRootMotionVelocity | |
![]() ![]() ![]() |
float | MaxCorrectionDegrees | Max correction we're allowed to do per-second when using interpolation. |
![]() ![]() ![]() |
float | MaxRootMotionDeltaToCompensateDegrees | Don't compensate our interpolator when the instantaneous root motion delta is higher than this. This is likely a pivot. |
![]() ![]() ![]() ![]() |
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 | 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 | TargetTime | Experimental. |
![]() ![]() ![]() ![]() |
EOrientationWarpingSpace | WarpingSpace | |
![]() ![]() ![]() ![]() |
FTransform | WarpingSpaceTransform |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | EvaluateSkeletalControl_AnyThread
(
FComponentSpacePoseContext& Output, |
|
![]() ![]() |
void | GatherDebugData
(
FNodeDebugData& DebugData |
|
![]() ![]() |
void | Initialize_AnyThread
(
const FAnimationInitializeContext& Context |
|
![]() ![]() |
bool | IsValidToEvaluate
(
const USkeleton* Skeleton, |
|
![]() ![]() |
void | UpdateInternal
(
const FAnimationUpdateContext& Context |