385 Commits

Author SHA1 Message Date
semion piskarev
fa4085fbdd DynamicMesh: Fix overlay elements not being freed and prevent changing some overlay values arbitrarily when the collapsed triangles were unset.
#rb
#jira UE-192831

[CL 27092107 by semion piskarev in 5.3 branch]
2023-08-14 18:55:40 -04:00
lonnie li
4c69dbd68d ModelingTools: Fixed gap in gutter when baking MaterialID in the Bake Textures tool.
#rb jimmy.andrews
#jira UE-191491

[CL 26812515 by lonnie li in 5.3 branch]
2023-08-03 11:37:18 -04:00
David Hill
6ce9c91b32 Mesh Modeling Tools, For the "normal aware" simplification method in the modeling mode simplification tool. Makes an internal computation more robust for the specific case when triangles being collapsed are on a plane that intersects the origin.
Specifically the computations of attribute gradients now uses a local coordinate system defined in terms of the triangle faces.

#rb jimmy.andrews

[CL 26770899 by David Hill in 5.3 branch]
2023-08-02 10:12:25 -04:00
benoit gadreau
53a403de0e Skin Binding: fixed pos to grid/cell center indexation
+ removed occupancy grid computation when useless (this is only used for debug purposes and slows down the binding calculation)

#jira UE-187013
#jira UE-180559
#rb halfdan.ingvarsson

[CL 26506537 by benoit gadreau in 5.3 branch]
2023-07-21 04:55:34 -04:00
Jimmy Andrews
628974f19c Fix crash when spline mesh tool has a spline with too few points, and generally make polygon triangulation not crash when passed an input with too few points
#rb rinat.abdrashitov
#jira none

[CL 26295531 by Jimmy Andrews in 5.3 branch]
2023-06-28 15:25:32 -04:00
rinat abdrashitov
8e6e28690b -GeometryScript: When creating a new SkeletaMesh asset, provide an option to use the bone attributes of the dynamic mesh to set the reference skeleton of the skeletal mesh.
-Added a convenience function for getting an array of bone names from a reference skeleton.
-Added MeshBones.h/cpp that contain utility functions to deal with dynamic mesh bone attributes

#rb halfdan.ingvarsson
#jira none

[CL 26233292 by rinat abdrashitov in 5.3 branch]
2023-06-26 10:10:55 -04:00
henrik karlsson
562dc45ab9 [Engine]
* Moved dllexport from type to methods/staticvar in all Engine runtime code. This improves compile times, memory and performance in dll builds

[CL 26082288 by henrik karlsson in 5.3 branch]
2023-06-17 18:14:12 -04:00
henrik karlsson
2b09e81ebe [Engine]
* Changed type dllexport to method/staticvar dll export. Various changes for code that upgrade script get wrong

[CL 26082078 by henrik karlsson in 5.3 branch]
2023-06-17 16:59:11 -04:00
ryan schmidt
7ad6f36d97 GeometryScript: Add DynamicMeshComponent NotifyMeshModified and NotifyMeshVertexAttributesModified functions (functions are called 'Updated' in BP, via DisplayName, because NotifyMeshUpdated already exists as C++ function). These allow a DynamicMeshComponent's rendering to be updated after the underlying DynamicMesh has been modified with deferred notifications (eg while setting many vertex positions, etc).
Add RecomputeNormalsForMeshSelection, allows subset of normals to be recomputed. Add bDeferChangeNotifications option to RecomputeNormals.

Add ComputeMeshLocalUVParam, computes expmap parameterization on bounded-geodesic-radius area of mesh

#rb none

[CL 26055927 by ryan schmidt in 5.3 branch]
2023-06-16 12:11:46 -04:00
rinat abdrashitov
30ec28e2d6 Added an operation to compute per-vertex averaged value of all overlay elements.
#rb david.hill

[CL 26053056 by rinat abdrashitov in 5.3 branch]
2023-06-16 11:17:33 -04:00
jimmy andrews
7ca84cf8c5 Add a new hull merge node for reducing the hulls used on convex decompositions
+ minor cleanup/fixes of hull merging algorithms
(v2 with compile/link fixes)

[CL 25964124 by jimmy andrews in ue5-main branch]
2023-06-13 17:18:13 -04:00
jimmy andrews
98cc9bc6be [Backout] - CL25959112
[FYI] Jimmy.Andrews
Original CL Desc
-----------------------------------------------------------------
Add a new hull merge node for reducing the hulls used on convex decompositions
+ minor cleanup/fixes of hull merging algorithms

