一、导入XR interact Tookit
首先打开Package Manager,在Advanced选中Show preview packages,这个是预览包,选上这个之后,就可以在Package Manager中搜到XR interact Tookit了。 unity2020在Edit -> ProjectSettings -> Package Manager将Enable Preview Packages选中,再去Package Manager搜索XR interact Tookit 然后将XR interact Tookit导入即可。
二、建立简单场景
- 先新建一个plane
- 然后在Hierarchy窗口右键XR -> Device-based ->Room-Scale XR Rig(一定要选Device-based,不能选Action-based,不然手柄交互不了,暂时不知道原因,有知道原因的可以留言告知一下我)
- 创建完成后场景如下:
到这一步,就可以运行看看了。
三、通过手柄射线进行交互
首先确保创建的XR Rig下的Hand Controller下有以下四个组件(你想用哪边的手柄交互就在哪边手柄的Controller下添加以下组件),我用的是右手手柄,所以是RightHand Controller。 第一个组件用来控制手柄上各个按钮的点击事件 第二个跟第三个组件用来设置发出的射线,第四个组件用来控制射线的交互
1. 移动
-
在想要移动的地面上添加Collider组件和Teleportation Area组件,然后将地面的Layer设为Teleport -
然后在XR Rig添加Teleportation Provider组件,将XR Rig拖进去 -
修改XR Controller中Select Usage的值,这里控制的是用来交互的按键,如果你想按下扳机移动,就选Trigger,我是按下圆盘移动,所以选的是Primary 2D Axis Click。 -
修改XR Ray Interactor的Interaction Layer Mask为Everything(如果想要这个射线只跟你设置的地面交互,就只选Teleport)。 然后就可以运行啦,将射线指到想要移动的地方,按下你设置的那个按键就可以过去了
2. 与UI进行交互
- 在Canvas中添加以下组件
- 在这里把UI选上
- 在Canvas下添加需要的UI即可
|