1
我需要計算攝像機x y位置的公式,這會迫使給定的3D點出現在屏幕中央。換句話說,攝像機可以將點移到中心,而不會改變FOV,旋轉或z座標。公式計算攝像機x y位置強制3d點出現在屏幕中心
我需要計算攝像機x y位置的公式,這會迫使給定的3D點出現在屏幕中央。換句話說,攝像機可以將點移到中心,而不會改變FOV,旋轉或z座標。公式計算攝像機x y位置強制3d點出現在屏幕中心
我們假設當前相機的位置是camPos
,它的方向是camDir
。根據您的預測,有幾個選項如何在屏幕中心看光線計算,但大多數時候它僅僅是:
ray(t) = camPos + camDir * t
我們不想改變位置的z座標。因此,計算參數t擊中目標點p
是相當簡單的(給定的位置已經正確的X和Y座標):
t = (p.z - camPos.z)/camDir.z
我們可以通過在給定的深度計算在屏幕中心當前點:
currentScreenCenter = camPos + camDir * t
爲了打p
,camPos
必須由這種差異被轉移:
camPos += (p - currentScreenCenter)
= p - camPos - camDir * (p.z - camPos.z)/camDir.z
這工作!非常感謝Nico;) – user3259383 2014-09-11 09:18:09