From b446345cf268ecaf71d29e7fae325dc1e58d087a Mon Sep 17 00:00:00 2001 From: Aaron Franke Date: Wed, 3 Apr 2024 03:05:39 -0700 Subject: [PATCH] Fix Area2D/3D not using node rotation for directional gravity --- modules/godot_physics_2d/godot_area_2d.cpp | 2 +- modules/godot_physics_3d/godot_area_3d.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/godot_physics_2d/godot_area_2d.cpp b/modules/godot_physics_2d/godot_area_2d.cpp index d6c786706c25..347eb68944b9 100644 --- a/modules/godot_physics_2d/godot_area_2d.cpp +++ b/modules/godot_physics_2d/godot_area_2d.cpp @@ -299,7 +299,7 @@ void GodotArea2D::compute_gravity(const Vector2 &p_position, Vector2 &r_gravity) r_gravity = v.normalized() * get_gravity(); } } else { - r_gravity = get_gravity_vector() * get_gravity(); + r_gravity = get_transform().basis_xform(get_gravity_vector() * get_gravity()); } } diff --git a/modules/godot_physics_3d/godot_area_3d.cpp b/modules/godot_physics_3d/godot_area_3d.cpp index d0b287b05861..7c1cb3762eac 100644 --- a/modules/godot_physics_3d/godot_area_3d.cpp +++ b/modules/godot_physics_3d/godot_area_3d.cpp @@ -330,7 +330,7 @@ void GodotArea3D::compute_gravity(const Vector3 &p_position, Vector3 &r_gravity) r_gravity = v.normalized() * get_gravity(); } } else { - r_gravity = get_gravity_vector() * get_gravity(); + r_gravity = get_transform().basis.xform(get_gravity_vector() * get_gravity()); } }