[Unity]VRTK_v4使用指南(配置)和Pico 4开发笔记(SteamVR)

更新

0关于pico使用steamVr框架,同时可以使用VRTK工具包

1这些插件的关系

先随便讲一下这些插件的关系和使用,我只使用过PICO4,所以一起都是基于pico4设备来说的

1.1安卓一体机:

1.1.1  PICO SDK+XRI

首先在pico自带的安卓平台上面开发,需要使用pico的sdk作为输入输出,然后使用XRI包,这个包里面帮我们写好了很多函数,比如传送和抓取,所以开发很方便,缺点就是一体机性能不足,所以后面转到PCVR开发。这个平台的开发,可以全程跟着这个博主,写的非常好。不过前期先按照官方教程配置好环境,结合我的第四章,PICO4开发准备。

Unity VR 开发教程 OpenXR+XR Interaction Toolkit (四) 传送_xrrayinteractor_YY-nb的博客-CSDN博客

1.1.2  PICO SDK+VRTK

另一种方式就是VRTK提供的pico插件,这是把VRTK的一些功能接口,转到符合pico的输入,所以pico可以直接使用这些函数。(这个搭配没有使用过,XRI已经够用了)而且似乎只能安卓开发

1.2PCVR

1.2.1 SteamVR

由于pico 的sdk只能在安卓一体机使用(我感觉是只能在安卓使用),所以在PC上借助steamVr来开发,steamVR的适配性非常好,直接在Asset Store导入SteamVR包,就可以使用了,参考这个教程。

31-HoverButton_哔哩哔哩_bilibili

邵伟老师的教程也非常好,可惜买不起。 

VR博物馆项目实战教程:设计和开发一个写实SteamVR项目_哔哩哔哩_bilibili

可以看一下他的steamvr手势绑定 和输入输出

扫描二维码关注公众号,回复: 16889171 查看本文章

【加餐】如何在SteamVR中自定义手部模型(1)_哔哩哔哩_bilibili

1.2.1 SteamVR(openVR)+XRI+OpenXR

由于项目的一些功能之前利用XRI实现好了,而steamvr射线抓取和 UI互动,没有实现好的函数,所以想通过这个方式曲线救国,可惜pico没有相关的sdk(如上文所述,pico的sdk只能在安卓平台使用),之前可以借助oclus 的OpenXR的文件配置,但是现在不行了。

Pico基于Unity XR Interaction Toolkit开发SteamVR - 知乎 (zhihu.com)

这个大佬的文章中证实了这一点。

 如何在 Unity 中构建和运行 OpenXR 应用程序 - 幽灵嚎叫 (skarredghost.com)

 

1.2.3 SteamVR+VRTK

这个方式被很多开发的人所推荐,也有很多教程,但是一个尴尬的问题就是VRTK同样对PICo没有支持(上面的开发包是安卓的)

可以看到输入没有PICo 

 

但是VRTK V4 有SteamVR的SDK,前面说过,SteamVR对Pico适配的很好,所以借助steamVr 的sdk来开发。

之前写的VRTK的教程,试用于没有VR设备的用来模拟学习,这个适用于pico4.

具体教程参考这个Unity3D 基础 VR 第 2 部分 - 使用 SteamVR 2.0 进行 VRTK4 隐形传态

https://www.youtube.com/watch?v=pyMfyTyUo9A

VRTK官网VRTK - 虚拟现实工具包 

 学习教程07-抛物线_哔哩哔哩_bilibili

1.添加VRTK V4

1.1下载VRTK v4 Tilia Package Importer

VRTK v4 Tilia Package Importer | Utilities Tools | Unity Asset Store

 导入到你的工程里面

  导入

 1.2导入功能包

依次打开,Window-> Tilia->Package Importer,点击Add,获得注册表

所有可用的插件信息就全在这了

 

首先我们先将CameraRigs导入,CameraRigs中主要是启动VR头盔的功能,这个相当于是一个基础包,我们需要使用VR模式的话都是需要基于CameraRigs,CameraRigs分为spatialsimulator、trackedalias、unityxr、xrpluginframework。spatialsimulator主要是用来模拟VR的操作的。trackedalias主要是用来追踪VRCamera以及VR手柄的,unityxr以及xrpluginframework主要包含了VRCamera启动的预设,如果需要使用的话就需要导入这两个的其中一个,这里我们导入新版的xrpluginframework就可以了。下面我们导入spatialsimulator、trackedalias以及xrpluginframework这三个功能模块。

勾选前面的对号,然后Add。

1.3设置-启用VR功能

 接下来我们在打开Edit—>ProjectSettings在XR Plug Management将OpenVR勾选上

二、trackedalias与spatialsimulator的使用

2.1 头显显示

接下来我们就可以直接使用了,我们先把示例场景中的MainCamera删除然后在Hierarchey面板上右键选择Tilia->Prefabs->CameraRigs->CameraRigs.UnityXRPluginFramework将CameraRig预制体生成出来

2.2 运动跟踪

trackedalias主要是用来追踪CameraRig的,如果我们需要获取头盔手柄等等VR的位置的时候我们就需要使用trackedalias进行VR位置的追踪。主要是跟踪我们的头盔以及手柄的,下面我们直接来使用在Hierarchey面板上右键选择

添加Tilia-Prefabs-CameraRigs-CameraRigs.TrackedAlias image-20211117110719690

3.后续

这里先介绍一下,VRTK的配置,具体使用看这个博主的

VRTK_4.0使用指南(一)基础导入 - 简书

VRTK是一个VR设备通用的开发包,可以实现输入的映射,后面实际的项目在Pico 4上面开发,所以这里记录一下Pico 4开发的笔记。

4.Pico 4开发准备

参考PIco官方网站教程

导入 SDK - PICO 开发者平台

手柄模型的导入

手柄动画的使用

脚本的编写,

CommonUsages.primary2DAxis,这里代表获得哪个键的值,

给需要交互的物体挂载脚本 simple interactable

 射线进入(Hover enter),离开(Hover exit),都可以绑定到一个脚本函数上。

扳机键按下(select enter),扳机键松开(select exit)

Pico VR Neo3开发入门教程(5)——C#脚本,手柄交互_哔哩哔哩_bilibili

猜你喜欢

转载自blog.csdn.net/qq_44874004/article/details/130309428