Unity 多相机 同屏显示

一 首先了解: 相机和Canvas 的渲染先后关系

什么是相机的渲染顺序

答:简单理解就是 用毛刷  刷墙面,先刷的,会被后刷的 挡住 。

列如:相机01: 先渲染的大海,相机02:后渲染的比基尼美女。那么呈现的效果就是:比基尼美女站在大海前面。

毛刷理解方式:一面空白的墙,先刷了大海图案,然后在大海层次上刷上了美女图案。

影响渲染顺序的因素:((17条消息) Unity渲染顺序相关学习_unity camera stack_昵称好难写的博客-CSDN博客)

渲染优先级 Camera depth > Sorting Layer > Order in Layer > RenderQueue
需要注意的是 RenderQueue  2500是关键值,他是透明与不透明的分界点
1、camera(depth越小,越先渲染)
2、sorting layer(值越小,越先渲染)(下面还有个sortingOrder 值越小,越先渲染)
3、渲染队列renderQueue(值越小,越先渲染)
4、深度值(距离相机越近该值越小,越远该值越大。)

但是具体覆盖方式是也会根据像机的clearFlags来决定的(如下图)

 二 .了解 Canvas渲染顺序((18条消息) 浅谈Unity中的Canvas及三种渲染模式_unity canvas__橙子先生的博客-CSDN博客)

1.Screen Space - Overlay 模式

Canvas 覆盖屏幕,且永远覆盖在其它元素的上层,也就是说 UI 会遮挡场景中的其它元素。

当 RenderMode 为 Screen Space - Overlay时,Canvas的其它参数包括:

Pixel Perfect:UI元素精确到像素对齐,边缘更清晰,但是在UI调整和适配时会有更大的计算量(个人理解)
Sort Order:Canvas 的深度。多个 存在多个Canvas时,Sort Order 值更大的Canvas会遮盖住 Sort
Order 值小的 Canvas
注:多个 Canvas 深度取值相等时,Hierarchy 视图中后面的 Canvas 显示在下,这一点与 UI
元素(如Image的规则相反)
2.Screen Space - Camera 模式

和 Overlay 模式相仿,Canvas覆盖整个屏幕空间画布也是填满整个屏幕空间。不同之处在于,Canvas 被放置于指定摄像机的前方。

Pixel Perfect :同 Overlay 模式含义
Render Camera :指定的用来渲染 Canvas 的摄像机
Plane Distance:Canvas 平面距离摄像机的距离
Sorting Layer:指示 Canvas 的深度,可以手动添加。当存在多个模式为 Screen Space 的 Canvas
时,Sorting Layer 决定了显示的优先级。
Order in Layer:多个 Canvas 具有相同的 Sorting Layer 时,根据 Order in Layer
来确定显示优先级。
3.World Space 模式

此种模式下,Canvas 与场景中其它3D元素没有区别

  • Canvas 可以调整 RectTransform 的数值
  • 摄像机的平移旋转缩放及fov都会影响 Canvas 的显示
  • 需要 EventCamera 来指定接受事件的摄像机

不同模式的 Canvas之间,Screen Space - Overlay 的 Canvas 永远显示在最前面,Screen Space
-Camera 和 World 的显示关系决定于 World Canvas 距离摄像机的位置以及 Screen Space - Camera Canvas 的 Plane Distance

相同的 Screen Space - Overlay Canvas :显示优先级由 Sort Order 确定

相同的 Screen Space - Camera:显示优先级由 Sorting Layer 和 Order in Layer 确定
 

三.了解完进入正题:多相机 同屏显示

1.首先创建一个新场景,创建两个UI代表UI界面

2.创建Cube和Sphere,两个相机,在Assets下Render Texture,再在Canvas下创建两个RawImage。

 3.把Render Texture 分别赋值在RawImage01和Camera01,另一个同理。

 

 得到效果如下:

4. 接下来我们让两个相机分别出现:Cube(Camera01渲染),Sphere(Camera02渲染)

将模型放在各自相机 前面即可

效果:

 

Dome地址:(26条消息) Unity多相机同屏显示.zip资源-CSDN文库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/39840.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何使用DiskPart命令行格式化分区?

想要格式化磁盘分区,您可以使用磁盘管理工具,或在Windows文件资源管理器中右键单击驱动器并选择“格式化”。如果您更想使用命令行来格式化磁盘,那么Windows自带的DiskPart将是首选。 DiskPart有很多优点,例如,如果您想…

PyTorch 1.13简介

# 1.  PyTorch 1.13 据官方介绍,PyTorch 1.13 中包括了 BetterTransformer 的稳定版,且不再支持 CUDA 10.2 及 11.3,并完成了向 CUDA 11.6 及 11.7 的迁移。此外 Beta 版还增加了对 Apple M1 芯片及 functorch 的支持。 1.1 主要更新 Be…

Java虚拟机——字节码指令简介

Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码) 以及 跟随其后的零至多个代表此操作所需的参数(称为操作数)构成。大多数指令都不包括操作数,只有一个操作码,指令参数都存放…

【云原生】k8s安全机制

前言 Kubernetes 作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。API Server 是集群内部各个组件通信的中介, 也是外部控制的入口。所以 Kubernetes 的安全机制基本就是围绕保护 API Server 来设计的。 比如 kubectl 如果想向 API…

记一次真实MySQL百万数据优化

证实下确实是150万+数据哈 原SQL 原SQL执行计划 原SQL执行时间 5秒左右 原SQL分析 思路来源 整体看下SQL好像没啥可优化的。那咱们就大错特错了。 可能有人会说B表为啥在A表后面不正常呀,因为这是内连接查询不是左右连接查询。A,B表的顺序是可以交换的(实测无影响) 首先我们…

