Commit Graph

103 Commits

Author SHA1 Message Date
Ryan Schmidt
7a9ef88f48 ToolsFramework: Add UEdModeInteractiveToolsContext::SetEnableRenderingDuringHitProxyPass() to allow ITF clients to enable/disable hitproxy rendering. Default to enabled as it is expected that most existing FEdModes/etc are using hitproxy. Disable in ModelingMode because we don't want hitproxy rendering there.
#rb brooke.hubert
#rnx
#jira none
#preflight 60ce358e1f30ee00017cab85

[CL 16723013 by Ryan Schmidt in ue5-main branch]
2021-06-19 18:14:33 -04:00
brooke hubert
81255595e4 Fix an issue where hit proxies were not being updated after placement mode painted assets.
Start/EndTracking was not being called for the mode manager after input reshuffles; additionally if we are circumventing the normal viewport start/end tracking, we need to make sure that hit proxies redraw for items that may have been placed via an ITF tool by invalidating the viewport.

#preflight 60ca57306092ba000113f2a7
#Jira none
#rb jamie.dale
#fyi semion.piskarev

[CL 16697572 by brooke hubert in ue5-main branch]
2021-06-16 18:24:16 -04:00
Christina TempelaarL
e19ef2f919 Add selection-based builder for Editor transform gizmo which will work with the new Editor gizmo subsystem and manager.
#jira UETOOL-3561
#rb brooke.hubert
#preflight 60c2e8f244f4240001b416c1

[CL 16637095 by Christina TempelaarL in ue5-main branch]
2021-06-11 01:50:10 -04:00
aurel cordonnier
ae01a18791 Fixes for no unity errors
#rnx

[CL 16631670 by aurel cordonnier in ue5-main branch]
2021-06-10 18:04:34 -04:00
Christina TempelaarL
5781bcffb9 Trivial fix for Mac build compile error.
#jira none
#rb none
#preflight 60c1acf8b1a4a300010ac845

[CL 16619609 by Christina TempelaarL in ue5-main branch]
2021-06-10 03:12:28 -04:00
Christina TempelaarL
9101e522d9 Added Editor Gizmo Subsystem and Editor Gizmo Manager to facilitate registration and creation of selection-based gizmos.
#rb ryan.schmidt, brooke.hubert
#jira UETOOL-3560
#preflight 60c13e5b44f42400015c4bc2

[CL 16618024 by Christina TempelaarL in ue5-main branch]
2021-06-09 22:15:24 -04:00
semion piskarev
26410ec36f MeshModelingTools: Refactored modeling tools gizmos to avoid communication between component and proxy and prevent race conditions that resulted in incorrect view information being used in hit tests. Also fixed a minor issue with view plane-parallel circle gizmos, and created option to have scaling handles align better to view.
#rb Ryan.Schmidt
#rnx
#jira UETOOL-3468

[CL 16611870 by semion piskarev in ue5-main branch]
2021-06-09 16:28:33 -04:00
Ryan Schmidt
489dbc61c7 ToolsFramework: remove the AssetAPI concept from the Interactive Tools Framework. Replaced by ModelingObjectCreationAPI in ModelingComponents.
#rb none
#rnx
#jira none
#preflight 60b7e9448a2a64000126348c
#fyi brooke.hubert

[CL 16540327 by Ryan Schmidt in ue5-main branch]
2021-06-02 18:01:32 -04:00
semion piskarev
b999806285 MeshModelingTools: Add DynamicMesh provider/committer interfaces and update existing targets to support them. Move interface target files.
#rb Lonnie.Li
#rnx
#jira none

[CL 16315070 by semion piskarev in ue5-main branch]
2021-05-13 13:22:55 -04:00
Ryan Schmidt
bca2b32ac7 ModeingMode: restore EditingLOD functionality lost in ToolTarget transition. Port EditingLOD functionality from FStaticMeshComponentTarget/Factory to UStaticMeshComponentToolTarget/Factory. Add UToolTargetManager::FindFirstFactoryByPredicate() and FindFirstFactoryByType(). ModelingToolsEditorModeToolkit now also looks up the StaticMeshFactory and updates the EditingLOD when it changes in the UI.
EStaticMeshEditingLOD enum moved to ComponentSourceInterfaces.h to make it more widely available.

Add ToolBuilderUtil::EnumerateComponents() and ToolTargetManager::EnumerateSelectedAndTargetableComponents(), this allows ToolBuilders to do additional checks on the valid Targets without having to make local arrays/etc. Fix SetCollisionGeometryTool to not build ToolTargets every frame just to check if one is a StaticMeshComponent.

#rb lonnie.li
#rnx
#jira none
#preflight 6092e932242f6600012445b0

[CL 16213180 by Ryan Schmidt in ue5-main branch]
2021-05-05 16:43:24 -04:00
michael balzer
01884dcf8c MeshModelingTools: Cancel active tools on world tear down. This addresses issues where changes are saved but we cannot undo them, and it also fixes issues where accepting tool edits during world tear down breaks assumptions made in the code.
#jira UE-114559
#rb jimmy.andrews semion.piskarev
#rnx

[CL 16207816 by michael balzer in ue5-main branch]
2021-05-05 11:18:39 -04:00
michael balzer
bebef51143 MeshModelingTools: Fix crash bug when selecting a tool that requires a static mesh but there is no static mesh available (e.g. after a failed load).
#jira UE-114611
#rnx

