Commit Graph

51 Commits

Author SHA1 Message Date
michael balzer
c5b04a9496 MeshModelingToolset: Hide voxel tools using ProxyLOD under Linux/Mac
#preflight 61d7efba6511bc498e5ac2cc
#rb none

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18560888 in //UE5/Release-5.0/... via CL 18560920
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18560928 by michael balzer in ue5-release-engine-test branch]
2022-01-10 11:48:35 -05:00
michael balzer
7834f7999a MeshModelingToolset: Cleanup AutoUV tool
#preflight 61d63f62430de36baa437636
#rb jimmy.andrews, ryan.schmidt

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18540029 in //UE5/Release-5.0/... via CL 18540031
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18540032 by michael balzer in ue5-release-engine-test branch]
2022-01-07 00:14:44 -05:00
matija kecman
a1803322fe Enable mesh tangent tool for dynamic mesh actors
#rnx
#rb lonnie.li
#jira UE-131426
#preflight 61d60c90db0309127d0c1898

#ROBOMERGE-AUTHOR: matija.kecman
#ROBOMERGE-SOURCE: CL 18529496 in //UE5/Release-5.0/... via CL 18529504
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18529505 by matija kecman in ue5-release-engine-test branch]
2022-01-06 04:59:43 -05:00
michael balzer
32bdf69c2f MeshModelingToolset: Fix Linux/Mac issues
#preflight 61bb942302481da02720e457
#rb ryan.schmidt, jimmy.andrews

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18478833 in //UE5/Release-5.0/... via CL 18481523
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18481802 by michael balzer in ue5-release-engine-test branch]
2021-12-16 19:55:00 -05:00
ryan schmidt
27ba71e214 ModelingTools: Add support for reading and writing to a specific LOD via IMeshDescriptionProvider/Committer. Refactor various other aspects of MeshDescription access. Update MeshTransferTool to be able to transfer from and to specific LODs.
Add new MeshTargetInterfaceTypes.h file, move EStaticMeshEditingLOD there and rename to EMeshLODIdentifier. Add FGetMeshParameters and FCommitMeshParameters types.

IMeshDescriptionProvider::GetMeshDescription() now takes FGetMeshParameters to optionally specify LOD.
Added IMeshDescriptionProvider::GetMeshDescriptionCopy() function, to handle copy-case.
removed IMeshDescriptionProvider::CalculateAutoGeneratedAttributes(). This was only being used to force Tangents computation, which can now be done via GetMeshDescriptionCopy() and FGetMeshParameters.bWantMeshTangents option

IMeshDescriptionCommitter commit functions now take a FCommitMeshParameters to optionally specify target LOD.

StaticMeshComponentToolTarget::GetMeshDescriptionCopy() added, optionally computes auto-generated MeshDescription attributes on the copy

StaticMesh(Component)ToolTarget updated to support FCommitMeshParameters target-LOD.

SkeletalMesh, Volume, and DynamicMesh ToolTargets updated for new APIs but do not currently support any of the new LOD parameters. These should never be called w/ LOD parameters in the current codebase, ensures added to catch any errors (they would be non-fatal).

UE::ToolTarget::GetMeshDescription() and GetMeshDescriptionCopy() in now take FGetMeshParameters argument.
Removed bWantMeshTangents param to GetMeshDescriptionCopy(), now done via FGetMeshParameters. Updated call sites.

TransferMeshesTool now supports specifying read and write LOD (numbered or HiRes) for StaticMeshComponent source/target, via above functions.
TransferMeshesTool can now also target a new LOD in a StaticMeshComponent, index is 1 larger than current maximum source LOD.

#rb lonnie.li, rinat.abdrashitov
#rnx
#jira none
#preflight 61b8d56b2e65a1df046aa5e1

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18461686 in //UE5/Release-5.0/... via CL 18461725
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18461778 by ryan schmidt in ue5-release-engine-test branch]
2021-12-14 18:40:01 -05:00
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