IGameConversionManager->SetCoordSystem(IGameConversionManager::IGAME_OGL);
使用OPENGL的坐标系统:
enum CoordSystem{
IGAME_MAX, /*!<Max RH Z up & +Y*/
IGAME_D3D, /*!<DirectX LH Y up & +Z*/
IGAME_OGL, /*!<OpenGL RH Y up & -Z*/
IGAME_USER /*!<User defined Coord System*/
};
根据数据可以看出来,y最小值是0. 即:3dsmax将显示的坐标轴z变成y, y变成z;但是由于OPENGL是+Z朝外,所以z要变成-z,再和y交换. 此保证按照用户所看到的形状导出.
3dsmax显示的坐标轴,理解为描述物体. 即它标着z轴向上, 我们简单将其想成Y就行. 我们要的是数值正确.
3dsmax变成OpenGL: temp =y; y =z; z =-temp;
3dsmax变成D3D的最便捷,直接y和z交换.
12:37 2013/1/2
用IGame导出矩形,三角形的顺序为,上下前,绕Y轴逆时针旋转.