作者liamgallager (絕對可能)
看板GameDesign
標題[程式] 關於openGL移動物件旋轉
時間Sat Oct 4 08:49:28 2008
小弟想畫一顆球在地上滾動
球會隨著移動方向跟著轉動
小弟是這樣寫的
glRotatef(zrot,1.0f,0.0f,0.0f);
glRotatef(xrot,0.0f,0.0f,1.0f);
gluSphere(quadratic,0.2f,32,32);
就是先根據z方向的移動速度來轉動球
然後再根據x方向的移動速度來轉動球
在最一開始的時候如果只根據x方向移動,球的轉動是正常的
可是當z方向的移動出現之後,球的旋轉方向似乎被打亂了
反之,一開始從z方向移動正常,x方向移動出現後,轉動也被打亂
請問各位大大我該如何讓球滾動正常呢?
我用的介面是OpenGL
謝謝@@
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.223.230.95
推 killman:因為你對x軸轉動以後 整個球的座標系轉動 z軸也就轉動了 10/04 14:19
→ killman:應該要對世界座標系的x,z軸轉動才行 要乘在matrix的前面 10/04 14:24
→ killman:不過一時間還沒想到有沒有辦法直接用glrotate做 10/04 14:25
→ killman:同學跟我說 可以把glRotate乘到perspective matrix後面 10/04 15:07
→ killman:這樣就等於在modelview matrix的前面了 10/04 15:07
推 Ebergies:Quaternion 10/04 18:38