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