Commit Graph

43 Commits

Author SHA1 Message Date
Christina TempelaarL
6933668de3 Add view alignment mode PointScreen to gizmo element base class.
#jira UE-156708
#rb zach.rammell
#preflight 62aa4324db3f89d316292b1d

[CL 20676866 by Christina TempelaarL in ue5-main branch]
2022-06-15 16:55:53 -04:00
semion piskarev
6803a3ad54 InteractiveToolsFramework: Fix UInteractiveToolsContext::DeactivateAllActiveTools always sending cancel to complete-style tools regardless of shutdown type. This avoids cancelling those tools (CubeGrid) when starting PIE.
#rb Ryan.Schmidt, Brooke.Hubert
#jira UE-156381
#preflight 62a39309f87ec0b3c897bf4d

#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 20604530 in //UE5/Release-5.0/... via CL 20605154
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20605952 by semion piskarev in ue5-main branch]
2022-06-10 20:33:21 -04:00
Christina TempelaarL
94199718d7 Added pixel hit distance threshold support to gizmo element library.
#jira UE-155188
#rb zach.rammell
#preflight 62a025483f2a47521b69af78

[CL 20551988 by Christina TempelaarL in ue5-main branch]
2022-06-08 00:32:13 -04:00
Christina TempelaarL
550965082f Implemented gizmo box element line trace.
#jira UE-152983
#rb jimmy.andrews
#preflight 629e39ab116e8078e3c8f143

[CL 20524125 by Christina TempelaarL in ue5-main branch]
2022-06-06 14:05:13 -04:00
Christina TempelaarL
b0bdeb16a6 Fix max values, use TNumericLimits.
#jira nojira
#rb jimmy.andrews
#preflight 629e2d50116e8078e3c794db

[CL 20522731 by Christina TempelaarL in ue5-main branch]
2022-06-06 12:52:43 -04:00
Christina TempelaarL
68e41e393c Implemented gizmo element circle and rectangle line trace methods.
#jira UE-153004, UE-153008
#rb jimmy.andrews
#preflight 62990e975143e4aacd8a8020

[CL 20474678 by Christina TempelaarL in ue5-main branch]
2022-06-02 15:44:09 -04:00
Christina TempelaarL
f297287ca3 Added translation interaction to the new TRS gizmo.
#jira UE-152987
#rb brooke.hubert
#preflight 6297fcd2841f5ba93cd23c33

[CL 20463098 by Christina TempelaarL in ue5-main branch]
2022-06-01 20:18:56 -04:00
Christina TempelaarL
4966988cf5 New TRS gizmo: add support for hovering.
#jira UETOOL-4781
#rb brooke.hubert
#preflight 62747612594b7a20312da916

[CL 20067991 by Christina TempelaarL in ue5-main branch]
2022-05-05 21:17:09 -04:00
Christina TempelaarL
9ac82fb6dd Add IGizmoClickMultiTarget, IGizmoRenderTarget and IGizmoRenderMultiTarget interfaces to facilitate hitting parts within a gizmo element hierarchy. Add HitObject member to FInputRayHit struct to hold UObect-derived owners of hits.
#jira UETOOL-4781
#rb ryan.schmidt, brooke.hubert, jimmy.andrews
#preflight 6272b741e95a8b960ebfba9c

[CL 20050122 by Christina TempelaarL in ue5-main branch]
2022-05-04 17:25:53 -04:00
semion piskarev
5989ed564b MeshModelingTools: Remove infinite loop in UGizmoLabdaHitTarget.
#rb Jimmy.Andrews
#jira UE-149765
#preflight 626070fd080c6600634c1c1b

#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 19839717 in //UE5/Release-5.0/... via CL 19840853
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)

[CL 19842651 by semion piskarev in ue5-main branch]
2022-04-20 20:27:33 -04:00
Christina TempelaarL
9e023d4eff Gizmo element library: added linetrace traversal support, implemented cone/cylinder/arrow hit-testing.
#jira UETOOL-4780
#rb jimmy.andrews
#preflight 625f80b773187d30d08ce4f7

