Explorar o código

Merge pull request #78173 from smix8/navregion_rot_warning_4.x

Add NavigationRegion rotation warning
Rémi Verschelde %!s(int64=2) %!d(string=hai) anos
pai
achega
2b373f795c
Modificáronse 1 ficheiros con 6 adicións e 0 borrados
  1. 6 0
      modules/navigation/nav_region.cpp

+ 6 - 0
modules/navigation/nav_region.cpp

@@ -105,10 +105,16 @@ void NavRegion::update_polygons() {
 		return;
 	}
 
+#ifdef DEBUG_ENABLED
 	if (!Math::is_equal_approx(double(map->get_cell_size()), double(mesh->get_cell_size()))) {
 		ERR_PRINT_ONCE("Navigation map synchronization error. Attempted to update a navigation region with a navigation mesh that uses a different `cell_size` than the `cell_size` set on the navigation map.");
 	}
 
+	if (map && Math::rad_to_deg(map->get_up().angle_to(transform.basis.get_column(1))) >= 90.0f) {
+		ERR_PRINT_ONCE("Navigation map synchronization error. Attempted to update a navigation region transform rotated 90 degrees or more away from the current navigation map UP orientation.");
+	}
+#endif // DEBUG_ENABLED
+
 	Vector<Vector3> vertices = mesh->get_vertices();
 	int len = vertices.size();
 	if (len == 0) {