【Unity VR开发】结合VRTK4.0:忽略某一层级

news2024/11/23 13:09:16

介绍:

由前面学习可知:

对象指针将与任何包含碰撞体(甚至是触发器碰撞体)的游戏对象发生冲突,但有时我们希望对象指针完全忽略游戏对象,就好像它不在场景中一样。

例如,如果我们手里拿着一个可交互对象,那么我们不希望我们的传送指针与该可交互对象发生碰撞,如果对象指针光束直接穿过会更好。

我们可以通过自定义对象指针的 RayCast 来确定 RayCast 将哪些游戏对象碰撞体视为有效目标来实现此目的。


Go Go Go:

Step1:

我们在场景中新建一个Cube,简单的调整他的属性以及大小

 Step2:

当我们运行unity后,按键激活对象指针并将其对准。您将看到指针光束按预期击中。

Step3: 

如果我们想让指针忽略我们,简单方法就是将Cube层设置为2:Ignore Raycast

Step4: 

运行场景,按键激活对象指针并将其对准。你会看到指针光束现在穿过Cube,如果它不存在的话。这是因为该图层将被所有 RayCast 忽略(除非另有说明)。

 Step5:

我们已经实现了我们的目标,但是如果我们希望我们的镜头被场景中的其他 RayCast 拾取怎么办?我们刚刚告诉所有 RayCast 都会忽略它,将其放在2:Ignore Raycast上。

如果我们只是想让我们的直线指针忽略怎么办?好吧,我们可以通过使用我们自己的自定义层来实现这一点。通过新建一个新的图层。

创建一个新图层: IgnoreStraightPointer

然后回到主场景,我们将Cube的层级改为:9:  IgnoreStraightPointer

 Step6:

现在我们设置了一个自定义图层,我们需要告诉我们的直线指针忽略这个自定义图层。我们可以用一个组件来做到这一点。

 Step7:

我们需要在组件上更改属性值以包含我们的图层。

 Step8:

现在我们只需要告诉我们的直线指针在投射光束时使用我们前面设置的规则,就需要将其拖到对应的组件属性上。

 Play:

运行场景,按键激活对象指针并将其对准。你会看到指针光束现在穿过Cube,如果它不存在的话。这是因为我们的自定义规则告诉我们的直线指针忽略该层。


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

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

相关文章

静图怎么做成gif动画图片?三步教你在线生成gif图片

