文章目录
1 Quickstart(快速开始)
1.1 Download(下载插件)
1.2 SteamVR Input Window(输入窗口)
1.3 Copy JSONs(复制 JSON)
1.4 Save and Generate(保存并生成)
1.5 Interaction System(交互系统)
Introduction
本文档基于 SteamVR 插件的开发文档翻译并总结 SteamVR 开发过程中的基本用法。本文总结汇总了 SteamVR 插件文档的内容,对文档部分内容进行了删减。目前仅仅只是翻译并对其中部分内容进行拓展总结,文章内容可能存在纰漏,后续会结合开发过程逐步更新修改此文章的内容。
本文的 SteamVR 版本为 2.7.3,Unity 版本为 2019.1.2f1,配套头戴式设备为 HTC VIVE 2.0Pro。(鉴于简书长文章阅读体验不好,特此将此文档拆分成六篇短文章)
插件文档地址:https://valvesoftware.github.io/steamvr_unity_plugin/articles/intro.html
1 Quickstart(快速开始)
1.1 Download(下载插件)
插件下载有很多方式,可以前往 Steam 平台下载,也可以在 Unity Asset Store 搜索 Steam VR 进行下载。
安装部分内容参考 SteamVR 安装教程操作:https://www.jianshu.com/p/e7bb27021314
Steam:https://store.steampowered.com/app/250820/SteamVR/
Unity Asset Store:https://assetstore.unity.com/packages/tools/integration/steamvr-plugin-32647
1.2 SteamVR Input Window(输入窗口)
在 Unity 中导入 Steam VR 插件,导入完成后可以在 Window 菜单栏中打开 Steam VR 的输入窗口。

1.3 Copy JSONs(复制 JSON)
单击确定复制默认的 "SteamVR Input JSON" 文件。 这些 actions(动作)和 binding(绑定)将帮助交互系统工作,并为您提供如何开始的示例。
在打开SteamVR Input 窗口的过程中,插件会检测项目中是否存在 actions.json 文件,该文件存储了项目中动作(Action)与动作集(Action Sets)的信息,在打开SteamVR Input窗口时会读取该文件。如果没有 actions.json,插件会建议使用默认提供的示例文件

点击 Yes 后,会生成默认的与输入有关的 json 配置文件:

插件会将示例文件 actions.json 以及一些当前主流控制器的按键绑定配置文件拷贝到项目中的 StreamingAssets/SteamVR 下,在之后程序运行时,也将从此文件夹中读取用户关于动作(action)的配置信息。
1.4 Save and Generate(保存并生成)
拷贝上述 Json 文件并打开窗口后,点击底部的 “保存并生成” 按钮。 这将保存您的操作并生成一些类来初始化它们,并使您可以在编辑器中和通过代码轻松访问它们。

在窗口中有四个 Action Sets(动作集)以及动作集包含的 Actions(动作),我们可以在面板中根据需求自定义动作集(添加自己的动作集或者删除原有动作集的内容)。


我们自定义完成动作的设置后,可以点击 Open binding UI 就可以对动作进行绑定。

当点击 Save and Generate 按钮后,插件将为动作以及动作集生成可编程访问的对象类,将它们放置在项目的 SteamVR_Input 目录下。

1.5 Interaction System(交互系统)
完成上述操作后,打开 “交互系统” 示例场景,我们可以在 Assets/SteamVR/InteractionSystem/Samples/Interaction_Example 找到示例场景。

然后连接头盔,控制器等设备,点击 Unity 的播放,开始探索 “交互系统” 的示例场景。
注:示例场景中包含很多常用的功能,在日后的开发过程中,可能需要实现类似示例场景中的功能。例如,利用射线实现 UI 交互、利用手柄抓握物体、传送等。可以多体验一下示例场景,学习相关功能的实现。
网友评论