2014-09-10 91 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

相关问题