Three.js OrthographicCamera 正投影相机参数理解

最近在使用OrthographicCamera正投影相机的时候,发现总是无法看到场景,折腾了许久才发现原来是对OrthographicCamera的参数理解有问题。查阅了网上,大部分资料对参数的解释都是和官方一直的,但是我在官方解析的基础上总结了自己的理解。

官方解释:

       OrthographicCamera( left, right, top, bottom, near, far )
       left — 相机视椎体(Camera frustum)左面。
       right — 相机视椎体(Camera frustum)右面。
       top — 相机视椎体(Camera frustum)上面。
       bottom — 相机视椎体(Camera frustum)下面。
       near — 相机视椎体(Camera frustum)前面(靠近相机的这一面)。
       far — 相机视椎体(Camera frustum)后面(远离相机的这一面)。

我的理解:

       left:左面,即以摄像机(初始相机)所在点为原点,向左的最大距离。

       right:右面,即以摄像机(初始相机)所在点为原点,向右的最大距离。

       top:上面,即以摄像机(初始相机)所在点为原点,向上的最大距离

       bottom:下面,即以摄像机(初始相机)所在点为原点,向下最大距离。

       near :渲染起点。以摄像机(初始相机)所在点为原点,垂直于left\right\top\bottom构成的十字坐标系,从距离原点什么位置开始进行渲染。

       far:渲染重点。以摄像机所在点为原点,垂直于left\right\top\bottom构成的十字坐标系,到距离原点什么位置结束渲染。

也就是说,6个参数都是相对于原点的长度,而不是模型的最大坐标点和最小坐标点。

我一开始是计算模型的box3的最大坐标点和最小坐标点,使用最大坐标点最小坐标点作为正投影相机的初始化参数,导致不管如何设置都看不到场景的任何信息。后面换成上诉的理解后才可以正常的使用。

如果有理解错误,欢迎大家指正。

猜你喜欢

转载自blog.csdn.net/QiZi_Zpl/article/details/103294074