Thank you Julio! I examined those points
1.
I put
- Code: Select all
NewtonBodySetAutoSleep(phys, 0);
MNewtonBodyUnfreeze(phys);
in my code. Afterwards, I do
- Code: Select all
int freezestate = NewtonBodyGetFreezeState(phys);
int autosleep = NewtonBodyGetAutoSleep(phys);
int sleepstate = NewtonBodyGetSleepState(phys);
before every NewtonUpdate() and they all return 0. I'm not 100% sure which values should there be, but I guess all 0 means everything gets simulated. The issue persists with this setup.

2.
My user collision is spans from (0, 0, 0) - (1024, 1024, 1024), placed at (0, 0, 0). I call NewtonSetWorldSize() with an additonal border of 100. So it's
(-100, -100, -100, 1124, 1124, 1124) in size. My sphere is at (512, 512, 512), z radius is 0.9, x and y are 0.5, and falls down 10 in z direction before it hits the triangle.
I added the OnAABBOverlap callback. It gets called every frame, the whole time from the beginning, hitting the triangle, standing still and floating in the air
after removing the triangle.

3.
From the values from 2., I don't think there is a world leaving issue. I added the LeaveWorldCallback anyways just to make sure: It never gets called.

I'm not sure if that helps, but when the sphere is hovering and I call NewtonInvalidateCache() once, the hovering stops and the sphere falls down.