说到gif动图相信大家都不陌生。那么,作为一名软件小白想要自己动手制作专属的gif动态图,要如何操作呢?接下来,给大家推荐一款专业在线gif制作(https://www.gif.cn/)工具-【GIF中文网】,通过两个…

力扣sql简单篇练习(七)

力扣sql简单篇练习(七) 1 销售分析 III 1.1 题目内容 1.1.1 基本题目信息1 1.1.2 基本题目信息2 1.1.3 示例输入输出 a 示例输入 b 示例输出 1.2 示例sql语句 # 所查字段来自同一张表可优先考虑子查询,但需要考虑原表有,关联表没有的这种情况 SELECT p.product_id,p.produ…

GO基本知识学习(一)

文章目录 1 GO基本知识1.1 windows安装1.2 `Go Modules`依赖包查找机制1.3 变量定义1.4 创建一个go项目1.5`go`的变量类型1.6 go的变量初始化1.7 变量作用域1.8 注释1 GO基本知识 ​ 官网地址:https://www.golang.org/ ​ 国内下载地址:https://studygolang.com/dl 1.1 wi…

【springboot进阶】基于starter项目构建(二)构建starter项目-gson

这个系列讲解项目的构建方式,主要使用 父项目 parent 和 自定义 starter 结合。项目使用最新的 springboot3 和 jdk19。本系列的代码仓库看查看 gitee 仓库 的 starter 目录。 这篇我们开始学习创建属于自己的 starter ,实现一些常用模块的封装和自动配置…

Python | 数据类型之集合 | 函数

知识目录一、集合简介1.1 集合的定义1.2 实例二、集合的基本操作三、函数3.1 函数的定义3.2 函数的调用3.3 全局变量和局部变量一、集合简介 1.1 集合的定义 集合(set)是一个无序的不重复元素序列。 可以使用大括号 { } 或者 set() 函数创建集合&…

Hudi系列13:Hudi集成Hive

文章目录一. Hudi集成Hive概述二. Hudi集成Hive步骤2.1 拷贝jar包2.1.1 拷贝编译好的hudi的jar包2.1.2 拷贝Hive jar包到Flink lib目录2.1.3 Flink以及Flink SQL连接Hive的jar包2.2 重启hive2.3 Flink访问Hive表2.3.1 启动Flink SQL Client2.3.2 创建hive catalog2.3.3 切换 ca…

cpanel面板的虚拟主机重装wordpress

cpanel面板的虚拟主机重装wordpress很多朋友购买的虚拟主机都是采用的cPanel面板。想要重装WordPress的话,跟着以下步骤操作即可。登录cPanel管理后台,进入文件管理;删除网站的所有文件(如果有需要请先备份然后下载到本地&#xf…

Ubuntu18.04 gRPC编译安装

一、CMake版本检查 grpc编译cmake要求最低版本为3.15。首先,cmake -version 查看当前cmake版本,如果低于3.15,按照以下步骤进行安装。 1.1 卸载已经安装的旧版的CMake sudo apt-get autoremove cmake 1.2 下载最新版本CMake CMake下载地…

2023年湖北中级工程师职称怎么评?甘建二告诉你

春季开始了,又到了职称评审正式申报提交资料的时候了,很多想评职称的小伙伴都不知道中级职称要怎么评?需要本人提供什么资料?配合哪些事情?怎么评一个中级职称呢?接下来甘建二老师跟您一起来看看&#xff1…

Redis性能问题排查指引

目录 Redis性能问题排查手段 1. 定位问题点 2. 定位Redis具体性能问题 参考: Redis性能问题排查手段 1. 定位问题点 当发生业务系统访问Redis慢或者超时异常时,可能的原因有以下三个: 客户端问题: 如果客户端使用的是Java版…

VueJS 之组件的生命周期

文章目录参考描述生命周期生命周期图示生命周期钩子组件创建阶段组件运行阶段组件销毁阶段举个栗子参考 项目描述搜索引擎Bing哔哩哔哩黑马程序员VueJS官方文档 描述 项目描述Edge109.0.1518.70 (正式版本) (64 位)操作系统Windows 10 专业版vue/cli5.0.8npm8.19.3VueJS2.6.1…

实战30:基于Open CV的车道线检测 附完整代码

车道线检测,在色彩切片、边界提取处,可以选用许多不同的方法来实现。色彩切片处是希望通过车道线的颜色特征:白色或者黄色来提取车道线,白色和黄色单独提取后两者图像相加便得到了同时含有白色车道和黄色车道的图像。色彩切片步骤的关键在于如何获得较为纯净的车道线,以让…

Java JVM:Java 内存模型与线程(七)

衡量一个服务性能的高低好坏,每秒事物处理数(TPS)是重要的指标之一,而 TPS 值与程序的并发能力又有非常密切的关系 目录一、硬件的效率与一致性二、Java 内存模型三、Java 与线程这里是看书笔记,之前文章也有相关介绍&…

操作系统权限提升(八)之系统错误配置-注册表键AlwaysInstall提权

系列文章 操作系统权限提升(一)之操作系统权限介绍 操作系统权限提升(二)之常见提权的环境介绍 操作系统权限提升(三)之Windows系统内核溢出漏洞提权 操作系统权限提升(四)之系统错误配置-Tusted Service Paths提权 操作系统权限提升(五)之系统错误配置-PATH环境变量提权 操作…

异质性区域下的宏观基本图构建

这是我们发表在Physica A: Statistical Mechanics and its Applications期刊上的一篇论文,主要是对现在的宏观基本图构建进行了一定的优化,论文详见:https://www.sciencedirect.com/science/article/pii/S0378437123000869 1.论文概述 论文…

stream操作常用API 示例详解

简介 从JDK8开始,增加了一新特性Stream流式操作,Stream中提供了非常多的API供大家使用,灵活的使用这些API,可以非常的方便且优美的实现我们的代码逻辑。 流式操作主要用来处理数据(比如集合),…

Java两大工具库:Commons和Guava(4)

您好,我是湘王,这是我的CSDN博客。值此新春佳节,我给您拜年啦~祝您在新的一年中所求皆所愿,所行皆坦途,展宏“兔”,有钱“兔”,多喜乐,常安宁!在Nginx中提到过…

说一下Vue组件中的自定义事件和全局事件总线

一,自定义事件 1.自定义事件是什么 自定义事件一种组件间通信的方式,适用于 子组件 ——> 父组件传输数据等 2.要在什么地方使用 若App是父组件,School是子组件,School想给App传数据,那么就要在App中给School绑…

MySQL表中的聚合查询

聚合查询在MySQL初阶中进行的查询都是对于同一条记录的列与列之间进行的运算,那如何对多条记录的不同行进行运算呢(比如计算所有同学某一单科的总分,某一单科的平均分)?此时就需要聚合查询来操作了!1.聚合函数函数 说明COUNT([DISTINCT] expr)返回查询到的数据的数量SUM([DIST…

pod访问不通问题--kube-proxy未正常创建

用户问题Pod创建后访问对象存储OSS不通。初步排查初步排查,网络连通性是OK的。再次反馈创建Pod后2分钟内可能存在业务不通。业务架构该集群采用了节点自动弹缩功能,节点弹缩范围在13-28之间。用户周期性创建大批量Pod,共300个,与对…