Commit Graph

75 Commits

Author SHA1 Message Date
max chen
e954e78d25 Curve Editor: Change PixelsPerInput to double to fix jittery movement when manipulating keys
#rb mike.zyracki
#jira UE-184603

[CL 27886397 by max chen in ue5-main branch]
2023-09-14 13:46:11 -04:00
steve robb
51f3ea53ae Removed ChooseClass.h includes.
#rb trivial

[CL 27823723 by steve robb in ue5-main branch]
2023-09-13 05:43:01 -04:00
max chen
2b8a905306 Curve Editor: Apply postundo on postredo
Fixes stray curve data remaining on redo

#rb mike.zyracki
#preflight 646536fb6b1406b54a6a2fde

[CL 25519525 by max chen in ue5-main branch]
2023-05-17 20:09:42 -04:00
mike zyracki
cf58f87c06 Curve Editor: Add Option to show bars(constarint/spaces)
#jira UE-184767
#rb max.chen
#preflight 645576afd02ea5289f0b31dc

[CL 25373570 by mike zyracki in ue5-main branch]
2023-05-08 13:47:47 -04:00
mike zyracki
6f4ba583ee Sequencer: Curve Editor: Make normalized mode scrollable and panable. Also make sure that if you frame to the normalized mode now it doesn't use the max/min values but defaults.
#jira UE-171807
#preflight 64480ab7d07064cbaead6d7e
#rb max.chen

[CL 25204836 by mike zyracki in ue5-main branch]
2023-04-26 15:15:33 -04:00
mike zyracki
e6953937d9 Sequencer: Smart Auto Key
New algorithm is in MovieScenCurveChannelImpl where we calculate auto tangents. Since they work off tangents and not key positons, need to make sure to recalc them if the tangent changes now.  Since FRichCurve will not support these new auto tangents, they only do 2 key interps with the old auto key algorithm that doesn't average the tangents at all, had to add a SupportedTangentType to FCurveEditor so that we can use that with the curve editor context menu/commands/SCurveEditorPanel since they are all shared between Sequencer and the Curve Asset viewer. Most of the code is making sure we treat smart auto's the same as the old autos
#jira UE-171811
#rb max.chen
#preflight 6446d596dc71c13446fa361a

[CL 25175842 by mike zyracki in ue5-main branch]
2023-04-24 23:44:01 -04:00
mike zyracki
8d512fc280 Sequencer: Curve Editor: Keep Output bounds the same even if curves are destroyed so users can select/deselect and keep their curve bounds.
#jira UE-158396
#rb max.chen
#preflight 63dadf9ddd0298377620e8b4

[CL 24009676 by mike zyracki in ue5-main branch]
2023-02-04 00:31:06 -05:00
Patrick Boutot
6a2863234b Deprecate arrays from SColorPicker. Memstomp was fixed with 23672712. This CL removed the posibility of creating a new memstomp
#jira UE-173303
#rb daren.cheng
#preflight 63c6034bd040694ab82f3970

[CL 23736262 by Patrick Boutot in ue5-main branch]
2023-01-17 07:24:54 -05:00
Patrick Boutot
6e02de5817 Fix memstomp with color picker. Prepare SColorPicker for API change. Update AssetViewUtilis::PathColors to use FLinearColor instead of shared pointer. The shared pointer was only needed for the SColorPicker.
#jira UE-173303, UE-173454
#review-23672715 23617361,23611673
#rb daren.cheng
#preflight 63c0b12b1a06fc61059f2fa3

[CL 23672712 by Patrick Boutot in ue5-main branch]
2023-01-12 20:33:08 -05:00
max chen
4c4ab0161f Sequencer: Add commands to clear selection in Sequencer and Curve Editor (Esc)
#jira UE-165566
#preflight 6336345de72271755fe8a233
#rb andrew.rodham

