Commit Graph

278 Commits

Author SHA1 Message Date
rinat abdrashitov
1da1ecb3f0 -Added a new flag (bBlendZeroInfluence) to the FBoneWeightSettings to allow control over how zero-influence bones are treated during the blend. The Blend method will now consider the flag when performing the interpolation.
-Added a Blend function overload that handles barycentric interpolation of 3 skin weights.
-Refactored SetBoneWeightsFromBary (in DynamicVertexSkinWeightsAttribute.h) and ConstructVertexSkinWeightsAttribute (in SelectiveTessellate.cpp) functions to use the newly added Blend function for barycentric interpolation.
-Since the default Blend behavior has changed, make sure that unit tests in BoneWeightTests.cpp are refactored. Added more tests for cases when bBlendZeroInfluence is set to true and when using Blend for barycentric interpolation.

#rb halfdan.ingvarsson
#jira None
#preflight 6361de120c2e7c8f91668a75

[CL 22921407 by rinat abdrashitov in ue5-main branch]
2022-11-02 13:53:31 -04:00
jimmy andrews
56855bd081 Add a GetFace method to TConvexHull3 and use it to get polygonal faces for convex hulls when building a convex hull for Chaos. This makes us less likely to add near-degenerate faces for which we cannot compute the normals.
#rb Chris.Caulfield
#preflight 63613dae41625be270d322c4

[CL 22890192 by jimmy andrews in ue5-main branch]
2022-11-01 16:03:10 -04:00
jimmy andrews
2991d7503d fix for edge collapse leaving isolated elements with parents, which breaks overlay validity
#jira UE-167932
#rb david.hill
#preflight 635302fd777a77c4407286ec

[CL 22712189 by jimmy andrews in ue5-main branch]
2022-10-22 15:36:09 -04:00
tyson brochu
2e19cd43f6 Cloth Editor: enable adding/deleting weight maps directly in the weight map paint tool. (Currently the user has to go through the Attribute Editor tool to do this.)
#rb david.hill rinat.abdrashitov
#preflight 633f3fd52a0a2c1ead43571b

[CL 22383750 by tyson brochu in ue5-main branch]
2022-10-06 16:57:39 -04:00
jimmy andrews
4456058517 Make visual studio compile exact predicate code with precise math compile settings, for more consistent performance results, and change to generally compute in double precision for predicates where the 'difficult' cases can be ~50x more expensive to compute.
Add a TODO to reconsider the INEXACT volatile setting now that we compile with precise floating point math; preliminary testing indicates it should work and be significantly faster in 'difficult' cases.

#rb david.hill
#preflight 63327ebec7791417aa9b2737

[CL 22217357 by jimmy andrews in ue5-main branch]
2022-09-27 22:55:36 -04:00
tyson brochu
7d7a4c3697 FindNearestCurveToRay: when processing segments in a curve, balance the distance-to-ray-origin against the ray-segment distance to find the optimal segment
#jira UE-139813
#rb jimmy.andrews david.hill
#preflight 6331db9e7b582f58ab76ee10

[CL 22193238 by tyson brochu in ue5-main branch]
2022-09-26 16:25:25 -04:00
jimmy andrews
4837ae2192 fix epsilon's type in extreme points class
#rb tyson.brochu
#preflight 632527cd121ffddebcc8c155

[CL 22086973 by jimmy andrews in ue5-main branch]
2022-09-19 21:55:34 -04:00
jimmy andrews
1fb9676459 Make mesh symmetry detection detect more symmetry cases, more robustly, so VSculpt will recognize symmetry after using Mirror Tool
#jira UE-159448
#rb david.hill
#preflight 63237c365a44869a7d0922f8

[CL 22040790 by jimmy andrews in ue5-main branch]
2022-09-15 18:44:06 -04:00
rinat abdrashitov
8c57151ead Extend FSweepGeneratorBase and FGeneralizedCylinderGenerator to support open 2D profile curves, and custom UV for the profile and path.
#rb ryan.schmidt
#preflight 631b9d27d31788ea3ab11611
#rnx

