nathan mitchell
74f669b4c8
GeometryProcessing: Improve the UV generation scheme PatchBuilder via a change to the polygroup generation stage, providing area aware sampling of the mesh surface and reducing the overcompensation effects that small, disconnected regions in the mesh were having on the overall segmentation.
...
Also provides a new CVar, modeling.DisableAutoUVAreaDensitySampling, which when set, returns the behavior to the original algorithm, in case there are legacy reasons to maintain that behavior.
#rb Jimmy.Andrews
#jira UE-144730
[CL 31590126 by nathan mitchell in ue5-main branch]
2024-02-16 19:24:45 -05:00
steve robb
f029468598
Fixed up a lot of bool-taking container resize functions to take EAllowShrinking instead.
...
[CL 30729174 by steve robb in ue5-main branch]
2024-01-19 16:41:35 -05:00
ryan schmidt
d205e117bb
GeometryProcessing: various utility functions to assist with rounded bevels implementation
...
- add 2D version of VectorTanHalfAngle to VectorUtil.h
- add FDynamicMeshUVEditor::SetToPerVertexUVs, initializes overlay to have a single UV for each vertex
- add FQuadGridPatch::InitializeFromQuadPatch(), initializes the quad grid from external rows of quads and associated vertices
- add FQuadGridPatch::GetVertexColumn(), returns the list of vertices in a specific grid column
- add FQuadGridPatch::FindColumnIndex(), finds the index of the grid column that contains a specific Vertex ID
#rb rinat.abdrashitov
[CL 30166232 by ryan schmidt in ue5-main branch]
2023-12-06 15:32:17 -05:00
jimmy andrews
deb924201c
Stop MeshRegionGraph's small region merging algorithm from repeatedly merging regions that have already grown larger than the minimum region size.
...
Fixes an issue where the Generate PolyGroups algorithm would randomly create very large, oddly-shaped regions in cases where the settings would normally generate many single-triangle regions.
#rb rinat.abdrashitov
[CL 28488198 by jimmy andrews in ue5-main branch]
2023-10-04 22:36:38 -04:00
nathan mitchell
a0dee240cb
UVEditor: Enable support for UV island normalization in Layout operations.
...
#rb Jimmy.Andrews
#preflight 644197e6f126d87e459890db
[CL 25155917 by nathan mitchell in ue5-main branch]
2023-04-21 19:15:16 -04:00
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