美文网首页
VRTK_4.0使用指南(三)射线忽略以及只和某个物体检测

VRTK_4.0使用指南(三)射线忽略以及只和某个物体检测

作者: _凉笙 | 来源:发表于2021-10-22 12:05 被阅读0次

1、忽略层级

在这里我们每次导出的功能模块会觉得非常麻烦。那么我在下面就不讲解功能模块的导入了,我直接将VRTK4.0 Demo中的所有功能模块都导入进来,一次性使用了。

那么这里我将所有的功能模块导入后,如果我有一个需要需要射线射中的时候忽略某一带BoxCollider的物体,那么我们这时候可以直接将该游戏物体的Layer改成IgnoreRaycast层级即可,这时候这个游戏物体就可以直接被忽略了,运行后可以看到Box直接穿过去了 image.png ,当时如果这个时候我需要左手手柄进行交互而右手手柄的射线不进行交互的话这时候我们就需要重新定义一个新的层级IgnoreStraightPointer,然后我们把刚刚的Box的层级改成IgnoreStraightPointer,然后我们在创建一个左手的直线射线,这时候发射射线可以发现我们左右手柄的射线都可以发射射线交互,那么这时候我们在右手的射线Indicators.ObjectPointers.Straight上挂载脚本Physic Cast组件,可以看到Physic Cast组件上的属性可以让我们设定我们需要忽略那一层,我们将层级选择至IgnoreStraightPointer就可以了,然后我们将我们的右手的Physic Cast组价拖入到Pointer Facade的属性Raycast Rules中去就可以了 image.png

然后运行测试就可以看到我们的右手手柄的射线被忽略了 左手手柄的射线还是可以选中的。

2、只和某个物体检测

首先我们打开菜单栏下Window->Zinnia->Observable List Component Generator,打开窗口后,名字我们自己可定义一个,然后Type类型我们选择List Contains Rule,然后点击生成,就会在Hierarchy面板上生成一个游戏物体.


image.png 然后选择我们刚刚生成的物体,将我们的Cube添加进来,这里的意思是LIst里包含的目标是有效的目标 image.png 那如果我们想将List里的目标改成无效的目标,我们就需要取反,这里我们新建一个游戏物体命名为PointerNegationRule,在新建的物体上添加脚本NegationRule,然后将我们自动生成的物体PointerValidTargetRule指定给NegationRule脚本上的属性Rule中,最后我们再将我们的PointerNegationRule指定给我们右手射线中的Target Validity中,这时候我们右手手柄射线射中的物体就不会包含PointerValidTargetRule的List里面的游戏物体了。运行起来后发现右手手柄是可以选中Cube的 但是并不会穿透
image.png

当然我们也可以直接将PointerValidTargetRule指定给右手射线中的Target Validity中。这样的话就是除了Cube可以是有效目标其他的都不是有效目标

相关文章

  • VRTK_4.0使用指南(三)射线忽略以及只和某个物体检测

    1、忽略层级 在这里我们每次导出的功能模块会觉得非常麻烦。那么我在下面就不讲解功能模块的导入了,我直接将VRTK4...

  • VRTK_4.0使用指南(二)射线

    一、Indicators指标的使用 首先我们先导入功能包,导入功能包过程在这就不讲解了与上一篇文章中的导入方法一致...

  • Unity射线检测3d,2D,正交透视。

    使用射线功能制作点击物体获取物体名字。可以做简单点击相应。 3D射线检测,Camera 在正交模式与透视模式皆可使...

  • Unity 基础 - 射线

    Unity 中虚拟射线能够检测所碰撞到物体,使用 Physics 类的 Raycast 方法实现色心啊碰撞检测功能。

  • UGUI的射线检测

    1.UGUI的射线检测,检测到检测点UI下的所有UI物体。 2.使用该方法,需要用到的条件。(1)Graphic ...

  • Unity3D UGUI , 3D物体 拖拽跟随鼠标

    不使用射线实现 拖拽物体以及UGUI主要函数为UGUI RectTransformUtility.Screen...

  • 碰撞检测

    three提供两种碰撞检测1.【射线检测【相机视线内是一条直线,这条线触碰到的物体会被检测到】】========一...

  • Ambient Occlusion技术方案综述

    所谓的Ambient Occlusion(AO),指的是当光源到某个物体表面上某点的射线被其他物体所遮挡时,用于计...

  • 射线与球的相交

    今天来说说射线和球的相交检测。 从图形来说 ![射线和圆相交, origin是射线起点, dir是射线的方向向量。...

  • [Unity3D] URP Camera 下 OnMouseDo

    在挂载了Collider物体上挂载带有OnMouseDown函数的脚本,结果点击没有触发。排除了射线检测相关的基础...

网友评论

      本文标题:VRTK_4.0使用指南(三)射线忽略以及只和某个物体检测

      本文链接:https://www.haomeiwen.com/subject/paqqaltx.html