[CL 19838111 by Christina TempelaarL in ue5-main branch]
2022-04-20 17:03:41 -04:00
Christina TempelaarL
fde891e2b1 Ray-cone and ray-cylinder intersection fixes: clipping cone at height and zero-comparison precision issues.
#jira UETOOL-4780
#rb jimmy.andrews
#preflight 625f06ea3e0f6f80adbbed1d

[CL 19814770 by Christina TempelaarL in ue5-main branch]
2022-04-19 15:21:24 -04:00
Christina TempelaarL
cb16fb4e51 Update gizmo element library with support for common view-dependent functionality, and rectangle, circle, torus objects. Implemented new TransformGizmo UX design using gizmo primitive library objects.
#rb michael.balzer, jimmy.andrews
#jira UETOOL-4296, UETOOL-3781
#preflight 624dd8b69052f5517c120614

[CL 19655712 by Christina TempelaarL in ue5-main branch]
2022-04-06 17:04:09 -04:00
christopher waters
f8147b1889 Full set of fixes for non-unity non-pch builds after EngineTypes cleanup. This includes adjusting previous build fixes that introduced new includes that weren't actually necessary. Restored a few includes and wrapped them in UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_1 checks to maintain compatability.
Also includes fixes for other build issues as it's hard to separate them all.

#jira too many to list
#rb none
#preflight 6247d21073665f7d5e6c5a6c

[CL 19600818 by christopher waters in ue5-main branch]
2022-04-02 01:04:02 -04:00
Jimmy Andrews
c78656355e update ITF and ModelingComponents headers to account for recent move of FHitResult (out of EngineTypes.h and into its own header)
#rb trivial
#preflight 62461694dc6183e3f50cb798

[CL 19578781 by Jimmy Andrews in ue5-main branch]
2022-03-31 17:15:39 -04:00
tyson brochu
a07cbd52dd Add a TargetWorld member to MeshSurfacePointTool, similar to other base tool classes.
Add attribute editor and vertex paint tools to cloth editor.


#rnx
#rb jimmy.andrews
#preflight 6244706b8f06610224f09976

[CL 19557482 by tyson brochu in ue5-main branch]
2022-03-30 11:06:49 -04:00
christopher waters
3b626d4efc Minor dependency cleanup in ComponentSourceInterfaces.h
#jira none
#rb josh.adams
#preflight 6233619b84667926da279199

[CL 19424614 by christopher waters in ue5-main branch]
2022-03-17 14:59:48 -04:00
semion piskarev
ddf6d3192b Multiple non-unity build fixes, mostly having to do with PDI.
#rb none
#jira UE-146349, UE-146335
#rnx
#preflight 62337597f101b8d0afa6c8d7

[CL 19423747 by semion piskarev in ue5-main branch]
2022-03-17 14:03:58 -04:00
daren cheng
6cb035f5f8 Fix Mac & copyright notice CIS issues
#rb trivial
#preflight skip
#jira UETOOL-4564 UETOOL-4565

[CL 19252776 by daren cheng in ue5-main branch]
2022-03-03 15:57:47 -05:00
daren cheng
99592a0721 Widget Tool Palette Prototype.
Add Marquee & create widget tools.
Add framework for widget-based tools.

#preflight 62202c37123d7a7f69141278
#jira UETOOL-4564 UETOOL-4565
#rb Vincent.Gauthier

