Commit Graph

51 Commits

Author SHA1 Message Date
ludovic chabant
47c7e35c42 Sequencer: Add more descriptive stat for each property type (instead of Apply Properties for all property types)
#rb andrew.rodham
#jira none
#preflight 628e52102c7cb2d10d6da7e9

[CL 20366489 by ludovic chabant in ue5-main branch]
2022-05-25 12:13:53 -04:00
Sebastian Thomeczek
24de5bb33b Fix FSequenceInstance::SetFinished assigning to parameter instead of member.
#fyi Andrew.Rodham
#rb trivial
#jira none
#preflight 62692d675a77b946d9f3e8c6

[CL 19937613 by Sebastian Thomeczek in ue5-main branch]
2022-04-27 08:03:55 -04:00
christopher waters
99ec480304 Cleaning up dependencies with select heavy-hitter headers in MovieScene and addressing the fallout from that.
MovieScene was targeted as its headers were at the top of profiling ShooterGame builds.
Tested with -disableunity and -nopch. Current timings take ShooterGameEditor rebuild from 480s to 440s

#jira none
#rb josh.adams
#preflight 624c97a63661c8f04a191889

[CL 19634779 by christopher waters in ue5-main branch]
2022-04-05 18:58:45 -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
andrew rodham
f5ec397d1b Sequencer: Relinked track instance inputs are now have OnInputRemoved/OnInputAdded called on them
- When track instance input is re-linked (ie, something modified a section causing it to be invalidated in the track instance) we track whether the input previously existed in the inputs, and remove + re-add it if so. This ensures that OnInputAdded is always called when a section is modified. If OnInputAdded is not called then logic that operates on the section's data (which probably changed during the Modify that invalidated the input) will get missed.

In the case of the CVar track, all its pre-animated state capture happens in OnInputAdded - when CVars were added or removed from an existing section, pre-animated state would never be captured for the new data.

#jira UE-140559
#rb Mike.Zyracki, Matt.Hoffman
#preflight 61f84b28114ec25fe0b107c8

#ROBOMERGE-AUTHOR: andrew.rodham
#ROBOMERGE-SOURCE: CL 18796811 in //UE5/Release-5.0/... via CL 18797813 via CL 18798519
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18798631 by andrew rodham in ue5-main branch]
2022-01-31 17:04:23 -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
312c5593f1 Sequencer: When running evaluations with no particular sequence to update, update all of them.
This fixes a bug where an evaluation caused by an outdated instantiation serial number in the linker does not correctly run the legacy evaluation templates.

#rb ludovic.chabant, andrew.rodham
#rb andrew.firth
#lockdown andrew.firth
#preflight 615c69b58ebc2600019efbe9

#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 17721885 via CL 17979519 via CL 18366878 via CL 18366949
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18366965 by max chen in ue5-release-engine-test branch]
2021-12-03 02:55:51 -05:00
marc audy
314513936d Sequencer: Move instantiation serial number from the ECS runner into the linker.
This prevents extra updates from occuring when there are multiple runners, because after one updates another one might incorrectly think instantiation changes have occured and need more updates.

Generally speaking, any "true" state (i.e. state that carries outside of a single update) needs to be avoided in the ECS runner.

#rb ludovic.chabant, andrew.rodham
#rb andrew.firth
#lockdown andrew.firth
#preflight 615c69b58ebc2600019efbe9

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 17721867 via CL 17979511 via CL 18366808 via CL 18366873
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18366947 by marc audy in ue5-release-engine-test branch]
2021-12-03 02:53:51 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
aurel cordonnier
69fe095547 Merge from Release-Engine-Staging @ 17636544 to Release-Engine-Test
This represents UE4/Main @17638339 and Dev-PerfTest @17636504

