一款能让Vive开发变简单的插件——Vive Input Utility

ViveInputUtility是一款基于SteamVR插件的开发工具,旨在简化Vive设备的控制,解决设备索引变动等问题。它提供了一套静态接口用于获取设备输入,并通过3D鼠标指针方案支持Unity EventSystem。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(原文)https://www.vive.com/cn/forum/1708   

相信各位小伙伴们在使用SteamVR Unity Plugin的过程中应该都遇到过这样的问题:获取设备很麻烦,设备在重启后indexID会改变从而导致设置好的左右手设备出现交错;无法与UGUI的事件系统连接导致无法使用UGUI等等很多问题。

一、简介: 
        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 
                这是一个p ose tracker的追踪效果脚本  
                实现抽象类PoseTracker.BasePoseModifier可以编写自定义的追踪效果。 
                有无Pose Modifier对比(见图7) 
                有无Pose Modifier视频效果           
             
        Vive射线器及射线方法: 
                 Vive Raycaster是一个发送vive按钮事件的射线事件脚本。 
                 通过结合Vive Pose Tracker和Vive Raycaster,你的控制器可以像一个3D鼠标一样使用。 
                 Vive Raycaster必须和Raycast方法一起使用。(见图8) 
                 比如,你可以像这样布置来和UGUI菜单交互。(见图9) 
                更多的例子(见图10)
        事件系统处理器: 
                你必须布置一个事件系统处理器去获取由事件射线器发出的事件: 
                在对象上增加事件处理器组件(从IEventSystemHandler派生出来) 
                在对象或者子对象上增加可被射线触发的组件(如Collider/Collider2D/Graphic) 
                (见图11) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值