Commit Graph

33 Commits

Author SHA1 Message Date
Lauren Barnes
6248f8d412 Replacing legacy EditorStyle calls with AppStyle
#preflight 6272a74d2f6d177be3c6fdda
#rb Matt.Kuhlenschmidt

#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20057269 via CL 20070159 via CL 20072035 via CL 20072203
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
#ROBOMERGE-CONFLICT from-shelf

[CL 20105363 by Lauren Barnes in ue5-main branch]
2022-05-09 13:12:28 -04:00
max chen
16d8af48fe Curve Editor: Buffered curve features
Buffered curves now can only operate on themselves, matching by LongDisplayName. The operations are also restricted to the selected curves (either selected in the tree or selected by way of selected keys). There is a new option to Swap Buffered Curves which stores the current curve to the buffer and restores the buffer to the current curve. The Store/Swap/Apply menus are now visible for all the context menus (keys, hovered curve, all curves). There is also a new toggle to show/hide buffered curves and they are also only visible when the curve is selected.

#jira UE-143895
#preflight 62294f800d5a90e98ed4ae68
#rb mike.zyracki

#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 19344793 via CL 19346614 via CL 19351363 via CL 19351424
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19351984 by max chen in ue5-main branch]
2022-03-11 04:29:44 -05:00
max chen
e3f6fb7d80 Curve Editor: Add option to Snap Time to Selection
#jira UE-143640
#rb mike.zyracki
#preflight 621fb45b410576ef87121887

#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 19258242 via CL 19269915 via CL 19278085 via CL 19293492
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19344867 by max chen in ue5-main branch]
2022-03-10 19:33:40 -05:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
mike zyracki
c4aed9c60c Sequencer: Custom Curve Colors
Added Custom Color Support to Curve Editor. This is done via an Editor preference(CurveEditorSettings) that stores a color per UClass, property name(intent name of the channel in Curve Editor), and the Color. So would be something like StaticMeshActor, "Translate.X", (1.0f,0.0f,0.f90)

Added to Sections an UObject* GetImplicitObjectOwner(). Usually this is the Possessable/Spawnable of the owning track, but for Control Rig Tracks we use the
specified Control Rig instead.

So we use that implicit owner to get the UClass to associate with the channel.

Also added some Python/BP functions since editor pref's aren't scriptable.

#jira MH-3206
#preflight 61520812d0edce00010149bf

#ROBOMERGE-AUTHOR: mike.zyracki
#ROBOMERGE-SOURCE: CL 17635750 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17635764 by mike zyracki in ue5-release-engine-test branch]
2021-09-27 16:10:44 -04:00
max chen
ad4228476b Sequencer: UX Cleanup
- Tighten up Sequencer and Curve Editor toolbars
- Fix  key navigation sizing/spacing
- Remove transparent style for pill text input which makes it hard to read and inconsistent with the new starship style.

#rb trivial
#rnx
#preflight 612d19b5423a8f00012fe911

#ROBOMERGE-SOURCE: CL 17357654 via CL 17357658
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17357666 by max chen in ue5-release-engine-test branch]
2021-08-30 15:58:32 -04:00
max chen
ad758ead4e Curve Editor: Increase the splitter handle width to make it easier to grab
#jira UE-122033
#rb trivial

#ROBOMERGE-SOURCE: CL 17240339 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17240362 by max chen in ue5-release-engine-test branch]
2021-08-19 17:50:53 -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
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
Matt Kuhlenschmidt
036e2d0733 Removed all instances of large toolbars with 40x40 icons and reset their layouts to confrom to the new standard toolbar size and tabless design
[CL 14999694 by Matt Kuhlenschmidt in ue5-main branch]
2021-01-06 12:07:36 -04:00
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -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
5ed1a7116f Sequencer: Fix CIS
#rb none
#jira none
#rnx

#ROBOMERGE-SOURCE: CL 12475675 in //UE4/Release-4.25/... via CL 12475676 via CL 12475678
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v672-12450963)

[CL 12475679 by max chen in Main branch]
2020-03-27 18:27:25 -04:00
max chen
845f99b325 Curve Editor: Fix filter not opening for standalone curves since the tab manager may not exist.
#jira UE-91252
#rb matt.hoffman

