移动摄像机算法

2024/03 20 12:03

用鼠标拖动摄像机,一种简单的方法是根据屏幕移动的delta值,直接移动摄像机

但是,这个移动的关系并不是简单的线性关系,尤其发生在斜平面上,会有明显的飘的感觉。

一种优化的方法,思路上是认为手指点下去抓到平面上的一个点,然后不论如何移动摄像机,手点抓到的这个点保持不变。这样就有完全拖住的感觉。

步骤如下:

1、记录下手指压下时的屏幕坐标S1、转换到摄像机远裁剪面的世界坐标W1,W1与O的射线为R1与观察平面的相交点为C1

2、当手指发生移动时,设移动屏幕坐标S2、转换到摄像机远裁剪面的世界坐标W2,W2与O的射线为R2与观察平面的相交点为C2

3、offset=C2-C1,即为摄像机移动的offset