godot-jolt / godot-jolt

Godot Jolt is a Godot extension that integrates the Jolt physics engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

One-way collision with kinematic body yields strange contacts and NaNs

ghostsoft opened this issue · comments

move_and_collide_bug.zip

To reproduce: left click mouse and drag around to move the dragbody object using move_and_collide(). Turning off the collision layer so the dragbody object has no influence on the standingbody (there is code for this in the _ready() function) will cause collision points to appear all over the scene and when released the object might get a huge boost of speed or result in !v.is_finite is true errors. With the collision layer on, the dragbody body can influence and push the standingbody object and these errors no longer happen.

In default GodotPhysics3D neither of these things happen and the dragbody simply has no influence on the standingbody while frozen.

Apologies for the late triage, but it does seem like this has been fixed already, as part of updating Jolt itself in #800.

I'm guessing that it was probably jrouwe/JoltPhysics#949 that fixed it.

The fix for this can now be found in the latest pre-release, 0.13.0-beta1, which you'll find here.

Note that this version targets the just recently released Godot 4.3-beta1, so won't work with Godot 4.2. Also note that this version is not available through the Godot Asset Library, so you'll need to download it through GitHub.

A proper release will be out some time around Godot 4.3-stable.