Navigation
API > API/Runtime > API/Runtime/Engine > API/Runtime/Engine/Animation
Inheritance Hierarchy
- FAnimNode_Base
- FAnimNode_CustomProperty
- FAnimNode_ControlRigBase
- FAnimNode_ControlRig
- FAnimNode_ControlRig_ExternalSource
- FAnimNode_IKRig
- FAnimNode_LinkedAnimGraph
- FAnimNode_LinkedAnimLayer
References
Module | Engine |
Header | /Engine/Source/Runtime/Engine/Classes/Animation/AnimNode_CustomProperty.h |
Include | #include "Animation/AnimNode_CustomProperty.h" |
Syntax
struct FAnimNode_CustomProperty : public FAnimNode_Base
Remarks
Custom property node that you'd like to expand pin by reflecting internal instance (we call TargetInstance here)
Used by sub anim instance or control rig node where you have internal instance and would like to reflect to AnimNode as a pin
To make pin working, you need storage inside of AnimInstance (SourceProperties/SourcePropertyNames) So this creates storage inside of AnimInstance with the unique custom property name and it copies to the actually TargetInstance here to allow the information be transferred in runtime (DestProperties/DestPropertyNames)
TargetInstance - UObject derived instance that has certain dest properties Source - AnimInstance's copy properties that is used to store the data
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
TArray< FProperty * > | DestProperties | List of properties on the TargetInstance to push to, built from name list when initialised |
![]() |
TArray< FName > | DestPropertyNames | List of destination properties to use, 1-1 with Source names above, built by the compiler |
![]() |
TObjectPtr< UObject > | SourceInstance | This is the source instance, cached to help with re-instancing |
![]() |
TArray< FProperty * > | SourceProperties | List of properties on the calling Source Instances instance to push from |
![]() |
TArray< FName > | SourcePropertyNames | List of source properties to use, 1-1 with Dest names below, built by the compiler |
![]() |
TObjectPtr< UObject > | TargetInstance | This is the actual instance allocated at runtime that will run. Set by child class. |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
Destructors
Type | Name | Description | |
---|---|---|---|
![]() |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
UClass * | Get Target Class | |
![]() ![]() |
T * | Get Target Instance by type for convenience | |
![]() ![]() |
void | Handle object reinstancing override point. | |
![]() ![]() |
void | InitializeProperties
(
const UObject* InSourceInstance, |
Initialize property links from the source instance, in this case AnimInstance Compiler creates those properties during compile time |
![]() ![]() |
void | PropagateInputProperties
(
const UObject* InSourceInstance |
Propagate the Source Instances' properties to Target Instance |
![]() |
void | SetTargetInstance
(
UObject* InInstance |
Set Target Instance |
Overridden from FAnimNode_Base
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
bool | For nodes that need some kind of initialization that is not dependent on node relevancy (i.e. it is insufficient or inefficient to use Initialize_AnyThread), return true here. | |
![]() ![]() |
void | OnInitializeAnimInstance
(
const FAnimInstanceProxy* InProxy, |
We only subscribe to the OnInitializeAnimInstance path because we need to cache our source object, so we only override these methods in editor at the moment |