Commit Graph

46 Commits

Author SHA1 Message Date
ryan schmidt
db857d56b6 ModelingTools: convert various tools/mechanics/etc to use new SnappingManager functionality for scene hit-tests and snapping
#rb david.hill
#rnx
#jira none
#preflight 61b21920d308710b0c513796

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18419130 in //UE5/Release-5.0/... via CL 18422407
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18422664 by ryan schmidt in ue5-release-engine-test branch]
2021-12-09 14:46:09 -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
semion piskarev
45f0108aac MeshModelingTools: combine the volume component tool targets into one tool target. Make that tool target implement the IPhysicsDataSource interface. Fix bug in PhysicsDataCollection.cpp that caused crash in PhysicsTools::InitializePhysicsToolObjectPropertySet later.
#rb Ryan.Schmidt
#rnx
#jira none
#preflight 61a53b812e4ffe189820dc16

#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 18315604 in //UE5/Release-5.0/... via CL 18315949
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18316335 by semion piskarev in ue5-release-engine-test branch]
2021-11-29 16:34:52 -05:00
lonnie li
30d0d05f2c ModelingTools: Fix bake map types menu widget flickering due to resizing parent SComboWidget.
#rb michael.balzer
#rnx
#jira none
#preflight 61a4fd632e4ffe18981d7b98

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18311080 in //UE5/Release-5.0/... via CL 18311233
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18311378 by lonnie li in ue5-release-engine-test branch]
2021-11-29 11:58:10 -05:00
lonnie li
1a8e4ef56f ModelingTools: Add details customization of EBakeMapType properties for bake tools.
#rb rinat.abdrashitov
#rnx
#jira none
#preflight 61a10c47c3287aab2748fcea

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18302621 in //UE5/Release-5.0/... via CL 18302626
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18302631 by lonnie li in ue5-release-engine-test branch]
2021-11-26 19:27:18 -05:00
lonnie li
75586c2737 ModelingTools: Add read only skeletal mesh tool target.
Enable read-only skeletal mesh tool targets in modeling mode.

#rb halfdan.ingvarsson
#rnx
#jira none
#preflight 6195739576668b37001bbb81

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18289979 in //UE5/Release-5.0/... via CL 18289998
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18290011 by lonnie li in ue5-release-engine-test branch]
2021-11-24 17:36:19 -05:00
michael balzer
946b1c5d63 MeshModelingToolset: Cleanup UV Layout tool
#rb jimmy.andrews
#preflight 6196f777880616feb156f236

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18247882 in //UE5/Release-5.0/... via CL 18247896
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18247903 by michael balzer in ue5-release-engine-test branch]
2021-11-18 20:41:17 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
lonnie li
8a0f42ec6f ModelingTools: Disable skeletal mesh tool target support in Modeling Mode.
#rb trivial
#rnx
#jira none

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18157865 in //UE5/Release-5.0/... via CL 18157887
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18157902 by lonnie li in ue5-release-engine-test branch]
2021-11-11 15:42:28 -05:00
lonnie li
ad04b193c4 ModelingTools: Update Bake tools descriptions
#rb trivial
#rnx
#jira none

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18142222 in //UE5/Release-5.0/... via CL 18142427
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18142455 by lonnie li in ue5-release-engine-test branch]
2021-11-10 19:36:06 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
lonnie li
9276276b9a ModelingTools: Add new icons for Convert, CubeGrid, BakeRS, BakeTx, BakeAll, BakeVtx, Split, PivotAct
#rb trivial
#rnx
#jira none
#preflight 61844b9ec6eef40001bf8aa7

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18065386 in //UE5/Release-5.0/... via CL 18065431
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18065443 by lonnie li in ue5-release-engine-test branch]
2021-11-04 18:21:25 -04:00
ryan schmidt
16f4e33eae ModelingMode: add missing header for nonunity build
#rb none
#rnx
#jira none

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17992891 in //UE5/Release-5.0/... via CL 17992902
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17992903 by ryan schmidt in ue5-release-engine-test branch]
2021-10-30 09:55:33 -04:00
michael balzer
18526b3ec0 MeshModelingToolset: Cleanup Boolean tool
#rb jimmy.andrews
#preflight 617c9cd80451f40001ed06a7

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 17991436 in //UE5/Release-5.0/... via CL 17991437
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17991438 by michael balzer in ue5-release-engine-test branch]
2021-10-29 22:42:08 -04:00
ryan schmidt
bedce4839f ModelingTools: settings panel UI updates for VertexSculpt Tool
- add Details Customizations for FBrushToolRadius Property, USculptBrushProperties, UVertexBrushSculptProperties, UVertexBrushAlphaProperties tool property sets
- add tracking and unregistration of customizations in ModelingToolsEditorMode
- add temporary icons for sculpt brushes and falloffs, png files and style
#rb none
#rnx
#jira none
#preflight 617c16565dbdbc0001715b08

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17985810 in //UE5/Release-5.0/... via CL 17985840
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17985854 by ryan schmidt in ue5-release-engine-test branch]
2021-10-29 15:07:57 -04:00
michael balzer
f727c9eef6 MeshModelingToolset: Cleanup Append and Dupe tools
#rb
#preflight 6179ef344c74960001f4c280

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 17963171 in //UE5/Release-5.0/... via CL 17963176
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17963187 by michael balzer in ue5-release-engine-test branch]
2021-10-28 11:24:32 -04:00
michael balzer
95386e265f MeshModelingToolset: Clenup PathRev and BdryRev tools
#rb jimmy.andrews
#preflight 617816264d94450001b4736a

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 17929078 in //UE5/Release-5.0/... via CL 17929087
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17929104 by michael balzer in ue5-release-engine-test branch]
2021-10-26 13:33:36 -04:00
lonnie li
36650db452 ModelingTools: Add support for "exclusive" tools that require accept/cancel by disabling other tools in the tool palette while exclusive tools are active.
#rb jimmy.andrews
#rnx
#jira none
#preflight 6171f109c7ff68000126d251

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 17906165 in //UE5/Release-5.0/... via CL 17906177
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17906185 by lonnie li in ue5-release-engine-test branch]
2021-10-25 10:22:41 -04:00
ryan schmidt
35cb7ccf8f ToolsFramework: move support for scene location/angle snapping from ToolContextInterfaces/IContextQueriesAPI to USceneSnappingManager, a context store object that different modes may wish to implement.
USceneSnappingManager currently only provides the current snapping interface and a no-op implementation.
Move existing EdModeInteractiveToolsContext snapping implementation to ModelingSceneSnappingManager in ModelingComponents module.
Add IContextQueriesAPI::GetCurrentSnappingSettings to allow ITF Host to specify snapping settings, implement in EdModeInteractiveToolsContext.
Update affected Tools/Gizmos, register ModelingSceneSnappingManager instance in Modeling EdMode.