[CL 25960651 by jimmy andrews in ue5-main branch]
2023-06-13 15:37:18 -04:00
jimmy andrews
59daad6f82 Add a new hull merge node for reducing the hulls used on convex decompositions
+ minor cleanup/fixes of hull merging algorithms

[CL 25959212 by jimmy andrews in ue5-main branch]
2023-06-13 14:52:04 -04:00
rinat abdrashitov
143c49bed6 -Added a funciton to MeshLocalParam to return an array of points with set UVs.
-Added a function to smooth weights for an array of vertices and all vertices within a geodesic distance away from them.


#rb  jimmy.andrews
#jira none
#rnx

[CL 25956360 by rinat abdrashitov in ue5-main branch]
2023-06-13 13:19:10 -04:00
jimmy andrews
4d1a9e879c Move some commonly-used mesh functionality from the DynamicMesh module over to GeometryCore, including DynamicMeshEditor, mesh booleans, and some selection handling
#rb ryan.schmidt, matija.kecman

[CL 25874830 by jimmy andrews in ue5-main branch]
2023-06-08 12:40:29 -04:00
henrik karlsson
f027bfa856 [Core]
* Fixed compile errors when compiling .h files in isolation

#rb none

[CL 25865668 by henrik karlsson in ue5-main branch]
2023-06-08 02:30:27 -04:00
ryan schmidt
4514a71fea ModelingTools: pvs fix and minor const-correctness fix
#rb none
#preflight 646e32f6807b157b8b3b8f8b
#rnx

[CL 25626915 by ryan schmidt in ue5-main branch]
2023-05-25 15:34:14 -04:00
jimmy andrews
51c778d2a1 make the convex decomposition sphere covering do a better job of covering shape concavities near the border of the shape by expanding the sampling region by the sphere radius + moving the samples out to better cover the sampling region
#rb rinat.abdrashitov
#preflight 646d469a64351d76f352fdd2

[CL 25597234 by jimmy andrews in ue5-main branch]
2023-05-23 21:22:12 -04:00
jimmy andrews
a88d570315 add convex decomposition options to leaf node convex hull dataflow node
+ add a 'max hulls' option to convex decomposition, which functions like 'target num hulls' but can still cap the number of hulls when an error tolerance is specified (target num hulls is ignored when error tolerance is set)

#rb rinat.abdrashitov
#preflight 646d1033f85111e06c3a8fb7

[CL 25593250 by jimmy andrews in ue5-main branch]
2023-05-23 18:33:43 -04:00
ryan schmidt
c0c1e82b10 DynamicMesh: add TDynamicMeshVectorOverlay::EnumerateVertexElements, does triangle iteration around vertex and calls a function for each tri-vtx-element
#rb david.hill
#preflight 646cde3a2c0a5da0dc8627fa
#rnx

[CL 25592176 by ryan schmidt in ue5-main branch]
2023-05-23 18:12:36 -04:00
ryan schmidt
0ff893f0f2 Modeling Tools: minor changes in prepration for future CL. Add UE::Geometry::Lerp for TVector4 types. Refactor code MeshGroupPaintTool code for polylasso post-process to static function UPolyLassoMarqueeMechanic::ApproximateSelfClipPolyline(). Make brush flow rate configurable via overridable UMeshSculptToolBase::GetStampTemporalFlowRate().
#rb none
#preflight 646cbf4064351d76f31f6841
#rnx

[CL 25592096 by ryan schmidt in ue5-main branch]
2023-05-23 18:10:55 -04:00
ryan schmidt
c3976cd7b1 GeometryCore: fix crash copy-paste-o in FDynamicMeshAttributeSet::EnableMatchingAttributes
#rb none
#preflight skip

[CL 25539031 by ryan schmidt in ue5-main branch]
2023-05-18 23:50:53 -04:00
michael balzer
92faefe737 GeometryCore: Fix potential buffer overrun in FSmallListSet serialization
#jira UE-172874
#preflight 64650ff311205d3573d0fa57
#rb

[CL 25518662 by michael balzer in ue5-main branch]
2023-05-17 19:09:39 -04:00
Jimmy Andrews
281e28afae add precise math for exact predicates on clang, where supported
#preflight 646465044404e3cdd2c0fb87
#jira none

[CL 25509390 by Jimmy Andrews in ue5-main branch]
2023-05-17 12:25:46 -04:00
rinat abdrashitov
78b2bf36ba Add Set/GetValue methods that take templated bone weight scalar data arrays.
#rb halfdan.ingvarsson
#rnx
#preflight 64642d23c34c2e121241969e

[CL 25503080 by rinat abdrashitov in ue5-main branch]
2023-05-17 01:11:27 -04:00