作者startbomb51 (~森林之熊~)
看板C_and_CPP
標題[問題] OpenGL 實現第一人稱視角
時間Wed Dec 7 20:42:05 2011
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
OpenGL
小弟剛接觸OpenGL
畫了一個在房間的場景
然後在場景內置入一個camera
想實作一個第一人稱視角的畫面出來(類似CS遊戲)
我都是對camera做更改
目前好不容易讓視角可以左右旋轉
但是前後左右的平移卻是斜斜的移動
float cam_X = 30; //攝影機座標
float cam_Y = 30;
float cam_Z = 20;
float cam_x = 0; //攝影機座標
float cam_y = 0;
float cam_z = 0;
float PI = 3.1415926;
float angle = 0.0; //角度
.
.
.
gluLookAt( cam_X, cam_Y, cam_Z,
cam_X+cam_x, cam_Y, cam_Z+10+cam_z,
0, 1, 0);
.
.
.
也試過glRotatef()
不過這樣場景只是繞著Y軸轉動
我想說 因為camera的位置一直在變動
不曉得有沒有方法可以讓"整個場景"繞camera的座標旋轉??
這樣感覺camera前後左右移動似乎比較單純
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 134.208.44.77
推 Bencrie:OpenGL 的 Transformation 指令都是直接把矩陣乘起來, 12/08 08:50
→ Bencrie:最後才乘頂點 (Fixed pipeline),了解背後的數學會比較好 12/08 08:51
推 kvykn:先把四元數(Quaternions)讀一讀 12/08 22:16
推 Bencrie:那樣是本末倒置吧 XD 12/09 10:31
→ startbomb51:結果最後用三角函數的方式硬算...XDD 12/09 12:23
→ tropical72:打個叉,對這些圖像數學(矩陣)運算小有興趣,有介紹參考 12/09 13:22
→ tropical72:資料嗎?謝謝。 12/09 13:22
推 littleshan:CG教科書都會講基本的transform 大概就是四階矩陣運算 12/09 20:40
→ littleshan:CG用到的數學最重要大概就是微積分、機率、線性代數 12/09 20:45
→ littleshan:不過只看數學的話無法知道它們被用在哪些地方 12/09 20:50
→ littleshan:而是深入進animation/modelling/rendering後處處有驚喜 12/09 20:51
推 tropical72:謝謝 littleshan :) 12/09 23:39