当前位置: 首页 > news >正文

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();
http://www.lryc.cn/news/233915.html

相关文章:

  • CRUD-SQL
  • 【C语言 | 数组】C语言数组详解(经典,超详细)
  • 第三十三节——组合式API生命周期
  • 【Linux】Alibaba Cloud Linux 3 安装 PHP8.1
  • 【容器化】Kubernetes(k8s)
  • stm32 HSUSB
  • C# String.Trim 方法
  • <Linux>(极简关键、省时省力)《Linux操作系统原理分析之Linux 进程管理 4》(8)
  • RT-Thread STM32F407 PWM
  • idea中把spring boot项目打成jar包
  • levelDB之基础数据结构-Slice
  • 上位机模块之通用重写相机类
  • 机器人导航+OPENCV透视变换示例代码
  • KofamScan-KEGG官方推荐的使用系同源和隐马尔可夫模型进行KO注释
  • 代码随想录算法训练营第五十五天丨 动态规划part16
  • 【Linux】kernel与应用消息队列的一种设计
  • 我们常说的网络资产,具体是如何定义的?
  • WPF中可冻结对象
  • 【人工智能实验】A*算法求解8数码问题 golang
  • Kafka学习笔记(二)
  • Typora for Mac:打造全新文本编辑体验
  • TikTok与媒体素养:如何辨别虚假信息?
  • Spring Boot 中使用 ResourceLoader 加载资源的完整示例
  • 1688往微信小程序自营商城铺货商品采集API接口
  • QStatusBar开发详解
  • 后端接口性能优化分析-程序结构优化
  • 【SpringBoot3+Vue3】三【实战篇】-后端(优化)
  • DevExpress中文教程 - 如何在macOS和Linux (CTP)上创建、修改报表(上)
  • 一个iOS tableView 滚动标题联动效果的实现
  • 代码执行相关函数以及简单例题