Unity之XR Interaction Toolkit如何在VR中实现一个可以拖拽的UI

前言

普通的VR项目中,我们常见的UI都是一个3D的UI,放置在场景中的某个位置,方便我们使用射线点击。但是为了更好的体验,我们可能会有跟随头显的UI,或者可拖拽的UI,这样更方便用户去操作。
所以我们今天的需求就是:如何基于XR Interaction Toolkit 插件 在VR中使用手柄射线来拖拽UI。

实现原理

首先我们使用的是XR Interaction Toolkit插件,XR Interaction Toolkit是Unity3D官方开发的一套工具包,用于快速创建交互性VR和AR应用程序。它提供了一套易于使用的组件和工具,帮助开发者快速搭建复杂的虚拟和增强现实场景。

所以如果对XRI有所了解的话,应该知道:抓取拖拽物体一般使用的XRGrabInteractable组件,而射线点击操作,一般使用的是XRSimpleInteractable。如果想更详细的去了解,可以去看Unity之OpenXR从入门到精通

我们现在其实就是使用射线抓取UI面板,然后进行拖拽,所以其实使用的是XRGrabInteractable组件。
然后我们给UI面板添加合适的碰撞BoxCollider,这样UI面板就可以想3D物体一样被拿取和拖拽了。

实现步骤

1.给需要拖拽的UI面板添加XRGrabInteractable组件
如下图所示:

你可能感兴趣的:(Unity精选,unity,xr,vr,quest,oculus,meta,可拖拽UI)