作者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
1F:推 killman:因为你对x轴转动以後 整个球的座标系转动 z轴也就转动了 10/04 14:19
2F:→ killman:应该要对世界座标系的x,z轴转动才行 要乘在matrix的前面 10/04 14:24
3F:→ killman:不过一时间还没想到有没有办法直接用glrotate做 10/04 14:25
4F:→ killman:同学跟我说 可以把glRotate乘到perspective matrix後面 10/04 15:07
5F:→ killman:这样就等於在modelview matrix的前面了 10/04 15:07
6F:推 Ebergies:Quaternion 10/04 18:38