Hi there!
So in my last thread i realized, that I had introduced a problematic bug in form af a bad basis change of the inverse inertia tensor. That got fixed. But my engine is still behaving oddly. It's mostly based off the Ian Millington Cyclone engine, but with my own modifications especially in terms of creating the contact manifold.
Currently we only have one object (the OBB) which collides with static AABBs. The videos show the actual contact points (white squares) and their normals (yellow lines). I do have problems with several parts of the algorithm
The object currently has the following INVERSE inertia tensor:
inverseTensorIntertia = { 0.09f,0.0f,0.0f,
0.0f,0.28f,0.0f,
0.0f,0.0f,0.12f };
When I only apply the position and orientation corrections it looks like this (seems to be working):
Whenever I enable the velocity correction, the object spins slowly even though no forces should be applied but gravity:
Further more if I apply a bit of force to the object (outside the center of mass) still not using friction, I end up with endless rotations:
Whenever I do apply the friction contact impulse calculation, everything lives it's own life:
If you want to “scroll” through the code it's here:
If anyone can help me just get in the right direction, I'd love it. I've added some debug visuals since the last time, so everything should be easier to get.