Commit Graph

150 Commits

Author SHA1 Message Date
david hill
9e0ccd3133 Geometry tools: Fix GeodesicPath compile error
#rb none

#ROBOMERGE-AUTHOR: david.hill
#ROBOMERGE-SOURCE: CL 18136061 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v889-18060218)

[CL 18136142 by david hill in ue5-release-engine-test branch]
2021-11-10 15:04:25 -05:00
david hill
6e12be9318 Dynamic Mesh, Intrinsic Mesh - more robust calculation of intrinsic edges.
-  add integer-based normal coordinates for correspondence with the surface mesh and unify code that helps track the relationship between meshes.
-  rename FIntrinsicEdgeFlipMesh  FSimpleIntrinsicEdgeFlipMesh.
-  new FIntrinsicEdgeFlipMesh that uses the interger-based normal coordinates to track location of intrinsic edges relative to the surface mesh.

#preflight 618aa6de235a78d30e416b21
#rb jimmy.andrews

#ROBOMERGE-AUTHOR: david.hill
#ROBOMERGE-SOURCE: CL 18135001 in //UE5/Release-5.0/... via CL 18135020
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18135032 by david hill in ue5-release-engine-test branch]
2021-11-10 14:22:10 -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
lonnie li
db670aaffc ModelingTools: Add additional trace events to the Bake tools.
#rb trivial
#rnx
#jira none
#preflight 6189db370779df5c6a59f3e9

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18099121 in //UE5/Release-5.0/... via CL 18099168
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18099175 by lonnie li in ue5-release-engine-test branch]
2021-11-08 21:54:53 -05:00
jimmy andrews
35fa337fcd fix mesh boolean crash on trying to double-check coplanarity when the boolean only needed to process the first mesh, so there is nothing to double-check against
#jira UE-134079
#rb david.hill
#rnx
#preflight 6184a06dab0db4000126b40d

#ROBOMERGE-OWNER: jimmy.andrews
#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 18087581 in //UE5/Release-5.0/... via CL 18088945
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18092720 by jimmy andrews in ue5-release-engine-test branch]
2021-11-08 16:04:43 -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
ryan schmidt
7bd74ffee4 GeometryProcessing: add basic UV calculation and materialID support to MeshBevel. Add PolyEditingUVUtil file for UV computation utility functions in Poly-editing. Currently only ComputeArbitraryTrianglePatchUVs() function which uses expmap to compute UVs and (approximately) scales UVs to match UV scale on surrounding border triangles.
GeometryScript: add ApplyMeshPolygroupBevel operation
#rb none
#rnx
#jira none
#preflight 618434449249220001a944df

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18065452 in //UE5/Release-5.0/... via CL 18065478
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18065511 by ryan schmidt in ue5-release-engine-test branch]
2021-11-04 18:24:07 -04:00
lonnie li
0d69345b4a ModelingTools: Add cancel support to BakeVertex background eval.
Update BakeVertex tile size to 1024.
Improve BakeVertex sampling robustness.

#rb trivial
#rnx

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18045162 in //UE5/Release-5.0/... via CL 18045190
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18045218 by lonnie li in ue5-release-engine-test branch]
2021-11-03 21:57:11 -04:00
ryan schmidt
8c5b55b152 GeometryProcessing: Refactor edge-loop inset calculation code from InsetMeshRegion into new utility functions in PolyEditingEdgeUtil.h. Use in FMeshBevel::DisplaceVertices() to improve edge insetting. Also add FMeshBevel::FixUpUnlinkedBevelEdges(), to repair vertex and edge ID lsits in unlinked open-span edges after unlinking vertices.
#rnx
#jira none
#preflight 61821056dd10170001f4d541

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18041664 in //UE5/Release-5.0/... via CL 18041669
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18041673 by ryan schmidt in ue5-release-engine-test branch]
2021-11-03 17:40:43 -04:00
jimmy andrews
ee57dd4ec7 Update TriangulateSimplePolygon to by-default orient its output triangles in the most-often-desired orientation (w/ triangle winding the opposite of the polygon winding, for example this is desirable when the polygon is generated from boundary edges on a hole to be filled)
Add test coverage for polygon triangulation functions to ensure they create triangulations with the expected orientations

