Commit Graph

52 Commits

Author SHA1 Message Date
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
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
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
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
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
brooke hubert
17f0e31526 Placement Mode Single place tool improvements:
* Tweak after placement in world and local space using standard level editor gizmos.
* Removed Single place tool settings. Since we're using the TRS gizmos, these settings are unnecessary.
* Moved cycle through palette to shift + right click to match other viewport functions (i.e. cycling static mesh previews).
* Placement mode now inherits from default ed mode, so we will get the new gizmos as they come online.
* Fixed a bug in the select tool where the input was never making it back to the viewport for handling.
* Fixed a bug in the ITF Editor hooks where the mouse capture was incorrectly reporting and eating the input from the viewport.

#Jira UE-107395
[at]jamie.dale

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

[CL 15466468 by brooke hubert in ue5-main branch]
2021-02-18 20:47:20 -04:00
ryan schmidt
45d812ad77 ModelingMode: Support for HiRes SourceModel in AutoLOD Process/Tool. Copies input LOD0 to HiRes on Accept, and uses input HiRes if available, so AutoLOD can be repeated cleanly. Extend ComponentTargetFactory registration API to allow removal and querying for registered Factory. Add active Editing LOD to FStaticMeshComponentTargetFactory. Expose drop-down in ModelingMode UI to configure the active Editing LOD level. Remove Save settings from Modeling Mode Quick-Access UI.
#rb none
#rnx
#jira none

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

[CL 15383264 by ryan schmidt in ue5-main branch]
2021-02-10 19:51:41 -04:00
semion piskarev
a776dc57e4 MeshModelingTools: Split the material-related functions into a separate interface in the tool target system, made them match the existing PrimitiveComponentTarget signatures, made CommitMaterialSet support applying to the component rather than the asset.
#rb Jimmy.Andrews
#rnx
#jira none

[CL 15253840 by semion piskarev in ue5-main branch]
2021-01-28 19:08:26 -04:00
Zousar Shaker
3b4c8fc1c5 Automated wrapped object pointer upgrade for Engine + ShooterGame + ShooterGame referenced plugins
#rb none

[CL 15224650 by Zousar Shaker in ue5-main branch]
2021-01-27 17:40:25 -04:00
Tim Smith
9fdfe7cd7e Fixing PVS 7.7 Issues: warning V1052: Declaring virtual methods in a class marked as 'final' is pointless. Consider inspecting the 'XYZ' method of the 'FXYZ' class.
#rb trivial
#jira UE-91644

[CL 14994253 by Tim Smith in ue5-main branch]
2021-01-05 15:39:12 -04:00
semion piskarev
180ab5a9ef Made Interactive Tools Framework capable of operating on arbitrary tool targets that implement the proper interfaces. Made MeshToVolume tool use this system.
#rb Ryan.Schmidt
#rnx
#jira none

[CL 14843335 by semion piskarev in ue5-main branch]
2020-12-03 09:48:56 -04:00
semion piskarev
e7a2302cb1 MeshModelingTools: Made it possible to change tools without hitting accept. This involved making CanStartTool not check that no tool is active, so places where that function was used were tweaked to keep functionality the same. Also made buttons be highlighted when a specific tool is used.
#rb Ryan.Schmidt, Jimmy.Andrews
#jira none
#rnx

[CL 14672058 by semion piskarev in ue5-main branch]
2020-11-05 18:33:19 -04:00
Marc Audy
50a3d7d368 Merge Release-Engine-Staging to Main @ CL# 14467590
This represents UE4/Main @ 14432125 + some cherrypick fixes

[CL 14468207 by Marc Audy in ue5-main branch]
2020-10-09 22:42:26 -04:00
brooke hubert
d4c157384c Initial Creation of Asset Placement Mode UI for tools and commands.
# Added a save and load config on the settings class for UEdMode so mode wide settings would be sticky between runs.
# Removed FString refs in some functions so they could be bound using UObject delegate methods.

#rnx
#Jira UE-98157
#review-14449500
#rb lauren.barnes

[CL 14451570 by brooke hubert in ue5-main branch]
2020-10-08 18:56:55 -04:00
michael daum
6d663c6489 InteractiveToolsFramework: Add render query information to tell if a viewport is hovered and/or focused
#rb ryan.schmidt
#rb tyson.brochu

[CL 14345629 by michael daum in ue5-main branch]
2020-09-18 09:25:18 -04:00
brooke hubert
e85ae49f14 The EditorToolsContext is now owned by the mode manager.
Updated Mesh Paint, geometry, arch gen, hair lab, and sample editor modes to reflect changes to the tools context ownership.

#Jira UE-96448
#rb lauren.barnes michael.daum
#fyi ryan.schmidt simon.barsky jack.greasley
#review-14189762
#review-14189796
#review-14189767
#review-14189774
#review-14189785

[CL 14247116 by brooke hubert in ue5-main branch]
2020-09-02 15:43:58 -04:00
michael daum
f0a80902be InteractiveToolsFramework: Add DrawHUD capability to Tools
#jira none
#rnx
#rb lauren.barnes
#rb brooke.hubert

[CL 14222728 by michael daum in ue5-main branch]
2020-08-31 16:54:59 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
ryan schmidt
05603347d8 ModelingMode: add mechanism to schedule actions to process on next editor Tick(). This allows us to defer execution of complex operations like staticmesh rebuild to outside of slate button-click handlers, which (hopefully) will work around some mystery crashes that occur during very deep call stacks (eg when the staticmesh build launches a slowtask progress dialog, that then explicitly processes windows messages, which results in mouse events being processed, which kicks off a hitproxy rendering call, that in turn causes the RHI to try to rebuild rendering data, on the mesh that is being rebuilt - whew!)
#rb none
#rnx
#jira none

#ROBOMERGE-SOURCE: CL 12235070 in //UE4/Release-4.25/... via CL 12235071
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v664-12234175)

[CL 12237474 by ryan schmidt in Main branch]
2020-03-17 20:02:49 -04:00