Commit Graph

279 Commits

Author SHA1 Message Date
max chen
9616273abd Sequencer: Spawn with a unique name
#jira UE-148898
#preflight 636975c0450be1d9f8f90cca
#rb andrew.rodham, matt.hoffman

[CL 23203592 by max chen in ue5-main branch]
2022-11-18 15:32:47 -05:00
austin crismore
c3813c8be5 Updating Transform Origin tool-tip to remove warning about attach tracks.
#rb max.chen
#preflight 637644137f17df38a231c5b7

[CL 23175400 by austin crismore in ue5-main branch]
2022-11-17 09:31:07 -05:00
max chen
3d531acb9a Sequencer: Add SupportsSequence implementation so that the track editor is only active for sequences that support it
This fixes OnInitialize() getting called (which has a workaround for edit modes, unfortunately) when the day sequence is active.

Moved callbacks to within OnInitialize since they don't need to run unless the track editor is active.

Note, derived class of MovieSceneSequence that need the Skeletal Animation Track Editor, should implement IsTrackSupported.

#rb mike.zyracki
[FYI] lonnie.li
#preflight 636a9787dc30a4ce96aa2fa2

[CL 23069801 by max chen in ue5-main branch]
2022-11-09 21:03:34 -05:00
henrik karlsson
20b41655e6 Fixed non-unity/pch errors in UnrealGame linux config
#rb none
#preflight skipped

[CL 23003631 by henrik karlsson in ue5-main branch]
2022-11-05 22:34:56 -04:00
henrik karlsson
c74a069ae5 Fixed non-unity/pch compile errors caused by header removals in engine
#rb none
#jira none
#preflight skipped

[CL 22971200 by henrik karlsson in ue5-main branch]
2022-11-03 19:39:18 -04:00
henrik karlsson
fa90b399a4 Added includes for future change. This changelist only contains added #include and a couple of empty placeholder files
Tested compiling fortnite, unrealeditor, lyra, qagame with non-unity/pch

#preflight 63635997876630122adeab9f
#rb none

[CL 22958990 by henrik karlsson in ue5-main branch]
2022-11-03 14:18:47 -04:00
henrik karlsson
b5b86c796c This change is a strategical submit for a coming change that removes lots of includes in headers that are included by many files. This change contains adding of includes in files that previously got those includes transitively from other inclkudes
#preflight 6355d4940313c24974b2107b
#rb none

[CL 22783162 by henrik karlsson in ue5-main branch]
2022-10-26 12:57:32 -04:00
Max Chen
f57db3e0fa Sequencer: Remove Master from Sequencer
- Remove all instances of Master from the UI - ie. Replace Create Master Sequence with Create Sequence with Shots
- Internally, remove Master - Master Tracks in the MovieScene can just be Tracks

Deprecations (Properties):
- UMovieScene:MasterTracks deprecated for Tracks
- UMovieSceneFolder:ChildMasterTracks deprecated for ChildTracks
- FLevelSequencePlayerSnapshot: MasterName, MasterTime for RootName, RootTime
- UMoviePipelineSetting_BlueprintBase: bIsValidOnMaster for bIsValidOnPrimary

Deprecations (Functions):
- UMovieScene: GetMasterTracks, FindMasterTracksByType, FindMasterTracksByExactType, AddMasterTrack, RemoveMasterTrack deprecated for GetTracks, FindTracksByType, FindTracksByExactType, AddTrack, RemoveTrack
- UMovieSceneFolder: GetChildMasterTracks, AddChildMasterTrack, RemoveChildMasterTrack deprecated for GetChildTracks, AddChildTracks, RemoveChildTrack
- FMovieSceneTrackEditor: FFindOrCreateMasterTrackResult, FindOrCreateMasterTrack deprecated for FindOrCreateRootTrackResult, FindOrCreateRootTrack
- ULevelSequenceDirector: GetMasterSequenceTime deprecated for ULevelSequenceDirector::GetRootSequenceTime
- UDaySequenceDirector: GetMasterSequenceTime deprecated for UDaySequenceDirector::GetRootSequenceTime
- UMoviePipelineSetting: IsValidOnMaster for IsValidOnPrimary
- UMoviePipelineBlueprintLibrary: GetMasterTimecode, GetMasterFrameNumber for GetRootTimecode, GetRootFrameNumber
- UMoviePipeline: GetPipelineMasterConfig for GetPipelinePrimaryConfig
- UMovieSceneAudioTrack: IsAMasterTrack

