HTC vive开发:关于手柄按键

2024-12-23上海AR开发专家

  • 一、关于左右手柄的对应关系
    两个手柄和
    SteamVR
    _TrackedObject.EIndex是对应的,一个是EIndex.Device2,另一个是EIndex.Device3(有编号的那个)
    在场景中手柄先后连入,先后激活的是Controller(right)、Controller(left),并添加SteamVR_TrackedObject组件
    二、手柄按键
    1 - 菜单键
    6 - 系统键(按下后手柄断开连接,再次按下手柄再次连接上)
    7 - 扳机键
    8 - 握持键
    9 - 触摸板键
    (1)点按
    按键监听方式一:(SteamVR的方式,封装了OpenVR)
    通过Device.GetPressDown / GetPressUp / GetPress获取按键事件
    按键监听方式二:(OpenVR的方式,偏底层)
    通过controllerState.ulButtonPressed & (SteamVR_Controller.ButtonMask.Trigger)获取按键的按下、松开两种状态
    或者:
    注:m_State、m_PrevState分别表示:当前帧状态、前一帧状态
    获取按下时,触摸板的值
    获取松开时,触摸板的值(这里必须使用前一帧的状态,因为松开时,当前帧的触摸的值为0)
    问题:按下时,没有获取到当前帧触摸板的值!猜测原因:获取值的Update方法在更新状态Update的方法之前执行了,更新状态的Update方法执行后,才能获取触摸板的值解决方法:如果不想修改脚本执行顺序的话,可以使用LateUpdate
    (2)触摸
    适用于触摸板键
    适用于扳机键(和点按类似,只是键程更短)
    方式一:
    方式二:
    问题:触摸按下时,没有获取到当前帧触摸板的值!原因:不明,内部机制需要搞清楚解决办法:在触摸按下后的第二帧才获取到触摸板的值。 
    (3)触摸板轴的获取
    通过以上两种方式获取的VRControllerState_t,获取触摸板的轴
    x = state.rAxis0.x
    y = state.rAxis0.y
    更多AR新闻就在中国AR网(https://www.chinaar.com/)

关于AR

卓越的技术,一流的团队,为您打造专家级AR产品。
Test your infrastructure

什么是AR?

AR(Augmented Reality),即增强现实技术能将虚拟信息(图片,视频, 音频等)融入现实世界,让现实世界更加多元、丰富,为人们带来更加生动有 趣的感官体验。简单来说AR技术给人们带来的是一种信息的增强体验,它也 将成为一种“更新奇、更易传播”的新型信息传递方式。

AR的趋势

在信息技术化的时代趋势下,AR将以一种新型娱乐及信息交互方式融入人们 的生活,而对于企业来说,AR产品的广泛推广及运用也将是一项不可错失的 绝佳商机。

Test your infrastructure

AR运用的困惑

AR技术备受瞩目,然后实际运用上却让人望而止步。
成本上 往往单制作一个AR形式的内容就得花费上万元, 只有高预算的大企业或广告商才能出手
技术上 AR技术总给人一种触不可及的印象,导入AR技术 是否需要高度技术支持。
企划上 AR充满娱乐性,但是好玩之外,如何将AR良性结 合商务是难题。

选择迅速AR的八大优势

迅速AR始终以满足顾客为己任,成就AR领先品牌。

经典案例展示

我们是AR应用的领军者,专注AR技术研究与开发。

新闻动态 · 与日俱进

我们诚心邀您分享我们的成长历程。
更多动态 >

合作伙伴

整合全球产业链资源,服务超过7亿用户