我用vecmath.lookatMatrix(eye, center, up)
设置了这台相机。
运动正常,向前,向后,向右,向左,这些工作正常。 什么似乎没有工作很好是旋转。带矢量的自由飞行相机 - 如何正确旋转?
我不是在数学真的很好,所以我想我可以在这里失去了一些逻辑,但我想旋转就这样工作的:
周围的Y轴旋转我加/减的值到中心向量的X值。
围绕X轴的旋转I向中心向量的的的值添加/ sub值。
例如这里是向右转:center = center.add(vecmath.vector(turnSpeed, 0, 0))
这实际上有效,但有一些奇怪的行为。看起来中心矢量值的x/y越高,旋转越慢。我想这是因为通过添加/减去中心向量它移动太远或类似的东西,我真的想知道实际发生了什么。
其实在写这个,我才意识到这不能这样工作,因为一旦我搬来搬去和旋转了一下,例如我在“半空中”,旋转将是错误的.. ..
我真的希望有人能帮助我在这里。
嗯,坦克你的第一篇文章,似乎有趣。 从我的理解我需要乘旋转矩阵的眼睛和中心之间的向量? 只是为了清楚我的意思:http://2.bp.blogspot.com/_ltmZpULxXtI/TSZll_0SASI/AAAAAAAAAeY/nal05L9OOm4/s320/gluLookAt_camera.png 我刚试过,但我觉得我失败了.... – 2014-09-13 22:33:32
我已经添加了一个链接到我的答案,检查出来。 – sfThomas 2014-09-15 07:21:10
我试着用这些矩阵工作,它种工作中途,它只是工作绕Y轴但不THEX轴,我不知道这是否是从我不好动,但我张贴“新“问题是一个新问题。但有人帮助我,所以我会在这里发布一个链接来回答这个问题。 我希望这对你有好处,我很高兴你试图帮助我,我会upvote你的答案。 – 2014-09-15 14:53:08