From 095b2e249881434b44dc99fddc6026ba65f5930a Mon Sep 17 00:00:00 2001 From: Sara Date: Thu, 21 May 2026 14:18:36 +0200 Subject: [PATCH] fix: look_at condition for player movement uses flat_velocity --- modules/viscosity/player_movement_action.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/viscosity/player_movement_action.cpp b/modules/viscosity/player_movement_action.cpp index f302923b..0cc40dc1 100644 --- a/modules/viscosity/player_movement_action.cpp +++ b/modules/viscosity/player_movement_action.cpp @@ -22,8 +22,9 @@ void PlayerMovementAction::process_movement(bool look_at_movement) { target_velocity.y = velocity.y; velocity = velocity.move_toward(target_velocity, delta * actual_acceleration); Node3D *character{ get_blackboard()->get_character() }; - if (!velocity.is_zero_approx()) { - character->look_at(character->get_global_position() + Vector3(velocity.x, 0, velocity.z)); + Vector3 const flat_velocity{ velocity.x, 0, velocity.z }; + if (!flat_velocity.is_zero_approx()) { + character->look_at(character->get_global_position() + flat_velocity); } get_blackboard()->get_player_body()->set_velocity(velocity); }