[CL 19248542 by daren cheng in ue5-main branch]
2022-03-03 14:01:42 -05:00
jimmy andrews
7bed3e0ebf make brush tools notify property sets of updates done by hotkey actions (to brush size/strength), so the reset arrow correctly updates in the details panels
#jira UE-114680
#rb rinat.abdrashitov
#preflight 61b2e5bac01c89f906d632b3

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 18431318 in //UE5/Release-5.0/... via CL 18435335
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18435573 by jimmy andrews in ue5-release-engine-test branch]
2021-12-10 17:49:08 -05:00
ryan schmidt
22c851a546 ModelingTools: add alpha mask visualization to brush stamp indicator in VertexSculptTool
#rb none
#rnx
#preflight 61ae4b412b3384289ad2048b

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18387240 in //UE5/Release-5.0/... via CL 18387277
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v896-18170469)

[CL 18387286 by ryan schmidt in ue5-release-engine-test branch]
2021-12-06 15:44:16 -05:00
ryan schmidt
d04552fc80 ToolsFramework: change IsValidChecked to IsValid in several places where we want to handle failure gracefully
#rb rinat.abdrashitov
#rnx
#jira none
#preflight 61a7a324e8314ee7b586bff2

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18341163 in //UE5/Release-5.0/... via CL 18341169
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18341187 by ryan schmidt in ue5-release-engine-test branch]
2021-12-01 12:47:30 -05:00
ryan schmidt
48e1cabf77 Added support for world-space hit-testing and snapping to Volume and DynamicMeshComponent mesh vertices/edges/faces, by having Modeling Mode maintain a persistent set of spatial data structures for these scene meshes. With this change, new ToolSceneQueriesUtil functions can be used to provide more general scene mesh-element hit-testing/snapping via ModelingSceneSnappingManager. Updates to existing Tools/Mechanics to use these new query functions will be done in later CLs.
ToolsFramework:
- added new USceneSnappingManager::ExecuteSceneHitQuery API function, as well as accompanying FSceneHitQueryRequest/FSceneHitQueryResult structs
- added FSceneQueryVisibilityFilter struct which contains ComponentsToIgnore/InvisibleComponentsToInclude lists for snapping queries and provides shared IsVisible() implementation

ModelingComponents:
- add FLevelObjectsObserver, tracks Actors added/removed to a Level via various editor events
- add FSceneGeometrySpatialCache, maintains spatial data structures for known types of mesh-backed PrimitiveComponents, an octree based on their world-space bounding-boxes, and provides various spatial-query functions
- ModelingSceneSnappingManager now maintains a FSceneGeometrySpatialCache for a set of Actors/Components it is notified about, and updates the spatial cache if those components are modified or translated. Currently supports Volumes and DynamicMeshComponents.
- add ModelingSceneSnappingManager::ExecuteSceneHitQuery implementation, does raycasts into the world (for static mesh components) and FSceneGeometrySpatialCache for Volumes/DMCs
- modified ModelingSceneSnappingManager::ExecuteSceneSnapQuery to also do combined query against StaticMeshComponents via world-linetrace, and FSceneGeometrySpatialCache for Volumes/DMCs
- add ToolSceneQueriesUtil::FindNearestVisibleObjectHit variants that take a USceneSnappingManager or UInteractiveTool, and do queries via the SceneSnappingManger, instead of directly linetracing into a UWorld

ModleingToolsEditorMode:
- add FLevelObjectsObserver instance and use it to drive updates to active ModelingSceneSnappingManager

#rnx
#jira none
#preflight 61a664a09a226d9e823ad4c1

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18339853 in //UE5/Release-5.0/... via CL 18339869
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18339891 by ryan schmidt in ue5-release-engine-test branch]
2021-12-01 11:15:01 -05:00
tyson brochu
f0753ca380 Don't snap the transform gizmo on mouse-down, wait for the drag event.
#jira UE-131786
#rnx
#rb ryan.schmidt semion.piskarev
#preflight 61a510e3ee100b68faa0517d

#ROBOMERGE-AUTHOR: tyson.brochu
#ROBOMERGE-SOURCE: CL 18312385 in //UE5/Release-5.0/... via CL 18312447
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18312473 by tyson brochu in ue5-release-engine-test branch]
2021-11-29 13:01:50 -05:00