《基于Unity与SteamVR构建虚拟世界》 —3.4 下载适用Unity的SteamVR库
3.4 下载适用Unity的SteamVR库
Unity资源商店提供SteamVR所需的所有文件。在资源商店中可以购买你的项目所需的各种有用资源和脚本并立即下载。资源商店中的产品包括脚本、3D模型、完整项目、纹理、图形等。资源商店可以从Unity编辑器内部直接进入,为SteamVR库等免费资源提供了一个便利的下载地方。
Unity中通过Window菜单下面的Asset Store进入资源商店(图3-7)。
图3-7 主编辑器窗口中的资源商店
主编辑器窗口中Asset Store页面顶部会出现搜索栏。
要使SteamVR的VR功能正常工作,需要下载这些库,查找它们最简单的方法是使用搜索功能。
在搜索窗口中键入SteamVR并按Enter键,几秒后搜索结果就会出现SteamVR插件资源(图3-8),然后单击图形或名称以查看更多详细信息。如果在寻找时出现问题,SteamVR库归入在脚本类别,将类别名称用作额外关键字有助于缩小搜索范围。
图3-8 资源商店搜索显示SteamVR插件
在产品的左上角,会看到Download按钮(图3-9),点击Download后Unity将自动下载。
图3-9 SteamVR插件描述
下载完成后,按钮将变为Import(有时资源商店浏览器中的一个错误会导致此按钮无响应,如果你点击该按钮时没有执行任何操作,请单击后退按钮,然后再次单击前进按钮重新加载页面,重新加载后按钮将再次激活)。单击Import按钮Unity将开始导入SteamVR资
源库。
在将文件复制到项目中之前,会出现一个提示窗口,提示你查看包中包含的文件
(图3-10)。在一个空白的项目中,这个额外的步骤看起来似乎毫无意义,但随后在将库更新为新版本或是导入自己开发项目,项目中对于可能被修改的资源或不完整的资源进行覆盖时,这个小检查可以帮助你不覆盖任何更改或更新的文件。
图3-10 Unity在导入资源前检查要导入的文件是否正确
由于我们在这个项目中还未建立场景,所以不必担心覆盖文件,可以继续进行。
单击Import按钮让Unity独自完成导入过程并复制SteamVR库文件和代码到项目中。
Unity的一些默认设置不适用于SteamVR。Valve开发人员已经调试到只需按一下按钮就自动完成整个过程,而不必手动更改每个设置。如果项目设置不正确,会弹出一个消息告诉你所有关于它的信息。SteamVR设置窗口(图3-11)会显示需要更改的设置以及它们需要被更改成怎样。
点击Accept All使SteamVR能自动更改项目设置,当这个过程完成后会弹出信息“You’ve made the right choice!”SteamVR开发人员采取了一定的方式让你不用过多介入即可完成。
图3-11 SteamVR设置窗口确定项目已准备好并能在VR中使用
项目面板中出现两个新的文件夹(图3-12):Plugins
和SteamVR。Plugins中包含所使用硬件的API以及所有的代码,SteamVR文件夹包含所有的例子。
展开SteamVR文件夹列表寻找Scenes文件夹并点击它找到名为example的场景(图3-13)。
关闭资源商店窗口,现在我们已经完成了SteamVR
资源导入。
按下位于编辑器窗口中间的Play按钮来调试场景,由于计算机需要启动VR所有额外背景库以及应用程序,会导致启动有点慢。完成准备后即可看到一个充满多维数据集的世界像是一个浏览器窗口,它说明了一些有关SteamVR的内容(图3-14)。
如果有遇到错误,不要惊慌!
这个阶段可以查看在编辑器中按下Play之后出现的SteamVR状态窗口,如果SteamVR尚未准备好与你的头戴式显示器连接,则将看到一个类似于图3-11所示的状态窗口。如果一切正常,SteamVR检测到你的头戴式显示器,则出现类似于图3-12中的状态窗口。
图3-14 SteamVR示例场景
为什么会出现一个错误?如果基站没有线路视听头戴式显示器,SteamVR会认为头戴式显示器没有连接,并且有时会报告“Not Ready”。有一个简单的解决方法:将头戴式显示器戴在头上,或者将其固定在基座的某个位置并跟踪它,在Unity中停止并再次播放,将头戴式显示器保持在基站视野之内以使其正常工作,SteamVR状态窗口变成如图3-12所示,Unity就在正常工作。
欢迎来到Unity的VR世界!
如果使用的设备是HTC Vive,可使用SteamVR/InteractionSystem/Samples/Scenes文件夹中的Interactions_Example示例场景。对于Vive所有者来说,Vive控制器在这个场景中有可用于UI、远距传物和界面的大量示例,它还具有一个长弓可以使用,完成箭头手动加载后可以射击目标。我们不会在本书中使用SteamVR InteractionSystem,但它会是一个很好的方向,因为Vive特定的系统比我会写的更高级。
- 点赞
- 收藏
- 关注作者
评论(0)