Upbge: 0.3.0: Physics Handling

Created on 21 Oct 2020  路  6Comments  路  Source: UPBGE/upbge

I noticed strange behavior in the more recent UPBGE 0.3.0 builds. When moving against a wall with a rigid body or a dynamic object , the physics handling seems "squishy", for lack of a better word 馃

I remember this from old versions of the BGE back in the day, at some point it was gone though. Is this on purpose or did something happen? I saw that @youle31 restored some of the Soft Body physics (really nice work btw!), I think that behavior came in around that time.

Here's a demo file (just press W to run into the wall):
Collision_Handling.zip

0.3 Investigating

Most helpful comment

The "issue" comes from bullet update that did Blender. Basically, with new versions of bullet when you move a rigid or dynamic body with simply motion (loc, etc) you can go through the static object. You will have to use velocities and forces to be detected well.

I'm looking for a improvement like force to use continuos detection but i have to check it first

All 6 comments

The "issue" comes from bullet update that did Blender. Basically, with new versions of bullet when you move a rigid or dynamic body with simply motion (loc, etc) you can go through the static object. You will have to use velocities and forces to be detected well.

I'm looking for a improvement like force to use continuos detection but i have to check it first

Ah alright, it's good to know where it's coming from.
It was like this a few years back too I think

I have been toying with CCD myself - I have been wondering if maybe somehow we can batch raycasts per object
(from a single vertex or a whole mesh) from it's previous location to it's next location

I was doing tests and increasing the physics substeps (to 2 or 3) avoids the big part of collision tunneling (using motion loc instead of right velocity/forces). I'm going to add an option to use Ccd (continuous collision detection) for rigid body objects in the next days

That's interesting.

When we compare with SoftBodies, in SoftBodies settings there are 2 settings:

  • Position solver iterations (and I guess it increase the detection precision of "moving objects")
  • Velocity solver iterations (and I guess it is to increase the detection precision of objects with a velocity)
    Maybe it is in the tooltips, i didn't look.

So there is a "general" setting (substeps) to increase prescision for everything and more granular settings.

And with your fix, even if it is not named position iteration but position threshold (setCcdMotionThreshold), this will be a nice option.

Now is fixed in master. The issue comes for new bullet version that modified default parameters. Now, these parameters are fixed and exposed in scene tab under Physics settings.

Thanks for reporting. Closing

Was this page helpful?
0 / 5 - 0 ratings

Related issues

EndSSgamesStudio picture EndSSgamesStudio  路  7Comments

UnidayStudio picture UnidayStudio  路  4Comments

Feral3d picture Feral3d  路  3Comments

vlad0337187 picture vlad0337187  路  7Comments

RomStef picture RomStef  路  7Comments