rinat abdrashitov
5b2cbccdaf
Add an option to the ChaosCloth TransferSkinWeights node that allows to choose the max number of bone influences per vertex.
...
Propagate this change to the TransferBoneWeights and SmoothBoneWeights geometry operators by allowing to manually specify the max number of influences per bone for the output per-vertex weights.
#rb halfdan.ingvarsson, kriss.gossart
#jira UE-184186
#rnx
[CL 31029121 by rinat abdrashitov in ue5-main branch]
2024-01-30 18:53:34 -05:00
jimmy andrews
5c8db45f2c
fix bug where clipper ellipse could request more than max_int steps for an ellipse and crash
...
+ make the one place that calls that ellipse method use its own logic to specify the number of steps per radian, so it will request many fewer steps per ellipse
#rb David.Hill
[CL 30987939 by jimmy andrews in ue5-main branch]
2024-01-30 00:05:28 -05:00
steve robb
f029468598
Fixed up a lot of bool-taking container resize functions to take EAllowShrinking instead.
...
[CL 30729174 by steve robb in ue5-main branch]
2024-01-19 16:41:35 -05:00
marc audy
19e84555b3
Silence PVS warnings
...
[CL 30653812 by marc audy in ue5-main branch]
2024-01-17 01:34:02 -05:00
ryan schmidt
2c11bfc349
Mesh Bevel: remove ensures that are getting hit in some cases in Lyra. Failure is not catastrophic, so we do not really need to ensure here.
...
[CL 30399602 by ryan schmidt in ue5-main branch]
2023-12-19 13:48:50 -05:00
jimmy andrews
687489972d
Make SimpleShapeSet3's sphere transform method match the editor's approach for transforming simple collision spheres -- scaling the radius by the minimum abs-value axis scale -- to get more consistent results when baking component transforms.
...
#rb lonnie.li
[CL 30359736 by jimmy andrews in ue5-main branch]
2023-12-15 16:08:22 -05:00
ryan schmidt
08a4212d9b
fix various issues with mesh bevel. Boundary-condition normals are now computed before any meshing. DisplaceVertices() now tries to keep terminator vertex positions on existing mesh edges (this should be improved to stay on group edges, in most cases a group edge can be selected topologically, but for now just snapping to mesh edges to handle the simple lowpoly-boxy cases). Simplify/improve computation of section planes in ApplyProfileShape_Round() - in all cases except corners, the section plane is well-defined by the two inset edge points and the original vertex position. This allowed removal of PlanarizeArcNormals function. Also now handling flipped orientation of quad patch relative to edge vertex sequence.
...
Added more error handling inFQuadGridPatch::InitializeFromQuadPatch. Fixed property invalidating in PolyEdit bevel activity.
[CL 30356938 by ryan schmidt in ue5-main branch]
2023-12-15 14:57:40 -05:00
ryan schmidt
58c4571ebf
fix Mac-specific build issue
...
[CL 30281057 by ryan schmidt in ue5-main branch]
2023-12-12 18:09:03 -05:00
ryan schmidt
a86e132008
Add support for multi-segment bevels with optional round profile in MeshBevel. The new code path is completely separated from the previous code. Works OK but handling of valence-3 bevel corners (filled with a rounded triangle) could be improved.
...
Expose in Geometry Script and PolyEdit functions.
[CL 30280525 by ryan schmidt in ue5-main branch]
2023-12-12 17:55:33 -05:00
jimmy andrews
5ad5ac93dd
add collision shape merging to the 'mesh to collision' tool
...
#jira UE-182346
#rb rinat.abdrashitov
[CL 30171356 by jimmy andrews in ue5-main branch]
2023-12-06 18:23:45 -05:00
ryan schmidt
d205e117bb
GeometryProcessing: various utility functions to assist with rounded bevels implementation
...
- add 2D version of VectorTanHalfAngle to VectorUtil.h
- add FDynamicMeshUVEditor::SetToPerVertexUVs, initializes overlay to have a single UV for each vertex
- add FQuadGridPatch::InitializeFromQuadPatch(), initializes the quad grid from external rows of quads and associated vertices
- add FQuadGridPatch::GetVertexColumn(), returns the list of vertices in a specific grid column
- add FQuadGridPatch::FindColumnIndex(), finds the index of the grid column that contains a specific Vertex ID
#rb rinat.abdrashitov
[CL 30166232 by ryan schmidt in ue5-main branch]
2023-12-06 15:32:17 -05:00
jimmy andrews
72f8004de6
CIS fix for static analyzer warning in DetectExteriorVisibility.cpp (1/3 should be 1.0/3.0)
...
#rb jimmy.andrews
[CL 30063776 by jimmy andrews in ue5-main branch]
2023-12-01 20:26:42 -05:00
jimmy andrews
76c9580c1e
Add support for transparent meshes/faces in detect exterior visibility algorithm + associated geometry script function.
...
Also improve behavior (+ add control of behavior) for meshes with degenerate triangles, so meshes with degenerate triangles will not always be treated as visible.
#rb david.hill
[CL 30051521 by jimmy andrews in ue5-main branch]
2023-12-01 15:37:09 -05:00
marc audy
01e7381e04
Fix C4702 warnings
...
#rnx
[CL 29975801 by marc audy in ue5-main branch]
2023-11-28 19:03:48 -05:00
ryan schmidt
f3d166d6ab
Geometry: fix copy-pasta in computation of Voronoi area for cotangent weights
...
#rb tyson.brochu
[CL 29891017 by ryan schmidt in ue5-main branch]
2023-11-22 12:17:31 -05:00
jimmy andrews
b23af468dd
expose convex decomposition's shape protection to the set collision geometry tool
...
#rb rinat.abdrashitov
[CL 29876664 by jimmy andrews in ue5-main branch]
2023-11-21 18:01:32 -05:00
marc audy
9d3a7a188e
Fix C4702
...
#rb Ryan.Schmidt
#rnx
[CL 29867068 by marc audy in ue5-main branch]
2023-11-21 11:38:09 -05:00
marc audy
763a611985
Fix C4072 warnings
...
#rnx
[CL 29852844 by marc audy in ue5-main branch]
2023-11-20 17:26:53 -05:00
jimmy andrews
a2c37576bd
prevent cones and cylinders-with-open-ends from being auto-detected as capsules by mesh to collision / shape auto-detection, by adding additional criteria to the capsule detection
...
plus add a fix to the sphere auto-detection angle tolerance case
#rb David.Hill
[CL 29762868 by jimmy andrews in ue5-main branch]
2023-11-15 17:56:28 -05:00
jimmy andrews
92b2f038c9
Expose exterior visibility algorithm in GeometryProcessing DynamicMesh module, and use it to add an operation to determine which mesh instances are fully occluded. Also add this operation as a new Geometry Script function.
...
#rb matija.kecman
[CL 29721084 by jimmy andrews in ue5-main branch]
2023-11-14 14:34:03 -05:00
marc audy
399bcf9971
Disable PVS warning V758
...
Silence V570 false positives for bit field assignments
Silence various other PVS warnings
#rnx
[CL 29706746 by marc audy in ue5-main branch]
2023-11-14 00:29:43 -05:00
jimmy andrews
eb2eeaf4e2
Make group self-loop edges get frame normals by plane fit, rather than picking the normal off an arbitrary triangle
...
#jira UE-179036
#rb matija.kecman
[CL 29328278 by jimmy andrews in ue5-main branch]
2023-11-01 15:20:24 -04:00
jimmy andrews
5242b95c81
add an angle-based metric for controlling sphere approximation acceptance, and clarify that the existing radial tolerance is vs the best distance possible for an edge of that length rather than the actual distance to the sphere surface. The angle tolerance gives an intuitive control for how coarse a tessellation could be accepted as a sphere.
...
Set a default value of 72 degrees max angle, so that e.g. cone volumes aren't recognized as spheres.
#rb matija.kecman
[CL 29322771 by jimmy andrews in ue5-main branch]
2023-11-01 13:07:51 -04:00
steve robb
3b6462b7e7
Fixed TArrays of C arrays.
...
#rb devin.doucette
[CL 29127238 by steve robb in ue5-main branch]
2023-10-26 05:10:20 -04:00
jimmy andrews
255c215278
Make group topology choose an average edge position instead of a midpoint when the edge is a self-loop
...
#jira UE-194590
#rb matija.kecman
[CL 29025981 by jimmy andrews in ue5-main branch]
2023-10-23 21:07:20 -04:00