Commit Graph

314 Commits

Author SHA1 Message Date
ludovic chabant
1af1bee2b1 Sequencer: don't add a playback capability if it already exists
This can happen if a level sequence is re-initialized with a sequence that it was already set to.

#rb max.chen

[CL 28141287 by ludovic chabant in ue5-main branch]
2023-09-22 12:43:40 -04:00
ludovic chabant
2814fcabe7 Sequencer: use pre-animated state API in camera cut track instance, and remove directly use of player API
This change tries to address various problems with the camera cut evaluation logic:

- Use the pre-animated state API to properly handle restoring things, instead of doing it partially "by hand". This removes the need for a few hacks like the carry-over of previous view-targets from one sequence to the next.

- Move the code from FSequencer and ULevelSequencePlayer into the track instance (and some related helper classes). Not only does this remove a bit of code duplication, this also lets us take a first step towards removing the dependency of evaluation code on the player API.

#rb max.chen
#jira UE-194692

[CL 28093600 by ludovic chabant in ue5-main branch]
2023-09-21 13:26:39 -04:00
max chen
15dc1334bd Sequencer: Make sure setting the last view target is done even in early out. This fixes an issue where if sequence 1 plays and cuts to camera 1, and the sequence 2 plays and also cuts to camera 2, it restores properly when the sequences finish playing.
#rb ludovic.chabant

[CL 27118544 by max chen in ue5-main branch]
2023-08-15 16:20:45 -04:00
patrick enfedaque
6188379211 LevelSequence: Fix LevelInstance actor resolving of AlwaysLoaded LevelInstance actors and Disabled Streaming World Partitions
#rb richard.malo
#rnx

[CL 26615274 by patrick enfedaque in ue5-main branch]
2023-07-26 14:13:45 -04:00
ludovic chabant
d21bb511c2 Sequencer: fix static analysis warnings
#rb max.chen

[CL 26609771 by ludovic chabant in ue5-main branch]
2023-07-26 12:00:39 -04:00
ludovic chabant
95adb6370b Sequencer: fix camera cut flag not being set when spawnable cameras are the last in control
This was because calling GetViewTarget does some internal checks. If a spawnable camera has just been unspawned (i.e. the actor is PendingKill) then this trips those checks and the view target is reset to the pawn before we can even do anything. Because we are restoring the view target to the pawn, this is registered as "not changing anything" and we skip everything in UpdateCameraCut, including setting the camera cut flag.

We therefore don't use GetViewTarget, and grab the view target directly from the public member to manage things by hand.

#jira UE-190045
#rb max.chen

[CL 26550161 by ludovic chabant in ue5-main branch]
2023-07-24 14:05:34 -04:00
ludovic chabant
f815208aa5 Sequencer: correctly reset the last known serial number when handling replays.
This was causing all replay messages to be ignored for being too old.

#rb nickolas.drake

[CL 26481536 by ludovic chabant in ue5-main branch]
2023-07-20 07:28:13 -04:00
max chen
1aa6262463 Sequencer: Fix deprecation for bRestoreState. Added meta tags and WITH_EDITORONLY_DATA
BPs that refernce Restore State will need to be fixed up manually.

Fixed up EngineTest BPs that reference Restore State

Note: This should be added to the Upgrade Notes

#jira UE-189651
#rb david.bromberg

[CL 26265110 by max chen in ue5-main branch]
2023-06-27 14:14:04 -04:00
christopher waters
4e96f4193d Removing UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_0 and UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_1 including all uses in the engine.
[CL 26259545 by christopher waters in ue5-main branch]
2023-06-27 11:54:23 -04:00
david bromberg
57cbe03db6 Sequencer- Change bRestoreState boolean option on FMovieSceneSequencePlaybackSettings to an enumeration named FinishCompletionStateOverride with 3 values (Default, ForceKeepState, ForceRestoreState) with ForceRestoreState being the equivalent option to setting bRestoreState to true.
bRestoreState was used to force PreAnimatedState to be cached for all items globally and then restored when the Sequence is stopped or is finished. When set to false, no such override occurred, and completion mode was determined per track section by the settings on each track section.

We now have a 3rd option- ForceKeepState. If FinishCompletionStateOverride is set to ForceKeepState, then when the sequence is stopped or completed, we do not restore any state, regardless of track section settings- all state active when the sequence ends is persisted.This is done by discarding any preanimated state metadata and storage, preventing it from being used to restore state.

#jira UE-185041
[REVIEW] ue-sequencer

[CL 26243241 by david bromberg in ue5-main branch]
2023-06-26 16:15:24 -04:00
ludovic chabant
0b39d4c528 Sequencer: carry over the previous view target from a previously playing level sequence, if any
#rb max.chen

[CL 26193855 by ludovic chabant in ue5-main branch]
2023-06-22 16:59:54 -04:00
max chen
339ff03eb5 Remove UE_DEPRECATED(5.1)
#rb matt.hoffman, ludovic.chabant
#rnx

