一.前言
在VR中我们经常会和一些3D的UI进行交互,今天我们就来说一下如何实现OpenXR+XRInteraction Toolkit和UI的交互。
二.准备工作
有了前两篇的配置介绍,我们就不在详细说明这些了,大家自行复习
Unity之OpenXR+XR Interaction Toolkit接入Pico VR一体机
Unity之OpenXR+XR Interaction Toolkit接入HTC Vive
我们新建一个3D(URP)工程
然后通过PackageManager安装XR Interaction ToolKit插件。
配置好XR Interaction Toolkit的Preset
新建一个3D场景
准备工作完毕
三.创建画布
然后进行如下设置
1.修改RenderMode为World Space模式
2.修改Transform的Scale缩放为(0.002,0.002,0.002)
3.修改何时的坐标位置,如圆点(0.0.0)附近
4.添加XR组件Tracked Device Graphic Raycaster(可以和VR手柄交互)
四.添加XR Origin
通过菜单GameObject->XR->XR Origin(VR)创建VR操作对象。
查看LeftHand Controller和RightHand Controller是否配置正确。
设置手柄模型
模型的资源在XR Interaction Toolkit的Prefabs目录中
以上设置完毕,如果没有问题的话。
查看Hand Controller的另一个组件XR Ray Interactor射线交互器,确认Enable Interaction With UI GameObjects 选项是否勾选,这里必须勾选,才能通过射线和UI进行交互。
五.升级EventSystem
选择EventSystem游戏对象,我们会发现如下图所示:
原因不言而喻,就是我们的InputSystem需要升级使用XR的InputSystemUIInputModule。
我们直接点击Replace Whith xxxx按钮即可。替换完毕后,如下图所示;
好了,到此位置,我们就可以运行Demo试一下了。