UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneMotionVectorSimulationSystem.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "Math/Transform.h"
7#include "Containers/Map.h"
8#include "UObject/ObjectKey.h"
9#include "UObject/NameTypes.h"
10
11#include "MovieSceneMotionVectorSimulationSystem.generated.h"
12
14
15namespace UE
16{
17namespace MovieScene
18{
19
20
22
23
24} // namespace MovieScene
25} // namespace UE
26
27UCLASS(MinimalAPI)
29{
30public:
31
33
35
36 MOVIESCENETRACKS_API void EnableThisFrame();
37 MOVIESCENETRACKS_API void SimulateAllTransforms();
39 {
40 return bSimulationEnabled;
41 }
42
43 MOVIESCENETRACKS_API void PreserveSimulatedMotion(bool bShouldPreserveTransforms);
44
45 MOVIESCENETRACKS_API void AddSimulatedTransform(USceneComponent* Component, const FTransform& SimulatedTransform, FName SocketName);
46
47private:
48
49 MOVIESCENETRACKS_API virtual bool IsRelevantImpl(UMovieSceneEntitySystemLinker* InLinker) const override;
50 MOVIESCENETRACKS_API virtual void OnRun(FSystemTaskPrerequisites& InPrerequisites, FSystemSubsequentTasks& Subsequents) override final;
51
52 MOVIESCENETRACKS_API void OnPostEvaluation();
53
54 MOVIESCENETRACKS_API void ComputeSimulatedMotion();
55
56private:
57
58 MOVIESCENETRACKS_API void PropagateMotionToComponents();
59
60 MOVIESCENETRACKS_API FTransform GetTransform(USceneComponent* Component);
61
62 MOVIESCENETRACKS_API FTransform GetSocketTransform(USceneComponent* Component, FName SocketName);
63
64 MOVIESCENETRACKS_API bool HavePreviousTransformForParent(USceneComponent* InComponent) const;
65
66 MOVIESCENETRACKS_API void ApplySimulatedTransforms(USceneComponent* InComponent, const FTransform& InPreviousTransform);
67
68private:
69
71 struct FSimulatedTransform
72 {
73 FSimulatedTransform(const FTransform& InTransform, FName InSocketName = NAME_None)
74 : Transform(InTransform), SocketName(InSocketName)
75 {}
76
79
81 FName SocketName;
82 };
83
86
88 bool bPreserveTransforms = false;
89
90 bool bSimulationEnabled = false;
91
92 bool bSimulateTransformsRequested = false;
93};
94
95
96
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition NameTypes.h:617
Definition UObjectGlobals.h:1292
Definition MovieScene.Build.cs:6
Definition MovieSceneEntitySystemLinker.h:113
Definition MovieSceneEntitySystem.h:62
Definition MovieSceneMotionVectorSimulationSystem.h:29
bool IsSimulationEnabled() const
Definition MovieSceneMotionVectorSimulationSystem.h:38
FFrameTime GetSimulatedMotionVectorTime(const FMovieSceneContext &Context)
Definition MovieSceneMotionVectorSimulationSystem.cpp:30
Definition AdvancedWidgetsModule.cpp:13
Definition FrameTime.h:16
Definition MovieSceneAnimTypeID.h:20
Definition MovieScenePlayback.h:184