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

Unity 摄像机(Camera)详解

文章目录

  • 0.前言
  • 1.相机属性介绍
  • 2.Unity 中多个相机画面堆叠显示
    • 2.1 3D 摄像机
    • 2.2 UI 摄像机
    • 2.3 摄像机的Culling Mask设置

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 摄像机:
在这里插入图片描述

相关文章:

Unity 摄像机(Camera)详解

文章目录 0.前言1.相机属性介绍2.Unity 中多个相机画面堆叠显示2.1 3D 摄像机2.2 UI 摄像机2.3 摄像机的Culling Mask设置 0.前言 本文介绍的是使用Unity默认的内置渲染管线下的Camera组件,使用URP或HDRP则不同。 1.相机属性介绍 Clear Flags: 清除标记…...

数学基础 -- 线性代数之LU分解

LU分解 LU分解(LU Decomposition)是线性代数中非常重要的一种矩阵分解方法。它将一个方阵分解为一个下三角矩阵(L矩阵)和一个上三角矩阵(U矩阵)的乘积。在数值线性代数中,LU分解广泛用于求解线…...

高职人工智能训练师边缘计算实训室解决方案

一、引言 随着物联网(IoT)、大数据、人工智能(AI)等技术的飞速发展,计算需求日益复杂和多样化。传统的云计算模式虽在一定程度上满足了这些需求,但在处理海量数据、保障实时性与安全性、提升计算效率等方面…...

【Java】SpringCloud中使用set方法报错空指针

前言:今天在交流群中看见了一个空指针报错,想着哪里为空点过去看看为什么赋不上值就行,没想到啪啪打脸了,今天总结一下。 以下是他的RedisTempate注入和方法 可以看到,89行报错空指针。先分析一下, ①赋值…...

芯片杂谈 -- 常聊的内核包含哪些模块

目录 1. R52内核速览 2. 处理器模块详解 3.内核的功能安全测什么? 4.小结 最开始接触到汽车MCU大都来自NXP、Infineon、Renesas,例如MPC5748、TC275、RH850 P1X等等; 而各大OEM、供应商等等发布的JD通常都会要求熟悉AURIX、PowerPC、G3K…...

运维问题0002:SAP多模块问题-SAP系统程序在执行时,跳出“加急快件”窗口,提示:快件文档“更新已终止”从作者***收到

1、问题描述 近期收到2起业务报障,均反馈在SAP执行程序时,弹出“加急快件”窗口,导致操作的业务实际没有更新完成。 1)业务场景一:设备管理部门在操作事务代码:AS02进行资产信息变更时,保存正常…...

深度解析RAG:你必须要了解的RAG优化方法

RAG(Retrieval-Augmented Generation)是一种结合检索和生成能力的技术框架,旨在通过从外部知识库中检索相关信息来增强生成模型的输出。其基本思想是利用大型语言模型(LLM)的生成能力,同时通过检索机制获取…...

深度学习驱动下的字符识别:挑战与创新

一、引言 1.1 研究背景 深度学习在字符识别领域具有至关重要的地位。随着信息技术的飞速发展,对字符识别的准确性和效率要求越来越高。字符识别作为计算机视觉领域的一个重要研究方向,其主要目的是将各种形式的字符转换成计算机可识别的文本信息。近年…...

使用 JAXB 将内嵌的JAVA对象转换为 xml文件

使用 JAXB 将内嵌的JAVA对象转换为 xml文件 1. 需求2. 实现(1)FileDesc类(2)MetaFileXml类(3)生成对应的xml文件 1. 需求 获取一个目录下所有文件的元数据信息(文件名、大小、后缀等&#xff0…...

若依项目后台启动报错: [网关异常处理]、503

拉取代码启动项目,网关控制台报错: 21:31:59.981 [boundedElastic-7] WARN o.s.c.l.c.RoundRobinLoadBalancer - [getInstanceResponse,98] - No servers available for service: ruoyi-system 21:31:59.981 [boundedElastic-7] ERROR c.r.g.h.Gateway…...

【C++ Qt day10】

2、 完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面 如果账号和密码不匹配&am…...

GO HTTP库使用

Go的 net/http 包是一个强大且易于使用的库,用于构建HTTP服务器和客户端。通过它,你可以轻松实现HTTP请求的处理、路由、静态文件服务等功能。下面重点以及一个简单的Demo示例。 文章目录 1. **基础HTTP服务器**2. **处理请求与响应**3. **路由与处理器*…...

数据结构 - 顺序表

0.线性表 1.定义 线性表就是零个或多个相同数据元素的有限序列。 2.线性表的存储结构 ①.顺序结构 ②.链式结构 3.线性表的表示方法 例如: 一.线性表的基本运算 二.线性表的复杂运算 1.线性表的合并运算 2.线性表的去重运算 三.顺序表 1.定义 顺序表,就…...

企业如何组建安全稳定的跨国通信网络?

组建一个安全稳定的跨国通信网络对于现代企业来说至关重要,尤其是当企业在全球范围内运营时。以下是一些关键步骤和考虑因素: 需求分析: 确定企业的具体通信需求,包括带宽要求、延迟敏感度、数据类型(如语音、视频、文…...

OCR在线识别网站现已上线!

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 如有侵犯,请联系作者下架 由作者亲自开发的ocr识别网站哈哈,暂时汇聚了三十多种验证码模型以及算法,欢迎各路朋友去尝试,网站地址如下 http://gbj5w3.natappfree.cc/ocr 验证码类型包括但…...

排名再升2位 中国平安位列BrandZ最具价值中国品牌第9位

9月10日,凯度华通明略发布“2024年BrandZ最具价值中国品牌”榜单,中国平安位列榜单第9位,较2023年榜单排名上升2位,品牌价值韧性增长至205.14亿美元,十度蝉联中国保险行业品牌价值第一位。榜单特别提到,中国…...

k8s集群部署:环境准备

本教程基于centos9 arm架构展开。 1. 设置主机名 为每个节点设置主机别名,以便于集群中的角色识别: # 设置主节点的主机名为 kmaster sudo hostnamectl set-hostname kmaster --static# 设置工作节点1的主机名为 kworker1 sudo hostnamectl set-hostn…...

<C++> set、map模拟实现

目录 一、适配器红黑树 二、红黑树再设计 1. 重新设计 RBTree 的模板参数 2. 仿函数模板参数 3. 正向迭代器 构造 operator*() operator->() operator!() operator() operator--() 正向迭代器代码 4. 反向迭代器 构造 operator* operator-> operator operator-- operat…...

软考学习 数据结构 查找

1. 顺序查找(Sequential Search) 基本原理: 顺序查找是一种最简单、最直观的查找算法。它从数据集合的第一个元素开始,依次与目标元素进行比较,直到找到目标元素或遍历完所有元素为止。 适用条件: 适用…...

h264 视频流中添加目标检测的位置、类型信息到SEI帧

在 H.264 视频编码中,SEI(Supplemental Enhancement Information)消息用于传输额外的、非编码的数据,例如目标检测的信息。SEI 数据可以嵌入到 H.264 流中,以在解码过程中传递这些附加信息。 一、步骤 确定 SEI 类型&…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...

浅谈不同二分算法的查找情况

二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况&#xf…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

DBLP数据库是什么?

DBLP(Digital Bibliography & Library Project)Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高,数据库文献更新速度很快,很好地反映了国际计算机科学学术研…...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道

文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...