Commit Graph

150 Commits

Author SHA1 Message Date
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
david hill
c57f929da7 Dynamic Mesh, Operations: Intrinsic Mesh - export intrinsic mesh edges as array of surface points.
#rb jimmy.andrews
#preflight 615f199a7c973700010520c7

#ROBOMERGE-AUTHOR: david.hill
#ROBOMERGE-SOURCE: CL 17817297 in //UE5/Release-5.0/... via CL 17817318
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17817329 by david hill in ue5-release-engine-test branch]
2021-10-14 12:02:29 -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
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
jimmy andrews
c21c7064f3 fix simplification sometimes bailing early due to invalid entries in queue
#jira UE-120999
#preflight 615fc751f515230001cfe8f4

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 17767024 in //UE5/Release-5.0/... via CL 17767025
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17767027 by jimmy andrews in ue5-release-engine-test branch]
2021-10-09 19:40:12 -04:00
david hill
c7433c736b Dynamic Mesh, Operations, GeodesicPath - remove unwanted include.
#rnx
#rb trivial
#preflight 615e3a8cf3f4d900016427a8

#ROBOMERGE-AUTHOR: david.hill
#ROBOMERGE-SOURCE: CL 17749277 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v879-17706426)

[CL 17749326 by david hill in ue5-release-engine-test branch]
2021-10-07 10:23:27 -04:00
jimmy andrews
501d8ae403 make dynamicmesh3 refuse to merge an edge if it would create a duplicate triangle in the mesh
+ make mesh editor's mesh append function robust to failures to append triangles

#rb tyson.brochu
#rnx
#preflight 615e15fe7e9a0100010b12a6

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

[CL 17746521 by jimmy andrews in ue5-release-engine-test branch]
2021-10-07 02:47:15 -04:00
ryan schmidt
c647fcbcdb DynamicMesh: fix trivial bug in PolygroupsGenerator, was using wrong array size variable
#rb none
#rnx
#jira none

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17724028 in //UE5/Release-5.0/... via CL 17724055
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17724063 by ryan schmidt in ue5-release-engine-test branch]
2021-10-05 13:17: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
david hill
58c5655c3a Dynamic Mesh Plugin: Operations - Adding first pass at code that uses edge flips of an intrinsic mesh to reduce the length of an input surface curve (defined on a FDynamicMesh)
#rb jimmy.andrews
#preflight 61573139a680bb0001ce7f51

#ROBOMERGE-AUTHOR: david.hill
#ROBOMERGE-SOURCE: CL 17693963 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17693979 by david hill in ue5-release-engine-test branch]
2021-10-01 13:18:53 -04:00
david hill
8ec4356eb0 Moving IntrinsicTriangulationMesh and related MeshGeodesicSurface tracer out of Geometry Core, and into the DynamicMesh plugin
#rb ryan.schmidt, tyson.brochu
#preflight 6154c3f2549cbf00019ac526


#ROBOMERGE-AUTHOR: david.hill
#ROBOMERGE-SOURCE: CL 17678078 in //UE5/Release-5.0/... via CL 17678080
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17678087 by david hill in ue5-release-engine-test branch]
2021-09-30 10:52:07 -04:00
matija kecman
2cc6d5527f Various improvements and to marquee and click selection for ULatticeControlPointsMechanic and UPolygonSelectionMechanic
- Fixed marquee selection so it works when starting on a click-selectable item in ULatticeControlPointsMechanic and UPolygonSelectionMechanic (used USingleClickOrDragInputBehavior)
- Fixed issue where selection changes that do nothing were added to undo/redo history in ULatticeControlPointsMechanic and UPolygonSelectionMechanic
- Addressed a TODO to make ULatticeControlPointsMechanic click behavior use control and shift modifiers in the same way as the marquee mechanic
- Refactored ULatticeControlPointsMechanic to simplify the selection update code and make it use the same path for clicks and marquee select (removed ChangeSelection and ClearSelection)

#rb semion.piskarev
#rnx
#jira none
#preflight 6151c5311c6cf400014ca43d

