Navigation
API > API/Plugins > API/Plugins/AnimationSharing
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UAnimSharingInstance
References
| Module | AnimationSharing |
| Header | /Engine/Plugins/Developer/AnimationSharing/Source/AnimationSharing/Public/AnimationSharingManager.h |
| Include | #include "AnimationSharingManager.h" |
Syntax
UCLASS&40;&41;
class UAnimSharingInstance : public UObject
Variables
| Type | Name | Description | |
|---|---|---|---|
| TArray< FAdditiveInstance > | AdditiveInstances | Currently running additive instances | |
| UAnimationSharingManager * | AnimSharingManager | Animation sharing manager for the current world | |
| TArray< FBlendInstance > | BlendInstances | Currently running blend instances | |
| FInstanceStack< FTransitionBlendInstance > | BlendInstanceStack | Blend actors data structure | |
| bool | bNativeStateProcessor | ||
| uint32 | NumSetups | Number of animation setups | |
| TArray< FOnDemandInstance > | OnDemandInstances | Currently running on-demand instance | |
| TArray< FPerActorData > | PerActorData | Per actor data, matches RegisteredActors | |
| TArray< FPerComponentData > | PerComponentData | Per component state data indexed from FPerActorData.ComponentIndices | |
| TArray< FPerStateData > | PerStateData | Array of unique state data | |
| TArray< TObjectPtr< AActor > > | RegisteredActors | Actors currently registered to be animation driven by the AnimManager using this setup | |
| const FAnimationSharingScalability * | ScalabilitySettings | Platform specific scalability settings | |
| TObjectPtr< AActor > | SharingActor | Actor to which all the running SkeletalMeshComponents used for the sharing are attached to | |
| USignificanceManager * | SignificanceManager | Significance manager used for retrieve AI actor significance values | |
| FVector | SkeletalMeshBounds | Bounds for the currently used skeletal mesh | |
| TObjectPtr< UEnum > | StateEnum | Enum class set up by the user to 'describe' the animation states | |
| TObjectPtr< UAnimationSharingStateProcessor > | StateProcessor | (Blueprint)class instance used for determining the state enum value for each registered actor | |
| TArray< TObjectPtr< UAnimSequence > > | UsedAnimationSequences | ||
| float | WorldTime | Holds the current frame world time |
Functions
| Type | Name | Description | |
|---|---|---|---|
| float | CalculateBlendTime
(
uint8 StateIndex |
Retrieves the blend-time for this specific state | |
| uint32 | DeterminePermutationIndex
(
uint32 ActorIndex, |
Determines a permutation index for the given actor and state | |
| uint8 | DetermineStateForActor
(
uint32 ActorIndex, |
This uses the StateProcessor to determine the state index the actor is currently in | |
| bool | DoAnyActorsRequireTicking
(
const InstanceType& Instance |
||
| void | FreeAdditiveInstance
(
uint8 StateIndex, |
Frees up an Additive Animation instance and resets it state | |
| void | FreeBlendInstance
(
FTransitionBlendInstance* Instance |
Frees up a Blend instance and resets its state | |
| void | Kicks off the blend and on-demand instances at the end of the current frame tick, this sets up the blend instance with the correct components to blend between | ||
| void | RemoveAdditiveInstance
(
int32 InstanceIndex |
||
| void | RemoveBlendInstance
(
int32 InstanceIndex |
Removal functions which also make sure that indices of other data-structres are correctly remapped | |
| void | RemoveComponent
(
int32 ComponentIndex |
||
| void | RemoveFromCurrentBlend
(
int32 ActorIndex |
Removal functions which also make sure the actor is set to the correct leader pose component | |
| void | RemoveFromCurrentOnDemand
(
int32 ActorIndex |
||
| void | RemoveOnDemandInstance
(
int32 InstanceIndex |
||
| void | SetComponentTick
(
uint8 StateIndex, |
Sets the whether or not any of the follower components are visible | |
| void | SetComponentUsage
(
bool bUsage, |
Marks the component as either used/not-used, this is used to disable ticking of components which are not in use | |
| void | SetLeaderComponentForActor
(
uint32 ActorIndex, |
Sets up all components of an actor to be followers of Component | |
| void | SetPermutationFollowerComponent
(
uint8 StateIndex, |
Sets up the correct LeaderPoseComponent according to the state and permutation indices | |
| bool | Setup
(
UAnimationSharingManager* AnimationSharingManager, |
Initial set up of all animation sharing data and states | |
| uint32 | SetupAdditiveInstance
(
uint8 StateIndex, |
Retrieves an additive instance, these are unique and cannot be reused | |
| uint32 | SetupBlend
(
uint8 FromState, |
Retrieves a blend instance, this could either mean reusing an already in progress one or a brand new one (if available according to scalability settings) returns whether or not the setup was successful | |
| uint32 | SetupBlendBetweenOnDemands
(
uint8 FromOnDemandInstanceIndex, |
Retrieves a blend instance, and sets up a blend between a currently running On-Demand instance and another one which was started this frame | |
| uint32 | SetupBlendFromOnDemand
(
uint8 ToState, |
Retrieves a blend instance, and sets up a blend from a currently running On-Demand instance to ToState | |
| uint32 | SetupBlendToOnDemand
(
uint8 FromState, |
Retrieves a blend instance, and setups up a blend to an On-Demand instance from a regular animation state | |
| void | SetupFollowerComponent
(
uint8 CurrentState, |
Sets up the correct LeaderPoseComponent for the passed in Component and State indices | |
| uint32 | SetupOnDemandInstance
(
uint8 StateIndex |
Retrieves a blend instance, this could either mean reusing an already in progress one or a brand new one (if available according to scalability settings) returns an index into OnDemandInstances array or INDEX_NONE if unable to setup an instance | |
| void | SetupState
(
FPerStateData& StateData, |
Populates data for a state setup | |
| void | SwitchBetweenOnDemands
(
uint32 FromOnDemandInstanceIndex, |
Switches between on-demand instances directly, without blending | |
| void | Ticks all Actor Data entries and determines their current state, if changed since last tick it will alter their animation accordingly | ||
| void | Ticks all currently running additive animation instances, this checks whether or not it has finished yet and sets the base-component as the leader component when it has | ||
| void | Ticks all unique animation states, this checks which components are currently used and turns of those which currently don't have any followerss | ||
| void | Ticks all currently running blend instances, checks whether or not the blend is finished and forwards the actor/components to the correct animation state | ||
| void | Ticks various types of debugging data / drawing (not active in shipping build) | ||
| void | Ticks all currently running on-demand instances, this checks whether or not the animation has finished or if we have to start blending out of the state already |
Overridden from UObject
| Type | Name | Description | |
|---|---|---|---|
| void | BeginDestroy () |
Called before destroying the object. |
Deprecated Functions
| Type | Name | Description | |
|---|---|---|---|
| void | SetMasterComponentForActor
(
uint32 ActorIndex, |
This function has been deprecated. Please use SetLeaderComponentForActor instead. | |
| void | SetPermutationSlaveComponent
(
uint8 StateIndex, |
This function has been deprecated. Please use SetPermutationFollowerComponent instead. | |
| void | SetupSlaveComponent
(
uint8 CurrentState, |
This function has been deprecated. Please use SetupFollowerComponent instead. |