Commit Graph

22 Commits

Author SHA1 Message Date
mike beach
aa9fea3bb9 Adding new setting to disable auto-expansion of the sequencer outliner.
Changed the curve editor filter states to a bitmask so we can communicate desired expansion state as well.

#rb Max.Chen
#jira UE-143030
[FYI] Fredrik.Nilsson

#ROBOMERGE-OWNER: mike.beach
#ROBOMERGE-AUTHOR: mike.beach
#ROBOMERGE-SOURCE: CL 20079971 via CL 20080067 via CL 20080074
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20106452 by mike beach in ue5-main branch]
2022-05-09 13:55:53 -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
Louise Rasmussen
d53d14a457 CurveTableEditor - Remove Curves & Adds Right-Click Context Menu to CurveRows List
#JIRA UE-133580
#rb Sebastian.Nordgren
#preflight 619d24f1f934c1a291fe0892

[CL 18272834 by Louise Rasmussen in ue5-main branch]
2021-11-23 13:34:18 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
Louise Rasmussen
ca23b08c0a CurveTableEditor - work in progress
#JIRA UETOOL-3544
#rb Andrew.Rodham, Lauren.Barnes
#preflight 60afc351241ce500010b1461

[CL 16487773 by Louise Rasmussen in ue5-main branch]
2021-05-27 13:24:53 -04:00
Louise Rasmussen
80c0030ac2 Curve Editor Selected Text
Fixes curve editor tree text to be inverted when selected
#preflight 60a420b7f94e3c00014f5df6

[CL 16378768 by Louise Rasmussen in ue5-main branch]
2021-05-18 19:52:21 -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
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
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
max chen
612267c513 CurveEditor: Speculative fix for crash in curve editor when widgets inexplicably disappear.
#jira UE-88311
#rb ludovic.chabant

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

[CL 11503660 by max chen in 4.25-Plus branch]
2020-02-18 12:37:33 -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
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
max chen
2c7a093ff2 Curve Editor: Filter to object's curves instead of just a single channel
#jira UE-77012
#rb max.chen

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

[CL 7432355 by max chen in Main branch]
2019-07-17 16:40:24 -04:00
matt hoffman
3d6f277bc2 Robomerge merge fixes.
#rb Cody.Haskell


#ROBOMERGE-SOURCE: CL 7267686 via CL 7269064 via CL 7273929
#ROBOMERGE-BOT: (v369-7254125)

[CL 7274054 by matt hoffman in Main branch]
2019-07-11 09:38:14 -04:00
matt hoffman
8e1072332e Pressing Ctrl F in the Sequencer or Sequencer Curve Editor will now jump keyboard focus to the search widget allowing you to quickly search the tree.
#rb Max.Chen


#ROBOMERGE-OWNER: matt.hoffman
#ROBOMERGE-AUTHOR: matt.hoffman
#ROBOMERGE-SOURCE: CL 7261981 via CL 7261997 via CL 7266546 via CL 7266556 via CL 7272006
#ROBOMERGE-BOT: (v369-7254125)

[CL 7272007 by matt hoffman in Main branch]
2019-07-10 22:07:00 -04:00
andrew rodham
6a0839578d Sequencer: Fixed a crash caused by stale tree item IDs being retained and selected
#jira UE-76896
#rb Mike.Zyracki, Max.Chen

#ROBOMERGE-SOURCE: CL 7256731 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v369-7254125)

[CL 7256736 by andrew rodham in Main branch]
2019-07-09 19:50:29 -04:00
Andrew Rodham
674a5d1cba Curve Editor: Tree filtering and synchronization improvements
This is a direct copy from CL 7095088 with a partial revert of original CL 6759985 to address the merge conflict

  - When changing selection in sequencer, the curve editor now selects the same nodes on its tree as well as isolating (auto-filtering) the tree to those nodes. This makes it much easier to drill down into curves from the sequence. Both these settings are configurable through the Editor Preferences ("Synchronize Curve Editor Selection" and "Isolate Curve Editor To Selection")
  - Changed pin widgets to only be visible when their table row is hovered, or if the pin is active
  - Changed filter logic to exclude implicit children when a sibling was explicitly matched. This prevents seemingly unmatched nodes showing up in hierarchies where nested matches occur.
  - Expanded text filter logic to include Parent.Child.Gradchild syntaxfor matching specific hierarchies of nodes

#jira UE-76189
#rb Max.Chen, Matt.Hoffman

#ROBOMERGE-OWNER: Andrew.Rodham
#ROBOMERGE-AUTHOR: andrew.rodham
#ROBOMERGE-SOURCE: CL 7099711 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v367-6836689)

[CL 7099743 by Andrew Rodham in Main branch]
2019-06-20 08:13:28 -04:00
andrew rodham
c890741618 Curve Editor: Implemented basic text filtering for the curve editor tree
- Filter terms are applied as a boolean OR, case-insensitive substring match
  - Pre-filtered expansion states are saved and restored when starting or clearing a filter
  - By default all matched items and parents are expanded, but not matched item's grand children. This gives the best tradeoff for filtered visibilty.
  - Tree items that are shown but did not match the filter terms are now shown with a subdued foreground color.

#jira UE-74355
#rb Matt.Hoffman


#ROBOMERGE-SOURCE: CL 6845199 via CL 6846451
#ROBOMERGE-BOT: (v366-6836689)

[CL 6848527 by andrew rodham in Main branch]
2019-06-05 10:52:10 -04:00
Chris Gagnon
930e33cb48 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) for 4.23 From CL 6837861
#rb none

[CL 6838042 by Chris Gagnon in Main branch]
2019-06-04 15:42: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
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