UnityVR入门之六 如何让3DUI层级在场景模型之上

一、问题来源

根据 UnityVR入门之五 射线检测交互-CSDN博客 这一章节我们了解到VR要与UI交互需要将Canvas设置为World Space属性,然后使用碰撞盒的方式进行射线交互。

正常我们ui是始终叠加在3d场景之上的,如此设置当ui与场景模型相交就会遮挡穿模

二、解决3DUI穿模问题

为了解决这个问题我采用了相机的Culling Mask层级剔除特性,将ui设置为自定义的UpperLayer层级,主相机剔除此层级可以得到场景中除UpperLayer层级的所有层级物体画面。然后在主相机下在新建相机让其只渲染UpperLayer层级并且这个相机的Depth深度要高于主相机。

1.设置UI层级为自定义的UpperLayer层级

2.主相机VRCamera剔除UpperLayer层级

3.新建VRUIPanelCamera子相机,让其只渲染UpperLayer层同时设置Depth深度要大于主相机

主相机的深度是-1,我这里设置子相机为0 。这时就可以看到UI画面了

三、核心原理

使用过绘图软件例如PS的同学应该明白,我们做图都是有层级的,下层会遮挡上层的图片。

 

我们上方设置相机的层级剔除是为了得到我们需要的场景画面,剔除过后主相机显示的画面是场景画面,而子相机显示的是ui画面。图片有了就剩下层级的设置了,相机的Depth深度就代表了画面的层级,当主相机层级低于子相机时,子相机的画面就会覆盖在主相机上。 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java爬虫获取省市区镇村5级行政区划

公司有个项目需要五级行政区划&#xff0c;没有现成的数据&#xff0c;写了一段代码&#xff0c;从gj统计j获取的数据。记录一下。 1.引入maven解析html <!-- jsoup --> <dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifa…

Liunx JBK、Python安装和SSH免密登陆

一. JBK的安装 https://www.cnblogs.com/javabg/p/10332993.html 1.查找java相关的列表&#xff1a; yum -y list java* 或 yum search jdk 2.安装JBK&#xff1a; yum install java-11-openjdk.x86_64 yum install java-11-openjdk-devel.x86_64 3.完成安装后验…

Spring+Vue实战项目环境准备跑通程序

SpringVue 源项目 后端&#xff1a; 首先在GitHub上克隆项目到本地&#xff08;zip包下载/sourcetree拉取/gitbash克隆&#xff09;。 https://github.com/songboriceman/doubao_community_backend 然后下载Lombok安装到你的IDE&#xff08;eclipse&#xff09;。 https://p…

2022年多元统计分析期末试题

