跑跑车游戏网
您的位置:首页VR资讯中心VR技术教程 → Vive Input Utility详细使用指南

Vive Input Utility详细使用指南

2016/10/12 8:44:21来源:本站整理作者:不详我要评论(0)

Vive Input Utility是Htc Vive官方推出的一款VR开发软件,能够让你更好的在Htc Vive上进行开发,下面带来详细的使用指南。

一、简介:

Vive Input Utility是一个基于SteamVR插件的开发工具。能让开发者更方便的控制Vive设备。

我们同时也开发了在3D环境下能运用的鼠标指针方案,并适配Unity Event System。

通过使用这个工具,开发者可以省下很多用来管理Vive设备的冗余代码。

二、目的:

Unity SteamVR的插件给开发者提供了一个C#的接口来和Vive设备交互。

但在获得控制器输入状态或者设备姿态会形成很多冗余代码:

不论控制器是否被连接,你都必须不断从SteamVR_ControllerManager获取正确的设备索引;

定位SteamVR_ControllerManager也需要花很多功夫;

所以,我们的主要目标就是给开发者提供便利的接口并减少冗余工作。

三、主要特点:

使用静态函数获取设备输入:按键输出、手柄位置;

使用ViveRaycaster component实现3D鼠标指针,并适配Unity Event System;

四、静态接口:

获取按钮事件:

原本要通过SteamVR脚本来找到设备;

(见图2)

静态类Vive Input提供了一个更简洁的API;

(见图3)

监听按钮事件:

ViveInput同样提供回调类型监听器;

(见图4)

获得追踪pose:

静态类VivePose提供了获得设备pose的API;

(见图5)

五、辅助组件:

Vive Pose Tracker

类似于SteamVR_TrackedObject,但目标设备使用ViveRole.DeviceRole替代了device index

(见图6)

Pose Modifier

这是一个pose tracker的追踪效果脚本

实现抽象类PoseTracker.BasePoseModifier可以编写自定义的追踪效果。

有无Pose Modifier对比(见图7)

有无Pose Modifier视频效果

https://vimeo.com/171724218

https://vimeo.com/171724270

Vive射线器及射线方法:

Vive Raycaster是一个发送vive按钮事件的射线事件脚本。

通过结合Vive Pose Tracker和Vive Raycaster,你的控制器可以像一个3D鼠标一样使用。

Vive Raycaster必须和Raycast方法一起使用。(见图8)

比如,你可以像这样布置来和UGUI菜单交互。(见图9)

更多的例子(见图10):https://vimeo.com/169824408 https://vimeo.com/169824438

事件系统处理器:

你必须布置一个事件系统处理器去获取由事件射线器发出的事件:

在对象上增加事件处理器组件(从IEventSystemHandler派生出来)

在对象或者子对象上增加可被射线触发的组件(如Collider/Collider2D/Graphic)

(见图11)



网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>