JVM之内存与垃圾回收篇2

文章目录 3 运行时区域3.1 本地方法栈3.2 程序计数器3.3 方法区3.3.1 Hotspot中方法区的演进3.3.2 设置方法区内存大小3.3.3 运行时常量池3.3.4 方法区使用举例3.3.5 方法区的演进3.3.5 方法区的垃圾回收 3.4 栈3.4.1 几个面试题 3.5 堆3.5.1 Minor GC、Major GC和Full GC3.5.2…

linux之Ubuntu系列 find 、 ln 、 tar、apt 指令 软链接和硬链接 snap

查找文件 find 命令 功能非常强大,通常用来在 特定的目录下 搜索 符合条件的文件 find [path] -name “.txt” 记得要加 “ ” 支持通配符 ,正则表达式 包括子目录 ls 不包括 子目录 如果省略路径,表示 在当前路径下,搜索 软链接…

Python爬虫——urllib_微博cookie登陆

cookie登陆适用场景: 适用场景:数据采集的时候,需要绕过登陆,然后进入到某个页面 # 适用场景:数据采集的时候,需要绕过登陆,然后进入到某个页面 import urllib.requesturl https://weibo.cn/7…

Linux 学习记录52(ARM篇)

Linux 学习记录52(ARM篇) 本文目录 Linux 学习记录52(ARM篇)一、汇编语言相关语法1. 汇编语言的组成部分2. 汇编指令的类型3. 汇编指令的使用格式 二、基本数据处理指令1. 数据搬移指令(1. 格式(2. 指令码类型(3. 使用示例 2. 立即数(1. 一条指令的组成 3. 移位操作指令(1. 格式…

Revit中如何创建水的效果及基坑?

一、Revit中如何创建水的效果? 我们在创建建筑的时候会遇上小池塘啊小池子之类的装饰景观,Revit又不像专业的3D软件那样可以有非常真实的水的效果,那么我们该如何简单创建水呢?下面来看步骤: 1、 在水池位置创建一块楼板,并将该…

【DevOps】Atlassian插件开发指南

本文以Bamboo插件开发为例,记录一下插件开发过程。 一、简介 Atlassian Bamboo 6.9.1 是一款持续集成和持续交付(CI/CD)工具,支持使用插件扩展其功能。如果需要开发自己的 Bamboo 插件并添加到 Bamboo 中,则可以参考…

sqli-labs 堆叠注入 解析

打开网页首先判断闭合类型 说明为双引号闭合 我们可以使用单引号将其报错 先尝试判断回显位 可以看见输出回显位为2,3 尝试暴库爆表 这时候进行尝试堆叠注入,创造一张新表 ?id-1 union select 1,database(),group_concat(table_name) from informatio…

mac端好用的多功能音频软件 AVTouchBar for mac 3.0.7

AVTouchBar是来自触摸栏的视听播放器,将跳动笔记的内容带到触摸栏,触摸栏可显示有趣的音频内容,拥有更多乐趣,以一种有趣的方式播放音乐,该软件支持多种音频播放软件,可在Mac上自动更改音乐~ 音频选择-与内…

javascript实现久久乘法口诀表、document、write、console、log

文章目录 正序乘法口诀表倒序乘法口诀表logconsoledocumentwrite 正序乘法口诀表 function multiplicationTable() {for (let i 1; i < 9; i) {let val ;for (let j 1; j < i; j) {document.write(j * i (i * j) &nbsp );val ${j}*${i}${i * j} ;}consol…

【Linux】进程间通信——管道/共享内存

文章目录 1. 进程间通信2. 管道匿名管道命名管道管道的特性管道的应用&#xff1a;简易的进程池 3. System V共享内存共享内存的概念共享内存的结构共享内存的使用代码实现 1. 进程间通信 进程间通信&#xff08;Inter-Process Communication&#xff0c;简称IPC&#xff09;是…

跨网络的通信过程、路由的作用以及默认网关

如下网络拓扑图&#xff0c;交换机0所在的网段为192.168.1.0/24&#xff0c;交换机1所在网段为192.168.2.0/24&#xff0c;且各自有2台主机&#xff1a; 假设PC0&#xff08;192.168.1.10/32&#xff09;要跟PC4&#xff08;192.168.2.11/32&#xff09;通信&#xff0c;如何实…

基于 chinese-roberta-wwm-ext 微调训练 6 分类情感分析模型

一、模型和数据集介绍 1.1 预训练模型 chinese-roberta-wwm-ext 是基于 RoBERTa 架构下开发&#xff0c;其中 wwm 代表 Whole Word Masking&#xff0c;即对整个词进行掩码处理&#xff0c;通过这种方式&#xff0c;模型能够更好地理解上下文和语义关联&#xff0c;提高中文文…

DuiLib中的list控件以及ListContainerElement控件

文章目录 前言1、创建list控件2、创建 ListContainerElement 元素&#xff0c;并添加到 List 控件中,这里的ListContainerElement用xml来表示3、在 ListContainerElement 元素中添加子控件 1、List控件2、ListContainerElement控件 前言 在 Duilib 中&#xff0c;List 控件用于…

Python 集合 add()函数使用详解,集合添加元素

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;小白零基础《Python入门到精通》 add函数使用详解 1、元素的顺序2、可以添加的元素类型3、添加重复的元素4、一次只…

Python爬虫学习笔记:1688商品详情API 开发API接口文档

1688API接口是阿里巴巴集团推出的一种开放平台&#xff0c;提供了丰富的数据接口、转换工具以及开发资源&#xff0c;为开发者提供了通用的应用接口及大量数据资源&#xff0c;支持开发者在1688上进行商品搜索、订单管理、交易报表及物流等方面的操作。 1688API接口主要包含以…