Backported from godot4: Add NavigationRegion rotation warning

Adds NavigationRegion rotation warning.
- smix8
4d8553ff63
This commit is contained in:
Relintai 2023-09-02 13:15:19 +02:00
parent 09af276838
commit 2f1447dfe5

View File

@ -108,10 +108,16 @@ void NavRegion::update_polygons() {
return; return;
} }
#ifdef DEBUG_ENABLED
if (!Math::is_equal_approx(double(map->get_cell_size()), double(mesh->get_cell_size()))) { 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."); 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::rad2deg(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
PoolVector<Vector3> vertices = mesh->get_vertices(); PoolVector<Vector3> vertices = mesh->get_vertices();
int len = vertices.size(); int len = vertices.size();
if (len == 0) { if (len == 0) {