介绍
相机可以将游戏运行的画面呈现出来。而相机的实现是需要Camera组件的,学习Camera组件可以在游戏中达到一个更好的游戏效果
(我的Unity版本是2018.2的)
属性
新建一个Camera,默认初始属性:
1、Clear Flags:清除标记
Skybox,天空盒,将屏幕空白处显示当前摄像机的天空盒,如果没有指定天空盒,则会显示默认背景色。
Solid Color:空白处将显示默认此处设置的背景色。
Depth only:仅深度,该模式用于对象不被裁剪。也就是说,如果所有摄像机开启这个模式,游戏界面会把所有相机拍摄的画面呈现出来。可以用某个相机专门拍摄某一对象,通过相机的Culling Mask、Depth only与物体的Layer来控制
Don't Clear:不清除,该模式不清楚任何颜色和或深度缓存,但这样做每帧渲染的结果都会叠加在下一帧之上。运行游戏,在场景界面拖动摄像机。当每帧渲染的结果不一样,出现了如下的渲染结果,如图:
关于Depth only
仅深度,摄像机的渲染顺序是根据属性中的Depth的大小决定的。Depth大的会将渲染的结果呈现的靠前:
解释:Depth大的摄像机只看球,Depth小的摄像机只看球后面的红色正方体
2、Culling Mask:剔除遮罩
根据对象所指定的层来控制渲染的对象。这个简单主要是选择摄像机渲染哪些Layer层。
3、Projection:投影方式
分为透视(Perspective)和正交(Othographic)
4、如果选择透视,会有 Field of View与 Physics Camera
Field of View:调整摄像机拍摄区域的角度
Physics Camera:
对摄像机进一步调节
4、如果选择正交
出现 Size属性,调整摄像机拍摄区域的大小
5、Clipping Planes:剪裁平面
摄像机的渲染范围。Near为最近的点,Far为最远的点,也是对摄像机的拍摄区域进一步调整
6、Viewport Rect:视图矩形
用四个数值来控制摄像机的视图在屏幕中的位置及大小,该项使用屏幕坐标系,数值在0~1之间。
* X 水平位置起点
* Y 垂直位置起点
* W 宽度
* H 高度
可以实现直播漏头的效果:
正常渲染效果,Skybox模式,球摄像机深度高于正方体深度,所以只看得到球:
现调整球摄像机的Viewport Rect:
以及分屏效果:
7、Depth:深度
用于控制摄像机的渲染顺序,值大的摄像机将被渲染在较小值的摄像机之上
8、Rendering Path:渲染路径 !
设定摄像机的渲染方法。
* Use Player Settings:使用Project Settings>Player中的设置
* Vertex Lit:顶点光照,将所有的对象做为顶点光照对象来渲染
* Forward:快速渲染,摄像机将对所有对象按每种材质一个通道的方式来渲染。
* DeferredLighting:延迟光照,先对所有对象进行一次无光照渲染,用屏幕空间大小的Buffer保存几何体的深度、法线以及高光强度,生成的Buffer将用于计算光照,同时生成一张新的光照信息Buffer。最后所有对象再次被渲染,渲染时叠加光照信息BUffer的内容
9、Target Texture:目标纹理
及设相机渲染不再显示在屏幕上,而是映射到纹理上。新建一张Render Texture,然后将它拖到Target Texture上,这时你就会发现这个纹理,显示的图片就是摄像机拍摄的画面。
10、HDR:高动态光照渲染
用于启用摄像机的高动态范围渲染功能,因为人眼对的范围的光照强度更为敏感,所有用高动态范围渲染能让场景变得更为真实,光照的变化不会显得太突兀。