Browse Source

Avoids spamming the user when the COLLADA importer detects a singular basis during the animation import.
Fixes https://github.com/godotengine/godot/issues/22848.

Guillaume Laforte 6 years ago
parent
commit
3f22f8d1f0
1 changed files with 2 additions and 2 deletions
  1. 2 2
      editor/import/editor_import_collada.cpp

+ 2 - 2
editor/import/editor_import_collada.cpp

@@ -1655,7 +1655,7 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones
 				}
 				}
 			}
 			}
 
 
-			Quat q = xform.basis.get_rotation_quat();
+			Quat q = Math::is_equal_approx(xform.basis.determinant(), 0) ? Quat() : xform.basis.get_rotation_quat();
 			Vector3 s = xform.basis.get_scale();
 			Vector3 s = xform.basis.get_scale();
 			Vector3 l = xform.origin;
 			Vector3 l = xform.origin;
 
 
@@ -1705,7 +1705,7 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones
 
 
 			xform = sk->get_bone_rest(nm.bone).affine_inverse() * xform;
 			xform = sk->get_bone_rest(nm.bone).affine_inverse() * xform;
 
 
-			Quat q = xform.basis.get_rotation_quat();
+			Quat q = Math::is_equal_approx(xform.basis.determinant(), 0) ? Quat() : xform.basis.get_rotation_quat();
 			Vector3 s = xform.basis.get_scale();
 			Vector3 s = xform.basis.get_scale();
 			Vector3 l = xform.origin;
 			Vector3 l = xform.origin;