#ROBOMERGE-AUTHOR: matija.kecman
#ROBOMERGE-SOURCE: CL 17630931 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17630949 by matija kecman in ue5-release-engine-test branch]
2021-09-27 11:20:58 -04:00
ryan schmidt
6437ecc4a1 GeometryCore: replace all usage of GeometryCore FVector3<T> with TVector<T>, remove FVector3<T> and GVector4<T>
#rb none
#rnx
#jira none
#preflight 614ce33574f7e70001ea822b

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17617027 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17617043 by ryan schmidt in ue5-release-engine-test branch]
2021-09-23 19:38:55 -04:00
andrew davidson
57beb335f2 Merging //UE5/Dev-LargeWorldCoordinates [at] 17581892 to //UE5/Main
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 17595295 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17595306 by andrew davidson in ue5-release-engine-test branch]
2021-09-22 10:01:48 -04:00
jimmy andrews
328ebd2da8 Add polygroup simplifier to simplify tool + improve behavior for angle tolerance w/ smooth turns over many edges
#rb tyson.brochu
#preflight 61450fb859380f0001155c20

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 17560328 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17560336 by jimmy andrews in ue5-release-engine-test branch]
2021-09-17 19:39:12 -04:00
jimmy andrews
0f0b673c04 fix incorrect comment on boolean tool compute method
#rb trivial
#rnx

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 17557870 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17557874 by jimmy andrews in ue5-release-engine-test branch]
2021-09-17 16:25: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
jimmy andrews
b0aa5f3c4a Add new polygon-oriented mesh simplification button to the poly edit tool -- tries to use the constrained Delaunay triangulator to re-triangulate every polygon, skipping non-corner vertices that are on straight edges.
#preflight 6143df0d599fd80001af7023
#rb ryan.schmidt
#rnx

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 17547526 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17547534 by jimmy andrews in ue5-release-engine-test branch]
2021-09-16 23:16:23 -04:00
ryan schmidt
2efe9023a9 GeometryProcessing: add FPolygroupsGenerator::CopyPolygroupsToPolygroupSet(), to copy to arbitrary polygroup set (instead of only to default mesh polygroups)
#rb none
#rnx
#jira none
#preflight 6143c0d34778fa0001792712

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

[CL 17546423 by ryan schmidt in ue5-release-engine-test branch]
2021-09-16 20:16:52 -04:00
lonnie li
b9e683b2a7 ModelingTools: Fix crash in BakeVertex tool.
- Fix curvature settings in BakeVertex in per-channel mode.
- Fix erroneous ensure when in Identity correspondence mode.
- Remove remnants of previous Detail mesh system.
- Minor FMeshMapBaker interface updates.

#rb trivial
#rnx
#jira none
#preflight 6142689b3c7c670001add3ce

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 17530703 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17530722 by lonnie li in ue5-release-engine-test branch]
2021-09-15 20:13:36 -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
lonnie li
90f5344d22 ModelingTools: Add N-to-1 detail mesh bake tool
- Added new FindNearestHitTriangle overload with bary coords.
- Refactored BakeMeshAttributeMapsTool into common base class with new MultiMesh (N-to-1) variant.
- Extended MeshDescriptionAdapter to support UVs.
- Added new queries on IMeshSpatialWrapper for mesh attributes.

#rb ryan.schmidt
#rnx
#jira UETOOL-3395
#preflight 613fb4c3a70fa0000131ff77

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 17497155 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17497176 by lonnie li in ue5-release-engine-test branch]
2021-09-13 17:51:19 -04:00
ryan schmidt
5b1ac2faa3 GeometryProcessing: small fixes.
- handle undefined normal attributes in Simplifier ComputeFaceQuadric()
- Add separate SetGridCellSize() / SetMeshCellSize() functions to TImplicitMorphology
- define explicit enum values in RemoveOccludedTriangles
- Add support for linear scaling along path in FGeneralizedCylinderGenerator
#rb none
#rnx
#jira none
#preflight 613e1b0705632d0001ee8e2f

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

[CL 17488618 by ryan schmidt in ue5-release-engine-test branch]
2021-09-12 17:30:07 -04:00
david hill
1b53940a8c GeometryCore: Add Embedded Path Tracing across FDynamicMesh surfaces and Intrinsic Triangulations of FDynamicMeshes. Also update Mesh Laplacian Code to generate Cotan Laplacians from Intrinsic Triangulation.
MeshGeodesicSurfaceTracer.{h,cpp}  -  Add embedded path tracing.
GeodesicSurfaceTracerTests.cpp     -  unit tests for embedded path tracing

IntrinsicTriangulationMesh.{h, cpp}  - Adds two Intrinsic Triangulation mesh types (the more sophisticaed requires embedded path tracing)
IntrinsicMeshTests.cpp               -  unit tests for Intrinsic mesh types.

MeshLaplacian.{h,cpp}                - Adds new enum types for Intrinsic Delaunay Triangulation (IDT)  Laplacians
LaplacianOperators.{h,cpp}           - Adds wrappers and allow enum switches to build IDT Laplacians if requested
LaplacianMatrixAssembly.h            - Actually construction of IDT Laplacian.
Laplacian.cpp                        - Added trivial unit test for construction of IDT Laplacian

#rb jimmy.andrews
#preflight 6138bca42d09b9000158c95a

#ROBOMERGE-AUTHOR: david.hill
#ROBOMERGE-SOURCE: CL 17458853 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17458863 by david hill in ue5-release-engine-test branch]
2021-09-08 11:15:58 -04:00
lonnie li
7b0c2454ee ModelingTools: Bake tool detail mesh sampling abstraction
- Refactored direct detail mesh sampling queries into an abstract base interface for repurposing to alternative detail mesh constucts other than DynamicMesh3 (including N-to-1).
- Move IsTriangle tests out of evaluators and into the core bake loop.

#rb jimmy.andrews
#rnx
#jira UETOOL-3395
#preflight 6137d813d9c85a000150d95a

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 17451759 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17451812 by lonnie li in ue5-release-engine-test branch]
2021-09-07 19:06:34 -04:00