stride3d / stride

Stride Game Engine (formerly Xenko)
https://stride3d.net
MIT License
6.51k stars 942 forks source link

Rigidbody sinks kinetic rigidbody when it moves randomly #2076

Open itn3000 opened 9 months ago

itn3000 commented 9 months ago

Release Type: Official Release

Version: 4.2.0.2043

Platform(s): Windows

Describe the bug Some rigidbody(as BodyA) sinks another kinetic rigidbody(as BodyB) if following conditions

To Reproduce Steps to reproduce the behavior:

  1. create project as New Game
  2. add sphere collider to sphere set friction as 0.5
  3. creating box model and kinetic box collider under the sphere
  4. set script to move box with cursor( my source
  5. run project and move box to random direction

here is my sample project: https://github.com/itn3000/StrideKinematicTest

Expected behavior the sphere slides on box and does not sink to box

Screenshots StrideKinematicTest

Log and callstacks no logs.

Additional context

Nicogo1705 commented 9 months ago

probably not what you want to hear from that issue, but as a work around, i would be glad to see someone using my Bepu implementation :)

archanox commented 9 months ago

@Nicogo1705 any plans to replace bullet with Bepu within stride as the default physics engine?

Nicogo1705 commented 9 months ago

@Nicogo1705 any plans to replace bullet with Bepu within stride as the default physics engine?

It doesn't depend only on me. I've invested quite a bit of time in Bepu; the implementation is starting to work really well and is becoming complete. I still have a minor issue with serialization in the editor (an error that pops up somewhat randomly). From there, if the maintainers of Stride want a PR, I need to know exactly what needs to be changed and the effort it would require. Depending on that, Bepu could officially be a part of Stride.

But we're somewhat off-topic. If you have other questions, I invite you to my repositorry or to a dedicated discussion on the Stride repository or Discord

itn3000 commented 9 months ago

I tested on bepu impl( https://github.com/Nicogo1705/BepuPhysicIntegrationTest ), the problem has not occurred so far.