SDK开发第三天 VRTK4

85 阅读2分钟

一、VRTK4官网

www.vrtk.io/

二、几种导入方式

image.png

三、使用按需导入的方式导入VRTK4

image.png

1.打开projectSetting窗口填写作用域注册表

2.在项目文件夹结构中打开以下json文件

image.png

3.需要导入什么包就将包的完整名称复制放到json文件中

image.png

image.png

4.勾选中XRSetting选项

选择一种SDK类型,我们选择的是OpenVR,前面已经介绍了OpenVR是啥了 image.png

5.安装好包之后右击会自动出现对应的头盔预制体

image.png

四、实现场景传送操作

1.在VR设备中实现

1.1导包

 "io.extendreality.tilia.camerarigs.spatialsimulator.unity": "2.1.7",
    "io.extendreality.tilia.camerarigs.trackedalias.unity": "2.1.2",
    "io.extendreality.tilia.camerarigs.unityxr": "2.1.2",
    "io.extendreality.tilia.indicators.objectpointers.unity": "2.1.19",
    "io.extendreality.tilia.interactions.controllables.unity": "2.9.3",
    "io.extendreality.tilia.locomotors.teleporter.unity": "2.1.6",
    "io.extendreality.tilia.mutators.collisionignorer.unity": "2.0.10",

1.2 创建预设

创建以下四个预设,CameraRigs.UnityXR(VR设备)、CameraRigs.TrackedAlias(跟踪器)、Indicators.ObjectPointers.Curved(传送需要用到的曲线)、Locomotors.Teleporter.Dash(传送的方式)

1.3配置预设

image.png 把当前玩家的位置PlayAreaAlias和当前检测到的头盔位置和旋转位置HeadsetAlias拖入到传送方式Locomotors.Teleporter.Dash中

image.png

曲线选择移动的方式传送,并且勾选Teleport(因为Locomotors.Teleporter.Dash挂载了Teleport脚本文件) image.png

image.png

Indicators.ObjectPointers.Curved绑定手柄(是左手柄还是右手柄--Follow Source)、哪个键触发曲线传送(Activaton Action)、哪个键触发传送(Selection Action)

image.png

如果您想换换一种传送方式(闪现模式传送),那就需要创建Locomotors.Teleporter.Instant(闪现传送) 并且也需要在曲线Indicators.ObjectPointers.Curved绑定好方法以及触发事件。如下:

image.png

以上就可以实现在VR设备下在场景中传送了。

2.在模拟器中实现

在不使用VR设备的情况下,也就是使用鼠标或者键盘的模式下实现在场景中传送。也就是创建CameraRigs.SpatialSimulator预设来实现,并且Indicators.ObjectPointers.Curved触发的两个键修改为鼠标或者键盘来控制即可。

image.png 同样这样也可以实现传送操作。

注意:在制作这些操作之前,创建CameraRigs.TrackedAlias和CameraRigs.UnityXR的位置要保持一致,并且在跟踪器上要挂载好

image.png

image.png

五、实现开关门操作

image.png

image.png

image.png

六、实现拉抽屉操作

image.png

创建Mutators.CollisionIgnorer预设,作用:可以实现忽略要改变的物体和其他多个物体之间碰撞取消,比如在当前box_1取消和table_3\table\box2之间的碰撞,可以有效的防止因为碰撞会产生反弹的问题。

image.png