#ROBOMERGE-SOURCE: CL 12475518 in //UE4/Release-4.25/... via CL 12475521 via CL 12475524
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v672-12450963)

[CL 12475526 by max chen in Main branch]
2020-03-27 18:03:10 -04:00
max chen
b0bb793d31 Curve Editor: Fix set curve attributes operating all curves rather than just the selection
#jira UE-89514
#rb mike.zyracki

#ROBOMERGE-SOURCE: CL 12236321 in //UE4/Release-4.25/... via CL 12236323
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v664-12234175)

[CL 12238586 by max chen in Main branch]
2020-03-17 22:32:29 -04:00
Lina Halper
44c1bb3292 COPY from //Dev-Anim to //Dev-Main
#rb: none
#fyi: Laurent.Delayen, Thomas.Sarkanen

[CL 11088765 by Lina Halper in Main branch]
2020-01-22 17:58:55 -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
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
Chris Gagnon
2e87118a18 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) Interim 4.24.
#rb none

[CL 8614014 by Chris Gagnon in Main branch]
2019-09-10 11:35:20 -04:00
matt hoffman
3376e883e0 Added the Sequencer Playback controls to the Sequencer Curve Editor. It does this by creating a second copy of the Sequencer Transport Controls widget (which is already bound to Sequencer) and inserting it into the treeview UI. The keyboard shortcuts are also supported via placing the relevant commands into a new Command List and merging that with the Curve Editor instance.
#rb Max.Chen

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: matt.hoffman
#ROBOMERGE-SOURCE: CL 6956074 via CL 6957784 via CL 6970831
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v367-6836689)

[CL 7084914 by matt hoffman in Dev-Anim branch]
2019-06-18 23:46:46 -04:00
matt hoffman
921a719d4a Added the Sequencer Playback controls to the Sequencer Curve Editor. It does this by creating a second copy of the Sequencer Transport Controls widget (which is already bound to Sequencer) and inserting it into the treeview UI. The keyboard shortcuts are also supported via placing the relevant commands into a new Command List and merging that with the Curve Editor instance.
#rb Max.Chen


#ROBOMERGE-SOURCE: CL 6956074 via CL 6957784
#ROBOMERGE-BOT: (v367-6836689)

[CL 6970831 by matt hoffman in Main branch]
2019-06-13 11:54:40 -04:00
matt hoffman
84a59239db Removed SNumericList from the generic Slate widgets and moved it to the Curve Editor as SCurveValueSnapList. This widget was only in use by the curve editor and the curve editor may be phasing its use case out soon.
#rb None

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: matt.hoffman
#ROBOMERGE-SOURCE: CL 6634072 via CL 6635977 via CL 6636105
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v365-6733468)

[CL 6752936 by matt hoffman in Dev-Anim branch]
2019-05-31 18:26:42 -04:00
matt hoffman
5f105474a5 Rearranged the Sequencer curve editor toolbar to match design.
#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: matt.hoffman
#ROBOMERGE-SOURCE: CL 6633218 via CL 6633844 via CL 6633941
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v365-6733468)

[CL 6751741 by matt hoffman in Dev-Anim branch]
2019-05-31 18:22:23 -04:00
matt hoffman
6cdb644209 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-OWNER: lina.halper
#ROBOMERGE-AUTHOR: matt.hoffman
#ROBOMERGE-SOURCE: CL 6631811 via CL 6633746 via CL 6633863
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v365-6733468)

[CL 6751117 by matt hoffman in Dev-Anim branch]
2019-05-31 18:19:48 -04:00
matt hoffman
5167ad279f Removed SNumericList from the generic Slate widgets and moved it to the Curve Editor as SCurveValueSnapList. This widget was only in use by the curve editor and the curve editor may be phasing its use case out soon.
#rb None


#ROBOMERGE-SOURCE: CL 6634072 via CL 6635977
#ROBOMERGE-BOT: (vundefined-6620334)

[CL 6636105 by matt hoffman in Main branch]
2019-05-24 16:04:27 -04:00