我正在尝试使用带有min3D框架的加速度计为世界各地的cessna编码,但旋转有点奇怪。
我正在使用它将加速度计旋转应用于对象:
cessna.rotation().x = rotX;
cessna.rotation().z = rotZ;
这很好用。我还没想出如何向旋转方向移动(我想我必须使用三角法)。
我用
旋转了对象cessna.rotation().y++;
只是为了测试会发生什么。在180°处,围绕x轴的旋转被镜像。所以飞机的机头向下而不是向上。 我想我围绕世界轴旋转对象而不是从对象围绕局部轴旋转。我怎样才能做到这一点?我没有在互联网上找到任何关于min3D框架的文档:/。
谢谢你能帮助我。 (抱歉英语不好)
答案 0 :(得分:0)
如果要围绕对象局部轴旋转。这样做
(在伪代码中 - 你需要在min3d中找到类似的函数)
Translate(object.pos.x,object.pos.y,object.pos.z);
object.rotation().x+=radians(45);// or whatever
如果不起作用,请尝试在
中包装上面的两行 pushMatrix()
...
popMatrix()
或类似的功能在min 3d中保存然后恢复当前的相机旋转平移矩阵。
您是否考虑过,还附带Android'输出'?