我需要一种方法(在java中)来计算我的相机将在x和z轴上向前移动的方向,基于我的相机面对的方向(偏航),对于y(垂直轴),俯仰。我在做我自己的游戏引擎和相机。
当所有值默认为零时,移动相机将正确地引导沿正z轴的所有运动。然而,当我把相机移到左边或右边(从而改变偏航)时,相机仍然只沿z轴运动.那么,如何计算x,y,z轴方向的变化呢?
偏航范围为0(南),45(西南),90(西),135(西北),180(北),225(东北),270(东),315(东南),回到360(南,同0)。
我要找的是指南针的方向(其中'+‘或’'-‘表示沿该轴值的变化):
South = x, y, z+
我正在为一个OpenGL ES 2.0 iOS应用程序实现平移,在某些情况下,我正在努力在z方向上进行平移。最初加载模型时,y+位于屏幕顶部,x+指向屏幕的左侧,而z+则指向屏幕外的用户。在这种情况下,平移的工作方式与预期的一样--平移“向右”按预期沿正x轴移动模型。Y也适用-平移“向上”沿正y轴移动模式(坐标变为负值,因此我们只是翻转坐标以正确执行操作)。问题总是与z轴有关,当模型旋转时,z+轴现在指向右边,平移“右”我得到负的z值,平移到左边我得到正值,所以看起来坐标像z轴一样翻转。当z+指向屏幕的左侧时,也会出现同样的逻辑--负值表示向左平移,正值表示向右平移。到目前一切尚好。
当z+现