#jira UE-133286
#rb rinat.abdrashitov
#rnx
#preflight 6181fc82612e950001c9b4ee

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 18032811 in //UE5/Release-5.0/... via CL 18032831
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18032838 by jimmy andrews in ue5-release-engine-test branch]
2021-11-03 09:39:16 -04:00
lonnie li
5abfa622a6 ModelingTools: Add analytics to BakeVtx.
#rb matija.kecman
#rnx
#jira none
#preflight 6181660efc786a0001494c4a

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18022190 in //UE5/Release-5.0/... via CL 18022300
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18022393 by lonnie li in ue5-release-engine-test branch]
2021-11-02 13:59:11 -04:00
lonnie li
1a58daa8ac ModelingTools: Add analytics to BakeTx and BakeAll.
#rb michael.balzer
#rnx
#jira none
#preflight 618156394d1db700016f18b7

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18022043 in //UE5/Release-5.0/... via CL 18022262
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18022377 by lonnie li in ue5-release-engine-test branch]
2021-11-02 13:58:07 -04:00
ryan schmidt
cea638d0b0 GeometryProcessing: add initial MeshBevel operation. Still a WIP, does not handle UVs at all, or interior-region vertices, and the current solve for vertex positions produces horrible-looking bevels, but the main topological problems seem to be solved.
Various utility functions added to MeshIndexUtil.h and FIndex2i/3i.
#rb jimmy.andrews
#rnx
#jira none
#preflight 617ff8d99b238e000141ff75

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18003558 in //UE5/Release-5.0/... via CL 18003639
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18003694 by ryan schmidt in ue5-release-engine-test branch]
2021-11-01 12:01:36 -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
lonnie li
ab973d7009 ModelingTools: Update BakeVertex normal computation to use NormalOverlay and Angle & Area weighting.
#rb jimmy.andrews michael.balzer
#rnx
#jira none
#preflight 617995f14d944500010fcaa0

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 17950619 in //UE5/Release-5.0/... via CL 17950623
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17950639 by lonnie li in ue5-release-engine-test branch]
2021-10-27 16:06:36 -04:00
lonnie li
cb16983776 ModelingTools: Fix trace event names.
#rb trivial
#rnx

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 17922046 in //UE5/Release-5.0/... via CL 17922825
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17922851 by lonnie li in ue5-release-engine-test branch]
2021-10-26 09:29:13 -04:00
ryan schmidt
ddc1ed4208 GeometryProcessing: handle case where boolean generates a very tiny hole, and then tries to minimal-fill it. The MinimalFill code does an initial remesh pass to create some "density" to collapse. If the hole is tiny, the remesh target edge length can become near-zero, and then the remesher explodes.
Also adds TMeshQueries::TotalEdgeLength() function which computes accumulated length of an edge set.
#rb tyson.brochu
#rnx
#jira none
#preflight 6177020e7855e8000166f273

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17913002 in //UE5/Release-5.0/... via CL 17913076
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17913107 by ryan schmidt in ue5-release-engine-test branch]
2021-10-25 16:59:51 -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
jimmy andrews
6df1e3bcc4 clamp offsets/extrusions in polyedit in the tri-normal-adjust mode, that could otherwise offset infinitely at sharp corners
#jira UE-132170
#rb lonnie.li

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 17893788 in //UE5/Release-5.0/... via CL 17893807
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17893813 by jimmy andrews in ue5-release-engine-test branch]
2021-10-21 22:27:29 -04:00
jimmy andrews
23f63931d4 make coplanar removal test more double-check its assumption that the coplanar pair was actually removed; fixed sliver/edge cases where from the sliver side it looks like a coplanar surface but from the other it typically does not
+ also bring skip-degenerates-in-nearest-tri-search improvement previously added to MeshBoolean into MeshSelfUnion

#rb matija.kecman

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 17881409 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17881419 by jimmy andrews in ue5-release-engine-test branch]
2021-10-20 22:11:03 -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
david hill
2e27653ee8 Dynamic Mesh, Operations, GeodesicPath - allow geodesic path to be exported as array of surface points.
#preflight 6168c0e367b5f00001f30300
#rb jimmy.andrews


#ROBOMERGE-AUTHOR: david.hill
#ROBOMERGE-SOURCE: CL 17864587 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)

[CL 17864605 by david hill in ue5-release-engine-test branch]
2021-10-19 15:20:12 -04:00
rinat abdrashitov
453cf7024e GeometryProcessing:
Removed redundant code since GetTriangleEdges method was added to DynamicMesh3 class that does the same thing.
Fixed a typo ContolPnts -> ControlPoints.
Previously only per-vertex normals were set. Now normals are correclty set per-element as well.

#rb jimmy.andrews
#rnx
#jira none
#preflight 61698e649390dd0001b2dfca

#ushell-cherrypick of 17521027 by rinat.abdrashitov

#ROBOMERGE-AUTHOR: rinat.abdrashitov
#ROBOMERGE-SOURCE: CL 17829558 in //UE5/Release-5.0/... via CL 17829564
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17829567 by rinat abdrashitov in ue5-release-engine-test branch]
2021-10-15 11:23:32 -04:00
jimmy andrews
d35e160b9a fix polycut w/ degenerate rounded rect (corner ratio = 0) in three different ways:
- prevent parameter from going all the way to zero
 - extend cutting polygon a bit outside the bounding box to avoid creating coplanar cuts that stress the boolean system
 - when finding the initial nearest triangle to check for coplanarity, filter out degenerate triangles w/ zero vector normals

#jira UE-119242
#rb rinat.abdrashitov
#rb david.hill
#rnx

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 17822833 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17825035 by jimmy andrews in ue5-release-engine-test branch]
2021-10-14 21:33:35 -04:00