Commit Graph

89 Commits

Author SHA1 Message Date
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
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
Richard TalbotWatkin
bf10d3336a Refactor of source model representation for static meshes.
- Moved source models related classes and implementation into separate files.
- Created a new UObject wrapper for holding mesh description bulk data; this is created as a transactable object inside a UStaticMesh.
- The cached mesh description is now an inner object of the bulk data wrapper; this allows transactions on the bulk data to affect the cached mesh.
- The static mesh SourceModels array can no longer be accessed directly: FStaticMeshSourceModel requires extra initialization before it should be used, so new LODs should be added through the static mesh API.
- Undo/redo is now fixed within the geometry tools
- Fixed regression where mesh description was being unpacked unnecessarily during transactions
- MeshDescription bulk data and its cached MeshDescriptions are now emptied prior to removing the UObject reference, in order to immediately free memory instead of needing to wait for garbage collection
- No more deadlocks when clearing or committing mesh descriptions during garbage collection
- Bulk data UObjects are constructed, where possible, at startup, in order to prevent it from happening during critical moments, e.g. during garbage collection or package saving.
#rb Danny.Couture, Alexis.Matte, Ryan.Schmidt

[CL 15420827 by Richard TalbotWatkin in ue5-main branch]
2021-02-16 15:14:02 -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
brooke hubert
890a5c72c2 Implement Lasso Selection tool (brush based selection) in asset placement mode.
# Also exposed the typed element selection set to the queries API in ITF.
# Implemented a stash/pop selection on the typed element selection set for modes to use.

#Jira UE-107091
#rb jamie.dale chris.gagnon ryan.schmidt

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

[CL 15360406 by brooke hubert in ue5-main branch]
2021-02-08 17:13:32 -04:00
semion piskarev
f2c84afcbf MeshModelingTools: Made Esc and Enter keys work even when viewport is not focused.
#rb Jimmy.Andrews
#rnx
#jira none

[CL 15276288 by semion piskarev in ue5-main branch]
2021-02-01 19:06:50 -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
semion piskarev
fcd79b6746 MeshModelingTools: Allowing the drag alignment mechanic to include invisible components in hit test, and allowing it to work with interval gizmos.
#rb Jimmy.Andrews
#rnx
#jira none

[CL 15242544 by semion piskarev in ue5-main branch]
2021-01-28 13:03:54 -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
Ryan Schmidt
fc72f4728e ModelingMode: prevent mesh editing tools from modifying assets in /Engine/, and display in-viewport error message if the user tries to do this
#rb jimmy.andrews
#rnx
#jira none

[CL 15175716 by Ryan Schmidt in ue5-main branch]
2021-01-24 19:08:08 -04:00
semion piskarev
30aeed7a1f MeshModelingTools: Added ability for gizmo to be repositioned using middle mouse, and used it iin Transform and PolyEdit tools. Added ability for gizmo to snap to nearby geometry when pressing Ctrl, and used it in Transform and PolyEdit tools.
#rb Ryan.Schmidt
#jira none
#rnx

[CL 15098499 by semion piskarev in ue5-main branch]
2021-01-14 19:07:52 -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
Marc Audy
ad62fc3a20 Remove #pragma once from cpps
[CL 14969747 by Marc Audy in ue5-main branch]
2020-12-31 14:02:22 -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
bdf43a29db MeshModelingToolset: Added a way to store tool selections between tool invocations and used it in PolyEdit tool.
#rb Ryan.Schmidt
#jira UETOOL-2372
#rnx

[CL 14745200 by semion piskarev in ue5-main branch]
2020-11-13 14:07:30 -04:00