Commit Graph

68 Commits

Author SHA1 Message Date
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
Mike Zyracki
624d0c042e Sequencer:Control Rig: Support indirect manip with CTRL drags with control rig objects.
#jira UE-150016
#preflight 6283eb564e3a70ba0b160fdc
#rb max.chen

[CL 20250746 by Mike Zyracki in ue5-main branch]
2022-05-17 17:01:53 -04:00
Max Chen
d33ec8a450 Sequencer: Fix input handling
#jira UE-152674
#preflight 6283c7d218591b86df944fd7
#rb mike.zyracki

[CL 20245433 by Max Chen in ue5-main branch]
2022-05-17 12:38:25 -04:00
Mike Zyracki
491ba3ecff Sequencer: Add editor preference to do drag selection on left mouse click. Added new class to the ed mode to handle the needed drag behavior and then get it created when needed.
#jira UE-151456
#preflight 628319bd0b68afa14c7b6d40
#rb max.chen

[CL 20238438 by Mike Zyracki in ue5-main branch]
2022-05-17 00:03:38 -04:00
Mike Zyracki
f719933338 Sequencer: Viewport scrubbing needs to go into scrub mode so audio plays.
#jira UE-150851
#preflight  6272cee03b637178ddcd5b97
#rb max.chen

[CL 20048914 by Mike Zyracki in ue5-main branch]
2022-05-04 16:43:01 -04:00
Max Chen
e09ebb62d4 Sequencer: Clamp viewport scrubbing with Keep Cursor in Playback Range while Scrubbing and make the snapping consistent with SequencerTimeSliderController
#jira UE-148667
#preflight 6259f7096c53e0683b56a19d
#rb mike.zyracki

[CL 19794223 by Max Chen in ue5-main branch]
2022-04-18 16:48:33 -04:00
Mike Zyracki
02a9158f0a Sequencer: Viewport time change handles snapping.
#jira UE-147014
#jira UE-147017.
#prefligh 624de6d3a64871f1a12487d3t
#rb na
#trivial

[CL 19653895 by Mike Zyracki in ue5-main branch]
2022-04-06 15:37:50 -04:00
Mike Zyracki
2ced009770 Sequencer: New Transport Tool hotkeys, for toggle play, step frame and scrub frame.Also Game View in the Level Editor will hide all Controls in that viewport.
#jira UE-147014
#jira UE-147017.
#preflight 624b7af5c61d8a458f84a390
#rb matt.hoffman

[CL 19632490 by Mike Zyracki in ue5-main branch]
2022-04-05 17:49:23 -04:00
Mike Zyracki
1de0c21194 Sequencer: Leave Old Motion Trails on by default.
#jra na
#trivial
#rb na

[CL 17466548 by Mike Zyracki in ue5-main branch]
2021-09-08 21:11:14 -04:00
Mike Zyracki
ce0c237e7c Sequencer: Control Rig: New Motion Trail and Pivot tools
#jira UE-105293
#jira UE-119570
#rb max.chen
#preflight 60ec68b557b3020001866e36

[CL 16841366 by Mike Zyracki in ue5-main branch]
2021-07-13 15:39:58 -04:00
danny couture
9332b64809 Prepare for the deprecation of direct access to the Resource member of UTexture in favor of the GetResource() accessor.
#rb Francis.Hurteau
#preflight 609e5182ef86d30001ad0a18
#rnx

[CL 16328103 by danny couture in ue5-main branch]
2021-05-14 07:17:32 -04:00
Marc Audy
9753392e2b Merge UE5/RES CL# 15462083 to UE5/Main
This represents UE4/Main @ 15414221

[CL 15463811 by Marc Audy in ue5-main branch]
2021-02-18 18:13:28 -04:00
Andrew Rodham
2b44b580e4 Sequencer: Upgraded object binding IDs to be more portable when nested
- This change introduces two separate types for dealing with binding IDs in different spaces explicitly: FFixedObjectBindingID and FRelativeObjectBindingID. The latter is portable if the sequence it was created within is nested inside another foreign hierarchy.
  - FMovieSceneObjectBindingID remains, and is able to represent both of the new types, but should only be used for serialization to ensure compatability and consistency with editor tools that operate in different spaces.
  - Any manual ResolveLocalToRoot or GetSequenceID processing has now been replaced with the new ResolveBoundObjects API, which provides a less error-prone way of resolving bindings that live in different sequences

