Commit Graph

55 Commits

Author SHA1 Message Date
Jimmy Andrews
ac6d4e5e8e automatically fix mesh orientation when geometry script functions transform meshes with negative scale
#jira UE-151319
#rb semion.piskarev
#rb ryan.schmidt
#preflight 6282a2f3734d0657703f17b7

[CL 20232088 by Jimmy Andrews in ue5-main branch]
2022-05-16 17:07:25 -04:00
tyson brochu
768cfab5db Add scalar weight maps to DynamicMeshAttributeSet
- Allow the Attribute Editor Tool to add/delete weight maps from DynamicMesh targets.
- Enable transferring scalar weight maps back and forth between DynamicMesh and MeshDescription.
- Serialize TDynamicAttributeBase::Name when its subclasses are serialized

#rb nathan.mitchell
#preflight 62439b2ab6084b9832307f6e

[CL 19551734 by tyson brochu in ue5-main branch]
2022-03-29 20:04:24 -04:00
ryan schmidt
172058c824 GeometryCore:
- add FColliderMeshProjectionTarget to allow a FColliderMesh to be used as a projection target
- remove dead code from TDenseGrid3
- add TBlockedDenseGrid3, variant of TDenseGrid3 that lazy-allocates sub-blocks of a dense grid, to reduce memory usage in sparse/narrow-band situations on large uniform grids
- replace usage of TDenseGrid3 in FMarchingCubes with TBlockedDenseGrid3, to reduce memory footprint on large meshing problems
#rb David.Hill, Jimmy.Andrews
#jira UE-141151
#preflight 61fc0007176256ec4f744c4
#lockdown Aurel.Cordonnier

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18846016 in //UE5/Release-5.0/... via CL 18846053 via CL 18846421
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18846468 by ryan schmidt in ue5-main branch]
2022-02-03 13:52:20 -05:00
ryan schmidt
6ad26b69f0 rename UE::Geometry::TTransform3 to TTransformSRT3, update references
#rb none
#rnx
#jira UE-139757
#preflight 61f572d9e52a8a4a910990f1

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18784197 in //UE5/Release-5.0/... via CL 18784203 via CL 18784222
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18784226 by ryan schmidt in ue5-main branch]
2022-01-29 14:37:53 -05:00
michael balzer
5d1b51983b GeometryCore: Fix incorrect fix for mesh validation
#preflight none

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18737919 in //UE5/Release-5.0/... via CL 18738334 via CL 18739359
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18739956 by michael balzer in ue5-main branch]
2022-01-26 13:54:16 -05:00
michael balzer
258c2c8253 GeometryCore: Disable CheckValidity before/after visualization
#preflight 61f01ee9fd5285142b1a30f2

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18723574 in //UE5/Release-5.0/... via CL 18723597 via CL 18723720
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18723756 by michael balzer in ue5-main branch]
2022-01-25 11:43:58 -05:00
semion piskarev
80f86dd481 MeshModelingTools: Fix normals not being transferred to overlays in Remesh and Simplify when discarding attributes at start. Fix CompactCopy to properly copy vertex normals/uvs.
#rb Ryan.Schmidt
#rnx
#jira UE-139241
#preflight 61e1eb164b4bd12cbee7bb0a

#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 18629628 in //UE5/Release-5.0/... via CL 18629633 via CL 18629637
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18629639 by semion piskarev in ue5-main branch]
2022-01-16 10:42:36 -05:00
ryan schmidt
b1793b0c57 GeometryScript: fix issue with CompactMaterialIDs where if material ID set is modified but still compact, compacted material list was incorrect
ModelingComponents: add some more return values to ::CompactAttributeValues() to help to identify above case
#rnx
#jira UE-138808
#preflight 61e083cf797757aace87333e

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18613584 in //UE5/Release-5.0/... via CL 18613615 via CL 18613626
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18613631 by ryan schmidt in ue5-main branch]
2022-01-13 21:33:38 -05:00
matija kecman
88813c4ec3 MeshModelingToolset: Some minor comment/code cleanup
#rnx
#rb rinat.abdrashitov
#jira none
#preflight 61d8770e81634832b01dafad

