diff --git a/libs/gltfio/src/math.h b/libs/gltfio/src/math.h index 2f5beed281..caa4782431 100644 --- a/libs/gltfio/src/math.h +++ b/libs/gltfio/src/math.h @@ -75,10 +75,12 @@ inline void decomposeMatrix(const filament::math::mat4f& mat, filament::math::fl clone[0] /= s.x; clone[1] /= s.y; clone[2] /= s.z; + // Extract rotation + *rotation = clone.toQuaternion(); + } else { + // Set to identity if close to zero + *rotation = quatf(1); } - - // Extract rotation. - *rotation = clone.toQuaternion(); } inline filament::math::mat4f composeMatrix(const filament::math::float3& translation,