Тема: variable inf
Показать сообщение отдельно
Старый 16.11.2006, 17:02   #4
jimon
 
Сообщений: n/a
Re: variable inf

трабла в трансформации матрицы 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
и из-за етого модель "ищезает" - позицируется не правильно
 
Ответить с цитированием