在Unity的场景中通常用来渲染的相机使用的是透视相机,但是偶尔也需要使用正交相机来展示某些效果,如二维场景、城市天际线等,可以通过代码动态设置相机的呈现效果。
正交视图不会根据物体距离相机的距离进行缩放,因此我们无法看到物体距离的远近,只能通过相互遮挡关系来判断。在Unity中UI的显示便是利用了类似正交相机的原理。
一些游戏也可以通过正交相机来实现2D效果。
可以通过设置相机的Projection选项来设置正交,通过Size来设置正交相机显示的大小。
透视相机则与我们日常生活中眼睛看到的效果是相同的,当物体距离我们较近时呈现出较大的尺寸,当物体距离我们较远时呈现较小的尺寸。
通常的3D游戏都是通过透视相机来实现的。
可以通过设置相机的Projection选项来设置透视,通过FieldOfView来设置相机显示的大小。
//当orthographic为true时,使用的是正交相机
//正交相机通过orthographicSize设置显示大小
Camera.main.orthographic = true;
Camera.main.orthographicSize = 4;
//当orthographic为false时,使用的是透视相机
//透视相机通过FieldOfView设置显示大小
Camera.main.orthographic = false;
Camera.main.fieldOfView = 60;