Commit Graph

5 Commits

Author SHA1 Message Date
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
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
Andrew Rodham
e48f8100c8 Sequencer: Tidied up component locking and access patterns
- Client code ultilizing ForEachAllocation task callbacks no longer need to call Resolve to access component data - this is already done in the task internals and the lock is maintained correctly for the duration of the task
  - Added Read/WriteComponent methods to FEntityAllocation to make custom component access more robust - these functions now return a scope-locked wrapper around the component data

#rb Max.Chen, Ludovic.Chabant

[CL 15144976 by Andrew Rodham in ue5-main branch]
2021-01-20 11:40:24 -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