трабла в трансформации матрицы physx -> irr
void CCar_PhysX::UpdateIrrCarBody()
{
NxMat34 pose = GetNxVehicle()->getActor()->getGlobalPose();
const NxVec3 pos = pose.t;
const NxMat33 orient = pose.M;
irr::core::matrix4 irrMat;
orient.getColumnMajorStride4(&irrMat.M[0]);
pos.get(&irrMat.M[12]);
irrMat.M[3] = irrMat.M[7] = irrMat.M[11] = 0.0f;
irrMat.M[15] = 1.0f;
irr::core::matrix4 irrMat2;
irrMat2.setRotationDegrees(irr::core::vector3df(0,-90.0f,0));
irrMat*=irrMat2;
car_node->setPosition(irrMat.getTranslation());
car_node->setRotation(irrMat.getRotationDegrees());
car_node->updateAbsolutePosition();
}
когда поворот обьекта в physx по оси Y будет приблежен к 0 и 180
то в матрице irrMat поворот по Y почему то обозначается как inf
и из-за етого модель "ищезает" - позицируется не правильно