Commit Graph

19 Commits

Author SHA1 Message Date
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
nathan mitchell
ae4f4f4077 DynamicMesh: Fix the conformal solve functionality in the DynamicMeshUVEditor when setting using existing UV flag to true. Old code was clearing UVs before processing and incorrectly tracking relationships between the internal solver and the final overlay.
#rb David.Hill
#rnx
#jira UE-131578

#ROBOMERGE-AUTHOR: nathan.mitchell
#ROBOMERGE-SOURCE: CL 17819290 in //UE5/Release-5.0/... via CL 17819303
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17819315 by nathan mitchell in ue5-release-engine-test branch]
2021-10-14 14:14:37 -04:00
ryan schmidt
75d46d7455 ModelingTools: fix various UV issues
- FDynamicMeshUVEditor::SetTriangleUVsFromFreeBoundaryConforma no longer worked w/ bUseExistingUVTopology flag, as it was clearing UVs on triangles before trying to update them
- RecomputeUVsOp was not preservinge existing UV topology when using existing UV islands w/ Conformal unwrap (not supported for ExpMap)
- UE::ToolTarget::CommitDynamicMeshUVUpdate was not storing a mesh change, resulting in empty transactions (eg undo/redo broken)
- UE::MeshUVTransforms::MakeSeamsDisjoint was failing if elements were unreferenced, and jitter introduced was too large
#rb rinat.abdrashitov
#rnx
#jira UE-124949, UE-124951
#preflight 6166dcb92faeee0001422896

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

[CL 17802102 by ryan schmidt in ue5-release-engine-test branch]
2021-10-13 12:32:12 -04:00
nathan mitchell
403862a503 UVEditor: Channel Editing Tool
#rb semion.piskarev
#rnx

#ROBOMERGE-AUTHOR: nathan.mitchell
#ROBOMERGE-SOURCE: CL 17713742 in //UE5/Release-5.0/... via CL 17713756
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17714367 by nathan mitchell in ue5-release-engine-test branch]
2021-10-04 17:29:27 -04:00
ryan schmidt
88bc78c680 GeometryProcessing:
- add FDynamicMeshUVEditor::CopyUVLayer()
- Move Polygroup topology checks from SubdividePolyTool to FSubdividePoly::ValidateTopology()
#rb none
#rnx
#jira none
#preflight 61440d3fb5a4fa0001811535

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17547788 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17547792 by ryan schmidt in ue5-release-engine-test branch]
2021-09-17 00:33:56 -04:00
ryan schmidt
1c7d18c5f4 GeometryProcessing:
- add FPolygroupLayer struct which is basically an identifier for a Polygroup layer, ie either the default mesh layer or one of the extended attribute layers
- add FPolygroupsGenerator::FindPolygroupsFromHardNormalSeams()
- add option to FPolygroupsGenerator::FindPolygroupsFromFurthestPointSampling() to constrain generation relative to an input polygroup set, ie only subdivide existing polygroups
- FMeshRegionGraph::BuildFromComponents now takes optional are-triangles-connected predicate, to allow links in graph to be disabled
- FPatchBasedMeshUVGenerator can now optionally generate new UV islands relative to an input Polygoup set, via new GroupConstraint input

#rb david.hill
#rnx
#jira none
#preflight 6142106e568b3a0001dbc2d0

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17522255 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17522278 by ryan schmidt in ue5-release-engine-test branch]
2021-09-15 12:51:55 -04:00
ryan schmidt
4e422005cd GeometryCore: Add minimal UE::Math::TVector2<T> implementation and FVector2f/2d typedefs locally in GeometryCore VectorTypes.h. Replace existing FVector2<T> with this class, in preparation for LWC conversion. FVector2 members ::Distance() and ::DistanceSquared() moved to free functions. Update all call sites and references to FVector2.
#rb jimmy.andrews
#rnx
#jira none
#preflight 612d248c423a8f00013287f2

#ROBOMERGE-SOURCE: CL 17359821 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17359838 by ryan schmidt in ue5-release-engine-test branch]
2021-08-30 18:03:07 -04:00
ryan schmidt
6ea7d67546 GeometryProcessing: Add full AutoUV process to PatchBasedMeshUVGenerator, based on initial superpatch decomposition computed using FPolygroupsGenerator. Add a few utility functions for setting output state to FGeometryResult. Add FMeshConnectedComponents::InitializeFromTriangleComponents(), to allow initializing from an existing triangle set (sometimes necessary when downstream code requires a FMeshConnectedComponents as input).
#rb david.hill, jimmy.andrews
#rnx
#jira none
#preflight 611ede69008be9000100c1ad

#ROBOMERGE-SOURCE: CL 17242884 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17242890 by ryan schmidt in ue5-release-engine-test branch]
2021-08-19 21:29:14 -04:00
ryan schmidt
477d01d796 GeometryCore: add TNormalHistogram, simple spherical histogram based on TSphericalFibonacci point set
GeometryProcessing: add PatchBasedMeshUVGenerator, partial implementation of new AutoUV generator, currently generates UVs based on an initial patch decomposition computed externally, by incrementally merging those patches if possible.
ModelingTools: extend RecomputeUVsOp to optionally support island merging based on PatchBasedMeshUVGenerator. Add support for Normal smoothing in ExpMap, and UV Island rotation optimization. Expose new options/etc in RecomputeUVsTool, as well as add optional UV-space view.
#rb none
#rnx
#jira none
#preflight 6102000325e4a50001ac7119

#ROBOMERGE-SOURCE: CL 16992432 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16992437 by ryan schmidt in ue5-release-engine-test branch]
2021-07-29 01:32:28 -04:00
ryan schmidt
a792e5ad6d GeometryProcessing: Add FDynamicMeshUVEditor::ScaleUVAreaTo3DArea() and ::AutoOrientUVArea(), FMeshRegionGraph::MoveRegionTris()
#rb none
#rnx
#jira none

#ROBOMERGE-SOURCE: CL 16990275 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16990276 by ryan schmidt in ue5-release-engine-test branch]
2021-07-28 19:54:35 -04:00
ryan schmidt
7ce3b5918b GeometryProcessing: minor cleanups. Handle invalid UVs in UVPacking. Remove ensure in FDynamicMeshUVEditor::EstimateGeodesicCenterFrameVertex(), this is easily hit in UV generation and unavoidable from the users PoV. Fix possible infinite loop in FMeshRegionGraph::MergeSmallRegionsPass(). Add VectorUtil::SignedArea().
#rb tyson.brochu
#rnx
#jira none
#preflight 610087015938f90001efaf12

#ROBOMERGE-SOURCE: CL 16977357 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16977359 by ryan schmidt in ue5-release-engine-test branch]
2021-07-27 20:34:33 -04:00
michael balzer
ba195473cd GeometryProcessing: Move plugin from Experimental to Runtime
#jira UETOOL-3823
#rb ryan.schmidt

#ROBOMERGE-SOURCE: CL 16958628 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16958640 by michael balzer in ue5-release-engine-test branch]
2021-07-26 14:07:13 -04:00