[CL 22279896 by max chen in ue5-main branch]
2022-09-30 16:25:21 -04:00
matt hoffman
c91efc7f09 CurveEditor: Adjusted copy/paste logic for curves to better handle copying Control Rig controls between rigs. This now allows copying related controls between multiple rigs (ie: foot_fk_l, foot_fk_r, head_fk onto a matching set of controls on another object, but we also can support copying a single group (foot_fk_l onto foot_fk_r). Individual curves can still be copied to one or more target curves regardless of intent.
#jira UE-159670
#rb Max.Chen, Michael.Zyracki
#preflight 632b6925d51603c548ff5720

[CL 22141912 by matt hoffman in ue5-main branch]
2022-09-22 14:58:31 -04:00
max chen
006dcee5df Curve Editor: Curve color tweaks
- Set color for all selected curves in the tree and/or curves that have selected keyframes (ie. curve selection)
- Fix next random color - pastel green
- Broadcast when custom colors changed so that the curve models can update their colors

Note - if you delete a custom color from the preferences, it doesn't refresh the curve editor as you might expect because the color is no longer defined in the key area meta data. The only way to fix this is to recreate the curve models, but that seems like overkill for this (selection would change, framing would change, etc)

#jira UE-164162
#jira UE-164168
#jira UE-164165
#preflight 632657398c3def91aa032650
#rb mike.zyracki, matt.hoffman, ludovic.chabant

[CL 22088557 by max chen in ue5-main branch]
2022-09-20 00:45:12 -04:00
max chen
6a2b7d2ed4 Curve Editor: Autoframe on paste only when setting is enabled
#jira UE-164334
#rb mike.zyracki
#preflight 6328ac9e331ace46b5b40b93

[CL 22087373 by max chen in ue5-main branch]
2022-09-19 22:29:17 -04:00
bryan sefcik
b93a6cf7ed Pass 1 on editor include fixes:
Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.

#jira
#preflight 631e283bec5b0c765fc0ffdb

[CL 21960084 by bryan sefcik in ue5-main branch]
2022-09-11 18:33:06 -04:00
max chen
2eb9bfa19d Curve Editor: Auto frame after paste operation
#jira UE-162603
#preflight 631a6f89304480f8f871a22b
#rb mike.zyracki

[CL 21916025 by max chen in ue5-main branch]
2022-09-09 00:52:26 -04:00
bryan sefcik
0837230669 Ran IWYU again on half of the Engine/Source/Editor/... source files.
#jira

[CL 21716414 by bryan sefcik in ue5-main branch]
2022-08-30 23:03:03 -04:00
Max Chen
d6e3d1cc8c Curve Editor: Hook up bindings for ZoomToFitAll, ZoomToFitHorizontal, ZoomToFitVertical
#jira UE-158284
#preflight 62bf75608d5e678759341a03
#rb andrew.rodham

[CL 20944706 by Max Chen in ue5-main branch]
2022-07-05 13:01:42 -04:00
Max Chen
f137d29b86 Curve Editor: Add select all keys forward and backwards shortcuts: Ctrl-] and Ctrl-[
#jira UE-152631
#preflight 6288345c95170b5599ffc30e
#rb matt.hoffman

[CL 20335578 by Max Chen in ue5-main branch]
2022-05-23 15:33:28 -04:00
Max Chen
ec03df5447 Curve Editor: Back out 17241881 so that framing no longer zooms on selected and neighboring key handles
#rb none
##jira none
#preflight 6262e458bc24759dc742764c

[CL 19867629 by Max Chen in ue5-main branch]
2022-04-22 13:24:45 -04:00
max chen
a23ba8a00f Curve Editor: Improve multi paste operation by adding an IntentName to the channel editor data.
Previously, the intent for control rigs included the control node name, ie. Foot_L.Location.X. This means it could not match Foot_R.Location.X. With this change, the intent for control rigs are filled in with just Location.X.
The intent for non control rig transforms remains the same - it includes the group and the display name. For static mesh transforms, this is Location.X.

With this change, you can now copy one node's channels to multiple objects. For example, copy Node1's Location channels and pasting them onto one or more nodes results in all of those getting Node1's Location channels.

You can also now copy multiple nodes to multiple objects in order. For example, copying Node1's Location and Node2's Location channels onto Node3 and Node4 results in Node3 getting Node1's Location channel and Node4 getting Node2's Location channel.

#jira UE-144528
#preflight 6222965f0e2d25b12b3abd97
#rb mike.zyracki

#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 19344823 via CL 19346627 via CL 19351368 via CL 19351426
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19351987 by max chen in ue5-main branch]
2022-03-11 04:29:52 -05: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
b7860b4a7e Curve Editor: Add option to Snap Time to Selection
Follow up fix for function change

#jira UE-143640
#rb mike.zyracki
#preflight 621fb45b410576ef87121887

#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 19271057 via CL 19278200 via CL 19293610
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19344945 by max chen in ue5-main branch]
2022-03-10 19:35:05 -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
max chen
27f6e00c82 Curve Editor: Fix copy/paste when keys are selected
Get the curve model IDs from the key selection, not the keys of the tree selection.

#jira UE-143509
#rb matt.hoffman, mike.zyracki
#preflight 621fb45b410576ef87121887

#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 19258218 via CL 19269909 via CL 19278082 via CL 19293482
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19344862 by max chen in ue5-main branch]
2022-03-10 19:33:34 -05:00
max chen
9387d4d361 Curve Editor: Refactor to only pin once
#rb matt.hoffman
#preflight 621fb45b410576ef87121887

#ROBOMERGE-OWNER: max.chen
#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 19258179 via CL 19269301 via CL 19278078 via CL 19293478
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19344857 by max chen in ue5-main branch]
2022-03-10 19:33:28 -05:00