diff options
| author | DualMatrix <piet.goris@gmail.com> | 2018-11-29 02:24:33 +0100 | 
|---|---|---|
| committer | DualMatrix <piet.goris@gmail.com> | 2018-11-29 02:24:33 +0100 | 
| commit | 86472ad5a99e0d597df13d2b8e930ed6ad24ef6c (patch) | |
| tree | 0d86aed3a537dab1aa2023063042a97f47704412 | |
| parent | f2ae14f3097c025382bd8645748f1d8b85560a2e (diff) | |
Fixed using move_and_slide with stop_on_slope stopping too early
This makes it stop exactly on the slope, I'm not 100% sure if this if this is the correct fix let me know what you think.
Fixes #23675
| -rw-r--r-- | scene/2d/physics_body_2d.cpp | 2 | 
1 files changed, 1 insertions, 1 deletions
diff --git a/scene/2d/physics_body_2d.cpp b/scene/2d/physics_body_2d.cpp index 3dde228bfa..d6b301e10d 100644 --- a/scene/2d/physics_body_2d.cpp +++ b/scene/2d/physics_body_2d.cpp @@ -1293,7 +1293,7 @@ Vector2 KinematicBody2D::move_and_slide(const Vector2 &p_linear_velocity, const  						if (p_stop_on_slope) {  							if (Vector2() == lv_n + p_floor_direction) {  								Transform2D gt = get_global_transform(); -								gt.elements[2] -= collision.travel; +								gt.elements[2] -= collision.travel.project(p_floor_direction.tangent());  								set_global_transform(gt);  								return Vector2();  							}  |