godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
90.98k stars 21.16k forks source link

RigidBody pushes KinematicBody in 3D Godot physics #49203

Open madmiraal opened 3 years ago

madmiraal commented 3 years ago

Godot version: 3.3.2 but happens on master too

OS/device including version: Ubuntu 20.10

Issue description: In 3D Godot physics, but not 3D Bullet physics or 2D Godot physics, a RigidBody is able to move a KinematicBody. This should never happen.

Steps to reproduce: Ensure physics engine is set to GodotPhysics. Create a KinematicBody and attach a script that calls a move_* function in _physics_process() with a movement or velocity of Vector3(0,0,0). Create a RigidBody and disable can_sleep. Place it above a KinematicBody so it falls down onto the KinematicBody under gravity. Watch it move the KinematicBody.

Minimal reproduction project: 3.x version: RigidvsKinematic3.x.zip 4.0 version: RigidvsKinematic4.0.zip

andersmmg commented 3 years ago

I have the same problem, but running in Bullet? Not sure if the cause is the same, but I haven't been able to pin down the cause.