#jira UE-74450
#rb Max.Chen, Ludovic.Chabant

[CL 14915667 by Andrew Rodham in ue5-main branch]
2020-12-14 14:36:17 -04:00
Marc Audy
a7f9391231 Merge UE5/Release-Engine-Staging @ 14811410 to UE5/Main
This represents UE4/Main @ 14768117

For ReleaseObjectVersion.h
#lockdown Marcus.Wassmer

[CL 14811440 by Marc Audy in ue5-main branch]
2020-11-24 18:42:39 -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
max chen
9d763ab879 Sequencer: Clamp trajectory drawing bound by view range
#rb none

#ROBOMERGE-SOURCE: CL 12957044 via CL 12957062 via CL 12957085
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12957090 by max chen in Main branch]
2020-04-21 13:21:47 -04:00
max chen
9785dd05e7 Sequencer: Audio component and socket names with key editor for actor reference data
Add visualization for audio spatialization in the viewport for selected master audio tracks.
Refactor SComponentChooser

#jira UE-84339
#rb matt.hoffman
[FYI] seth.weedin


#ROBOMERGE-SOURCE: CL 11242592 via CL 11242596
#ROBOMERGE-BOT: (v644-11213502)

[CL 11242600 by max chen in Main branch]
2020-02-04 23:02:27 -05:00
ryan durand
627baf970a Updating copyright for Engine Editor.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870586 by ryan durand in Main branch]
2019-12-26 15:33:43 -05:00
patrick boutot
008ff66948 #jira UE-81063, UE-81180, UE-82063, UE-80920
#rb none

CL 9406511
Reduce filename size to fix can't write error

CL 9489134
Snapshot Multi User Material sync fix

CL 9489134
Sequencer tool now has corresponding icon on motion controller
Fixed bug where Vive UI was still appearing on Rift after deleting an object through the context menu
Help System UI no longer casts shadows

CL 9531557
Resave VP assets with UMG.

CL 9538549
Expose SnapshotTransactionBuffer to Blueprint as SnapshotObject

CL 9540413
Fixes VR on-camera viewfinders to have the correct color correction and gamma.
1) New shader, specifically applied to VR viewfinders, that performs a previously missing sRGB -> linear conversion.
2) Detect where we're in VR or not when creating camera preview widgets; don't apply tone mapping when we're in VR (to eliminate double tonemapping).

CL 9542364
Calling SnapshotObject when camera is attached to handheld/tripod so other users can see it update

CL 9551135
Add if (!IsRunningCommandlet()) to shader load to ensure it's ignored during cooking.

CL 9577516
Fixed Focusable windows causing no tool after menu close

CL 9601939
added TransactObject to Handheld and tripod tools

CL 9604635
Changed tripod and handheld tool to update the camera transform directly instead of using AttachToActor

CL 9605124
Live Editing cvar sequencer key mesh toggle

CL 9610074
Combined MarkerTool proc mesh into 1 draw call.

CL 9610330
Set camera label to "Playback Cam" when spawned by sequencer

#ROBOMERGE-SOURCE: CL 9835520 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v546-9757112)

[CL 9835661 by patrick boutot in Main branch]
2019-10-25 07:24:19 -04:00
Chris Gagnon
8ab0638182 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) for 4.24
#rb none

[CL 9325047 by Chris Gagnon in Main branch]
2019-10-01 20:41:42 -04:00
mike zyracki
765cdcbd70 Fix for trajectories with multiple parents.
Need to always get relative transforms and need to also always evaluate if there is a track in order to get correct pre/post values.  Now works with multiple parents, some in sequencer, or some not.

Also cleaned out some dead code, was confusing.

#jira UE-76771
#rb max.chen

#ROBOMERGE-SOURCE: CL 7309561 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v371-7306989)

[CL 7309564 by mike zyracki in Main branch]
2019-07-15 12:30:24 -04:00
matt hoffman
5fc20eb45d This is a significant overhaul to the Curve Editor used by Sequencer which adds a plugin-based architecture and extensibility. New tools and toolbar buttons can be added to all usages of the curve editor via user plugins, and the different views for data can be created modularly so new implementations of the editor can register their own way of drawing their data and the tools should just work. Additionally, you can now write your own filters to operate on curve editor data for custom implementations of smoothing, key generation, etc.
The curve editor supports three view types by default - an absolute view (default, matches old behavior), a stacked view and a normalized view. Stacked views draw each curve separately (so non-overlapping) and normalized against their own min/max values. The normalized view draws all curves overlapping with each one normalized against its own min/max values.

A tree view has been added to help effectively manage large numbers of curves. Selecting curves in the treeview controls which curves are visible in the view area. The treeview also supports pinning curves. These pinned curves will always be visible regardless of your selection in the tree view.

A transform tool and a retiming tool have been implemented (via a plugin) which is enabled by default. The transform tool allows you to do a marquee selection of keys and then translate and scale the positions of these keys. The retiming tool allows you to create a 1 dimensional lattice to adjust the timing of your keys with a linear falloff between each lattice point. These tools work across multiple views at the same time which is especially useful if you are representing one dimensional data (such as event keys) in a view, as it allows you to adjust this data at the same time as your animation curves. A smoothing filter has been implemented (via a plugin) to allow running highpass and lowpass filters on your keys.

Opening the curve editor in Sequencer/UMG now creates a separate dockable tab which can be resized and docked as desired. A time slider has been added to the Curve Editor which is synchronized to the playback time in Sequencer. This allows you to scrub time in the curve editor without having to find the Sequencer window and adjust time there while looking at your keys and previewing your animation in the viewport at the same time.

Rudimentary support has been added for saving and later restoring a set of curves in your current session. This allows you to do a rudimentary copy/paste of entire curves but can also be useful for saving a curve, making adjustments to it and then deciding you want to go back - simply reapply the saved curve! Each curve added supports an intention name (such as "Location.X" or "FieldOfView"), and these intention names will be used when trying to apply curves. This allows you to reliably take all of the curves of a transform on one object and apply them to another object (and ensure that Location.X gets applied to the new Location.X, etc.) this can be helpful if you have a mixed set of curves buffered (such as a location and a field of view). In the event that no curves match by intention you can store and apply a single curve at a time from any intention to any other intention.

The Curve Asset editors (float, vector and color curve assets) have been changed to use the new editor. They support the same treeviews, filtering and tools that the Sequencer editor does. In addition, the Color Curve asset editor adds an additional view which provides a 1 dimensional gradient editor as an easier way to visualize and edit colors instead of the channels individually.


#rb Max.Chen, Andrew.Rodham


#ROBOMERGE-SOURCE: CL 6631811 via CL 6633746
#ROBOMERGE-BOT: (vundefined-6620334)

[CL 6633863 by matt hoffman in Main branch]
2019-05-24 14:42:05 -04:00
mike zyracki
fb3b7f24e8 Fix keying rotation values > 180.
Changed interrogation type internally to FTransformData to get the raw Rotator instead of one corrupted by FTransform->FRotator conversion.
#jira UE-73242
#rb max.chen
#lockdown nick.penwarden

#ROBOMERGE-SOURCE: CL 6103573 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 6103575 by mike zyracki in Main branch]
2019-04-25 22:48:31 -04:00
mike zyracki
3b447c2571 Layering Support for Channel Key Editing via IKeyArea.
With the previous work here we supporting Layering with external values correctly working with the TrackEditors which work when setting keys via the details panel, auto key, or the hot keys. However if you pressed the key button icon next to the channel in the sequencer UI it would only now always just set the current value which could be different than what it should be based upon the external value (like if you moved the sphere in the jira ticket).

So we added support for an extra OnGetCurrentValueAndWeight to the TMovieSceneExternalValue in order to modify the value based upone the global diff/weight as we did before. This specialization only happens for <float> and currently only for the Transform/Vector sections (other like ComposurePostMovieSettings seemed margiinally useful and we don't support ExternalValues for generic float chanels for some reason).

#jira UE-69648
#rb max.chen

#ROBOMERGE-SOURCE: CL 4997298 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 4997300 by mike zyracki in Main branch]
2019-02-14 14:39:03 -05:00