Properties
- Clear Flag:每个摄像机将存储存储颜色和深度信息,相机中的空白的的部分将不会被渲染,默认情况下将显示天空盒。当场景中存在多个摄像机的时候,可以通过Clear Flags清除buffer中的一些信息。下面是Clear Flag的四个选项:
1.Skybox:天空盒是默认选项,场景中的空白部分将显示当前摄像机的天空盒,默认的天空盒在LightWindow中,通过回调函数将值赋给Background Color。
2.Solid color:任何摄像机的空白部分将显示当前(current Camera)的背景颜色
3.Depth only:如果想让玩家的枪不会被场景中的环境覆盖掉,可以使用一个相机专门渲染环境将深度设置为n,一个相机渲染玩家的枪,将深度设置为n+1,这样不论枪与场景中的物品距离有多近,都不会出现环境中的物品覆盖枪的情况。从原理上来说,这个选项相当于让相机完全根据深度进行渲染
4.Don't clear:这个选项表示将不会修改任何颜色和深度缓存中的信息,每一帧的渲染数据覆盖上一帧的。 - Background:屏幕在全部元素渲染完后剩余的部分颜色
- Culling Mask:那些层要渲染
- Projection:
1.Perpective:透视渲染游戏物体
2.Orthographic:正视图渲染游戏物体 - Field of view:相机的视野范围
- Clipping Planes:
1.Near:进裁剪面
2.Far:远裁剪面 - Viewport Rect:X、Y、W、H,设置相机渲染的横向位置、竖向位置开始点,相机输出到屏幕的宽度、高度
- Depth:相机的渲染顺序,数值较大将更晚渲染
- Rendering Path:相机的渲染模式
1.Use Player Setting:使用Player Setting中设置的渲染路径
2.Vertex Lit:顶点照明渲染
3.Forward:前向渲染
4.Deferred Lighting:渲染的时候不带灯光,灯光在渲染对列的最后一次全部渲染 - Target Texture:将摄像机中的渲染结果保存到一个Render Texture中,设置了这个选项将禁用相机渲染到屏幕的功能
- Target Display:设置额外的渲染输出设备,1-8
Clip Planes
远近裁剪面被称定义为摄像机视锥。在视锥之外的对象将不会被渲染,这个过程被称为视锥剔除,无论在游戏中是否使用遮挡剔除,都会有是视锥剔除的过程。
有的时候我们想更早的剔除一些较小的游戏物体,小的石头、废品等,在较远的时候不容易看见的物体,可以将这些小的游戏物体设置为一个单独的图层,使用Camera.layerCullDistances方法设置剔除距离。
标准化窗口视锥
设计右下角小地图的时候,窗口视锥将帮助我们实现。如下:创建两个Camera,将mainCamera的深度设置为-1,希望在右下角显示的camera的深度要高于mainCamera,这里设置为0。其他设置如下图:
在两个玩家同屏的时候可以创建两个Camera,他们的H值都设置成0.5,其中一个Y值设置为0.5,另一个Y值0
提示
- Cameras可以被实例化,继承,和在脚本中编辑像其他GameObject一样。
- 在竞速游戏中使用Field of View可以实现加速的效果
- Camera可以模拟物理效果通过添加Rigidbody
- 场景中没有相机数量的限制
- 正交相机在做相机界面的时候很好用