因项目需求需要开发一款HDRP的VR项目 原先老的一套VRTK和Stemar 在新版本已经不适应了,虽然我找到了 VRTK4.0,但是用起来和别的插件总是有冲突的情况,而且学习成本更大了,经过了解unity官方推荐了XR,废话不多说直接上最基础的开发流程

第一步导入插件

Unity与bs端如何交互 unity 交互_xr


这是必备插件导入后可能会让项目重启,如果重启等待重启即可。

第二步设置

导入成功后会出现XRPlug,点击这个选项选中OpenXR

Unity与bs端如何交互 unity 交互_vr_02


点击下方XR进行设置,因为我是HTC所以选择了htc 如果你是其他硬件可以选择其他类型的输入类型,第一个类型选项RenderMode根据我的设置

Unity与bs端如何交互 unity 交互_3D_03


在Player中设置ActiveInputHandling为图中样式

Unity与bs端如何交互 unity 交互_unity_04


然后导入SteamVR就可以了基本环境配置完成。

第三步UI与物体的射线简单交互

Unity与bs端如何交互 unity 交互_Unity与bs端如何交互_05


这两个不同的区别是 Device使用的是硬件按钮输入,Action是新的Input系统转换后的输入,Action有更多的变化,但是这个需要对新的输入系统有一定的了解。我默认使用的是硬件按钮输入,创建成功后会多出以下物体,XR Interaction Manager是整个场景输入的控制器,XROrigin就是头盔和手柄了一目了然

Unity与bs端如何交互 unity 交互_Unity与bs端如何交互_06

头盔基本就是默认不用动,想要实现交互3D物体与U,就是在左右手柄的设置上进行交互按钮的设置。

Unity与bs端如何交互 unity 交互_Unity与bs端如何交互_07


被射线点击的3D物体需要挂载这个组件即可,3D物体要有碰撞器。

Unity与bs端如何交互 unity 交互_xr_08


被射线点击的UI需要在XR中创建相应的UICanvas与EventSystem

Unity与bs端如何交互 unity 交互_Unity与bs端如何交互_09


在Canvas上根据下图设置就能实现射线点击UI了

Unity与bs端如何交互 unity 交互_unity_10


以上就是最基础的射线点击UI与3D物体。