[CL 16200499 by michael balzer in ue5-main branch]
2021-05-04 18:26:52 -04:00
halfdan ingvarsson
8e8b8790c7 Add a skeletal mesh component tool target that allows editing skeletal meshes with the regular modeling tools.
#jira UE-93689
#rb lonnie.li

[CL 16199149 by halfdan ingvarsson in ue5-main branch]
2021-05-04 16:43:57 -04:00
semion piskarev
58d5cbd5cf MeshModelingTools: Adding current version of UV editor.
#rb Brooke.Hubert, Ryan.Schmidt
#rnx
#jira UETOOL-3108, UETOOL-3110

[CL 16078314 by semion piskarev in ue5-main branch]
2021-04-21 14:36:05 -04:00
Christina TempelaarL
2138d56660 First pass at Level Editor TRS widget implementation using new gizmo architecture. Translate and Scale are implemented. Rotation, Screen Space and Planar Translation/Scale and Arcball Rotation still TBD.
#jira UETOOL-2313
#rb brooke.hubert
#preflight 606b3f858952c50001eda98b

[CL 15919545 by Christina TempelaarL in ue5-main branch]
2021-04-05 13:44:38 -04:00
brooke hubert
f596195f8f Adding post tool build and post set up notifications to the tool manager.
#Jira none
#preflight 6063718665bf07000195908d
#rb ryan.schmidt
#fyi jeanmichel.dignard

[CL 15873810 by brooke hubert in ue5-main branch]
2021-03-31 08:34:48 -04:00
lauren barnes
2769c5f363 Fixes for inconsistent mesh selection and painting behavior.
#rb Brooke.Hubert
#jira UE-100557
#preflight 60634090f8ce540001009f65

#ROBOMERGE-SOURCE: CL 15863885 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15864086 by lauren barnes in ue5-main branch]
2021-03-30 12:59:29 -04:00
ryan schmidt
2a87eac349 ModelingMode: stop logging all tool messages as Warnings in the log
#rb none
#rnx
#jira UE-112153

#ROBOMERGE-SOURCE: CL 15833730 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v785-15821902)

[CL 15834702 by ryan schmidt in ue5-main branch]
2021-03-25 18:53:01 -04:00
semion piskarev
b6f6a7863f Adding a missing special case back into EdModeInteractiveToolsContext that disallows ITF input router from capturing alt+mouse clicks.
#rb Brooke.Hubert
#rnx
#jira none

#ROBOMERGE-SOURCE: CL 15826630 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v785-15821902)

[CL 15833960 by semion piskarev in ue5-main branch]
2021-03-25 18:23:33 -04:00
Matt Peters
fd97028c28 Change presave prototype to take an FObjectSaveContextRef to provide more information about the save parameters.
#rb Francis.Hurteau, Devin.Doucette
#rn Minor Cooking

[CL 15831839 by Matt Peters in ue5-main branch]
2021-03-25 16:51:36 -04:00
semion piskarev
02b015cbb4 Fixing broken Ctrl+click and other modifier behavior in MeshModelingTools by reverting most of the input processing changes from 15676489. Made tools not process inputs captured by viewport flying to keep another issue fixed. Made KeyAsModifierInputBehavior not capture input.
#rb Brooke.Hubert, Ryan.Schmidt
#jira UE-110597, UE-110273
#rnx

#ROBOMERGE-SOURCE: CL 15740999 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533)

[CL 15741006 by semion piskarev in ue5-main branch]
2021-03-18 16:02:18 -04:00
brooke hubert
d11973e38c Fixing dropped undo transactions and fly mode wonkiness in viewports with the ITF tools contexts.
The tracking transactions were not happening at the right times, so the tools context had special considerations for some viewport interactions, but not all. This was causing some scale, rotate, and translate operations in the viewport to be lost when the tools context would evaluate the right mouse button behavior for fly mode.

This rearranges how the tracking transaction makes it to the tools context from the viewport, and splits the tools context processing of mouse tracking away from the mode manager, so that the ordering of mouse processing can be maintained by the viewport, instead of the tools context having to maintain knowledge of the viewport.

#Jira UE-110273
#rb ryan.schmidt lauren.barnes jamie.dale

#ROBOMERGE-SOURCE: CL 15676489 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533)

[CL 15676508 by brooke hubert in ue5-main branch]
2021-03-11 10:50:57 -04:00
brooke hubert
0e65cf7202 Add getters in context queries API for viewports so that tools can query the viewport client for input context directly.
#Jira none
#rb ryan.schmidt
[FYI] lauren.barnes

#ROBOMERGE-SOURCE: CL 15527815 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15527825 by brooke hubert in ue5-main branch]
2021-02-25 09:47:14 -04:00
Max Chen
9b73c0f152 Editor: Change to SLevelViewport
#jira UE-108941
#rb brooke.hubert

[CL 15520489 by Max Chen in ue5-main branch]
2021-02-24 16:03:09 -04:00
lonnie li
c4b0e521f2 MeshModelingTools: Replace MultiSelectionTool PrimitiveComponentTarget usage with ToolTargets (pt.1)
#rb semion.piskarev

[CL 15508149 by lonnie li in ue5-main branch]
2021-02-23 18:03:26 -04:00