Closed belzecue closed 3 years ago
Camera has sphere collision area radius to light/far length. Idea is that this collision sphere triggers meshes on (inside) and off (outside).
As a workaround, you can use distance checks using Vector3.distance_to()
on sporadic time intervals. It effectively works the same as a sphere.
Okay, while doing the MRP, I discovered what setting causes this. It's the Area:Monitorable setting.
In my project, I had this set to OFF for the camera area sphere (and Area:Monitoring set to ON), on the assumption that only the camera sphere needed to actively monitor for collisions. This does indeed work for Bullet physics, as proven. But when you flip over to GodotPhysics, BOTH need to be set to ON.
For the MRP attached here, try these combinations, run, and WASD-move through the cube matrix, keeping an eye on the console printout:
Is this a known difference between the two physics engines?
I can confirm it's a bug, areas with monitorable
set to false fail to detect static bodies in Godot Physics.
Duplicate of #17238.
Closing as duplicate.
Godot version
v3.3.2.stable.official
System information
Linux Ubuntu 20.04 / Mesa Intel(R) UHD Graphics 605 (GLK 3)
Issue description
I had left my project physics at DEFAULT (Bullet) and happened to flip it over to GodotPhysics and got a shock seeing that my body_shape_entered/body_shape_exited signals no longer worked.
Here's a video demonstration showing it working under Bullet, changing over to GodotPhysics, and it no longer works:
https://www.youtube.com/watch?v=ntHQKE6akn4
What should happen -- and does happen under BULLET:
What happens under GodotPhysics:
1 through 4, as above, but
Observations:
Steps to reproduce
I don't wish to upload my full project here, and will instead put together an MRP if no one has any clues as to what's going on here.
Minimal reproduction project
Per above.