2014-09-10 31 views

回答

1

我們假設當前相機的位置是camPos,它的方向是camDir。根據您的預測,有幾個選項如何在屏幕中心看光線計算,但大多數時候它僅僅是:

ray(t) = camPos + camDir * t 

我們不想改變位置的z座標。因此,計算參數t擊中目標點p是相當簡單的(給定的位置已經正確的X和Y座標):

t = (p.z - camPos.z)/camDir.z 

我們可以通過在給定的深度計算在屏幕中心當前點:

currentScreenCenter = camPos + camDir * t 

爲了打pcamPos必須由這種差異被轉移:

camPos += (p - currentScreenCenter) 
     = p - camPos - camDir * (p.z - camPos.z)/camDir.z 
+0

這工作!非常感謝Nico;) – user3259383 2014-09-11 09:18:09