#rb semion.piskarev
#rnx
#jira none
#preflight 6171b7654d6efa00017a0450

#ROBOMERGE-OWNER: ryan.schmidt
#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17890511 in //UE5/Release-5.0/... via CL 17890705
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17890711 by ryan schmidt in ue5-release-engine-test branch]
2021-10-21 16:57:00 -04:00
michael balzer
2453bb4bbf MeshModelingToolset: Cleanup Create tools UI
#rb
#preflight 616f6e33d57ee600016b1213

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 17880404 in //UE5/Release-5.0/... via CL 17880414
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17880442 by michael balzer in ue5-release-engine-test branch]
2021-10-20 20:41:00 -04:00
lonnie li
95ee0fadec ModelingTools: Add SkeletalMesh and DynamicMesh support to BakeTexture
#rb michael.balzer semion.piskarev
#rnx
#jira UETOOL-4519
#preflight 616dae8769f48100010ae248

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 17850870 in //UE5/Release-5.0/... via CL 17850907
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17850948 by lonnie li in ue5-release-engine-test branch]
2021-10-18 15:59:42 -04:00
ryan schmidt
48a48f9cfa GeometryScript: add CreateUniqueNewAssetPathName Function
#rb none
#rnx
#preflight 616770c0bf7be80001eec475

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17810762 in //UE5/Release-5.0/... via CL 17810769
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17810777 by ryan schmidt in ue5-release-engine-test branch]
2021-10-13 21:45:08 -04:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
lonnie li
cdad7d96a4 ModelingTools: Add icon tint customization support to Modeling & Fracture tools palette.
#rb jimmy.andrews
#rnx
#jira none
#preflight 61659f22fe114f0001f69c82

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 17787103 in //UE5/Release-5.0/... via CL 17787116
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17787132 by lonnie li in ue5-release-engine-test branch]
2021-10-12 13:11:33 -04:00
jimmy andrews
580e488045 fix default-enabled ed modes showing up in random order
#rb ryan.schmidt
#rb matt.kuhlenschmidt
#preflight 61535b2d260f7d0001c9cc81

#ushell-cherrypick of 17650582 by Jimmy.Andrews
#preflight 615e2ba87e9a010001258498

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 17746676 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v879-17706426)

[CL 17746682 by jimmy andrews in ue5-release-engine-test branch]
2021-10-07 03:22:05 -04:00