2013-01-22 93 views
-1

我想實施一個TPP相機爲我的項目,但有些不工作+我不知道我是否使用正確的概念。第三人稱視角相機與Opengl

我應該旋轉整個場景模型視圖矩陣,除了我的主模型,它將在屏幕上居中或旋轉lookAt相機嗎?

其他的事情是如何使模型在旋轉後以給定的方向移動? (我認爲移動整個場景會更容易?)+如何將碰撞檢測添加到它?

回答

1

碰撞檢測與openGL無關,您可以使用遊戲狀態變量進行工作,您可以在與用戶輸入和顯示的遊戲相同的循環中對其進行管理。

對於第三人稱相機,您應該使用LookAtMatrix,您將在玩家背後的眼部組件以及盈方的某處。 Persective可以通過使用perspective matrix來實現。

所以矩陣乘法看起來像。

PerspectiveMatrix * LookAtMatrix * worldSpacePosition

這裏是gamedev解釋lookatmatrix一個很好的答案,大多數OpenGL /計算機圖形學的書籍也將涵蓋這一點。

你在使用新的還是舊的管道模型?

+0

我使用opengl3,但是由我的講師提供了一個框架。我使用了由我啓動的lookAt相機:'MatrixMath.lookAt(this.eyeX,this.eyeY,this.eyeZ,this.at,this.up);' 但是當我嘗試旋轉它時改變eyeX或eyeZ它不旋轉但沿軸移動,例如。遞減X會旋轉一點,但相機越走越遠......(希望我正確地將我的問題展開) – mjanisz1

+0

該lookAt函數缺少At組件。這甚至編譯? – Andrew

+0

'this.at',它是早期設置的。它編譯沒有問題沒有後顧之憂 – mjanisz1