Unity 摄像机(Camera)详解

0.前言

本文介绍的是使用Unity默认的内置渲染管线下的Camera组件,使用URP或HDRP则不同。

1.相机属性介绍

在这里插入图片描述

  • Clear Flags: 清除标记。每个相机在渲染其视图时都会存储颜色和深度信息。屏幕中未绘制的部分为空,默认情况下将显示天空盒。使用多个相机时,每个摄像机都会在缓冲区中存储自己的颜色和深度信息,随着每个相机渲染而累积越来越多数据。场景中的任何特定相机渲染其视图时,可以指定清除标记来清除不同的缓冲区信息集合。
    • Skybox:天空盒,默认项,屏幕的任何空白部分都将显示当前相机的天空盒。(Windows-Rendering-Lighting)
    • Solid Color:空白区域以纯色显示,该颜色在摄像机的Background Color中指定
    • Depth only:仅深度,该模式用于对象不被裁剪,保留了前一个摄像机的画面,但清除了之前所有的深度信息,可以用于混合两个摄像机看到的画面
    • Don’t clear:不清除,此模式既不清除之前渲染的画面,也不清除深度信息。结果是将每帧绘制在下一帧之上,从而产生涂抹效果。此模式通常不用于游戏,更可能与自定义着色器一起使用
  • Background: 相机的背景颜色,屏幕中的空白部分将显示相机的背景颜色
  • Culling Mask: 剔除遮罩,选择哪个Layer的物体不会被剔除,也即哪个Layer的物体能被相机看见
  • Projection: 相机的投影模式,有两种
    • Perspective:透视,近大远小,一般用于3D,视野范围是一个锥体
      在这里插入图片描述
      • FOV Axis:视场角轴向,使用水平还是垂直方向的作为衡量视场角的方向
      • Field of view:视锥的宽度
    • Orthographic:正交,视野范围是一个长方体在这里插入图片描述
      • Size:视野范围的大小
  • Clipping Planes: 剪裁平面,位于近剪裁平面和远剪裁平面之间的物体能被看见,值为平面与相机的距离
  • Viewport Rect: 指定相机的画面位于屏幕中的哪个位置,默认是全屏,采用比例的方式来确定,因此值为0~1,屏幕左下角是(0,0),右上角是(1,1)
    • X,Y:表示相机画面的左下角的位置
    • W,H:相机画面的长宽,0.5表示屏幕的一半,0.2表示屏幕的0.2
  • Depth:深度,表现相机看到的画面在屏幕上的绘制顺序,该值越大绘制越晚,例如,深度为1的相机将遮挡深度为0的相机的画面,我们最后看到的是深度为1的相机的画面
  • Target Texture:目标纹理,指相机输出的渲染纹理(也即相机看到的画面),一般默认为空,如果创建Render Texture拖到这里,则相机的渲染纹理将输入到到所创建的渲染纹理中,而不会在屏幕上渲染
  • Occlusion Culling:默认使用遮挡剔除,使得位于其他物体后面的物体不会被渲染。通过视锥体可以判断物体是否位于相机视野内,视野外的不被渲染,如果不使用遮挡剔除,视野内的所有物体都会被渲染,而位于其他物体后面的物体本来就看不到,无需渲染。使用遮挡剔除就不用渲染这部分物体了,从而优化渲染速度。遮挡剔除先在编辑器中生成关于场景的数据,产生的数据过程就是烘焙,随后在运行时场景数据被载入内存,相机根据场景数据来确定可以看见什么,也即需要渲染什么物体。因此,运动的物体可以被场景遮挡,但运动的物体不能遮挡场景
  • HDR:高动态范围,使用时可以显示比原来更亮或更暗的画面,画面对比度增强,更贴近现实。
  • MSAA:采用多重采样抗锯齿
  • Allow Dynamic Resolution:是否使用动态分辨率,使用时缩放该相机的所有渲染目标以降低分辨率,从而优化渲染速度
  • Target Display:要讲相机画面渲染到哪个显示设备

2.Unity 中多个相机画面堆叠显示

一般3D游戏项目,会创建至少两个摄像机,一个3D摄像机(使用透视视角)和一个UI摄像机(使用正交视角)

2.1 3D 摄像机

在这里插入图片描述

2.2 UI 摄像机

在这里插入图片描述

2.3 摄像机的Culling Mask设置

3D 摄像机:
在这里插入图片描述
UI 摄像机:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值