FPreAnimatedStateExtension

Pre-animated state extension that houses all cached values for objects animated by a specific [UMovieSceneEntitySystemLinker](API\Runtime\MovieScene\EntitySystem\UMovieSceneEntitySystemLinker)- The presence of this extension denotes that pre-animated state should be stored in one form or another.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

MovieScene

Header

/Engine/Source/Runtime/MovieScene/Public/Evaluation/PreAnimatedState/MovieScenePreAnimatedStateExtension.h

Include

#include "Evaluation/PreAnimatedState/MovieScenePreAnimatedStateExtension.h"

Syntax

Remarks

Pre-animated state extension that houses all cached values for objects animated by a specific UMovieSceneEntitySystemLinker- The presence of this extension denotes that pre-animated state should be stored in one form or another. If the extension is not present, this implies that there are no IMovieScenePlayers that need global Restore State, and no tracks set to 'Restore State'. FPreAnimatedStateExtension::NumRequestsForGlobalState defines whether this extension needs to cache any and all changes or not

  • Each specific 'type' of pre-animated state is defined by a unique StorageID (TPreAnimatedStorageID), registered through RegisterStorage

  • Pre-animated state is grouped into buckets in order to preserve significant ordering constraints (for instance, each object must restore state in the reverse order it was cached)

  • Groups are managed by registered IPreAnimatedStateGroupManager instances. The main implementation is FPreAnimatedObjectGroupManager, which maintains an object to group mapping

Variables

Name Description

Public variable

uint32

 

NumRequestsForGlobalState

The number of requests that have been made to capture global state - only one should exist per playing sequence

Constructors

Destructors

Functions

Name Description

Public function

void

 

AddMetaData

(
    const FPreAnimatedStateMetaData& M...
)

Public function

void

 

AddStorage

(
    TPreAnimatedStorageID< StorageType ...,
    TSharedPtr< StorageType > InStorage
)

Add a specific storage type to this extension

Public function

void

 

AddWeakCaptureSource

Public function

FPreAnimated...

 

AllocateGroup

Called by group managers to allocate a new group

Public function Const

bool

 

AreEntriesInvalidated()

Check whether any previously cached entries may have become invalid due to a recent call to RestoreGlobalState If this function returns true, clients should consider re-saving pre-animated state even if it already did so

Public function Const

bool

 

ContainsAnyStateForInstanceHandle

(
    FInstanceHandle RootInstanceHandle
)

Search for any captured state that originated from the specified root instance handle WARNING: This is a linear search across all state, and so is potentially very slow

Public function

void

 

DiscardStateForGroup

(
    FPreAnimatedStorageGroupHandle Grou...
)

Discard any and all cached values for the specified group without restoring them.

Public function

void

 

DiscardTransientState()

Discard any transient state and all meta-data for any currently animating objects, whilst preserving the cached values internally.

Public function

void

 

EnsureMetaData

(
    const FPreAnimatedStateEntry& Entr...
)

Public function Const

TSharedPtr< ...

 

FindGroupManager()

Find a group manager by its type.

Public function Const

TSharedPtr< ...

 

FindStorage

(
    TPreAnimatedStorageID< StorageType ...
)

Find a specific storage type by its ID.

Public function

void

 

FreeGroup

(
    FPreAnimatedStorageGroupHandle Inde...
)

Called by group managers to free an existing group

Public function Const

FPreAnimated...

 

GetEntityMetaData()

Public function Static

TEntitySyste...

 

GetExtensionID()

Get this extension's application-wide ID for identification within UMovieSceneEntitySystemLinker

Public function

FPreAnimated...

 

GetOrCreateEntityMetaData()

Public function

TSharedPtr< ...

 

GetOrCreateGroupManager()

Get or create a group manager by its type.

Public function

TSharedPtr< ...

 

GetOrCreateStorage

(
    TPreAnimatedStorageID< StorageType ...
)

Get a specific type of storage, creating it if it does not already exist

Public function

TSharedPtr< ...

 

GetOrCreateStorage()

Get a specific type of storage, creating it if it does not already exist @note The template type must have a static StorageID of type TPreAnimatedStorageID.

Public function

FPreAnimated...

 

GetOrCreateTrackInstanceMetaData()

Public function Const

TSharedPtr< ...

 

GetStorageChecked

(
    FPreAnimatedStorageID InStorageID
)

Get a genericly typed storage entry by its erased ID, failing an assertion if it does not exist

Public function Const

EPreAnimated...

 

GetStorageRequirement

(
    const FPreAnimatedStateEntry& Entr...
)

Public function Const

FPreAnimated...

 

GetTrackInstanceMetaData()

Public function Const

bool

 

IsCapturingGlobalState()

Check if this extension has any current requests to capture global (persistent) state entries

Public function Static

TPreAnimated...

 

RegisterStorage()

Called from TAutoRegisterPreAnimatedStorageID to register a new application-wide storage type

Public function

void

 

RemoveMetaData

(
    const FPreAnimatedStateMetaData& M...
)

Public function

void

 

RemoveWeakCaptureSource

Public function

void

 

ReplaceObjectForGroup

(
    FPreAnimatedStorageGroupHandle Grou...,
    const FObjectKey& OldObject,
    const FObjectKey& NewObject
)

Called during blueprint re-instancing to replace the object bound to a specific group handle with another.

Public function

void

 

ResetEntryInvalidation()

Resets the entry invalidation flag

Public function

void

 

RestoreGlobalState

(
    const FRestoreStateParams& Params
)

Restore any state for any persistent tokens captured during the course of evaluation

Public function

void

 

RestoreStateForGroup

(
    FPreAnimatedStorageGroupHandle Grou...,
    const FRestoreStateParams& Params
)

Restore any state cached for the specified group

GroupHandle Handle to the group to restore

Public function

void

 

UpdateMetaData

(
    const FPreAnimatedStateMetaData& M...
)

Operators

Name Description

Public function

FPreAnimated...

 

operator=

(
    const FPreAnimatedStateExtension&
)

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss