From 1621d06b82cab6542a9a46bb0addd127b5c44460 Mon Sep 17 00:00:00 2001 From: Jorrit Rouwe Date: Sun, 25 Feb 2024 19:55:25 +0100 Subject: [PATCH] API changes + release notes --- Docs/APIChanges.md | 1 + Docs/ReleaseNotes.md | 1 + 2 files changed, 2 insertions(+) diff --git a/Docs/APIChanges.md b/Docs/APIChanges.md index 3c2e2bc19..207c25b95 100644 --- a/Docs/APIChanges.md +++ b/Docs/APIChanges.md @@ -6,6 +6,7 @@ Changes that make some state saved through SaveBinaryState from a prior version ## Changes between v4.0.2 and latest +* 20240225 - *SBS* - Changes were made to SoftBodySharedSettings that break the binary serialization format of that class. (277b818ffefed4f15477ff1e6d0cc07065899903) * 20240223 - Added ConvexShape::ESupportMode::Default. If you have custom convex shapes you need to handle this in ConvexShape::GetSupportFunction. (0f67cc2915c5e34a4a38480580dad73888a1952e) * 20240216 - Restriction angular motion using EAllowedDOFs now works in world space rather than in local space. This change was made to be more in line with other physics engines and to fix some issues with constraints. If you need the old behavior then copy [this](https://github.com/jrouwe/JoltPhysics/blob/9631e217e54b8492ac36471f2aa966df40d6c2ad/Jolt/Physics/Body/MotionProperties.cpp#L33-L118) code into your own code base and call MotionProperties::SetInverseInertia(diagonal, rotation) where diagonal is called mInvInertiaDiagonal and rotation is called mInertiaRotation in the code snippet. (191536d51d71ee29147205aa09d1acab52789e5f) * 20240210 - Fixed spelling error EPathRotationConstraintType::ConstaintToPath to EPathRotationConstraintType::ConstrainToPath (6c095bbf7906b01f427b52d43212f5ebf760fc81) diff --git a/Docs/ReleaseNotes.md b/Docs/ReleaseNotes.md index 8ac65e1d1..f4be6f812 100644 --- a/Docs/ReleaseNotes.md +++ b/Docs/ReleaseNotes.md @@ -26,6 +26,7 @@ For breaking API changes see [this document](https://github.com/jrouwe/JoltPhysi * Added fraction hint to PathConstraintPath::GetClosestPoint. This can be used to speed up the search along the curve and to disambiguate fractions in case a path reaches the same point multiple times (i.e. a figure-8). * Added ability to update the height field materials after creation. * Added SoftBodyContactListener which allows you to get callbacks for collisions between soft bodies and rigid bodies. +* Added soft body skinning constraints. This can be used to limit the movement of soft body vertices based on a skinned mesh. You can specify a 'backstop' which is the max distance behind the plane formed by the skinned vertex and the averaged normal based on adjacent faces and a 'max distance' which stops the vertex when it moves more than this distance away from the vertex. This is mainly suitable for simulating clothing where you don't want to use highly detailed collision volumes to limit the movement of the soft body. ### Improvements * Multithreading the SetupVelocityConstraints job. This was causing a bottleneck in the case that there are a lot of constraints but very few possible collisions.