Navigation
API > API/Plugins > API/Plugins/AnimationSharing
| Name | UAnimSharingInstance |
| Type | class |
| Header File | /Engine/Plugins/Developer/AnimationSharing/Source/AnimationSharing/Public/AnimationSharingManager.h |
| Include Path | #include "AnimationSharingManager.h" |
Syntax
UCLASS (MinimalAPI)
class UAnimSharingInstance : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UAnimSharingInstance
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AdditiveInstances | TArray< FAdditiveInstance > | Currently running additive instances | AnimationSharingManager.h | |
| AnimSharingManager | UAnimationSharingManager * | Animation sharing manager for the current world | AnimationSharingManager.h | |
| BlendInstances | TArray< FBlendInstance > | Currently running blend instances | AnimationSharingManager.h | |
| BlendInstanceStack | FInstanceStack< FTransitionBlendInstance > | Blend actors data structure | AnimationSharingManager.h | |
| bNativeStateProcessor | bool | AnimationSharingManager.h |
|
|
| NumSetups | uint32 | Number of animation setups | AnimationSharingManager.h | |
| OnDemandInstances | TArray< FOnDemandInstance > | Currently running on-demand instance | AnimationSharingManager.h | |
| OwnerSetup | TWeakObjectPtr< const UAnimationSharingSetup > | Weak ptr back to the setup that owns this instance | AnimationSharingManager.h | |
| PerActorData | TArray< FPerActorData > | Per actor data, matches RegisteredActors | AnimationSharingManager.h | |
| PerComponentData | TArray< FPerComponentData > | Per component state data indexed from FPerActorData.ComponentIndices | AnimationSharingManager.h | |
| PerStateData | TArray< FPerStateData > | Array of unique state data | AnimationSharingManager.h | |
| RegisteredActors | TArray< TObjectPtr< AActor > > | Actors currently registered to be animation driven by the AnimManager using this setup | AnimationSharingManager.h |
|
| ScalabilitySettings | FAnimationSharingScalability | Platform specific scalability settings for this instance | AnimationSharingManager.h | |
| SharingActor | TObjectPtr< AActor > | Actor to which all the running SkeletalMeshComponents used for the sharing are attached to | AnimationSharingManager.h |
|
| SignificanceManager | USignificanceManager * | Significance manager used to retrieve AI actor significance values | AnimationSharingManager.h | |
| SkeletalMeshBounds | FVector | Bounds for the currently used skeletal mesh | AnimationSharingManager.h | |
| SkeletonID | uint32 | Id for skeleton associated with this instance that remains even when setups are removed and added. | AnimationSharingManager.h | |
| StateEnum | TObjectPtr< UEnum > | Enum class set up by the user to 'describe' the animation states | AnimationSharingManager.h |
|
| StateProcessor | TObjectPtr< UAnimationSharingStateProcessor > | (Blueprint)class instance used for determining the state enum value for each registered actor | AnimationSharingManager.h |
|
| UsedAnimationSequences | TArray< TObjectPtr< UAnimSequence > > | AnimationSharingManager.h |
|
|
| WorldTime | float | Holds the current frame world time | AnimationSharingManager.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BeginDestroy() |
AnimationSharingManager.h | ||
float CalculateBlendTime
(
uint8 StateIndex |
Retrieves the blend-time for this specific state | AnimationSharingManager.h | |
virtual uint32 DeterminePermutationIndex
(
uint32 ActorIndex, |
Determines a permutation index for the given actor and state | AnimationSharingManager.h | |
uint8 DetermineStateForActor
(
uint32 ActorIndex, |
This uses the StateProcessor to determine the state index the actor is currently in | AnimationSharingManager.h | |
bool DoAnyActorsRequireTicking
(
const InstanceType& Instance |
AnimationSharingManager.h | ||
void FreeAdditiveInstance
(
uint8 StateIndex, |
Frees up an Additive Animation instance and resets it state | AnimationSharingManager.h | |
void FreeBlendInstance
(
FTransitionBlendInstance* Instance |
Frees up a Blend instance and resets its state | AnimationSharingManager.h | |
USkeletalMeshComponent * GetComponent
(
const FPerComponentData& ComponentData |
Retrieves USkeletalMeshComponent with validation of reachability | AnimationSharingManager.h | |
void KickoffInstances() |
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 | AnimationSharingManager.h | |
void RemoveAdditiveInstance
(
int32 InstanceIndex |
AnimationSharingManager.h | ||
void RemoveBlendInstance
(
int32 InstanceIndex |
Removal functions which also make sure that indices of other data-structres are correctly remapped | AnimationSharingManager.h | |
void RemoveComponent
(
int32 ComponentIndex |
AnimationSharingManager.h | ||
void RemoveFromCurrentBlend
(
int32 ActorIndex |
Removal functions which also make sure the actor is set to the correct leader pose component | AnimationSharingManager.h | |
void RemoveFromCurrentOnDemand
(
int32 ActorIndex |
AnimationSharingManager.h | ||
void RemoveOnDemandInstance
(
int32 InstanceIndex |
AnimationSharingManager.h | ||
void SetComponentTick
(
uint8 StateIndex, |
Sets the whether or not any of the follower components are visible | AnimationSharingManager.h | |
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 | AnimationSharingManager.h | |
void SetLeaderComponentForActor
(
uint32 ActorIndex, |
Sets up all components of an actor to be followers of Component | AnimationSharingManager.h | |
void SetMasterComponentForActor
(
uint32 ActorIndex, |
AnimationSharingManager.h | ||
void SetPermutationFollowerComponent
(
uint8 StateIndex, |
Sets up the correct LeaderPoseComponent according to the state and permutation indices | AnimationSharingManager.h | |
void SetPermutationSlaveComponent
(
uint8 StateIndex, |
AnimationSharingManager.h | ||
bool Setup
(
UAnimationSharingManager* AnimationSharingManager, |
Initial set up of all animation sharing data and states | AnimationSharingManager.h | |
uint32 SetupAdditiveInstance
(
uint8 StateIndex, |
Retrieves an additive instance, these are unique and cannot be reused | AnimationSharingManager.h | |
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 | AnimationSharingManager.h | |
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 | AnimationSharingManager.h | |
uint32 SetupBlendFromOnDemand
(
uint8 ToState, |
Retrieves a blend instance, and sets up a blend from a currently running On-Demand instance to ToState | AnimationSharingManager.h | |
uint32 SetupBlendToOnDemand
(
uint8 FromState, |
Retrieves a blend instance, and setups up a blend to an On-Demand instance from a regular animation state | AnimationSharingManager.h | |
void SetupFollowerComponent
(
uint8 CurrentState, |
Sets up the correct LeaderPoseComponent for the passed in Component and State indices | AnimationSharingManager.h | |
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 | AnimationSharingManager.h | |
void SetupSlaveComponent
(
uint8 CurrentState, |
AnimationSharingManager.h | ||
void SetupState
(
FPerStateData& StateData, |
Populates data for a state setup | AnimationSharingManager.h | |
void SwitchBetweenOnDemands
(
uint32 FromOnDemandInstanceIndex, |
Switches between on-demand instances directly, without blending | AnimationSharingManager.h | |
void TickActorStates() |
Ticks all Actor Data entries and determines their current state, if changed since last tick it will alter their animation accordingly | AnimationSharingManager.h | |
void TickAdditiveInstances() |
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 | AnimationSharingManager.h | |
void TickAnimationStates() |
Ticks all unique animation states, this checks which components are currently used and turns of those which currently don't have any followerss | AnimationSharingManager.h | |
void TickBlendInstances() |
Ticks all currently running blend instances, checks whether or not the blend is finished and forwards the actor/components to the correct animation state | AnimationSharingManager.h | |
void TickDebugInformation() |
Ticks various types of debugging data / drawing (not active in shipping build) | AnimationSharingManager.h | |
void TickOnDemandInstances() |
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 | AnimationSharingManager.h | |
void UnregisterAllActors() |
Unregister all actors associated with this sharing instance | AnimationSharingManager.h |