[CL 17638842 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-27 19:54:25 -04:00
michael noland
3b2efd1781 Type truncation warning fixes for some MovieScene headers
[CODEREVIEW] Andrew.Rodham
#jira UE-116218

#ROBOMERGE-AUTHOR: michael.noland
#ROBOMERGE-SOURCE: CL 17578587 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17578590 by michael noland in ue5-release-engine-test branch]
2021-09-20 22:02:26 -04:00
ludovic chabant
810588170e Sequencer: Enable debug visualizers for double components.
#jira none
#rb max.chen

#ROBOMERGE-SOURCE: CL 17405201 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17405222 by ludovic chabant in ue5-release-engine-test branch]
2021-09-02 13:14:35 -04:00
ludovic chabant
92075f84a6 Sequencer: Large world coordinates support
- Add support for double precision channels, curves, evaluation, blending, and all other runtime infrastructure.
- Note that, as usual for now, double channels load and save float values.
- Editor side also gains some new track editors for these new types, with some workarounds to correctly recognize between float and double vectors.
- Transform tracks are now operating entirely in doubles.
- Float recomposing APIs for keying tracks in the editor are now using doubles, and have been renamed to "value recomposing".

#rb max.chen
#preflight 6123f6d9e7a3070001ff37ed

#ROBOMERGE-SOURCE: CL 17278174 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v858-17259218)

[CL 17278198 by ludovic chabant in ue5-release-engine-test branch]
2021-08-23 18:26:59 -04:00
max chen
ca8d0e0bc2 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 via CL 17226661
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17226667 by max chen in ue5-release-engine-test branch]
2021-08-18 21:15:01 -04:00
aurel cordonnier
dc4bf61540 Merge from Release-Engine-Staging @ 17030559 to Release-Engine-Test
This represents UE4/Main @ 17030256 and Dev-PerfTest @ 17030553

[CL 17031509 by aurel cordonnier in ue5-release-engine-test branch]
2021-08-03 11:56:47 -04:00
aurel cordonnier
25a11deeac Merge from Release-Engine-Staging @ 16579919
This represents UE4/Main @ 16579691 and Dev-PerfTest @ 16579576

[CL 16581170 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-07 20:09:45 -04:00
Marc Audy
e80ea6b959 Merge from Release-Engine-Staging @ 16444985
This represents UE4/Main @ 16445039 and Dev-PerfTest @ 16444526

[CL 16445122 by Marc Audy in ue5-release-engine-test branch]
2021-05-25 02:43:26 -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
andrew rodham
d1be6ae181 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
#tests Ran all engine tests
#rb Ludovic.Chabant, Max.Chen


#ROBOMERGE-SOURCE: CL 16384448 via CL 16385872 via CL 16386056
#ROBOMERGE-BOT: (v804-16311228)

[CL 16386184 by andrew rodham in ue5-release-engine-staging branch]
2021-05-19 10:57:44 -04:00
andrew rodham
c15d6d4052 Sequencer: Added a global iteration filter
- This allows evaluation to run on a selective set of entities

#tests Ran all engine tests
#rb Ludovic.Chabant, Max.Chen


#ROBOMERGE-SOURCE: CL 16384129 via CL 16385843 via CL 16386041
#ROBOMERGE-BOT: (v804-16311228)

[CL 16386177 by andrew rodham in ue5-release-engine-staging branch]
2021-05-19 10:57:28 -04:00
andrew rodham
35e784a94f Sequencer: Legacy track templates are now run _before_ PostEvaluation
- This ensures that sequencer events are triggered after track templates, that any event triggers can rely on state produced by track templates, and that they are called before the CompletionTask is signalled.

#rb Matt.Hoffman, Max.Chen, Ludovic.Chabant


#ROBOMERGE-SOURCE: CL 16312504 via CL 16312512 via CL 16312522
#ROBOMERGE-BOT: (v804-16311228)

[CL 16318012 by andrew rodham in ue5-release-engine-staging branch]
2021-05-13 16:20:14 -04:00
andrew rodham
47aef6dcae Sequencer: Added an enabled state for entity systems
- Disabled systems will still be kept alive as long as they are relevant, but will not be run during their system phases

#rb Max.Chen


#ROBOMERGE-SOURCE: CL 16312362 via CL 16312365 via CL 16312372
#ROBOMERGE-BOT: (v804-16311228)

[CL 16318001 by andrew rodham in ue5-release-engine-staging branch]
2021-05-13 16:19:50 -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