Commit Graph

152 Commits

Author SHA1 Message Date
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
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
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
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
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
Anatole Menichetti
93086fe8cf Fix AnimSequenceLink missing option (Evaluate All Skeletal Mesh Components)
#robomerge[METAHUMAN] Main
#preflight 62b49a44c366895b826a4ea6

[CL 20796960 by Anatole Menichetti in ue5-main branch]
2022-06-23 12:57:35 -04:00
matt peters
f7fa573932 ANY_PACKAGE Removal: ULevelSequence::PostLoadAssetRegistryTags needs to postload blueprint tags.
#rb None, trivial
#rnx
#preflight None, trivial

#ROBOMERGE-OWNER: matt.peters
#ROBOMERGE-AUTHOR: matt.peters
#ROBOMERGE-SOURCE: CL 20464583 via CL 20464597 via CL 20464639 via CL 20464640
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v952-20449836)

[CL 20466212 by matt peters in ue5-main branch]
2022-06-02 03:01:54 -04:00
Max Chen
0167d4ea0f Sequencer: MVVM2 branch and Layer Bars
Copying //Tasks/UE5/Dev-SequencerMVVM2 to Main (//UE5/Main) @20364093

#preflight 628866dfb94f739b152c1e29
#preflight 628866e4585e8f793ee80943
#rb ludovic.chabant, andrew.rodham
#fyi ludovic.chabant, andrew.rodham, andrew.porter
#jira UE-105322

[CL 20364493 by Max Chen in ue5-main branch]
2022-05-25 10:39:33 -04:00
robert manuszewski
f8a812a32f Converting hardcoded short class/enum names to pathnames ahead of ANY_PACKAGE removal
#rb trivial
#jira UE-99463
#preflight 6288fd998828ea88c8aef3d0

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20314896 via CL 20314897 via CL 20314903 via CL 20314904
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20315214 by robert manuszewski in ue5-main branch]
2022-05-22 10:30:02 -04:00
andrew rodham
d111e493cf Sequencer: Replicate ALevelSequenceActor::LevelSequenceAsset and initialize the player if it changes
#rb Max.Chen

#ROBOMERGE-AUTHOR: andrew.rodham
#ROBOMERGE-SOURCE: CL 20187214 via CL 20188752 via CL 20189858 via CL 20189882 via CL 20189900
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20191995 by andrew rodham in ue5-main branch]
2022-05-13 19:15:08 -04:00
lonnie li
9afef43f8f LevelSequence: Export symbols for FBoundActorProxy.
#rb andrew.rodham
#preflight skip

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 19928541 via CL 19928933 via CL 19929485
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 19931490 by lonnie li in ue5-main branch]
2022-04-26 19:05:25 -04:00
andrew rodham
641765bc37 Moved #include to header to appease generated cpp
#rb none

#ROBOMERGE-AUTHOR: andrew.rodham
#ROBOMERGE-SOURCE: CL 19849791 via CL 19849836 via CL 19861052 via CL 19861138
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)

[CL 19869756 by andrew rodham in ue5-main branch]
2022-04-22 15:11:03 -04:00
andrew rodham
db43093be3 Sequencer: Added functions for getting the master sequence time, and local sub sequence time to Level Sequence Directors
#rb Max.Chen

#ROBOMERGE-AUTHOR: andrew.rodham
#ROBOMERGE-SOURCE: CL 19849529 via CL 19849557 via CL 19860977 via CL 19861044
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)

[CL 19869724 by andrew rodham in ue5-main branch]
2022-04-22 15:09:25 -04:00
Mike Zyracki
49541ddc4c Sequencer: Linked Anim Sequences: When duplicating level sequences we also duplicate the linked anim sequence. Also added some BP/Python functions for creating linked anim sequences
#jira UE-149027
#jira UE-149731
#preflight 62607aa6de50cd99bbbab57c
#rb max.chen

[CL 19851796 by Mike Zyracki in ue5-main branch]
2022-04-21 13:12:26 -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
marc audy
6553e6cd0a Remove as much C++ deprecation as possible up to 4.17 (along with a few scattered removals from beyond)
#preflight 61eefc77ba69a4fdb220bf23

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 18712765 in //UE5/Release-5.0/... via CL 18712784 via CL 18713147
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18713191 by marc audy in ue5-main branch]
2022-01-24 15:07:48 -05:00
anatole menichetti
21a735b94d Fix Bake Animation Sequence Curve/Transform Export
Enables toggling of exporting morph targets / attribute / material curves separately
Fixes issue when Transforms are not exported: zeroed keys were added instead of ref pose
#jira UE-137045
#preflight 18620216

#ROBOMERGE-AUTHOR: anatole.menichetti
#ROBOMERGE-SOURCE: CL 18621151 in //UE5/Release-5.0/... via CL 18621282 via CL 18621348
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18621396 by anatole menichetti in ue5-main branch]
2022-01-14 14:17:19 -05:00
max chen
8bab5aeb6e Sequencer: Redo RemoveInvalidBindings by calling it in PostInitProperties instead of PostLoad since the movie scene might not have been initialized yet. This was causing some automation tests to fail.
This came from another project where adding a binding, deleting it, saving and restarting would not remove the binding from the movie scene.

#rb andrew.rodham
#preflight 61d49bda1f62d3ad4d50cc14
#jira UE-136694
#jira UE-138233

#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 18512123 in //UE5/Release-5.0/... via CL 18512148
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18512185 by max chen in ue5-release-engine-test branch]
2022-01-04 15:27:28 -05:00
sebastien lussier
9930202287 Renamed misnamed "LOD" Actor category to "HLOD"
* More fitting documentation/name for the bEnableAutoLODGeneration property (now using the HLOD category)
* Side effect of this change is that the HLOD Layer property is now hidden on a lot of classes were it wasn't wanted
* Improved property display name/comments for AActor::bEnableAutoLODGeneration, now "Include Actor in HLOD" (UPrimitiveComponent has a "Include Component in HLOD" property)
#rb jeanfrancois.dube
#preflight trivial
#jira none

#ROBOMERGE-AUTHOR: sebastien.lussier
#ROBOMERGE-SOURCE: CL 18475316 in //UE5/Release-5.0/... via CL 18481106
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18481116 by sebastien lussier in ue5-release-engine-test branch]
2021-12-16 19:01:40 -05:00