如何阻止光线穿过游戏对象(使用 XR 射线交互器)?

问题描述 投票:0回答:1

我正在构建一个带有道路和房屋的简单场景。玩家能够在道路(即飞机)上传送。

但是,当光线击中房屋时,它只会穿过房屋,并允许玩家在平面延伸的范围内传送到房屋内:

如何检测射线何时击中房屋,以便阻止玩家传送?在视觉上阻挡光线穿过房子会更好。

我最初的想法是使用图层,我将房屋添加到“房屋”图层,将道路添加到“道路”图层。现在下一步是检查光线击中的游戏对象是否在道路或房屋层中,但我找不到检测该对象的方法。

当我向房屋添加网格碰撞器时,射线在撞击它时会变成红色,但只要射线在道路上结束,我仍然可以传送穿过房屋。

unity-game-engine virtual-reality
1个回答
0
投票

我认为您不需要编写自己的脚本来让光线检测图层。只需创建两个层,然后在 XR 射线交互器内部,设置 Raycast Mask 以包含“墙”层。这确保了光线被墙壁游戏对象的碰撞体阻挡。只要光线投射遮罩包含“墙”层,我场景中的墙就会阻挡来自玩家的传送光线。

© www.soinside.com 2019 - 2024. All rights reserved.