Commit Graph

36 Commits

Author SHA1 Message Date
nathan mitchell
ff0aaf7feb UVEditor: Implement functionality to allow the Seam tool to now remove seams, as well as add them.
* Provides a mode selection for the Seam tool, switching between seam cutting mode and seam joining mode.
* Seam joining mode has an optional behavioral flag to have the path finding preferentially follow existing seams, making it easier to trace seam edges.
* DynamicMeshOverlay now supports merging elements, providing a method to merge one element to another, if they share the same parent, collapsing any references from the first element into references to the second.
* DynamicMeshUVEditor now supports removing seams from edges, providing a method to remove (via the new DynamicMeshOverlay functionality) seams from an edge collection by iteratively merging elements together.

#rb semion.piskarev
#preflight 6387e2e07b4bd3f057375770

[CL 23343534 by nathan mitchell in ue5-main branch]
2022-11-30 18:25:46 -05:00
sebastien lussier
43203ff4b0 Fixed invalid array access in FDynamicMeshUVEditor::SetTriangleUVsFromConformal()
#rb trivial

[CL 23199908 by sebastien lussier in ue5-main branch]
2022-11-18 13:57:48 -05:00
nathan mitchell
9a0afb900b GeometryProcessing: Fix error with local namespace name throwing duplicate symbol warnings during builds.
#rnx
#preflight 63534a39e6096564afa4c346

[CL 22707393 by nathan mitchell in ue5-main branch]
2022-10-21 21:57:03 -04:00
nathan mitchell
a95124d72e ModelingMode: Merge and unify the Layout codebases between the UV Editor and Modeling Mode.
#rb rinat.abdrashitov
#preflight 634ed9bfac7f102b31e5cb58

[CL 22704078 by nathan mitchell in ue5-main branch]
2022-10-21 19:03:38 -04:00
nathan mitchell
8f2f94554c UVEditor: Performance tuning to improve runtime speed of rebuilding the UV overlays and meshes when edits or channel switches are performed. This significantly reduces the allocation and search churn when switching UV channels on high poly count meshes.
This review duplicates and replaces the original review https://p4-swarm.epicgames.net/reviews/21689505 on //UE5/Main, primarily to bring it directly into 5.1 instead of robomerging from Main so close to the hardlock date. The issues discussed in the original review should now be addressed here.

#rb Jimmy.Andrews
#preflight 633330007b582f58abcc30b4
#jira UE-157828

[CL 22239923 by nathan mitchell in ue5-main branch]
2022-09-28 22:01:32 -04:00
jimmy andrews
0ce18de623 Fix symmetry detection for scaled-up meshes, by making error tolerances also scale
#jira UE-159448
#rb david.hill
#preflight 63291c3eb40000c8f0456d1e

[CL 22094673 by jimmy andrews in ue5-main branch]
2022-09-20 11:50:38 -04:00
jimmy andrews
1fb9676459 Make mesh symmetry detection detect more symmetry cases, more robustly, so VSculpt will recognize symmetry after using Mirror Tool
#jira UE-159448
#rb david.hill
#preflight 63237c365a44869a7d0922f8

[CL 22040790 by jimmy andrews in ue5-main branch]
2022-09-15 18:44:06 -04:00
David Hill
c35c6b07b9 GeometryProcessing - Cleaning up implicit type cast warnings in DynamicMesh-based selections, simplification and other processing elements.
#preflight 62bc9eb4a328a968bafc368a
#rb Jimmy.Andrews

[CL 21007309 by David Hill in ue5-main branch]
2022-07-08 10:53:04 -04:00
Ryan Schmidt
f9b9a5c264 GeometryProcessing: add FMeshPlanarSymmetry for detecting and applying planar symmetry to mesh vertices
#rb jimmy.andrews, david.hill
#preflight 62c5c2c02823f28cf2aaccea

[CL 20969099 by Ryan Schmidt in ue5-main branch]
2022-07-06 13:32:30 -04:00
Ryan Schmidt
2f98495307 GeometryProcessing: fix bug in FDynamicMeshUVEditor::EstimateGeodesicCenterFrameVertex, it was not actually setting the results
#rb jimmy.andrews
#preflight 62b0e007640ffd8ee9cfa3b6

[CL 20745524 by Ryan Schmidt in ue5-main branch]
2022-06-20 17:40:54 -04:00
nathan mitchell
3ba92badec UVEditor: Enable support for selection mechanics within in the 3D viewport.
#rb semion.piskarev
#preflight 62aa68f9102b5101ccdc6d13

[CL 20679008 by nathan mitchell in ue5-main branch]
2022-06-15 19:31:42 -04:00
nathan mitchell
cc0b68299f UVEditor: Enable support for polygroups and UDIMS in the AutoUV tool.
#rb semion.piskarev
#preflight 62685f23dd35c0d6cacdd455

[CL 20161755 by nathan mitchell in ue5-main branch]
2022-05-12 04:02:48 -04:00
rinat abdrashitov
744e9ee8c8 Added the Spectral conformal parameterization option for unwrapping UVs.
Refactored existing LSCM/DNCP UV unwrapping since a lot of code is shared with the Spectral method.

#rb david.hill
#rb nathan.mitchell
#jira None
#preflight 62433f4de434babd8ad4ca34

