Commit Graph

188 Commits

Author SHA1 Message Date
semion piskarev
ac4f19093a InteractiveToolsFramework: Fix uninitialized variable complaint from CIS.
#jira UE-223984

[CL 36216906 by semion piskarev in 5.5 branch]
2024-09-11 20:37:10 -04:00
nathan mitchell
3696f071fa InteractiveToolsFramework: Add support for a new check function for determining if a hover component to a behavior can begin, similar to the modifer check function that currently exists for mouse click style behaviors.
See review for CL36131576

#rb semion.piskarev

[CL 36158571 by nathan mitchell in 5.5 branch]
2024-09-10 15:38:19 -04:00
nathan mitchell
0bf60142e5 ScriptableTools: Added support for two new input behaviors, Single Key Input and Multi Key Input, which allow ScriptableTool authors to capture events related to keyboard input, either as single keys or mutliple key combinations.
Includes the addition of a lower level KeyInputBehavior to the InteractiveToolsFramework to support these two behaviors.

#rb Jimmy.Andrews
#jira UE-220669

[CL 36148169 by nathan mitchell in 5.5 branch]
2024-09-10 11:38:28 -04:00
katie caputo
f419bc5fb1 ITF: Addresses issues where scaling was doubling initially. Also adds better expected behavior when uniform scaling using an additive function when initial scale is uniform
#JIRA UE-221019 UE-221457
#rb lonnie.li

[CL 35933941 by katie caputo in ue5-main branch]
2024-08-30 15:05:51 -04:00
henrik karlsson
78ba369d2c Fixed linker errors on some console platform when building modular builds. Fixes involves moving ctor/dtor and friends from header to cpp and dll import/export
[CL 35710553 by henrik karlsson in ue5-main branch]
2024-08-21 13:44:16 -04:00
katie caputo
4b6f660de5 InteractiveToolsFramework: Adds support for scale snapping
#JIRA UE-219783
#rb lonnie.li

[CL 35193972 by katie caputo in ue5-main branch]
2024-07-30 15:19:02 -04:00
semion piskarev
9b39a66cdc InteractiveToolsFramework: Fix gizmo scaling not being applied correctly after last refactor.
#rb Jimmy.Andrews

[CL 34998210 by semion piskarev in ue5-main branch]
2024-07-22 16:24:28 -04:00
semion piskarev
0d573fdd31 InteractiveToolsFramework: Move GizmoRenderingUtil functions to be nested under UE namespaces and fix usage. Also revert one of the deprecated signatures to take UGizmoViewContext instead of the new interface, to avoid a potential compile error if the function is called somewhere that the class is not fully defined.
#rb lonnie.li

[CL 34905009 by semion piskarev in ue5-main branch]
2024-07-18 13:14:43 -04:00
semion piskarev
30b161e9ff InteractiveToolsFramework: Add missing include to fix cis.
[CL 34890635 by semion piskarev in ue5-main branch]
2024-07-17 19:41:46 -04:00
semion piskarev
c0a8018d0d InteractiveToolsFramework: Add simple single click gizmo and a helper function for building gizmos without having to register them ahead of time.
#rb Jimmy.Andrews

[CL 34890486 by semion piskarev in ue5-main branch]
2024-07-17 19:38:16 -04:00
semion piskarev
4370b17893 InteractiveToolsFramework: Add initialization helper methods to various sub gizmos so that they can be initialized independently of a TRS gizmo. Use these helpers in the TRS gizmo. Also make the sub gizmos update the existing hit target interaction callback.
#rb Jimmy.Andrews, Lonnie.Li

[CL 34890193 by semion piskarev in ue5-main branch]
2024-07-17 19:21:12 -04:00
semion piskarev
c6e8e71e3e InteractiveToolsFramework: Custom static mesh components and architecture for gizmo customization.
#rb lonnie.li


#virtualized

[CL 34885309 by semion piskarev in ue5-main branch]
2024-07-17 16:56:32 -04:00
semion piskarev
91296bed94 InteractiveToolsFramework: Allow setting how tool manager switches between tools. Allow tools to customize their preferred shutdown method when switching between tools using an interface.
#rb lonnie.li
#jira UE-216590

[CL 34881505 by semion piskarev in ue5-main branch]
2024-07-17 15:28:06 -04:00
semion piskarev
3d4806335c InteractiveToolsFramework: Fix UGizmoScaledAndUnscaledTransformSources always resetting the unscaled source scale to one instead of keeping whatever it was.
#rb nathan.mitchell

