视锥体是摄像机可见的空间,看上去像截掉顶部的金字塔。视锥体由6个裁剪面围成,构成视锥体的4个侧面称为上左下右面,分别对应屏幕的四个边界。为了防止物体离摄像机过近,设置近切面,同时为了防止物体离摄像机太远而不可见,设置远切面。本文将介绍一下视锥体八个顶点的计算方法。
我们就以Unity3D(5.6.0f3)为例。
首先取fov(fieldOfView),即摄像机在竖直方向上的张角。
float fov = Camera.main.fieldOfView;
还有aspect,也就是屏幕的宽高比。
float asp = Camera.main.aspect;