Classes Renamed:
- FAnimTypePreAnimatedStateMasterStorage for FAnimTypePreAnimatedStateRootStorage
- UMovieSceneMasterInstantiatorSystem for UMovieSceneRootInstantiatorSystem
- ULevelSequenceMasterSequenceSettings to ULevelSequenceSequenceWithShotsSetting

Note, the following instances of master still occur and a "KnownCase" has been added for them in CheckAcceptableWords.cs:
- Deprecated properties (MasterTracks -> Tracks) and functions (ie. GetMasterTracks -> GetTracks)
- masterclip in FCPXML since it's an industry standard term
- masteraudiosubmix in AudioCaptureProtocol
- mastersubmix in MoviePipelineAudioRendering
- masteertimecode, masterframenumber, masterconfig, validonmaster in MovieRenderPipeline
- mastersequencetime, mastertime, mastername in LevelSequence

#jira UE-158660
#preflight 634645e48a0a7b2adc5722e7
#rb matt.hoffman, andrew.rodham

[CL 22739302 by Max Chen in ue5-main branch]
2022-10-24 18:22:10 -04:00
max chen
b70a5545b6 Sequencer: Added the ability to bind to a skeletal mesh component's post process instance.
#jira UE-167803
#rb andrew.rodham
#preflight 635199ace6096564af188134

[CL 22705188 by max chen in ue5-main branch]
2022-10-21 19:51:33 -04:00
andrew rodham
b688b8f9d4 Sequencer: MovieScene, LevelSequence and UMG Animation header dependency cleanup
#rb Max.Chen
#preflight 6349bb321f6054a99f000732

[CL 22566610 by andrew rodham in ue5-main branch]
2022-10-17 11:49:35 -04:00
mike zyracki
6970b0d77b Sequencer: Bake Animation: Add ability to specify sequence interpolation and curve interpolation types, needed for Juno since they are changing to step/constant often and need to make sure to always manul change this after every save. Also change TickAllSkeletalMeshes to true
#preflight 63470e38f04e6f8505232393
#rb max.chen

[CL 22547940 by mike zyracki in ue5-main branch]
2022-10-15 02:15:53 -04:00
Matt Peters
3b57fa2789 IncrementalCooking: Add DeclareConstructClasses for classes that need it. Fix some transient UObjects that assert they are never persistently serialized to support Serialize being called on their ClassDefaultObject to support DeclareCustomVersions.
#rb Zousar.Shaker
#rnx
#preflight 63497341f622f6c4bb1dd625

[CL 22529151 by Matt Peters in ue5-main branch]
2022-10-14 12:42:43 -04:00
max chen
c5727585e9 Sequencer: Separate application of UMovieSceneSequencePlayer::PlaybackSettings from Initialize
Captain's log of the reason behind why this is required:

