Make sure stop on slope can have a tiny bit of precision edge.
This commit is contained in:
parent
f439b786ea
commit
c54330c6b0
2 changed files with 2 additions and 2 deletions
|
@ -1290,7 +1290,7 @@ Vector2 KinematicBody2D::move_and_slide(const Vector2 &p_linear_velocity, const
|
|||
floor_velocity = collision.collider_vel;
|
||||
|
||||
if (p_stop_on_slope) {
|
||||
if (Vector2() == lv_n + p_floor_direction && collision.travel.length() < 1) {
|
||||
if ((lv_n + p_floor_direction).length() < 0.01 && collision.travel.length() < 1) {
|
||||
Transform2D gt = get_global_transform();
|
||||
gt.elements[2] -= collision.travel.project(p_floor_direction.tangent());
|
||||
set_global_transform(gt);
|
||||
|
|
|
@ -1222,7 +1222,7 @@ Vector3 KinematicBody::move_and_slide(const Vector3 &p_linear_velocity, const Ve
|
|||
floor_velocity = collision.collider_vel;
|
||||
|
||||
if (p_stop_on_slope) {
|
||||
if (Vector3() == lv_n + p_floor_direction) {
|
||||
if ((lv_n + p_floor_direction).length() < 0.01) {
|
||||
Transform gt = get_global_transform();
|
||||
gt.origin -= collision.travel;
|
||||
set_global_transform(gt);
|
||||
|
|
Loading…
Reference in a new issue