我工作的一個遊戲,包括周圍的行星移動,並已得到了目前使用的前進和後退播放器朝着一個方向使用:移動在不同的方向繞點(地球)
if(forward)
yAngle = yAngle + 0.005f;
if(backward)
yAngle = yAngle - 0.005f;
if(left)
zAngle = zAngle - 0.005f;
if(right)
zAngle = zAngle + 0.005f;
然後這些角度被放入矩陣中。
角色使用Z旋轉完美旋轉,並使用Y旋轉向前和向後移動繞行星旋轉,但只會沿該方向移動。
我該如何計算X和Y旋轉,這樣角色會在正確的方向上繞着行星移動?
目前尚不清楚角度的定義是什麼,但您只需要兩個角度來描述相對於3D座標系統的軸向量(例如從座標原點到玩家的船)的方向。你也可以用任何兩個笛卡爾座標軸的旋轉來描述它,但是你不能獨立地圍繞這三個座標旋轉。你也可以考慮定義你的旋轉關於[球形極座標](http://en.wikipedia.org/wiki/Spherical_coordinate_system)。 – 2014-12-10 21:39:59