Navigation
API > API/Plugins > API/Plugins/MovieSceneAnimMixer
Takes in evaluation tasks with optional pose weight, masks, priority and a given animation target. Constructs a hierarchical 'mixer' per bound object per target. Similar to blender systems, in a 'many to one' operation, each mixer will create an entity with a single evaluation task wrapping the full blend operation, with the target component. This entity is then consumed by the appropriate target animation system in order to produce the result on the mesh.
| Name | UMovieSceneAnimMixerSystem |
| Type | class |
| Header File | /Engine/Plugins/Experimental/MovieSceneAnimMixer/Source/MovieSceneAnimMixer/Public/Systems/MovieSceneAnimMixerSystem.h |
| Include Path | #include "Systems/MovieSceneAnimMixerSystem.h" |
Syntax
UCLASS (MinimalAPI)
class UMovieSceneAnimMixerSystem : public UMovieSceneEntitySystem
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UMovieSceneEntitySystem → UMovieSceneAnimMixerSystem
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UMovieSceneAnimMixerSystem
(
const FObjectInitializer& ObjInit |
Systems/MovieSceneAnimMixerSystem.h |
Structs
| Name | Remarks |
|---|---|
| FBusTopologyCache | Cached bus evaluation order per bound object. |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ActorToRootMotion | TMultiMap< FObjectKey, TWeakPtr< FMovieSceneMixerRootMotionComponentData > > | Map from actor to all the root motions that may contribute to the actor's transform. | Systems/MovieSceneAnimMixerSystem.h | |
| bInsidePreFlush | bool | Systems/MovieSceneAnimMixerSystem.h | ||
| BusStorage | TMap< FMovieSceneAnimBusStorageKey, TSharedPtr< FMovieSceneAnimBusData > > | Bus storage: per-object, per-bus-name pose data written by bus-target mixers and read by bus sections. | Systems/MovieSceneAnimMixerSystem.h | |
| BusTopologyByObject | TMap< FObjectKey, FBusTopologyCache > | Systems/MovieSceneAnimMixerSystem.h | ||
| Mixers | TMap< FMovieSceneAnimMixerKey, TSharedPtr< FMovieSceneAnimMixer > > | Map of animation mixers. | Systems/MovieSceneAnimMixerSystem.h | |
| PreFlushHandle | FDelegateHandle | Systems/MovieSceneAnimMixerSystem.h | ||
| RootMotionByObject | TMap< FObjectKey, TWeakPtr< FMovieSceneMixerRootMotionComponentData > > | Map of Root Motion data for each object. | Systems/MovieSceneAnimMixerSystem.h | |
| RootMotionSystem | TObjectPtr< UMovieSceneRootMotionSystem > | Systems/MovieSceneAnimMixerSystem.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AssignRootMotion
(
FObjectKey InObjectKey, |
Systems/MovieSceneAnimMixerSystem.h | ||
void ClearBusStorage() |
Clear all bus storage (called at the start of each evaluation frame) | Systems/MovieSceneAnimMixerSystem.h | |
TSharedPtr< FMovieSceneAnimMixer > FindMixer
(
const FMovieSceneAnimMixerKey& InKey |
Look up a mixer by (bound object, target). | Systems/MovieSceneAnimMixerSystem.h | |
UMovieSceneAnimationMixerLayer * FindMixerLayer
(
TFunctionRef< bool(UMovieSceneAnimationMixerLayer*)> Predicate |
Iterate all mixer layers known to this system and return the first one matching the predicate. | Systems/MovieSceneAnimMixerSystem.h | |
TSharedPtr< FMovieSceneMixerRootMotionComponentData > FindRootMotion
(
FObjectKey InObject |
Systems/MovieSceneAnimMixerSystem.h | ||
FBusTopologyCache & GetOrCreateBusTopology
(
FObjectKey ObjectKey |
Systems/MovieSceneAnimMixerSystem.h | ||
void InitializeAllRootMotion() |
Systems/MovieSceneAnimMixerSystem.h | ||
void PreInitializeAllRootMotion() |
Systems/MovieSceneAnimMixerSystem.h | ||
TSharedPtr< FMovieSceneAnimBusData > ReadBusData
(
FObjectKey BoundObject, |
Read a stored bus pose for the given bound object and bus name (returns null if not written this frame) | Systems/MovieSceneAnimMixerSystem.h | |
void RemoveStaleBusTopologies
(
const TSet< FObjectKey >& ActiveObjects |
Systems/MovieSceneAnimMixerSystem.h | ||
void StoreBusData
(
FObjectKey BoundObject, |
Store a pose result into the named bus for the given bound object. | Systems/MovieSceneAnimMixerSystem.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static TArray< FSequencerMixerPendingNotifyBatch > ConsumeMixerNotifyBatches
(
UMovieSceneEntitySystemLinker* Linker, |
Move-and-erase the per-frame notify dispatch list from the mixer keyed by (BoundObject, Target). | Systems/MovieSceneAnimMixerSystem.h | |
static bool IsForceRootBoneDestinationScopeActive() |
Systems/MovieSceneAnimMixerSystem.h | ||
static void PopForceRootBoneDestinationScope() |
Systems/MovieSceneAnimMixerSystem.h | ||
static void PushForceRootBoneDestinationScope () |
Force-root-bone scope: while the counter is non-zero, normal (non-bus, non-bake-target) mixer programs flip bForceRootBoneDestination on their FAnimNextStoreRootTransformTask. | Systems/MovieSceneAnimMixerSystem.h | |
static TInstancedStruct< FMovieSceneMixedAnimationTarget > ResolveAnimationTarget
(
FObjectKey ObjectKey, |
Systems/MovieSceneAnimMixerSystem.h |