[CL 21935699 by rinat abdrashitov in ue5-main branch]
2022-09-10 00:04:32 -04:00
jimmy andrews
e1a6e9f692 Fix AABB -> FBox/FBox2D casts for LWC (don't cast to float)
#rb david.hill
#preflight 63197dc3967ffc68fbc61b06

[CL 21908827 by jimmy andrews in ue5-main branch]
2022-09-08 20:30:09 -04:00
Jimmy Andrews
e5cb5549f0 Fix FTransformSRT3d::InverseTransformNormal applying the scaling and rotation in the wrong order
#rb david.hill
#preflight 630fde5d0345de4ccfdf7fa2

[CL 21734185 by Jimmy Andrews in ue5-main branch]
2022-08-31 20:32:07 -04:00
Jimmy Andrews
6fe4d60ab1 Handle mesh inversions due to transforms in ComponentCollisionUtil + add missing transform calls
#rb ryan.schmidt
#preflight 630d2ad8e54ec9d58164fba7

[CL 21707736 by Jimmy Andrews in ue5-main branch]
2022-08-30 15:41:50 -04:00
Jimmy Andrews
19ee47937c fix lattice tool for negative scales
#rb tyson.brochu
#rb david.hill
#preflight 63091651dd33b8a5238b2dfb

[CL 21602609 by Jimmy Andrews in ue5-main branch]
2022-08-26 19:59:59 -04:00
Jimmy Andrews
68c7126a7c make more mesh creation tools generate tangents for their created meshes
(PolyExt, PathExt, PathRev, and BdryRev)

#jira UE-141656

#rb david.hill
#preflight 6307950c6f3401e0225dfa29

[CL 21566086 by Jimmy Andrews in ue5-main branch]
2022-08-25 11:51:02 -04:00
Christina TempelaarL
adcb507b5f GeometryCore: Add UE::Geometry::VectorUtil::PlaneAngleSignedR implentation, same as PlaneAngleSignedD but returns radians instead of degrees.
#jira nojira
#rb
#preflight 630709cf516bef57ff17dcb5

[CL 21559506 by Christina TempelaarL in ue5-main branch]
2022-08-25 01:46:12 -04:00
Jimmy Andrews
443e248108 expose 2D voronoi diagram generation to geometryscript
#rb Ryan.Schmidt
#preflight 630534a4c85b7fef228cf2df

[CL 21518855 by Jimmy Andrews in ue5-main branch]
2022-08-23 16:22:55 -04:00
Jimmy Andrews
64b6e69f41 Propagate vertex colors internally on fracture via a smooth solve
+ Add a method to retrieve vertex connected components in a contiguous array, for faster per-component iteration

#rb tyson.brochu
#preflight 63041592c85b7fef225fdea0

[CL 21499942 by Jimmy Andrews in ue5-main branch]
2022-08-22 21:22:37 -04:00
Ryan Schmidt
f3f44f9dfd GeometryCore: make FDynamicMesh3::GetMeshInfoString() const
GeometryScript: add SplitMeshBowties, RepairMeshDegenerateGeometry, and GetMeshInfoString functions
#rb none
#preflight 630387dec85b7fef224a1dcd

[CL 21483407 by Ryan Schmidt in ue5-main branch]
2022-08-22 10:38:15 -04:00
bryan sefcik
a441877636 Updated several modules to have UnsafeTypeCastWarningLevel be an error so it matches other modules. This helps compile times because there will be less shared PCHs created.
#jira
#preflight 62ffcfb5fa1ac183e592146a

[CL 21461486 by bryan sefcik in ue5-main branch]
2022-08-19 14:30:30 -04:00
michael balzer
e803f94779 UVEditor: Optimized UUVSelectTool::OnSelectionChanged()
#preflight 62fec7aa3f75602b2f2565b8
#rb matija.kecman

[CL 21457570 by michael balzer in ue5-main branch]
2022-08-19 10:57:48 -04:00
Jimmy Andrews
4acfad1f33 add options on geometry collection creation
- make material duplication for internal materials optional
 - ask if user wants to split the mesh by connected component

+ implement the connected component split on the mesh description as part of the conversion, so we can do it before we've thrown out the mesh topology (geometry collection is a rendering rep that can't represent mesh topology; it splits at every UV seam and sharp edge)

#preflight 62fe8062f7404b55a3010ac6

[CL 21448521 by Jimmy Andrews in ue5-main branch]
2022-08-18 15:37:22 -04:00
Ryan Schmidt
9cbe007e84 GeometryCore: add support for custom per-path-point frames and scaling to FGeneralizedCylinderGenerator
GeometryScript: add new AppendSweepPolygon function, similar to AppendSimpleSweptPolygon but takes the sweep path as a list of FTransform instead of FVector, giving the caller more control over rotation and scaling along the sweep.
#rb rinat.abdrashitov
#preflight 62fd623087319bacfb1eec6d

[CL 21445763 by Ryan Schmidt in ue5-main branch]
2022-08-18 13:46:18 -04:00
Ryan Schmidt
430d6c4107 GeometryCore: add TConstObjectSharedAccess and FSharedConstDynamicMesh3 typedef for FDynamicMesh3. This template provides a way for an "owner" of an object to share it with background threads. The owner may have a TSharedPtr or some other ownership model in which it can provide a raw pointer, the TConstObjectSharedAccess can work with either. Receivers of the TConstObjectSharedAccess use a function AccessSharedObject() to access and process the shared object. See header comments for more details
#rb david.hill
#preflight 62fbd1410f2aefc97a75c0de

[CL 21414137 by Ryan Schmidt in ue5-main branch]
2022-08-16 16:55:42 -04:00
Jimmy Andrews
c0135363a4 add a Facing2 exact predicate
#rb david.hill
#preflight 62fa8554bd746abb9963712f

[CL 21400240 by Jimmy Andrews in ue5-main branch]
2022-08-15 22:08:00 -04:00
Jimmy Andrews
f29a8e9ddc fix rotating calipers failing to find extreme point due to two points on hull being close enough that they appear equal w.r.t. the extreme direction
fixes oriented bounding box not containing the output points in GeometryFlowTests

#jira UE-160567
#rb rinat.abdrashitov
#preflight 62f2c57ebc175ec68c148e6e

[CL 21298515 by Jimmy Andrews in ue5-main branch]
2022-08-09 16:57:45 -04:00