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
CharacterBody3D.move_and_slide() doubles in speed as "physics ticks per second" gets higher (when sliding against wall and floor simultaneously)
#93334
Windows 10 - Godot v4.2.2.stable.official [15073af] - Vulkan (Forward+)
Issue description
When a CharacterBody3D is sliding against a wall and a floor at a very shallow angle and certain speeds, it will go twice as fast as it should. This starts happening at anything above 60 physics ticks per second, and becomes more constant the higher the ticks per second is raised.
Recording.mp4
The cube turns red when it is_on_wall() and is_on_floor()
Steps to reproduce
Place 2 static bodies, one wall and one floor. (I used BoxShapes)
Create a CharacterBody3D. (Again I used a BoxShape)
Place the CharacterBody3D so it is almost touching the 2 static bodies. (I did it 0.01 away on the y and z axes)
Set the velocity so it will barely brush up against the wall and floor while moving across them. (Vector3(-4.999919, -0.125, -0.028451) worked for me as this was in the range of velocities causing me issues in another project)
Set your Physics Ticks Per Second to a value higher than 60. (120 works, but it is easiest to observe at about 240)
Tested versions
System information
Windows 10 - Godot v4.2.2.stable.official [15073af] - Vulkan (Forward+)
Issue description
When a CharacterBody3D is sliding against a wall and a floor at a very shallow angle and certain speeds, it will go twice as fast as it should. This starts happening at anything above 60 physics ticks per second, and becomes more constant the higher the ticks per second is raised.
Recording.mp4
The cube turns red when it is_on_wall() and is_on_floor()
Steps to reproduce
Place 2 static bodies, one wall and one floor. (I used BoxShapes)
Create a CharacterBody3D. (Again I used a BoxShape)
Place the CharacterBody3D so it is almost touching the 2 static bodies. (I did it 0.01 away on the y and z axes)
Set the velocity so it will barely brush up against the wall and floor while moving across them. (Vector3(-4.999919, -0.125, -0.028451) worked for me as this was in the range of velocities causing me issues in another project)
Set your Physics Ticks Per Second to a value higher than 60. (120 works, but it is easiest to observe at about 240)
Minimal reproduction project (MRP)
move_and_slide_bug.zip
The text was updated successfully, but these errors were encountered: