Unity 多相机 同屏显示

这篇具有很好参考价值的文章主要介绍了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来决定的(如下图)

Unity 多相机 同屏显示,Unity,unity

 二 .了解 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界面

Unity 多相机 同屏显示,Unity,unity

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

Unity 多相机 同屏显示,Unity,unity

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

Unity 多相机 同屏显示,Unity,unity

 Unity 多相机 同屏显示,Unity,unity

 得到效果如下:

Unity 多相机 同屏显示,Unity,unity

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

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

Unity 多相机 同屏显示,Unity,unity

Unity 多相机 同屏显示,Unity,unity

效果:

 Unity 多相机 同屏显示,Unity,unity

Dome地址:(26条消息) Unity多相机同屏显示.zip资源-CSDN文库文章来源地址https://www.toymoban.com/news/detail-563378.html

到了这里,关于Unity 多相机 同屏显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity】万人同屏, 从入门到放弃之——Entities 1.0.16性能测试

    当前测试使用的Entities版本为1.0.16 Unity Entities 1.0.16使用方法: Create a component for the spawner example | Entities | 1.0.16 1. 创建SubScene 2. 在SubScene下创建挂载Authoring脚本: Authoring是MonoBehaviour脚本,主要用来序列化配置需要创建的实体prefab资源或参数; 因为Entities目前不支持用资源名动

    2024年02月07日
    浏览(33)
  • 【Unity每日一记】(Canvas的相机渲染模式) 如何将模型显示在UI之前

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 : unity每日一记 ⭐【软件设计师高频考点暴击】 ⭐【Unityc#专题篇】之c#系统化大礼包】 ⭐【unity数据持久化】数据管理类_PlayerPrfs ⭐【u

    2024年04月09日
    浏览(50)
  • 【Unity】万人同屏, 从入门到放弃之——自定义BatchRendererGroup合批渲染海量物体

    Unity万人同屏动态避障 GPU动画 Entities Graphics高性能合批渲染插件的使用_哔哩哔哩_bilibili 由于Dots的限制太多,对于需要dlc或热更的项目来说,Dots就爱莫能助。能不能不用Entities,只用Entities Graphics呢? 当然是可以的,Entities Graphics背后使用的接口就是Batch Renderer Group;  自定义

    2024年02月08日
    浏览(47)
  • 【Unity】万人同屏高级篇, 自定义BRG&dots合批渲染,海量物体目标搜索

      博文介绍了最基本的实现原理,有些老板懒得折腾,所以特意熬了几个秃头的夜把RVO、BRG、GPU动画、海量物体目标搜索等高度封装成了开箱即用的插件。  划重点!!此方案是绕开Entities(ECS),不用写一行ECS代码,现有MonoBehavior开发工作流享受Entities渲染的性能。已有项目也

    2024年02月08日
    浏览(44)
  • 【Unity】十万人同屏寻路? 基于Dots技术的多线程RVO2避障

    博文介绍了最基本的实现原理,有些老板懒得折腾,所以特意熬了几个秃头的夜把RVO、BRG、GPU动画、海量物体目标搜索等高度封装成了开箱即用的插件。 划重点!!此方案是绕开Entities(ECS),不用写一行ECS代码,现有MonoBehavior开发工作流享受Entities渲染的性能。已有项目也能使

    2024年02月08日
    浏览(47)
  • unity相机跟随和相机边界(Cinemachine)

    1.在 Unity 编辑器中打开 Package Manager(菜单:Window Package Manager) 2.找到 Cinemachine 条目,然后单击右下角的 Install。 1.要开始使用 Cinemachine,你需要在顶部菜单栏上选择 Cinemachine Create 2D Camera 条目,从而将 Cinemachine 2D 摄像机添加到场景中。 2.此时将创建一个名为 CM vcam1 的新游戏

    2024年02月11日
    浏览(64)
  • Unity相机自由移动脚本

    实现WSAD移动方向,鼠标右键旋转角度,滚轮实现缩放 在此之前,我们先讲清楚几个比较容易混淆的点: 1: Transform.forward 是Transform组件的一个Vector3类型的属性,代表游戏对象在世界坐标系中的朝向,即“前方向”,它的值是(0,0,1),它表示了一个对象的X轴方向,一般用于计

    2024年02月09日
    浏览(42)
  • unity 相机截图

        /// summary     /// 针对相机的截图     /// /summary     public void CameraScreenShot(){                 Rect rect = new Rect(0,0,Screen.width,Screen.height);         RenderTexture renderTexture = RenderTexture.GetTemporary((int)rect.width,(int)rect.height,0, RenderTextureFormat.ARGB32);                 #region 默认内置

    2024年01月21日
    浏览(45)
  • Unity 单相机操作插件

    插件链接:https://download.csdn.net/download/mayzhengxi/87287822 非常适合初学者,包括移动和PC支持,可以旋转、缩放、平移、上升、下降和跟随目标。选择目标后,相机会自动将目标居中,也可以根据设定的重量聚焦在目标上,近距离观察目标。您可以限制相机的移动区域并重置相机

    2024年02月16日
    浏览(34)
  • Unity——URP相机详解

    2021版本URP项目下的相机,一般新建一个相机有如下组件 1:Render Type( 渲染类型 ) 有Base和Overlay两种选项,默认是Base选项         Base:主相机使用该种渲染方式,负责渲染场景中的主要图形元素         Overlay(叠加):使用了Oveylay的相机会把它渲染出的图形叠加到其他相机之上

    2024年02月05日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包