带矢量的java Freeflight相机如何正确旋转?
我有一台用vecmath.lookatMatrix(eye, center, up)
设置的相机
这个动作很好,向前,向后,向右,向左,这些都很好。
旋转似乎不太好
我的数学不是很好,所以我想我可能缺少了一些逻辑,但我认为旋转应该是这样的:
在绕Y轴旋转时,我在中心向量的X值上加上一个值
围绕X轴旋转时,I向中心向量的Y值添加/细分一个值
例如,这里是向右旋转:center = center.add(vecmath.vector(turnSpeed, 0, 0))
这确实有效,但有一些奇怪的行为。看起来,中心向量值的x/y越高,旋转越慢。我想这是因为通过对中心向量的加/减,它移动得太远或类似的东西,我真的很想知道实际发生了什么
实际上,在写这篇文章的时候,我才意识到这不能像这样工作,因为一旦我移动并旋转了一点,比如说我在“半空中”,旋转就错了
我真的希望有人能帮我
共 (0) 个答案