#ROBOMERGE-AUTHOR: matija.kecman
#ROBOMERGE-SOURCE: CL 18558515 in //UE5/Release-5.0/... via CL 18558517
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18558526 by matija kecman in ue5-release-engine-test branch]
2022-01-10 07:51:15 -05:00
ryan schmidt
d2ce1bcc0c GeometryProcessing: add MeshAttributeUtil file with CompactAttributeValues() function that compacts the values in an integer triangle attrib set (eg MaterialIDs)
#rb lonnie.li
#rnx
#jira none
#preflight 61bb8bdf47080133bee53a0c

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18477378 in //UE5/Release-5.0/... via CL 18481393
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18481485 by ryan schmidt in ue5-release-engine-test branch]
2021-12-16 19:34:14 -05:00
lonnie li
fa87f303c5 ModelingTools: Add error message if target mesh does not have valid tangents when baking Tangent Normals or Bent Normals.
#rb jimmy.andrews
#rnx
#jira none
#preflight 61b773dac65177a674762a72

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18444053 in //UE5/Release-5.0/... via CL 18445317
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18445496 by lonnie li in ue5-release-engine-test branch]
2021-12-13 13:43:18 -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
ryan schmidt
7ff5cba6b2 GeometryProcessing:
Add FColliderMesh, minimal 3D triangle mesh representation w/ a buit-in AABBTree, intended to be used to avoid heavier FDynamicMesh3 copies in places where only a BVH is needed.
Add Ray transform/inverse functions to Transform3d

#rb semion.piskarev
#rnx
#jira none
#preflight 61a547e647752856c90b5fe9

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18325839 in //UE5/Release-5.0/... via CL 18325857
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18325877 by ryan schmidt in ue5-release-engine-test branch]
2021-11-30 11:40:16 -05:00
rinat abdrashitov
4110be33f5 UniformTesselate.h/cpp
Added a new operator to subtriangulate a mesh. Its meant to take the input mesh and quickly generate final number of new vertices and triangles and interpoloate existing attributes to them.
This is would be used to replace the current recursive subdivision (using edge splits) in the DispalceMeshTool and PNTriangles operator.

DynamicMeshOverlay.h/cpp
Refactored the implementation of GetElementAtVertex from the child class TDynamicMeshVectorOverlay to the parent TDynamicMeshOverlay. The child now calls the parent.
Added a new method GetElementIDAtVertex and use it inside GetElementAtVertex since it replaces most of the logic.

OperationsTests.cpp/ExpectedRectangle.obj
Added unit tests for the UniformTesselate operator.

#rb jimmy.andrews
#rnx
#jira none
#preflight 619c0aa4fa0b360c40779025

#ROBOMERGE-AUTHOR: rinat.abdrashitov
#ROBOMERGE-SOURCE: CL 18284521 in //UE5/Release-5.0/... via CL 18284544
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18284556 by rinat abdrashitov in ue5-release-engine-test branch]
2021-11-24 11:09:23 -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
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
6b9c8102dc MeshModelingTools: Add bAllowElementFreeing to dynamic mesh overlay UnsetTriangle method to make it easier to do certain kinds of retriangulations. Add a unit test.
#rb Jimmy.Andrews
#rnx
#jira none
#preflight 61843e147edef20001d7535f

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

[CL 18066974 by semion piskarev in ue5-release-engine-test branch]
2021-11-04 19:58:53 -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
michael balzer
3b2db86a02 MeshModelingToolset: Generate tangents in UAddPrimitiveTool via new function to calculcate tangents in UPreviewMesh
#jira UE-131425
#rb ryan.schmidt, lonnie.li, jimmy.andrews
#preflight 6168a740855ebb000198e232
#rnx

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 17824560 in //UE5/Release-5.0/... via CL 17824593
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17824596 by michael balzer in ue5-release-engine-test branch]
2021-10-14 20:20:28 -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
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
cd0d01cd68 GeometryCore: handle case where a mesh overlay has serialized unreferenced elements, ie that have no parent vertex. Existing code will try to look up the remapping w/ a parent ID of -1, causing a crash.
#rb michael.balzer
#rnx
#jira none

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17698542 in //UE5/Release-5.0/... via CL 17698543
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17698545 by ryan schmidt in ue5-release-engine-test branch]
2021-10-01 19:06:02 -04:00
jimmy andrews
84ecdee219 fix crash on trying to sculpt after clicking 'discard attributes' in dynamic mesh sculpt tool
#jira UE-118864
#rb ryan.schmidt
#rnx
#preflight 6156f3074751730001819312

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 17690602 in //UE5/Release-5.0/... via CL 17690603
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17690605 by jimmy andrews in ue5-release-engine-test branch]
2021-10-01 08:21:22 -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