Explorar el Código

Fixed floating point issue in find() of animation.

Fixes #23504
DualMatrix hace 6 años
padre
commit
b4315abb71
Se han modificado 1 ficheros con 1 adiciones y 1 borrados
  1. 1 1
      scene/resources/animation.cpp

+ 1 - 1
scene/resources/animation.cpp

@@ -1469,7 +1469,7 @@ int Animation::_find(const Vector<K> &p_keys, float p_time) const {
 
 		middle = (low + high) / 2;
 
-		if (p_time == keys[middle].time) { //match
+		if (Math::abs(p_time - keys[middle].time) < CMP_EPSILON) { //match
 			return middle;
 		} else if (p_time < keys[middle].time)
 			high = middle - 1; //search low end of array