13 Commits

Author SHA1 Message Date
matija kecman
d8e6b45610 Add a reusable geometry selection visualization system intended to be used in modeling tools with minimal boilerplate
This CL was reviewed here: https://p4-swarm.epicgames.net/reviews/26051575 but needs to be merged into //Fortnite/Release-26.00, not //Fortnite/Main

#jira UE-183457
#rb ryan.schmidt, nathan.mitchell

[CL 26180658 by matija kecman in ue5-main branch]
2023-06-22 09:28:20 -04:00
tyson brochu
88ddd892f0 Mesh Modeling / UV Projection Tool: allow the user to change the Initialization mode and have it affect the current instance of the tool, as long as they do it before modifying the transform
#jira UE-171332
#rb ryan.schmidt
#lockdown aurel.cordonnier
#preflight 63dd83db14326f9a404790d1

[CL 24009720 by tyson brochu in ue5-main branch]
2023-02-04 00:32:56 -05:00
ryan schmidt
70ac55822d ModelingMode: improve interop with new Selection System and existing Tools
Add support for Tools to provide an "output" selection. Add UGeometrySelectionManager::SetSelectionForComponent() which can set an explicit externally-provided selection. FBaseDynamicMeshSelector::UpdateSelectionFromSelection() now supports selection conversion when available and requested (is used to implement SetSelectionForComponent). New GeometrySelectionUtil functions InitializeSelectionFromTriangles() and ConvertSelection() are used to implement this (note: only Triangles->other conversion is currently supported). Add HaveAvailableGeometrySelection() and SetToolOutputGeometrySelectionForTarget() in StoredMeshSelectionUtil.h, this is the top-level function that Tools can use to set an Output selection.

ExtrudeMeshSelectionTool now emits output selection.

Update EditMeshPolygonsTool to use new Selection system and allow individual operations to be utilized as standalone Tools. Convert EditMeshPolygonsTool to be a USingleTargetWithSelectionTool, use FGeometrySelection to initialize selection. Add bTerminateOnPendingActionComplete flag, which is set when Tool is directly initialized to a specific operation, and forces tool to shut down when operation completes. This allows it to be used to more cleanly implement multiple action buttons in Modeling UI. When in this mode, selection panels are not shown. On Shutdown, now emits an "output" selection which GeometrySelectionManager can use to provide new selection to user. Update UPolygonSelectionMechanic Set/Get selection APIs to use FGeometrySelection instead of UPersistentMeshSelection.

port UVProjectionTool to derive from USingleTargetWithSelectionTool, use FGeometrySelection to initialize target ROI

deprecate UPersistentMeshSelection and related functions in StoredMeshSelectionUtil.h. Deprecate Tool Input Selection APIs in USingleSelectionMeshEditingTool and Builder.

Repurpose old ModelingMode-level PolyModel tab operations for new Selection Tools UI, now support Inset, Outset, Cut Faces, Insert Edge Loop, PushPull, and Bevel.

#rb none
#preflight 63c84fa2b065224750b9831f

[CL 23766643 by ryan schmidt in ue5-main branch]
2023-01-18 17:59:31 -05:00
nathan mitchell
2a80a7febe InteractiveToolsFramework: Adds new helper methods to determine count ActorComponents that match TargetRequirements and an additional test predicate for specialized scenarios. Additionally adds a couple of helper methods to test for Volume components and component classes that support UVs. This is to fix the issues surrounding the UV modeling tools that shouldn't be viable for Volume type targets.
#rb Ryan.Schmidt
#preflight 639b914e2540a78d2702f8d8
#jira UE-169112

[CL 23533564 by nathan mitchell in ue5-main branch]
2022-12-15 18:17:12 -05:00
Nickolas Drake
8f3b5614fd UV Project Tool: Make uniform checkbox behave like pattern tool's Proportional checkbox in scale settings.
Instead of just using the x-component when bUniformDimensions is true, the actual dimension vector is changed uniformly and no check is needed when getting the projection box.

#jira none
#rb semion.piskarev
#preflight 6373f691232e3d12cbe04f95

[CL 23155278 by Nickolas Drake in ue5-main branch]
2022-11-16 11:37:21 -05:00
bryan sefcik
50d4fac9e0 Updated ../Engine/Plugins/... to inline gen.cpp files
Before:
3548 unity files
Total CPU Time: 47343.578125 s
Total time in Parallel executor: 494.60 seconds

After:
3445 unity files
Total CPU Time: 46044.671875 s
Total time in Parallel executor: 468.51 seconds

#jira
#preflight 63336159b20e73a098b7f24f

[CL 22218213 by bryan sefcik in ue5-main branch]
2022-09-28 01:06:15 -04:00
nathan mitchell
c27465f4a2 ModelingMode: Adjust the UV Project status bar message to include information about Shift+Ctrl+click for repositioning without reorienting.
#rb Jimmy.Andrews
#preflight 632deb1c671a1a24b57f7e2d
#jira UE-156627

[CL 22191732 by nathan mitchell in ue5-main branch]
2022-09-26 15:18:48 -04:00
ryan schmidt
6ad26b69f0 rename UE::Geometry::TTransform3 to TTransformSRT3, update references
#rb none
#rnx
#jira UE-139757
#preflight 61f572d9e52a8a4a910990f1

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18784197 in //UE5/Release-5.0/... via CL 18784203 via CL 18784222
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18784226 by ryan schmidt in ue5-main branch]
2022-01-29 14:37:53 -05:00
lonnie li
4afd669dcb ModelingTools: Clear TargetWorld member during Shutdown of SingleSelectionMeshEditingTool and MultiSelectionMeshEditingTool
#rb ryan.schmidt michael.balzer
#rnx
#jira none
#preflight 61f435dd74510448a6865d14

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18777332 in //UE5/Release-5.0/... via CL 18780413 via CL 18780555
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18780558 by lonnie li in ue5-main branch]
2022-01-28 18:40:54 -05:00
lonnie li
d041f2273b ModelingTools: Fix crash when reloading levels during an AutoLOD compute
#rb ryan.schmidt
#rnx
#jira UE-139485
#preflight 61f38478da54035207ecae9b

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18771194 in //UE5/Release-5.0/... via CL 18771204 via CL 18771302
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18771314 by lonnie li in ue5-main branch]
2022-01-28 10:18:10 -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
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
michael balzer
c3c03bb7bd MeshModelingToolset: Move UV Projection tool out of Experimental
#preflight 61a9316bca183f8de490b580
#rb trivial

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

[CL 18358010 by michael balzer in ue5-release-engine-test branch]
2021-12-02 16:03:57 -05:00