了解视锥体

视锥体 (frustum) 指看起来类似于金字塔的立方体形状,切去顶部,顶部与底部平行。这是一个透视相机可以看到和渲染的区域形状。下列思维实验对此进行了解释。

想象自己拿着一根直杆(比如扫帚手柄或铅笔),一端对着相机,照一张相。如果直杆出现在照片中心,与摄像头垂直,那么只有对着相机的这一端可见,在照片中显示为一个圆,其他部分都被遮住。如果向上移动直杆,其下方开始显现出来,但向上调整直杆的角度后又隐藏起来了。如果继续向上移动直杆并将角度调到更大,圆形端最终会到达照片的顶部边缘。此时,世界空间中直杆描绘的这条线以上的任何物体都不会出现在照片中。

可轻松移动,左右或随意水平及垂直旋转直杆。“隐藏”直杆的角度只取决于其到屏幕中心两个轴的距离。

该思维实验所表达的意思是相机影像中的任意点真正对应世界坐标空间中的一条线,而影像中只有这条线上的一个点可见。这条线上除该点以外的所有物体都被遮盖。

图像外缘由对应图像各个角的偏离线定义。如果朝着相机向后描绘这些线,最终会集中于一点。在 Unity 中,该点正位于相机的转换位置,被称为视图中心。在视图中心,屏幕顶部中心和底部中心汇聚的直线夹角被称为视野(通常简写为 FOV)。

如上所述,任何超出图像边缘偏离线外的事物在相机中都不可见,但对于其渲染的对象也有两个其他限制条件。近裁剪面和远裁剪面与相机的 XY 平面平行,都与中心线有一定距离。比近裁剪面更靠近相机的任何物体和比远裁剪面更远的物体都不会被渲染。

图像偏离线夹角与两个裁剪面定义一个截棱锥,即视锥体。

Page last updated: 2013-07-01