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
If you simulate a rigibody that uses multiple collision shapes, after some time all it's position and velocity values will be set to NaN, and the console will spam error messages:
ERROR: set_axis_angle: The axis Vector3 must be normalized.
At: core/math/basis.cpp:980.
ERROR: instance_set_transform: Condition "Math::is_nan(v.x)" is true.
At: servers/visual/visual_server_scene.cpp:723.
This only happens using the Godot physics backend.
If you turn on drawing of collision shapes, you can see that it's drawing contact points between the rigid bodies own collision shapes:
Steps to reproduce:
Create a rigidbody that is composed of multiple collision shapes
Simulate it for some time and wait for the error messages. The simulation is not deterministic, so it doesn't always happen.
From that list #44901 seemed like a potential candidate, and indeed disabling 3d/godot_physics/use_bvh in the project settings fixes the regression for this project. CC @lawnjelly@pouleyKetchoupp
It looks like there's a check I've missed in the BVH .. if the calling userdata is the same for 2 colliding objects, the callbacks should not be sent (the userdata being the physics object, the table I guess?), which must be the mechanism used to prevent self collision. This should be easy enough to fix.
The spam from the physics may be this self intersection situation it cannot deal with for some reason.
Godot version:
3.3rc6, 3.3.rc.custom_build.cca2637b9
Couldn't reproduce this on 3.2.3
OS/device including version:
N/A
Issue description:
If you simulate a rigibody that uses multiple collision shapes, after some time all it's position and velocity values will be set to NaN, and the console will spam error messages:
This only happens using the Godot physics backend.
If you turn on drawing of collision shapes, you can see that it's drawing contact points between the rigid bodies own collision shapes:
Steps to reproduce:
Minimal reproduction project:
rigid-compound-shape-bug.zip
The text was updated successfully, but these errors were encountered: