Commit Graph

17 Commits

Author SHA1 Message Date
andrew rodham
cf754edf08 Sequencer: Fix stale track templates not being purged on evaluation
Previously stale tracks were always purged inside FSequencer::EvaluateInternal, but this code was lost during the ECS migration and the segragation of the legacy evaluator from the main evaluation templates. Rather than put the code back in there, I'm opting to put it in the sequence instance's post-evaluate function, meaning it will apply to volatile sequences inside cooked builds too, rather than just the editor UI.

Ideally this code would exist as part of the FMovieSceneTrackEvaluator, but in order for it to only be applied for volatile sequences (and thus not affect runtime performance) we'd have to call through from the FSequenceInstance which would involve changing headers. I'd like to get this change into a patch release if possible, so I've opted for the hotfixable change - we can tidy it up in main.

#jira MH-5629
#rb max.chen
#preflight 625ee5addb15ac92db9d06c0

#ROBOMERGE-AUTHOR: andrew.rodham
#ROBOMERGE-SOURCE: CL 19811627 in //UE5/Release-5.0/... via CL 19818090
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)

[CL 19821323 by andrew rodham in ue5-main branch]
2022-04-19 19:12:05 -04:00
Andrew Rodham
d90e9cfbff Sequencer: Root instance handles are now type-enforced
- This prevents passing an FInstanceHandle to something that specifically wants a root instance handle.
  - FRootInstanceHandle is implicitly castable to an FInstanceHandle, but not visa-versa.

#rb Max.Chen
#jira none
#preflight 62226eac2f7d78332e198dd3

[CL 19273332 by Andrew Rodham in ue5-main branch]
2022-03-04 15:09:42 -05:00
max chen
a20dc348ee Sequencer: Pre-Animated state changes to support track instance inputs
- Track Instance Inputs can now be used as capture sources to capture pre-animated state
  - PreAnimatedState extension now simply exists as a member of UMovieSceneEntitySystem. Previously the existence of the extension was used to determine whether any pre-animated state logic was required, but in practice this created more problems than it solved and led to some convoluted lifetime management code.
  - Added a templated group manager type from which the object group manager can inherit. This simplifies the introduction of new group managers
  - Removed the requirement that all pre-animated state must exist as part of a valid group. This forced state from 'master' tracks to be arbitrarily grouped together which put an unnecessary burden on the storage classes.

#jira UE-132512
#rb max.chen, matt.hoffman
[FYI] andrew.rodham
#preflight 61f2ca893765218cf01f290e

#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 18754810 in //UE5/Release-5.0/... via CL 18754825 via CL 18757520
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18758489 by max chen in ue5-main branch]
2022-01-27 14:35:51 -05:00
max chen
b05d178b68 Movie Scene: Log updates
- Added a LogMovieSceneECS and moved entity system logs to it - this helps distinguish between ECS notifications vs frame/timing information
- Added client name to Evaluating sequence log
- Remove outdaded "Clock Tick" words from TimeController log

LogMovieScene: VeryVerbose: Evaluating sequence SimpleSequence at frame 133, subframe 0.999992 (30.000000 fps).
LogMovieScene: VeryVerbose: Evaluating sequence SimpleSequence (client 0) at frame 109, subframe 0.999993 (30.000000 fps).
LogMovieScene: VeryVerbose: Evaluating sequence SimpleSequence (client 1) at frame 106, subframe 0.999994 (30.000000 fps).

#rb ludovic.chabant, matt.hoffman
#preflight 611d9e933a81b0000143aacd


#ROBOMERGE-SOURCE: CL 17226594
#ROBOMERGE-BOT: (v855-17104924)

[CL 17226661 by max chen in ue5-main branch]
2021-08-18 21:14:35 -04:00
aurel cordonnier
43fa62fcd8 Merge from Release-Engine-Test @ 16487383 to UE5/Main
This represents UE4/Main @ 16445039 and Dev-PerfTest @ 16444526

[CL 16488106 by aurel cordonnier in ue5-main branch]
2021-05-27 13:40:37 -04:00
max chen
065c713c5b Sequencer: Fixed Pre-Animated State not being correctly handled when PlaybackContextChanged is called
- Added a new automation test to verify this codepath's correctness

#jira UE-115787
#jira FROST-2744
#rb Ludovic.Chabant, Max.Chen

#ROBOMERGE-SOURCE: CL 16397257 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v804-16311228)

[CL 16403512 by max chen in ue5-main branch]
2021-05-20 11:07:03 -04:00
aurel cordonnier
8eebe8841f Merge UE5/RET @ 16305968 to UE5/Main
This represents UE4/Main @ 16261013 and Dev-PerfTest @ 16259937

[CL 16306996 by aurel cordonnier in ue5-main branch]
2021-05-12 18:10:03 -04:00
Marc Audy
9753392e2b Merge UE5/RES CL# 15462083 to UE5/Main
This represents UE4/Main @ 15414221

[CL 15463811 by Marc Audy in ue5-main branch]
2021-02-18 18:13:28 -04:00
Andrew Rodham
2b44b580e4 Sequencer: Upgraded object binding IDs to be more portable when nested
- This change introduces two separate types for dealing with binding IDs in different spaces explicitly: FFixedObjectBindingID and FRelativeObjectBindingID. The latter is portable if the sequence it was created within is nested inside another foreign hierarchy.
  - FMovieSceneObjectBindingID remains, and is able to represent both of the new types, but should only be used for serialization to ensure compatability and consistency with editor tools that operate in different spaces.
  - Any manual ResolveLocalToRoot or GetSequenceID processing has now been replaced with the new ResolveBoundObjects API, which provides a less error-prone way of resolving bindings that live in different sequences

#jira UE-74450
#rb Max.Chen, Ludovic.Chabant

[CL 14915667 by Andrew Rodham in ue5-main branch]
2020-12-14 14:36:17 -04:00
Marc Audy
ada7c144fa Merge //UE5/Release-Engine-Staging @14903491 to //UE5/Main
[CL 14906022 by Marc Audy in ue5-main branch]
2020-12-11 14:21:20 -04:00
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -04:00
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00
Zousar Shaker
77d13185b7 Copying //UE5/Dev-Cooker@14539516 to Main (//UE5/Main)
[CL 14539954 by Zousar Shaker in ue5-main branch]
2020-10-21 17:56:05 -04:00
Marc Audy
50a3d7d368 Merge Release-Engine-Staging to Main @ CL# 14467590
This represents UE4/Main @ 14432125 + some cherrypick fixes

[CL 14468207 by Marc Audy in ue5-main branch]
2020-10-09 22:42:26 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00