You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sometimes a collision between a KinematicBody2D with a CircleShape2D and a CollisionPolygon2D gives incorrect collision normals. This happens when the circle collides with a vertex, and the collision normal should point from the vertex to the circle.
In the minimal reproduction project there's a KinematicBody2D with a CircleShape2D of radius 50 and a CollisionPolygon2D. The circle moves over the polygon with move_and_collide() as if it was a character walking on a platform in a 2D platformer game. The circle can be controlled with arrow keys, and there's a green arrow on the screen indicating the collision normal.
The problem mostly happens if the movement speed is low, circle radius is high, and the collision happens far away from the origin.
Godot version
3.4.stable.official
System information
Windows 10
Issue description
Sometimes a collision between a KinematicBody2D with a CircleShape2D and a CollisionPolygon2D gives incorrect collision normals. This happens when the circle collides with a vertex, and the collision normal should point from the vertex to the circle.
#47185 looks like a similar problem but in 3D.
Steps to reproduce
In the minimal reproduction project there's a KinematicBody2D with a CircleShape2D of radius 50 and a CollisionPolygon2D. The circle moves over the polygon with move_and_collide() as if it was a character walking on a platform in a 2D platformer game. The circle can be controlled with arrow keys, and there's a green arrow on the screen indicating the collision normal.
The problem mostly happens if the movement speed is low, circle radius is high, and the collision happens far away from the origin.
Minimal reproduction project
CollisionNormalBug.zip
The text was updated successfully, but these errors were encountered: