Commit Graph

28 Commits

Author SHA1 Message Date
bryan sefcik
8cc129f2b6 IWYU Pass 1 - Engine/Source/Editor/...
#jira
#preflight 6306736ac85b7fef22be7751

[CL 21558583 by bryan sefcik in ue5-main branch]
2022-08-24 22:45:13 -04:00
Max Chen
2101e20875 Curve Editor: Snap time regardless of view mode.
Snap time and value was only uccuring for Absolute view mode, but time should always be snapped regardless.

#jira UE-159804
#rb matt.hoffman, mike.zyracki
#preflight 62d6137f164251d065b8e6db

[CL 21163843 by Max Chen in ue5-main branch]
2022-07-19 12:34:57 -04:00
max chen
ecf5e83c2d Curve Editor: When shift and marquee select, make sure only points are selected if points are selected. Or, make sure tangents are selected if only tangents are selected.
#jira UE-159453
#preflight 62d081b6562520a394d760ed
#rb matt.hoffman

#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 21101020 via CL 21101027 via CL 21101031
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21106402 by max chen in ue5-main branch]
2022-07-15 03:45:16 -04:00
max chen
8f9ad7a18d Curve Editor: Fix crash when manipulating tangents
LastDraggedAttributes might not be set if nothing has been dragged.

Seems to be fallout from UE-150118 CL#19971467 but I haven't been able to reproduce it.

#rb mike.zyracki, jurre.debaare
#preflight 62d05daadc4397d3840fc318

#ROBOMERGE-OWNER: david.hibbitts
#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 21096464 via CL 21096630 via CL 21096769
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21099995 by max chen in ue5-main branch]
2022-07-14 17:38:11 -04:00
Patrick Boutot
eb15d9e8ee Slate: Convert SlateRect, Margin and SlateRotatedRect from double to float. Without the deprecation path, it creates a lot of errors. I will deprecate slowly the functionnality that use FVector2D once I convert the other basic structures.
#jira UE-137340
#rb editor-ui-systems
#preflight 62a7567d504e8c54a76dc9cd

[CL 20631832 by Patrick Boutot in ue5-main branch]
2022-06-13 14:48:44 -04:00
Max Chen
6aba95f901 Curve Editor: Remove any overlapping keys on mouse up (value set).
Gather up all the final drag times of the keys. For each time, get all the keys that match that time and keep the key that moved the most.

#jira UE-156008
#rb matt.hoffman, mike.zyracki
#preflight 629f9d3485333f266455db03

[CL 20558041 by Max Chen in ue5-main branch]
2022-06-08 12:13:46 -04:00
Max Chen
f35ca0f77c Curve Editor: Remove any overlapping keys on mouse up (value set)
#jira UE-153577
#rb mike.zyracki, matt.hoffman
#preflight 629ae12bbb7960f0c18cc539

[CL 20527074 by Max Chen in ue5-main branch]
2022-06-06 16:33:57 -04:00
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
jurre debaare
9a6fecf342 Animation Curve Editor is Very Slow In Engine
#fix ensure that interactive changes in the curve editor for Animation does not trigger recompression or caching of FRichCurve
#misc fix up curve editor drag/spinbox operations to actually use the property change flag(s)
#misc AnimSequence now evaluates float curves directly from model (which allows previewing interactive changes)
#jira UE-150118
#rb Thomas.Sarkanen
#preflight 626a6702464ae4f520e4aa13

#ROBOMERGE-AUTHOR: jurre.debaare
#ROBOMERGE-SOURCE: CL 19957750 in //UE5/Release-5.0/... via CL 19958488
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 19971467 by jurre debaare in ue5-main branch]
2022-04-28 18:47:49 -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
cac1fe0019 Merge UE5/Release-Engine-Staging @ CL# 15299266 to UE5/Main
This represents UE4/Main @ CL# 15277572

[CL 15299962 by Marc Audy in ue5-main branch]
2021-02-03 14:57:28 -04:00
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -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
Chris Gagnon
76c6bcbfeb UE4 Main merged to Dev-Tools-Staging at CL 11164391
#rb none

[CL 11171981 by Chris Gagnon in Dev-Tools-Staging branch]
2020-01-29 20:39:37 -05: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
lauren barnes
c5aa0bcfce Curve editing tools now specify interactive vs. non-interactive changes
#jira UE-85567
#rb Matt.Hoffman
#rnx


#ROBOMERGE-SOURCE: CL 11074040 via CL 11074041
#ROBOMERGE-BOT: (v637-11041722)

[CL 11074042 by lauren barnes in Main branch]
2020-01-21 13:01:11 -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
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
Nicolas Nebel
a9f3f32176 Curve Editor: Add snap to grid option and allow users to set grid spacing
#jira UE-74422
#jira UE-75019
#rb max.chen andrew.rodham

[CL 7465722 by Nicolas Nebel in Dev-Editor branch]
2019-07-19 19:40:14 -04:00
Max Chen
4561801a81 Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) @7119039
#rb none

[CL 7120528 by Max Chen in Dev-Editor branch]
2019-06-21 01:21:43 -04:00
max chen
a4ef415b9e Curve Editor: Fix dragging exit tangent (simple typo)
#jira UE-76304
#rb none


#ROBOMERGE-SOURCE: CL 7021915 via CL 7022006
#ROBOMERGE-BOT: (v367-6836689)

[CL 7022007 by max chen in Main branch]
2019-06-15 03:20:50 -04:00
matt hoffman
b035420261 Changes the snapping behavior in the Curve Editor to lock onto the first direction you move after pressing shift, instead of the bigger axis you've moved from. Releasing shift and then pressing again will allow you to change which direction you are locked onto.
#jira UE-75644
#rb Max.Chen


#ROBOMERGE-SOURCE: CL 6942681 via CL 6945404
#ROBOMERGE-BOT: (v366-6836689)

[CL 6947005 by matt hoffman in Main branch]
2019-06-11 23:46:30 -04:00
Chris Gagnon
9f1505e469 Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 6671275 by Chris Gagnon in Dev-Editor branch]
2019-05-29 20:48:56 -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
Chris Gagnon
8fc25ea18e Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4676797 by Chris Gagnon in Dev-Editor branch]
2019-01-02 14:54:39 -05:00