Navigation
API > API/Runtime > API/Runtime/AnimGraphRuntime
RBF based orientation driver
| Name | FAnimNode_PoseDriver |
| Type | struct |
| Header File | /Engine/Source/Runtime/AnimGraphRuntime/Public/AnimNodes/AnimNode_PoseDriver.h |
| Include Path | #include "AnimNodes/AnimNode_PoseDriver.h" |
Syntax
USTRUCT (BlueprintInternalUseOnly)
struct FAnimNode_PoseDriver : public FAnimNode_PoseHandler
Inheritance Hierarchy
- FAnimNode_Base → FAnimNode_AssetPlayerRelevancyBase → FAnimNode_AssetPlayerBase → FAnimNode_PoseHandler → FAnimNode_PoseDriver
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FAnimNode_PoseDriver() |
AnimNodes/AnimNode_PoseDriver.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bCachedDrivenIDsAreDirty | uint8 | If true, will recalculate DrivenUID values in PoseTargets array on next eval | AnimNodes/AnimNode_PoseDriver.h | |
| bEvalFromRefPose | bool | Evaluate SourceBone transform relative from its Reference Pose. | AnimNodes/AnimNode_PoseDriver.h |
|
| bHasOnlyDriveBones | bool | Checks if there are valid bones in OnlyDriveBones, since some entries can be None | AnimNodes/AnimNode_PoseDriver.h | |
| BonesToFilter | TArray< FCompactPoseBoneIndex > | This array lists bones that we should filter out (ie have a track in the PoseAsset, but are not listed in OnlyDriveBones) | AnimNodes/AnimNode_PoseDriver.h | |
| bSoloDrivenOnly | bool | Only solo the driven poses, and don't move the source joint(s) to match | AnimNodes/AnimNode_PoseDriver.h | |
| DriveOutput | EPoseDriverOutput | Whether we should drive poses or curves | AnimNodes/AnimNode_PoseDriver.h |
|
| DriveSource | EPoseDriverSource | Which part of the transform is read | AnimNodes/AnimNode_PoseDriver.h |
|
| EvalSpaceBone | FBoneReference | Optional other bone space to use when reading SourceBone transform. | AnimNodes/AnimNode_PoseDriver.h |
|
| LODThreshold | int32 | Max LOD that this node is allowed to run For example if you have LODThreshold to be 2, it will run until LOD 2 (based on 0 index) when the component LOD becomes 3, it will stop update/evaluate currently transition would be issue and that has to be re-visited | AnimNodes/AnimNode_PoseDriver.h |
|
| OnlyDriveBones | TArray< FBoneReference > | List of bones that will modified by this node. | AnimNodes/AnimNode_PoseDriver.h |
|
| OutputWeights | TArray< FRBFOutputWeight > | Last set of output weights from RBF solve | AnimNodes/AnimNode_PoseDriver.h | |
| PoseTargets | TArray< FPoseDriverTarget > | Targets used to compare with current pose and drive morphs/poses | AnimNodes/AnimNode_PoseDriver.h |
|
| RBFParams | FRBFParams | Parameters used by RBF solver | AnimNodes/AnimNode_PoseDriver.h |
|
| SoloTargetIndex | int32 | The target to solo on, or INDEX_NONE if to use the normal weight computation. | AnimNodes/AnimNode_PoseDriver.h | |
| SourceBones | TArray< FBoneReference > | Bone to use for driving parameters based on its orientation | AnimNodes/AnimNode_PoseDriver.h |
|
| SourceBoneTMs | TArray< FTransform > | Input source bone TM, used for debug drawing | AnimNodes/AnimNode_PoseDriver.h | |
| SourcePose | FPoseLink | Bones to use for driving parameters based on their transform | AnimNodes/AnimNode_PoseDriver.h |
|
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| RBFInput | FRBFEntry | AnimNodes/AnimNode_PoseDriver.h | ||
| RBFTargets | TArray< FRBFTarget > | AnimNodes/AnimNode_PoseDriver.h | ||
| SolverData | TSharedPtr< const FRBFSolverData > | AnimNodes/AnimNode_PoseDriver.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
float GetRadiusForTarget
(
const FRBFTarget& Target |
Returns the radius for a given target | AnimNodes/AnimNode_PoseDriver.h | |
void GetRBFTargets
(
TArray< FRBFTarget >& OutTargets, |
Return array of FRBFTarget structs, derived from PoseTargets array and DriveSource setting | AnimNodes/AnimNode_PoseDriver.h | |
bool IsBoneDriven
(
FName BoneName |
Util for seeing if BoneName is in the list of driven bones (and bFilterDrivenBones is true) | AnimNodes/AnimNode_PoseDriver.h |
Overridden from FAnimNode_PoseHandler
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void RebuildPoseList
(
const FBoneContainer& InBoneContainer, |
Rebuild Pose List | AnimNodes/AnimNode_PoseDriver.h |
Overridden from FAnimNode_AssetPlayerBase
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void UpdateAssetPlayer
(
const FAnimationUpdateContext& Context |
AnimNodes/AnimNode_PoseDriver.h |
Overridden from FAnimNode_Base
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void CacheBones_AnyThread
(
const FAnimationCacheBonesContext& Context |
AnimNodes/AnimNode_PoseDriver.h | ||
virtual void Evaluate_AnyThread
(
FPoseContext& Output |
AnimNodes/AnimNode_PoseDriver.h | ||
virtual void GatherDebugData
(
FNodeDebugData& DebugData |
AnimNodes/AnimNode_PoseDriver.h | ||
virtual int32 GetLODThreshold() |
AnimNodes/AnimNode_PoseDriver.h | ||
virtual void Initialize_AnyThread
(
const FAnimationInitializeContext& Context |
AnimNodes/AnimNode_PoseDriver.h |
Deprecated Variables
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| RadialScaling_DEPRECATED | float | AnimNodes/AnimNode_PoseDriver.h | ||
| SourceBone_DEPRECATED | FBoneReference | Deprecated. | AnimNodes/AnimNode_PoseDriver.h | |
| TwistAxis_DEPRECATED | TEnumAsByte< EBoneAxis > | AnimNodes/AnimNode_PoseDriver.h | ||
| Type_DEPRECATED | EPoseDriverType | AnimNodes/AnimNode_PoseDriver.h |