Commit Graph

101 Commits

Author SHA1 Message Date
alexis beracochea
82375d370a Keep level sequence player up to date with view target changes during playback, so that it restores the last known desired view target when stopping
[CODEREVIEW] [at]ludovic.chabant

#localization none
#tests PIE

[CL 24500561 by alexis beracochea in ue5-main branch]
2023-03-03 12:02:28 -05:00
ludovic chabant
fb68ac56d7 Sequencer: take play-rate into account for blend times between blending camera cuts
#preflight 63fecb41ef1b24bf9457c600
#rb max.chen
#jira none

[CL 24467835 by ludovic chabant in ue5-main branch]
2023-03-01 14:22:53 -05:00
jamie dale
e48d6a02f7 Fix LevelSequence resolving on Instanced WorldPartition cells
#rb andrew.rodham, jeanfrancois.dube, richard.malo
#rnx
#preflight 6392001a67018b14b5843c5b

[CL 23460249 by jamie dale in ue5-main branch]
2022-12-08 21:23:22 -05: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
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
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
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
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
Patrick Vane
b248bc2059 CachedCameraComponent fix.
#preflight 62d5b5a0dc4397d384de4ac7

[CL 21151846 by Patrick Vane in ue5-main branch]
2022-07-18 15:47:17 -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
ludovic chabant
ad6692df72 Fix issue where aspect ratio constraint wasn't correctly restored in some cases
#jira none
#rb max.chen
#preflight 624cb6d88d1db441a9159f27

[CL 19632570 by ludovic chabant in ue5-main branch]
2022-04-05 17:53:13 -04:00
ludovic chabant
faaee5caaf Add logging of camera cuts in sequences.
This is to help with troubleshooting cut issues.

#rb none

#ROBOMERGE-AUTHOR: ludovic.chabant
#ROBOMERGE-SOURCE: CL 19584640 via CL 19584656 via CL 19584661
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19584800 by ludovic chabant in ue5-main branch]
2022-04-01 01:42:06 -04:00
matt johnson
4963809c62 MovieScene: query movie scenes and sequences for their earliest TimecodeSource instead of using their own property
UMovieScene is a container that may represent multiple pieces of media as
sections, each of which may have their own distinct timecode source. As a result,
the timecode source associated with the UMovieScene itself doesn't correspond to
any particular piece of media, but rather was just intended as the timecode at which
the movie scene was recorded.

These changes update code sites that read the TimecodeSource property directly to
instead query the UMovieScene/UMovieSceneSequence for the earliest timecode source
of any of its sections using GetEarliestTimecodeSource(). The TimecodeSource property
of UMovieScene will ultimately be removed in a subsequent change.

#rb max.chen
#preflight 61dcc052e67256ec41f23837

#ROBOMERGE-AUTHOR: matt.johnson
#ROBOMERGE-SOURCE: CL 18586470 in //UE5/Release-5.0/... via CL 18586491 via CL 18586494
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18586498 by matt johnson in ue5-main branch]
2022-01-12 12:51:54 -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
max chen
f0f7be67c4 Sequencer: Deprecated LevelSequenceSnapshotSetttings which was really only used by AutomatedLevelSequenceCapture to store the recording frame to be used in converting the snapshot times. The conversion is better done in the DefaultBurnin blueprint with the FrameRate using the FQualifiedFrameTime of the MasterTime or the ShotTime.
#rb matt.hoffman

#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 17449311 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17449317 by max chen in ue5-release-engine-test branch]
2021-09-07 16:11:54 -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
Marc Audy
3cfedaade8 Fix PVS warning V502 when comparing against NAME_None in a trinary
[CL 16137741 by Marc Audy in ue5-main branch]
2021-04-28 01:58:36 -04:00
Marc Audy
8f73cd7fa9 Merge UE5/Release-Engine-Staging @ 15630841 to UE5/Main
This represents UE4/Main @ 15601601

[CL 15631170 by Marc Audy in ue5-main branch]
2021-03-05 19:27:14 -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
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
Michal Valient
95d19f95b1 [REVERB] Merging //UE4/Private-Reverb-Development@13832732
#rb graham.wihlidal, rune.stubbe, brian.karis, andrew.lauritzen, jeff.farris

[CL 13834854 by Michal Valient in ue5-main branch]
2020-07-06 18:58:26 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
Max Chen
b4881d8bf8 Copying //UE4/Dev-Editor to Dev-Tools-Staging (//UE4/Dev-Tools-Staging) @11123875
#rb none
#jira none

[CL 11123880 by Max Chen in Dev-Tools-Staging branch]
2020-01-27 20:11:15 -05:00