2023年多元统计分析期末试题 1.试论述系统聚类、动态聚类和有序聚类的异同之处。 2、设 X {X} X~ N 3 {N_3} N3​(μ&#xff0c;Σ)&#xff0c;其中 X {X} X ~ ( X 1 {X_1} X1​, X 2 {X_2} X2​, X 3 {X_3} X3​)&#xff0c;μ (1,-2,3)‘&#xff0c;Σ [ 1 1 1 1 3 2…

ThinkPHP5多小区物业管理系统源码(支持多小区)

基于 ThinkPHP5 Bootstrap 倾力打造的多小区物业 管理系统源码&#xff0c;操作简单&#xff0c;功能完善&#xff0c;用户体验良好 开发环境PHP7mysql 安装步骤: 1.新建数据库db_estate,还原数据db_estate.sql 2.修改配置文件&#xff1a;application/database.php 3.运…

《C++语言程序设计(第5版)》(清华大学出版社,郑莉 董渊编著)习题——第2章 C++语言简单程序设计

2-15 编写一个程序&#xff0c;运行时提示输入一个数字&#xff0c;再把这个数字显示出来。 #include <iostream>using namespace std;int main() {// 提示用户输入数字cout << "请输入一个数字: ";// 用于存储用户输入的数字的变量double number;// 从…

FineBI实战(2):案例架构说明及数据准备

1 系统架构 基于MySQL搭建数据仓库基于Kettle进行数据处理帆软FineBI基于MySQL搭建的数据仓库进行数据分析 2 数据流程图 通过Kettle将MySQL业务系统数据库中&#xff0c;将数据抽取出来&#xff0c;然后装载到MySQL数据仓库中。编写SQL脚本&#xff0c;对MySQL数据仓库中的数…

LeetCode 2807. 在链表中插入最大公约数【链表,迭代,递归】1279

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

XXL-JOB学习笔记-新增企业微信告警通知

xxl-job默认的告警通知方式是发送邮件&#xff0c;工作中不易及时的收到通知并作出响应&#xff0c;所以想要调整下告警的通知方式&#xff0c;查阅文档资料&#xff0c;发现可以扩展xxl-job的源码实现支持。 主要思路就是根据xxl-job现有的告警机制&#xff0c;扩展实现企业微…

浅谈Java 微服务技术:理论与实践

目录 1. 引言 2. 什么是微服务架构&#xff1f; 2.2 微服务的优势 3. 微服务架构的设计原则 3.1 单一职责原则 3.2 服务自治原则 3.3 去中心化原则 4. 微服务通信方式 4.1 RESTful API 4.2 消息队列 5. 服务注册与发现 6. 微服务容器化与Docker 7. 微服务监控与日志…

SQL注入总结

又到了期末时间段&#xff0c;此文章是自己总结所学&#xff0c;仅供参考。 目录&#xff1a; 一、原理 一般流程 二、分类 按照请求分类 盲注分类 按照头部字段 其他类型 三、防御 代码层面 网络层面 一、原理&#xff1a; 后端web服务器对用户输入的恶意字符过滤不严&am…

数据结构和算法-交换排序中的快速排序(演示过程 算法实现 算法效率 稳定性)

文章目录 总览快速排序&#xff08;超级重要&#xff09;啥是快速排序演示过程算法实现第一次quicksort函数第一次partion函数到第一次quicksort的第一个quicksort到第二次quicksort的第一个quicksort到第二次quicksort的第二个quicksort到第一次quicksort的第二个quicksort到第…

Java反射和动态代理

文章目录 1、反射1.1 反射的概述1.2 反射作用1.3 获取字节码文件对象的方式1.4 字节码文件和字节码文件对象1.5 获取构造方法1.6 获取构造方法并创建对象1.7 获取成员变量并获取值和修改值1.8 获取成员方法1.9 获取成员方法并运行1.10 反射练习1.10.1 泛型擦除1.10.2 修改字符串…

uniapp 创建组件组件

组件&#xff1a;用于将某个功能的 HTML、CSS、JS 封装到一个文件中&#xff0c;提高代码的复用性和可维护性。 创建组件 一、在根目录中创建 components 文件夹&#xff0c;右键点击新建组件。 二、输入组件名称、选择默认模板、点击创建组件。 三、在组件中正常编写内容即可…

动态编译 - Dynamically Compile and Load External Java Classes

文章目录 概述Code 概述 动态编译和加载外部Java类的核心流程可以概括为以下几个步骤&#xff1a; 读取源代码: 首先&#xff0c;需要获取到外部的Java源代码。这通常是通过读取文件、网络资源或者数据库中的源代码字符串来实现的。编译源代码: 接下来&#xff0c;需要使用Ja…

计算机网络(8):因特网上的音频/视频服务

概述 计算机网络最初是为传送数据设计的。因特网 IP 层提供的 “尽最大努力交付” 服务以及每一个分组独立交付的策略&#xff0c;对传送数据信息十分合适。因特网使用的 TCP 协议可以很好地解决P层不能提供可靠交付这一问题。 音频/视频常称为多媒体信息 多媒体信息&#xff…

unity 安卓 TCP可以连接别人,但是作为服务器无法被连接

现象非常的奇特&#xff0c;电脑ping手机没问题&#xff0c;用手机的socket调试助手也没问题&#xff0c;手机还能向外连接tcp服务器&#xff0c;但是电脑连手机tcp服务器连不上。更有趣的是&#xff0c;有些手机做tcp服务器可以被连接&#xff0c;有些手机做tcp服务器不能被连…

容器相关笔记

1.容器 1.什么是容器 容器就是存放对象的集合 2.java中的容器 容器就是一系列的类或接口&#xff0c;用来存储一系列对象的地址 3.容器里存放的是引用数据类型&#xff08;存对象的地址&#xff0c;不是对象本身&#xff09;&#xff0c;不能存基本数据类型 4.容器存放的两种格…

【BIAI】lecture 3 - GD BP CNN Hands-on

GD & BP & CNN & Hands-on 专业术语 gradient descent (GD) 梯度下降 back propagation (BP) 向传播 Convolutional Neural Network (CNN) 卷积神经网络 forward propagation 前向传播 biologically symmetry 生物对称性 synaptic 突触 axon 轴突 课程大纲 The go…

BUUCTF crypto做题记录(6)新手向

一、Unencode 得到的密文&#xff1a;89FQA9WMD<V1A<V1S83DY.#<W3$Q,2TM] 看题目名字&#xff0c;我们可以知道这是一个解码的题目&#xff0c;但是unencode 好像是不可解码的意思&#xff0c;我们可以对照着解码方式看一下哪个更适合&#xff0c;可以进行尝试一下C…