[CL 34881411 by semion piskarev in ue5-main branch]
2024-07-17 15:26:02 -04:00
semion piskarev
c631d74cb1 MeshModelingTools: Minor gizmo fixes: turn a check in UInteractiveGizmo into an ensure, avoid an ensure in TransformGizmoDataBinder that fired on unused TRS gizmos, and ensure to avoid a crash in drag alignment mechanic.
#rb tyson.brochu

[CL 34881243 by semion piskarev in ue5-main branch]
2024-07-17 15:22:36 -04:00
semion piskarev
02dbaaa2d6 InteractiveToolsFramework: Add a sublcass of transformproxy that stays bound to a particular component, for use with sub gizmos.
#rb Jimmy.Andrews

[CL 34814942 by semion piskarev in ue5-main branch]
2024-07-15 11:55:44 -04:00
lonnie li
f6b1278540 InteractiveToolsFramework: Added DoubleClickBehavior.
Adjusted InputRouter to forward DoubleClick events to as Pressed events. Clients can register DoubleClick behaviors with a higher priority to capture DoubleClicks. This allows existing single click behaviors the opportunity to consume the double click event as a single click without having to add their own double click behaviors.

#rb nathan.mitchell, semion.piskarev
#jira UE-217980 UE-214543

[CL 34561004 by lonnie li in ue5-main branch]
2024-06-21 09:51:49 -04:00
lonnie li
bd8cb163a1 InteractiveToolsFramework: Fixed brush resizing sensitivity when bSpecifyRadius is false.
#rb Jimmy.Andrews
#jira UE-215755

[CL 34092139 by lonnie li in ue5-main branch]
2024-06-04 09:21:26 -04:00
lonnie li
6f0b6b26b1 InteractiveToolsFramework: Separate the BaseBrushTool's BrushAdjusterInputBehavior click drag handling into its own behavior.
Previously BrushAdjusterInputBehavior was used to set a toggle that would be read during the On*Drag callbacks to differentiate between a "brush stroke" and a "brush adjustment". This was error prone for both new and old tools that derived off of BaseBrushTool as it broke or was easy to break assumptions made in the tool's drag callbacks. With this separation, OnBeginDrag/OnUpdateDrag/OnEndDrag will only be called for brush strokes.

Additional minor fixes:
- Disabled the BrushAdjusterBehavior for SeamSculpt.
- Fixed initial BrushAdjuster HUD display prior to first drag.

#rb Jimmy.Andrews
#jira UE-213223

[CL 33797602 by lonnie li in ue5-main branch]
2024-05-21 11:43:23 -04:00
lonnie li
bd2042e9f9 ModelingTools: Allow BrushAdjusterInputBehavior to drive BrushSize when bSpecifyRadius is false.
#rb jimmy.andrews
#jira UE-214898

[CL 33643358 by lonnie li in ue5-main branch]
2024-05-14 20:38:23 -04:00
kiaran ritchie
df36e9edea Speed when adjusting brush size is now proportional to distance from camera.
#rb halfdan.ingvarsson
#JIRA UE-213808

[CL 33385568 by kiaran ritchie in ue5-main branch]
2024-05-01 18:39:39 -04:00
kiaran ritchie
478f94de69 Improvements to skin paint relax mode
- Toggle to relax now uses relax mode settings
- Made relax operation iterative to prevent over-relaxing within a single operation.
- Added skin paint brush mode and color modes to config file

#rb halfdan.ingvarsson
#JIRA UE-209449, UE-211086, UE-211087

[CL 33319174 by kiaran ritchie in ue5-main branch]
2024-04-30 01:02:40 -04:00
David Hill
07d11f3cdc ToolDataVisualizer - fix type cast warning.
#jira none
#rb david.hill

[CL 33266587 by David Hill in ue5-main branch]
2024-04-26 11:59:13 -04:00
federico lopez
cff04ea5d1 Add DrawDisc to ToolDataVisualizer
The existing DrawCircle function draws a circle that cannot be filled

#rb brooke.hubert, david.hill, stuart.hill

[CL 33225690 by federico lopez in ue5-main branch]
2024-04-25 05:04:09 -04:00
nathan mitchell
992f2ab7fd InteractiveToolsFramework: Provide new API for controlling mouse cursor styling during tool operations and prevent excessive hit proxy testing when ITF has mouse capture active.
As a proof of concept, enables the eyedropper cursor during the UV Editor's Texel Density tool's Sampling Mode.

New API is disabled by default, to enable set CVAR Editor.EnableITFCursorOverrideSupport > 1

#rb brooke.hubert, Jimmy.Andrews
#jira UE-207211, UE-207208

[CL 33217562 by nathan mitchell in ue5-main branch]
2024-04-24 19:07:23 -04:00