Navigation
API > API/Runtime > API/Runtime/MovieScene
A utility class that can manage a playing sequence's status and current time, while also handling looping, ping-ponging, and other playback modes.
All public APIs take and return times in display rate (e.g. 30fps frames). Internally, everything is treated as ticks (e.g. 60000 ticks/sec).
| Name | FMovieScenePlaybackManager |
| Type | class |
| Header File | /Engine/Source/Runtime/MovieScene/Public/Evaluation/MovieScenePlaybackManager.h |
| Include Path | #include "Evaluation/MovieScenePlaybackManager.h" |
Syntax
class FMovieScenePlaybackManager
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Creates a default playback manager. | Evaluation/MovieScenePlaybackManager.h | ||
FMovieScenePlaybackManager
(
UMovieSceneSequence* InSequence |
Creates a playback manager immediately initialized with the given sequence. | Evaluation/MovieScenePlaybackManager.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FContexts | TArray< FMovieSceneContext, TInlineAllocator< 2 > > | Evaluation/MovieScenePlaybackManager.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bPingPongPlayback | bool | Evaluation/MovieScenePlaybackManager.h | ||
| bTransformPlaybackTime | bool | Evaluation/MovieScenePlaybackManager.h | ||
| DisplayRate | FFrameRate | Evaluation/MovieScenePlaybackManager.h | ||
| DissectLooping | EMovieSceneLoopDissection | Evaluation/MovieScenePlaybackManager.h | ||
| EndOffsetTicks | FFrameNumber | Evaluation/MovieScenePlaybackManager.h | ||
| NumLoopsCompleted | int32 | Evaluation/MovieScenePlaybackManager.h | ||
| NumLoopsToPlay | int32 | Evaluation/MovieScenePlaybackManager.h | ||
| PlaybackEndTick | TOptional< FFrameNumber > | Evaluation/MovieScenePlaybackManager.h | ||
| PlaybackPosition | FMovieScenePlaybackPosition | Evaluation/MovieScenePlaybackManager.h | ||
| PlaybackStatus | EMovieScenePlayerStatus::Type | Evaluation/MovieScenePlaybackManager.h | ||
| PlayDirection | EPlayDirection | Evaluation/MovieScenePlaybackManager.h | ||
| PlayRate | double | Evaluation/MovieScenePlaybackManager.h | ||
| SequenceEndTick | FFrameNumber | Evaluation/MovieScenePlaybackManager.h | ||
| SequenceStartTick | FFrameNumber | Evaluation/MovieScenePlaybackManager.h | ||
| StartOffsetTicks | FFrameNumber | Evaluation/MovieScenePlaybackManager.h | ||
| TimeTransform | FMovieSceneSequenceTransform | Evaluation/MovieScenePlaybackManager.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void ClearPlaybackEndTime() |
Removes any previously specified time to stop at. | Evaluation/MovieScenePlaybackManager.h | |
FFrameTime GetCurrentTime() |
Gets the current playback position, in display rate. | Evaluation/MovieScenePlaybackManager.h | |
FFrameRate GetDisplayRate() |
Gets the display rate of the sequence. | Evaluation/MovieScenePlaybackManager.h | |
EMovieSceneLoopDissection GetDissectLooping() |
Gets whether looping dissection is enabled (see EMovieSceneLoopDissection). | Evaluation/MovieScenePlaybackManager.h | |
FFrameTime GetEffectiveEndTime() |
Get the effective playback end time, in display rate, taking into account any end offset. | Evaluation/MovieScenePlaybackManager.h | |
TRange< FFrameTime > GetEffectivePlaybackRange() |
Get the effective playback range, in display rate, taking into account start/end offsets. | Evaluation/MovieScenePlaybackManager.h | |
FFrameTime GetEffectiveStartTime() |
Get the effective playback start time, in display rate, taking into account any start offset. | Evaluation/MovieScenePlaybackManager.h | |
FFrameTime GetEndOffset() |
Gets the end offset of the playback in display rate. | Evaluation/MovieScenePlaybackManager.h | |
int32 GetNumLoopsCompleted() |
Returns the current number of loops completed so far. | Evaluation/MovieScenePlaybackManager.h | |
int32 GetNumLoopsToPlay() |
Gets the number of loops to play before ending playback. | Evaluation/MovieScenePlaybackManager.h | |
TOptional< FFrameTime > GetPlaybackEndTime() |
Gets the time to stop at on the last loop of playback. | Evaluation/MovieScenePlaybackManager.h | |
EMovieScenePlayerStatus::Type GetPlaybackStatus() |
Get the playback status. | Evaluation/MovieScenePlaybackManager.h | |
| Gets the time transform to apply to the current time when updating. | Evaluation/MovieScenePlaybackManager.h | ||
EPlayDirection GetPlayDirection() |
Gets the playback direction. | Evaluation/MovieScenePlaybackManager.h | |
double GetPlayRate() |
Gets the play-rate. | Evaluation/MovieScenePlaybackManager.h | |
FFrameTime GetStartOffset() |
Gets the start offset of the playback in display rate. | Evaluation/MovieScenePlaybackManager.h | |
FFrameRate GetTickResolution() |
Gets the tick resolution of the sequence. | Evaluation/MovieScenePlaybackManager.h | |
void Initialize
(
UMovieSceneSequence* InSequence |
Initializes the playback manager for the given sequence. | Evaluation/MovieScenePlaybackManager.h | |
bool IsPingPongPlayback() |
Gets whether the sequence should ping-pong between forwards and backwards playback. | Evaluation/MovieScenePlaybackManager.h | |
bool IsPlayingBackward() |
Gets whether the sequence should be playing in reverse. | Evaluation/MovieScenePlaybackManager.h | |
bool IsPlayingForward() |
Gets whether the sequence should be playing forwards. | Evaluation/MovieScenePlaybackManager.h | |
void ResetNumLoopsCompleted() |
Reset the number of completed loops to zero. | Evaluation/MovieScenePlaybackManager.h | |
void ReversePlayDirection() |
Reverses the playback direction. | Evaluation/MovieScenePlaybackManager.h | |
void SetCurrentTime
(
const FFrameTime& InFrameTime |
Sets the current playback position, in display rate. | Evaluation/MovieScenePlaybackManager.h | |
void SetCurrentTimeOffset
(
const FFrameTime& InFrameTimeOffset |
Sets the current playback position, in display rate, as an offset from the effective start time. | Evaluation/MovieScenePlaybackManager.h | |
void SetDissectLooping
(
EMovieSceneLoopDissection InDissectLooping |
Sets whether looping dissection is enabled (see EMovieSceneLoopDissection). | Evaluation/MovieScenePlaybackManager.h | |
void SetEndOffset
(
const FFrameTime& InEndOffset |
Sets the end offset of the playback in display rate. | Evaluation/MovieScenePlaybackManager.h | |
void SetEndOffsetAsTime
(
const FFrameTime& InEndTime |
Sets the end time of the playback in display rate. | Evaluation/MovieScenePlaybackManager.h | |
void SetNumLoopsToPlay
(
int32 InNumLoopsToPlay |
Sets the number of loops to play before ending playback. | Evaluation/MovieScenePlaybackManager.h | |
void SetPingPongPlayback
(
bool bInPingPongPlayback |
Sets whether the sequence should ping-pong between forwards and backwards playback. | Evaluation/MovieScenePlaybackManager.h | |
void SetPlaybackEndTime
(
const FFrameTime& InEndTime |
Sets the time to stop at on the last loop of playback. | Evaluation/MovieScenePlaybackManager.h | |
void SetPlaybackStatus
(
EMovieScenePlayerStatus::Type InPlaybackStatus |
Set the playback status. | Evaluation/MovieScenePlaybackManager.h | |
void SetPlaybackTimeTransform
(
const FMovieSceneSequenceTransform& InTimeTransform |
Sets the time transform to apply to the current time when updating. | Evaluation/MovieScenePlaybackManager.h | |
void SetPlayDirection
(
EPlayDirection InPlayDirection |
Sets the playback direction. | Evaluation/MovieScenePlaybackManager.h | |
void SetPlayRate
(
double InPlayRate |
Sets the play-rate. | Evaluation/MovieScenePlaybackManager.h | |
void SetStartOffset
(
const FFrameTime& InStartOffset |
Sets the start offset of the playback in display rate. | Evaluation/MovieScenePlaybackManager.h | |
void SetTransformPlaybackTime
(
bool bInTransformPlaybackTime |
Sets whether the playback time transform should be applied to time updates. | Evaluation/MovieScenePlaybackManager.h | |
bool ShouldTransformPlaybackTime() |
Gets whether the playback time transform should be applied to time updates. | Evaluation/MovieScenePlaybackManager.h | |
void Update
(
float InDeltaSeconds, |
Updates the playback state and returns the evaluation contexts to use for evaluating the sequence. | Evaluation/MovieScenePlaybackManager.h | |
FMovieSceneContext UpdateAtCurrentTime() |
Returns an evaluation context for the current time, i.e. using a zero-width evaluation range set around the current time. | Evaluation/MovieScenePlaybackManager.h | |
void UpdateTo
(
const FFrameTime NextTime, |
As per the other Update method, but takes a time (in display rate) instead of seconds. | Evaluation/MovieScenePlaybackManager.h | |
| Updates the playback state over only the current tick. | Evaluation/MovieScenePlaybackManager.h |