[CL 19547023 by rinat abdrashitov in ue5-main branch]
2022-03-29 15:03:12 -04:00
nathan mitchell
3c2a27f2b4 UVEditor: Add support for UDIM tile aware processing in the Unwrap tool. Unwrap now processes, when the option is enabled, each UDIM tile separately, handling unwrapping and layout per tile.
#rb semion.piskarev
#preflight 623266cb9406c2cfd6c1522b

[CL 19415251 by nathan mitchell in ue5-main branch]
2022-03-16 19:51:12 -04:00
nathan mitchell
bb43f34fb7 UVEditor: Implemented initial support for UDIM aware layout in the UVEditor, allowing islands to remain within a tile if they were already there. Additionally changed the UDIM display from asset to use current island positions rather than the UDIM polygroup.
#rb Jimmy.Andrews
#preflight 621526880f71e491cccb88a4

[CL 19393298 by nathan mitchell in ue5-main branch]
2022-03-15 16:07:34 -04:00
rinat abdrashitov
71ecb1be09 Fixed a bug where we were setting the wrong indices for the pinned vertices when computing the conformal UV parameterization.
#rb jimmy.andrews
#jira UE-142818
#preflight 621507d330639b44d2e461eb
#rnx


#ROBOMERGE-AUTHOR: rinat.abdrashitov
#ROBOMERGE-SOURCE: CL 19092413 via CL 19092779 via CL 19094434 via CL 19095934 via CL 19105261
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19146506 by rinat abdrashitov in ue5-main branch]
2022-02-25 09:37:17 -05:00
michael balzer
29538ed63e GeometryProcessing: Remove default values for FMeshConnectedComponents::InitializeFromTriangleComponents()
#jira UE-142238
#preflight 6206a63f054c2e38c46d514e
#rb ryan.schmidt
#lockdown aurel.cordonnier
#rnx

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18962718 in //UE5/Release-5.0/... via CL 18962949 via CL 18963257
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18963291 by michael balzer in ue5-main branch]
2022-02-11 17:29:37 -05:00
semion piskarev
40a7e56ec1 UVEditor: add ability to split bowtie verts. Fix some edge splits occasionally creating a bowtie vert on adjacent non-selected edge. Also fix some undo/redo issues especially regarding sew edges preview. Made all undo/redo selection change events broadcast for now.
#rb Nathan.Mitchell, Jimmy.Andrews
#rnx
#jira UE-133108
#preflight 61a8e8b3e01f3610f5307b4e

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

[CL 18355709 by semion piskarev in ue5-release-engine-test branch]
2021-12-02 14:42:09 -05:00
michael balzer
b8a1c9b6cf GeometryCore: Remove ExplicitUseGeometryMathTypes.h
#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18227685 in //UE5/Release-5.0/... via CL 18229350
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18231457 by michael balzer in ue5-release-engine-test branch]
2021-11-17 19:02:44 -05:00
semion piskarev
a3f631e122 ModelingTools: Fix FDynamicMeshUVEditor::CreateSeamsAtEdges creating accidental bowties.
#rb Jimmy.Andrews
#rnx
#jira UE-133108
#preflight 618a8c8d4a0c609a29e4b089

#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 18105873 in //UE5/Release-5.0/... via CL 18106327
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18106395 by semion piskarev in ue5-release-engine-test branch]
2021-11-09 11:02:31 -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
semion piskarev
abb3f3a513 UVEditor: Support unset UV's, add unit tests, move UVEditorToolUtil into a separate module so that it can be tested in unit tests. This also fixes very poor performance when updating lots of triangles by using "unsafe" insertions where relevant.
#rb Lonnie.Li
#rnx
#jira none
#preflight 618452e80172ec00013f7211

#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 18066788 in //UE5/Release-5.0/... via CL 18066954
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18066977 by semion piskarev in ue5-release-engine-test branch]
2021-11-04 19:59:04 -04:00
matija kecman
24a5308dc4 UV Editor: Add some tracing to the UV Editor layout tool call stack
#rb michael.balzar
#rnx
#jira none
#preflight 617a9be2d65ac900016f8c94

#ROBOMERGE-AUTHOR: matija.kecman
#ROBOMERGE-SOURCE: CL 17962942 in //UE5/Release-5.0/... via CL 17963012
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17963031 by matija kecman in ue5-release-engine-test branch]
2021-10-28 11:18:26 -04:00
semion piskarev
6660394165 UVEditor: Added split action to the select tool. Also fixed edge selection occasionally breaking due to changing eids.
#rb Nathan.Mitchell
#rnx
#jira none
#preflight 6171c4d195715b000183fd4d

#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 17893995 in //UE5/Release-5.0/... via CL 17894039
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17894049 by semion piskarev in ue5-release-engine-test branch]
2021-10-21 22:44:44 -04:00
nathan mitchell
11553b5800 UVEditor: Conformal Island Unwrap action now added to the select tool, allowing per island conformal relaxations. Additionally, a bug was fixed with applying changes from the UV Editor when the channel number had been changed, and the sew tool was adjusted to prevent an error with the selection.
#rb semion.piskarev
#rnx

#ROBOMERGE-AUTHOR: nathan.mitchell
#ROBOMERGE-SOURCE: CL 17880024 in //UE5/Release-5.0/... via CL 17880039
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17880052 by nathan mitchell in ue5-release-engine-test branch]
2021-10-20 20:11:14 -04:00