Fix asset to be soft when transformation is nan or inf

#2742
This commit is contained in:
Wojtek Figat
2024-07-04 18:05:47 +02:00
parent f40cf6539a
commit d1e54b821b
2 changed files with 11 additions and 3 deletions

View File

@@ -447,9 +447,13 @@ void RigidBody::OnActiveTransformChanged()
// Change actor transform (but with locking)
ASSERT(!_isUpdatingTransform);
_isUpdatingTransform = true;
Transform transform;
Transform transform = _transform;
PhysicsBackend::GetRigidActorPose(_actor, transform.Translation, transform.Orientation);
transform.Scale = _transform.Scale;
if (transform.Translation.IsNanOrInfinity() || transform.Orientation.IsNanOrInfinity())
{
LOG(Error, "GetRigidActorPose retuned NaN/Inf transformation");
transform = _transform;
}
if (_parent)
{
_parent->GetTransform().WorldToLocal(transform, _localTransform);