1. 程式人生 > >OpenGL.tutorial06鍵盤和鼠標

OpenGL.tutorial06鍵盤和鼠標

中間 compute puts 移動 鍵盤 bsp 圖片 borde 分享圖片

1、這個圖是用 Excel畫的 簡單示意圖(單元格邊框,視圖-->網格線)

技術分享圖片

 1.1、中間的 正立方體 處於 X/Y/Z軸的中心,邊長為2

 1.2、代碼為:E:\OpenGL_something\ogl-master\common\controls.cpp 中的 "void computeMatricesFromInputs()"

  效果類似於,CS等的第一人稱射擊遊戲的效果,物體是一直不動的,小鍵盤↑-->人物往前走-->物體視覺效果上變大,小鍵盤↓-->人物往後退-->物體視覺效果上變小,小鍵盤← --> 人物往左移動,小鍵盤→ --> 人物往右移動,鼠標往哪邊動 就是 人物的頭往哪邊看(光操作鼠標時 人物位置是不動的)

  我的理解:Camera的位置就是坐在電腦前的人的位置,對應變量 position;變量 direction:可以理解成 人物的目光方向,是由 鼠標操作決定的

       horizontalAngle:看代碼及教程中所寫應該是 水平夾角,個人理解為 繞Z軸旋轉 與 X軸正方向 的夾角角度

       verticalAngle:看代碼及教程中所寫應該是 豎直夾角,個人理解為 繞X軸 旋轉 與 Z軸正方向 的夾角角度

      個人理解:繞Z軸 旋轉 0° 實際就是 X軸正方向;繞X軸 旋轉 0° 實際就是 Y軸正方向;

2、

3、

4、

5、

OpenGL.tutorial06鍵盤和鼠標