[CL 26168649 by max chen in ue5-main branch]
2023-06-21 19:06:01 -04:00
henrik karlsson
5db685f97d [Engine]
* Moved dllexport from type to methods/staticvar in all Engine runtime code. This improves compile times, memory and performance in dll builds

[CL 26082269 by henrik karlsson in ue5-main branch]
2023-06-17 18:13:06 -04:00
guillaume guay
b435404542 Sequencer: Added an interface to allow possessables to redirect bindings to other actors
- IMovieSceneBoundObjectProxy can be implemented on C++ and Blueprint classes to allow redirection to a different object when possessed in Sequencer.
  - This interface is currently not supported for Spawnables

Submitting on behalf of Andrew Rhodam
[REVIEW] [at]max.chen, [at]ludovic.chabant
#tests UEFN cooked locally with -editoroptional and local device modification implementing the interface
#pf https://horde.devtools.epicgames.com/job/648a2255e941dc9318b42013
[FYI] andrew.rhodam

[CL 26002137 by guillaume guay in ue5-main branch]
2023-06-14 22:30:45 -04:00
michael galetzka
7f0283c409 Added a callback to modify new actor track defaults
#jira UE-187995
#rb andrew.rodham

[CL 25890698 by michael galetzka in ue5-main branch]
2023-06-09 09:03:41 -04:00
mike zyracki
a9568a6e00 Sequencer: Linked Anim Sequences, make them editor only
#rb bob.tellez
#preflight 646402ca4404e3cdd2793f6b

[CL 25514945 by mike zyracki in ue5-main branch]
2023-05-17 15:58:50 -04:00
max chen
138b4a1757 Sequencer: Speculative fix for null movie scene crash on PostLoad
#rb andrew.rodham
#preflight 6463ec5a4404e3cdd26ee760
#rnx

[CL 25499921 by max chen in ue5-main branch]
2023-05-16 19:09:17 -04:00
Max Chen
e0d5ee3297 Sequencer: Remove check(false) in FTransientPlayer's GetEvaluationTemplate() for cases where a director instance is needed
#rb andrew.rodham
#rnx
#preflight 645452af023fe5d3ad5cdc8f

[CL 25357687 by Max Chen in ue5-main branch]
2023-05-05 13:35:53 -04:00
patrick enfedaque
0e5b4e3fc0 LevelSequence: Support Level Sequences within World Partition embedded Level Instances
#jira UE-180753
#rb richard.malo, andrew.rodham
#preflight 644fad875875c7d4b4c0b3bf
#rnx
#tests LevelSequence test group + multitude of WP Level Instance use cases (regular WP and instanced)

[CL 25284484 by patrick enfedaque in ue5-main branch]
2023-05-01 11:30:16 -04:00
patrick enfedaque
f420077d88 LevelSequence: Replace single StreamedLevelAssetPath param by a new struct pointing to StreamedLevelAssetPath (Ground work for new resolve path)
#jira UE-180753
#rb andrew.rodham
#preflight 644bd2faf50260822902edd5
#rnx

[CL 25240419 by patrick enfedaque in ue5-main branch]
2023-04-28 16:43:32 -04:00
max chen
fd2d96361a Sequencer: Follow up to CL 25176010 Comments for shots/sections
On PostDuplicate, reinitialize the metadata with owner, date, and clear the notes

#jira UE-170207
#preflight 6446ccabf030f684d5eb1281
#rb andrew.rodham

[CL 25184906 by max chen in ue5-main branch]
2023-04-25 14:08:57 -04:00
max chen
6884d2cf30 Sequencer: Comments for shots/sections
Move CinematicShotSection::GetTooltipText to TSubSectionMixin

Added UMovieSceneMetaData for author, timestamp and notes

Moved ILevelSequenceMetaData to IMovieSceneMetaDataInterface

#jira UE-170207
#preflight 6446ccabf030f684d5eb1281
#rb andrew.rodham

[CL 25176306 by max chen in ue5-main branch]
2023-04-25 00:54:15 -04:00
ludovic chabant
5f0c4c6215 Sequencer: restore aspect ratio axis constraint directly on the player if the level has changed during sequence playback
#udn 00420602
#preflight 643736954c0cdaea09734410
#rb max.chen

[CL 25069277 by ludovic chabant in ue5-main branch]
2023-04-17 12:13:30 -04:00
danny couture
cc67cafd42 Fix non unity build
#rnx
#rb trivial
#preflight trivial

[CL 25066986 by danny couture in ue5-main branch]
2023-04-17 09:18:24 -04:00
danny couture
1b51796326 Properly handle query to GPlayInEditorID while packages are being loaded
#rnx
#jira UE-175454
#rb Francis.Hurteau, Ben.Zeigler
#preflight 64399e149566b61450059959

[CL 25066973 by danny couture in ue5-main branch]
2023-04-17 09:17:06 -04:00