When spawning a replicated Level Sequence Actor on the server, a SequencePlayer subobject is also created and replicated along with it. If the sequence player is interacted with directly (by way of calling things like PlayLooping, which adjust the loop count of the player's playback settings directly), there can be a justifiable discrepancy in playback settings on the server between the actor and its player. This is not a problem in practice because the Actor's playback settings are only used for initialization.

When these 2 objects are replicated to the client, the client receives the properties for both the actor and sequence player in the same network bunch, applies them, then calls PostNetReceive on both objects. Unfortunately it can call ALevelSequenceActor::PostNetReceive before UMovieSceneSequencePlayer::PostNetReceive, which means the Actor ends up calling Initialize on the player (because it hasn't been set up yet - it's only just been spawned by the net code), which ends up trampling over the player's PlaybackSettings that were just applied by the net replication.

Since the shadow state on the server thinks it has already sent those properties to the client, it never sends them again, so the client doesn't think it's looping when the server does.

#rb Ludovic.Chabant, Max.Chen
#preflight 63345955031c90cb0bab2afb

[CL 22240516 by max chen in ue5-main branch]
2022-09-28 22:24:01 -04:00
eric knapik
5022250ab8 Sequencer: Fix cinematic sequence device's level sequence actor spawn transform, and add option for always-on networking
#rb max.chen, andrew.rodham
#preflight 63337d8de11ae0b19c2b838b

[CL 22239175 by eric knapik in ue5-main branch]
2022-09-28 21:43:04 -04:00
marc audy
311f7464bf Updated ../Engine/Source/Runtime/... to inline gen.cpp files
Before:
3648 unity files
Total CPU Time: 47886.140625 s
Total time in Parallel executor: 498.81 seconds

After:
3548 unity files
Total CPU Time: 46643.828125 s
Total time in Parallel executor: 486.06 seconds

#jira
#preflight

[CL 22173263 by marc audy in ue5-main branch]
2022-09-24 13:57:58 -04:00
max chen
c58a3b0ada Sequencer: Replace spaces with underscores in spawned actor names
#jira UE-148898
#preflight 632e0c22d747fe52c8d403ea
#rb andrew.rodham, matt.hoffman

[CL 22165747 by max chen in ue5-main branch]
2022-09-23 20:58:34 -04:00
patrick boutot
4a22287964 UMG: Add GameViewportSubsystem. It manage the UWidget that are fullscreen or on a player screen. Previously, the logic was only on UserWidget.
[REVIEW] daren.cheng
#preflight 632083c68838676d10e89cd8, 6321fc09bc40358fa2f5cd89

[CL 22023171 by patrick boutot in ue5-main branch]
2022-09-14 23:20:21 -04:00
bryan sefcik
07894f4a07 Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.

#jira
#preflight 631a717cec45fbf3d74d4ba7

[CL 21916033 by bryan sefcik in ue5-main branch]
2022-09-09 00:53:22 -04:00
bryan sefcik
cb0456c6d4 Cleaned up build.cs files by removing any include paths that were already being added by UBT. This was done to help identify how include paths are being added and to help with future refactoring.
#jira
#preflight 631a5c04967ffc68fbf0dd8f

[CL 21911226 by bryan sefcik in ue5-main branch]
2022-09-08 21:44:02 -04:00
Robert Millar
672e3896a5 FNames containing asset paths are deprecated. FSoftObjectPath should be used instead.
Fixups for LevelSequence/SequenceRecorder.

#jira UE-161932
#rb andrew.rodham
#preflight 6317df0cb069eea9ab1a322d

[CL 21840551 by Robert Millar in ue5-main branch]
2022-09-06 23:56:00 -04:00
Michael Forot
bde5d70d49 Chaos Cache Manager tracks
#rb cedric.caillaud
#jira none
#preflight 6305dcce5a5d4e46244dd06c

[CL 21536847 by Michael Forot in ue5-main branch]
2022-08-24 04:36:09 -04:00
ludovic chabant
86135278a5 Don't try to resolve bound actors with component possessables.
#jira none
#rb max.chen
#preflight 62d998fcac71f3a22581d4ca

[CL 21205194 by ludovic chabant in ue5-main branch]
2022-07-21 14:32:10 -04:00
Bryan sefcik
b4a6e947d8 Ran IWYU on Public headers under Engine/Source/Runtime/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21065896 by bryan.sefcik
#preflight 62d4b1a5a6141b6adfb0c892
#jira

#ROBOMERGE-OWNER: Bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21150156 via CL 21151754 via CL 21154719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf

[CL 21181076 by Bryan sefcik in ue5-main branch]
2022-07-20 11:31:36 -04:00
Patrick Vane
b248bc2059 CachedCameraComponent fix.
#preflight 62d5b5a0dc4397d384de4ac7

[CL 21151846 by Patrick Vane in ue5-main branch]
2022-07-18 15:47:17 -04:00
andrew rodham
b28cc739f1 Sequencer: Added support for tick intervals to UMovieSceneSequenceTickManager
The sequence tick manager is now able to manage updating sequences at various different tick intervals. To do so it creates new linkers and runners for each unique tick interval, and groups all updates for that tick interval into their own linker.
As such, sequences running at different tick intervals are unable to blend with each other, since the data is separated, but this is an acceptable trade-off for the flexibility it brings.

Usage of Actor nomenclature in UMovieSceneSequenceTickManager has been deprecated and replaced with 'client' since it is not necessarily an actor. In fact, all existing implementations of this interface have been unified into UMovieSceneSequencePlayer so it can be updated directly without having to go through an actor or component indirection first. This does introduce an issue whereby the player could continue to tick _after_ its owner EndPlay has been called, which forces the owner to call TearDown on EndPlay. The SequencePlayer itself is only registered inside ::Initialize so should not begin ticking until it is ready to play.

A new struct type, FMovieSceneSequenceTickInterval (and FMovieSceneSequenceResolvedTickInterval), has been added to unify places where we deal with tick intervals and provide a nice edit interface in the playback settings allowing users to manually override it without having to manipulate actor ticks.

#rb Ludovic.Chabant, Lonnie.Li
#preflight 62b5e6b3d82986248b668723

#ROBOMERGE-AUTHOR: andrew.rodham
#ROBOMERGE-SOURCE: CL 20814562 via CL 20814726 via CL 20815069
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20816478 by andrew rodham in ue5-main branch]
2022-06-24 16:46:29 -04:00