Navigation
Unreal Engine C++ API Reference > Runtime > MovieScene > Evaluation > PreAnimatedState
References
Module | MovieScene |
Header | /Engine/Source/Runtime/MovieScene/Public/Evaluation/PreAnimatedState/MovieScenePreAnimatedStateExtension.h |
Include | #include "Evaluation/PreAnimatedState/MovieScenePreAnimatedStateExtension.h" |
Syntax
struct FPreAnimatedStateExtension
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
Type | Name | Description | |
---|---|---|---|
![]() |
uint32 | NumRequestsForGlobalState | The number of requests that have been made to capture global state - only one should exist per playing sequence |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
Destructors
Type | Name | Description | |
---|---|---|---|
![]() |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
void | AddMetaData
(
const FPreAnimatedStateMetaData& MetaData |
|
![]() |
void | AddSourceMetaData
(
const FPreAnimatedStateEntry& Entry |
|
![]() |
void | AddStorage
(
TPreAnimatedStorageID< StorageType > InStorageID, |
Add a specific storage type to this extension |
![]() |
void | AddWeakCaptureSource
(
TWeakPtr< IPreAnimatedCaptureSource > InWeakMetaData |
|
![]() |
FPreAnimatedStorageGroupHandle | AllocateGroup
(
TSharedPtr< IPreAnimatedStateGroupManager > GroupManager |
Called by group managers to allocate a new group |
![]() ![]() |
bool | 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 | |
![]() ![]() |
bool | ContainsAnyStateForInstanceHandle
(
FRootInstanceHandle 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 |
![]() |
void | DiscardStateForGroup
(
FPreAnimatedStorageGroupHandle GroupHandle |
Discard any and all cached values for the specified group without restoring them. |
![]() |
void | Discard any transient state and all meta-data for any currently animating objects, whilst preserving the cached values internally. | |
![]() |
void | EnsureMetaData
(
const FPreAnimatedStateEntry& Entry |
|
![]() ![]() |
TSharedPtr< GroupManagerType > | Find a group manager by its type. | |
![]() ![]() |
TSharedPtr< StorageType > | FindStorage
(
TPreAnimatedStorageID< StorageType > InStorageID |
Find a specific storage type by its ID. |
![]() |
void | FreeGroup
(
FPreAnimatedStorageGroupHandle Index |
Called by group managers to free an existing group |
![]() ![]() |
FPreAnimatedEntityCaptureSource * | ||
![]() |
FPreAnimatedEntityCaptureSource * | ||
![]() |
TSharedPtr< GroupManagerType > | Get or create a group manager by its type. | |
![]() |
TSharedPtr< StorageType > | GetOrCreateStorage
(
TPreAnimatedStorageID< StorageType > InStorageID |
Get a specific type of storage, creating it if it does not already exist |
![]() |
TSharedPtr< StorageType > | Get a specific type of storage, creating it if it does not already exist | |
![]() |
FPreAnimatedTrackInstanceInputCaptureSources * | ||
![]() |
FPreAnimatedTrackInstanceCaptureSources * | ||
![]() ![]() |
TSharedPtr< IPreAnimatedStorage > | GetStorageChecked
(
FPreAnimatedStorageID InStorageID |
Get a genericly typed storage entry by its erased ID, failing an assertion if it does not exist |
![]() ![]() |
EPreAnimatedStorageRequirement | GetStorageRequirement
(
const FPreAnimatedStateEntry& Entry |
|
![]() ![]() |
FPreAnimatedTrackInstanceInputCaptureSources * | ||
![]() ![]() |
FPreAnimatedTrackInstanceCaptureSources * | ||
![]() ![]() |
bool | ||
![]() |
void | Initialize
(
UMovieSceneEntitySystemLinker* InLinker |
|
![]() ![]() |
bool | Check if this extension has any current requests to capture global (persistent) state entries | |
![]() ![]() |
bool | MetaDataExists
(
const FPreAnimatedStateEntry& Entry |
|
![]() ![]() |
TPreAnimatedStorageID< StorageType > | Called from TAutoRegisterPreAnimatedStorageID to register a new application-wide storage type | |
![]() |
void | RemoveMetaData
(
const FPreAnimatedStateMetaData& MetaData |
|
![]() |
void | RemoveWeakCaptureSource
(
TWeakPtr< IPreAnimatedCaptureSource > InWeakMetaData |
|
![]() |
void | ReplaceObjectForGroup
(
FPreAnimatedStorageGroupHandle GroupHandle, |
Called during blueprint re-instancing to replace the object bound to a specific group handle with another. |
![]() |
void | Resets the entry invalidation flag | |
![]() |
void | RestoreGlobalState
(
const FRestoreStateParams& Params |
Restore any state for any persistent tokens captured during the course of evaluation |
![]() |
void | RestoreStateForGroup
(
FPreAnimatedStorageGroupHandle GroupHandle, |
Restore any state cached for the specified groupGroupHandle Handle to the group to restore |
![]() |
void | SavePreAnimatedState
(
FMovieSceneAnimTypeID InTokenType, |
Use FScopedPreAnimatedCaptureSource to capture from a specific source rather than globally. |
![]() |
void | SavePreAnimatedState
(
UObject& InObject, |
Use FScopedPreAnimatedCaptureSource to capture from a specific source rather than globally. |
![]() |
void | SavePreAnimatedStateDirectly
(
FMovieSceneAnimTypeID InTokenType, |
|
![]() |
void | SavePreAnimatedStateDirectly
(
UObject& InObject, |
|
![]() |
void | UpdateMetaData
(
const FPreAnimatedStateMetaData& MetaData |