Commit Graph

26 Commits

Author SHA1 Message Date
Max Chen
9c03481d38 Curve Editor: Curve points now default to the same color as the curve. Selected points defaults to white and is controllable by a preference.
The default color for curves is now a darker gray instead of White since the selection color is White.
The blue channel for Z and B channels is now brighter because it was too dark on the dark background.

#jira UE-149063
#rb andrew.rodham, matt.hoffman
#preflight 6288345c95170b5599ffc30e

[CL 20335878 by Max Chen in ue5-main branch]
2022-05-23 15:39:25 -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
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
Marc Audy
0cbbc781ca Merge UE5/Release-Engine-Staging @ 15740152 to UE5/Main
This represents UE4/Main @ 15709114

[CL 15740605 by Marc Audy in ue5-main branch]
2021-03-18 15:20:03 -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
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -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
049aff514b Curve Editor: Change FCurveMode::AddKey implementations to call UpdateOrAddKey instead of AddKey so that duplicate keys can't be added.
#jira UE-90210
#rb mike.zyracki, matt.hoffman
#rnx

#ROBOMERGE-SOURCE: CL 12122801 in //UE4/Release-4.25/... via CL 12122810
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v657-12064184)

[CL 12122813 by max chen in Main branch]
2020-03-11 00:06:59 -04:00
lauren barnes
d8bd516dac Fixing merge issue that removed passing the change type through
#jira UE-85567
#rb trivial
[FYI] Thomas.Sarkanen

#ROBOMERGE-SOURCE: CL 11503771 in //UE4/Release-4.25/...
#ROBOMERGE-BOT: RELEASE (Release-4.25 -> Release-4.25Plus) (v654-11333218)

[CL 11503787 by lauren barnes in 4.25-Plus branch]
2020-02-18 12:39:25 -05: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
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
max chen
0a0e808011 Curve Editor: Correctly size arrays when created buffered rich curves, to prevent crash
#jira UE-86231
#rb andrew.rodham
#lockdown cristina.riveron

#ROBOMERGE-SOURCE: CL 10897006 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v626-10872990)

[CL 10897012 by max chen in Main branch]
2020-01-07 15:03:33 -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
lauren barnes
d7455ec2f5 Added a PostEditChangeProperty call to the updates for the individual R,G,B,A keys.
#jira UE-84745
#rnx
#rb Matt.Hoffman


#ROBOMERGE-SOURCE: CL 10319823 via CL 10319826
#ROBOMERGE-BOT: (v593-10286020)

[CL 10319827 by lauren barnes in Main branch]
2019-11-20 10:41:18 -05:00
Rob Gay
091758e5a6 Add read only disablement to missing locations & ability to disable key drawing to CurveEditor
#rb Matt.Hoffman
#jira none

[CL 9463600 by Rob Gay in Main branch]
2019-10-07 17:02:44 -04:00
Stefan Boberg
1f813eb516 Copying //UE4/Dev-Core to Main (//UE4/Main)
#rb many

[CL 9405827 by Stefan Boberg in Main branch]
2019-10-03 16:26:48 -04:00
steve robb
14cab21e0c Deprecating ARRAY_COUNT and changing it to UE_ARRAY_COUNT.
Replicated from CL# 7924370.

#rb none


#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 9279060 via CL 9279063
#ROBOMERGE-BOT: (v443-9013191)

[CL 9279836 by steve robb in Main branch]
2019-09-28 08:19:35 -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
max chen
26766a314e Curve Editor: Mark as RF_Transactional
#jira UE-76461
#rb andrew.rodham

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 7291042 in //UE4/Release-4.23/... via CL 7291054
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v371-7306989)

[CL 7356297 by max chen in Dev-Anim branch]
2019-07-17 01:48:20 -04:00
matt hoffman
08b9428318 Fixed adding keys to a curve model sometimes causing tangents to get incorrectly calculated. This was causing issues with Buffered curves.
#jira UE-75157
#rb Max.Chen

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: matt.hoffman
#ROBOMERGE-SOURCE: CL 7269268 via CL 7269269 via CL 7269958 via CL 7270008 via CL 7275787 via CL 7275892
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v371-7306989)

[CL 7348258 by matt hoffman in Dev-Anim branch]
2019-07-17 00:52:26 -04:00
max chen
ef7bd15719 Curve Editor: Mark as RF_Transactional
#jira UE-76461
#rb andrew.rodham

#ROBOMERGE-SOURCE: CL 7291042 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v370-7290619)

[CL 7291054 by max chen in Main branch]
2019-07-12 14:05:42 -04:00
matt hoffman
92d3fbdd79 Fixed adding keys to a curve model sometimes causing tangents to get incorrectly calculated. This was causing issues with Buffered curves.
#jira UE-75157
#rb Max.Chen


#ROBOMERGE-SOURCE: CL 7269268 via CL 7269269 via CL 7269958 via CL 7270008 via CL 7275787
#ROBOMERGE-BOT: (v369-7254125)

[CL 7275892 by matt hoffman in Main branch]
2019-07-11 11:40:44 -04:00
max chen
2de74779e3 Curve Editor: Update copyright notices
#rb none

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 6644152 via CL 6644170 via CL 6644179
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v365-6733468)

[CL 6758514 by max chen in Dev-Anim branch]
2019-05-31 19:08:55 -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
max chen
1407b9eef9 Curve Editor: Update copyright notices
#rb none


#ROBOMERGE-SOURCE: CL 6644152 via CL 6644170
#ROBOMERGE-BOT: (vundefined-6620334)

[CL 6644179 by max chen in Main branch]
2019-05-26 02:59:09 -04:00