Unity——URP相机详解
2021版本URP项目下的相机,一般新建一个相机有如下组件
1:Render Type(渲染类型)
有Base和Overlay两种选项,默认是Base选项
Base:主相机使用该种渲染方式,负责渲染场景中的主要图形元素
Overlay(叠加):使用了Oveylay的相机会把它渲染出的图形叠加到其他相机之上,使用方法是在主摄像机的Stack部分添加该相机,如下图
2:Projection(投影方式)
把三维场景投影到二维屏幕上的过程,有Perspective和Orthoraphic两种方式
Perspective(透视投影):远小近大的效果,可以通过调节Field of View来调节视野大小
Orthographic(正交投影):没有距离之分,没有Field of View
效果如下
视锥体如下:
Near Clipping Planes(近裁剪空间) :相机视锥体靠近相机一侧的平面,在这个平面之前,物体就会被裁剪,不会被渲染,
Far Clipping Plane(远裁剪空间):相机视锥体远离相机一侧的平面,在这个平面之后,物体会被裁剪
调整Near,前面的Cube将不被渲染
3:Rendering(渲染方式)
Renderer:渲染器,URP的渲染管线可选
Post Processing:后处理,可选择开启和关闭
Clear Depth: 如果启用 "Clear Depth",则在每一帧开始时,深度缓冲区将被清除,而如果禁用 "Clear Depth",则深度缓冲区的内容将保留,这样可以在多个相机渲染过程中保持一致的深度信息,适用于一些特殊的渲染效果和场景。
Render Shadow:该相机要不要渲染影子出来
Culling Mask(层级渲染选项):包含或忽略要由摄像机渲染的对象层,让相机渲染哪些图层,而忽略其他图层,
Occlusion Culling(遮挡剔除):防止 Unity 为那些被其他游戏对象完全挡住(遮挡)的游戏对象执行渲染计算,可选下面这些
比如没有开启遮挡剔除,所有没有被摄像机渲染到的物体还是会被渲染
而开启了遮挡剔除后,摄像机看不到的物体将不会被渲染
4:Environment/Volume(环境/体积)
在这里可以设置Update Mode(体积的更新方式)、Volume Mask(体积的遮罩),Volume Trigger(体积的触发方式)
5:Universal Additional Camera Data(添加相机数据)
Universal Additional Camera Data 组件允许 URP 扩展和覆盖 Unity 标准 Camera 组件的功能和外观。
如果不使用脚本来控制和自定义 URP,则无需对 Universal Additiona Camera Data 组件执行任何操作。
如果要使用脚本来控制和自定义 URP,则可以在如下所示的脚本中访问摄像机的 Universal Additional Camera Data 组件:
Class UniversalAdditionalCameraData | Universal RP | 12.1.1 (unity3d.com)
var cameraData = camera.GetUniversalAdditionalCameraData();