看板 GameDesign 關於我們 聯絡資訊
小弟想畫一顆球在地上滾動 球會隨著移動方向跟著轉動 小弟是這樣寫的 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