摄像机分为两种,一种是正交摄像机还有一种是透视摄像机。正交摄像机无论远近它的视口范围永远是固定的,但是透视摄像机是由原点向外扩散性发射,也就是距离越远它的视口区域也就越大。那么我们如何获取距离摄像机任意距离的视口区域呢?如下图所示,分别用红色和黄色两种颜色将计算出来的视口区域标记了出来。
using
UnityEngine
;
using
System
.
Collections
;
public
class
CameraView
:
MonoBehaviour
{
private
Camera
theCamera
;
//距离摄像机8.5米 用黄色表示
public
float
upperDistance
=
8.5f
;
//距离摄像机12米 用红色表示
public
float
lowerDistance
=
12.0f
;
private
Transform
tx
;
void
Start
(
)
{
if
(
!
theCamera
)
{
theCamera
=
Camera
.
main
;
}
tx
=
theCamera
.
transform
;
}
void
Update
(
)
{
FindUpperCorners
(
)
;
FindLowerCorners
(
)
;
}