首页 理论教育 Unity虚拟现实引擎技术:的可交互UI制作

Unity虚拟现实引擎技术:的可交互UI制作

时间:2023-10-19 理论教育 版权反馈
【摘要】:本节任务主要是制作通过手柄射线与UI进行交互的内容。“SteamVR_LaserPointer”组件主要用来检测手柄发出射线是否与物体交互,从而调用相关委托事件。

Unity虚拟现实引擎技术:的可交互UI制作

本节任务主要是制作通过手柄射线与UI进行交互的内容。

1.了解基础组件

在“Project”视图中搜索“SteamVR_LaserPointer”,打开该场景后直接运行,可以看到手柄上出现射线。该效果是在场景对象“[CameraRig]/Controller(right)”上挂载“SteamVR_LaserPointer”组件产生的。通过隐藏场景的“[CameraRig]”对象,拖拽“Player”预制体到场景中,并且为其子对象“../SteamVRObjects/RightHand”添加“SteamVR_LaserPointer”组件,便完成了基础的手柄射线。

“SteamVR_LaserPointer”组件主要用来检测手柄发出射线是否与物体交互,从而调用相关委托事件。

2.制作事件接受脚本

新建脚本“SteamVRLaserPointBaseEvent.cs”,挂载在场景中可交互的按钮上(别忘了按照任务22.3中的介绍,为按钮添加必要的组件),具体步骤如下。(www.xing528.com)

(1)引用“SteamVR_LaserPointer”组件。

“SteamVR_LaserPointer”组件提供了3个状态,射线进入交互对象的碰撞体范围(SteamVrLaserPointer_PointerIn)、射线在交互对象的碰撞体范围内时按下交互键(SteamVrLaserPointer_PointerClick)、射线离开交互对象的碰撞体范围(SteamVrLaserPointer_PointerOut)。在脚本中先引用相关组件,并在OnEnable()、OnDisable()两个事件中添加、

删除引用。

(2)编写相关事件触发后执行的方法。

(3)将委托事件添加到相关地方。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