i have found that issue. It is not a angular velocity. It looks like getRotation().getX(), getRotation().getY(), getRotation().getZ() returns wrong sign sometimes. I don't know how to fix it.
EDIT:
I think i've got it.
Original code
Code: Select all
btScalar trace = m_el[0].x() + m_el[1].y() + m_el[2].z();
btScalar temp[4];
if (trace > btScalar(0.0))
{
btScalar s = btSqrt(trace + btScalar(1.0));
Code: Select all
btScalar trace = m_el[0].x() + m_el[1].y() + m_el[2].z();
btScalar temp[4];
btScalar s = btSqrt(trace + btScalar(1.0));
if (s > btScalar(0.0))
{
Am I right?