2
0
Эх сурвалжийг харах

Remove setting that caused is_inside_tree() errors on doppler tracking enabled.

Juan Linietsky 6 жил өмнө
parent
commit
3299045988

+ 2 - 8
core/math/basis.cpp

@@ -76,23 +76,17 @@ void Basis::invert() {
 }
 
 void Basis::orthonormalize() {
-	/* this check is undesired, the matrix could be wrong but we still may want to generate a valid one
-	 * for practical purposes
+
 #ifdef MATH_CHECKS
 	ERR_FAIL_COND(determinant() == 0);
 #endif
-*/
+
 	// Gram-Schmidt Process
 
 	Vector3 x = get_axis(0);
 	Vector3 y = get_axis(1);
 	Vector3 z = get_axis(2);
 
-#ifdef MATH_CHECKS
-	ERR_FAIL_COND(x.length_squared() == 0);
-	ERR_FAIL_COND(y.length_squared() == 0);
-	ERR_FAIL_COND(z.length_squared() == 0);
-#endif
 	x.normalize();
 	y = (y - x * (x.dot(y)));
 	y.normalize();

+ 3 - 1
scene/3d/audio_stream_player_3d.cpp

@@ -860,7 +860,9 @@ void AudioStreamPlayer3D::set_doppler_tracking(DopplerTracking p_tracking) {
 	if (doppler_tracking != DOPPLER_TRACKING_DISABLED) {
 		set_notify_transform(true);
 		velocity_tracker->set_track_physics_step(doppler_tracking == DOPPLER_TRACKING_PHYSICS_STEP);
-		velocity_tracker->reset(get_global_transform().origin);
+		if (is_inside_tree()) {
+			velocity_tracker->reset(get_global_transform().origin);
+		}
 	} else {
 		set_notify_transform(false);
 	}

+ 3 - 1
scene/3d/camera.cpp

@@ -449,7 +449,9 @@ void Camera::set_doppler_tracking(DopplerTracking p_tracking) {
 	doppler_tracking = p_tracking;
 	if (p_tracking != DOPPLER_TRACKING_DISABLED) {
 		velocity_tracker->set_track_physics_step(doppler_tracking == DOPPLER_TRACKING_PHYSICS_STEP);
-		velocity_tracker->reset(get_global_transform().origin);
+		if (is_inside_tree()) {
+			velocity_tracker->reset(get_global_transform().origin);
+		}
 	}
 	_update_camera_mode();
 }