美文网首页
SteamVR按键绑定研究

SteamVR按键绑定研究

作者: iqxtreme | 来源:发表于2020-10-09 12:15 被阅读0次

1 HTC VIVE Controller

1.1 握持键

对于握持键,可设定的操作类型为“按键”、“切换按键”、“模拟操作”。

1.1.1 按键

  • “长按”:按下1~2秒后为true,松开为false。
  • “按压”:按下后为true,1~2秒自动恢复成false,即当“长按”有效后,“按压”变为false。

“按压”可能用于表达“刚刚按下”这种含义。

1.1.2 切换按键

  • “点击操作初始按下”:对于点击类设备,初始情况是否为按下。
  • “触摸操作初始按下”:对于触摸类设备,初始情况是否为按下。

对于“点击类设备”,设置“触摸操作初始按下”没有意义,反之亦然。

1.2 扳机键

对于扳机键,不同于握持键之处在于,扳机键是带有连续值域的设备,并非握持键那样0、1两个状态。

1.2.1 按键

  • 与握持键对比,扳机键的按键动作在配置中增加了“点击激活临界值”和“点击停用临界值”以及“由此生成点击”;
  • “由此生成点击”:默认=拉动,通过临界值触发;点击=扳机键底部按键,不受临界值影响,与握持键行为一致。

1.2.2 扳机模式

  • 应该是使用扳机键主要的模式了,提供“点击”和“拉动”两个动作,很好理解。
  • “点击”,当扳机键触及底部物理按键时为true(1),否则为false(0)。
  • “拉动”,提供连续的量。

1.3 触摸板

触摸板主要多了“触摸”和“2d位置”这些特性。

1.3.1 按键

  • “由此生成点击”:点击和位置以及“触摸即保持点击”。
  • 关于“位置”模式,将触控板由内向外看作0~1的触发区间,在设定的触发区间内认定为按下。此模式适合将触控板由内向外划分成独立的功能环。
  • 关于“触摸即保持点击”,意思就是只要摸着触摸板就不会触发“抬起”事件,响应的动作也就不会出现。最明显的情况就是,当一直接触触摸板,然后重复按下、松开过程时,非保持模式可以正常激活单击、双击、长按、按压动作,但保持模式则仅能且必将激活按压、长按两个动作。
  • 关于“点击临界值”,管理的是点击类动作的触发。
  • 关于“触摸临界值”,管理的是触摸动作的触发。
  • 位置模式下会区分“点击临界”和“触摸临界”。
  • 点击模式及默认模式下,临界值不起作用。

1.3.2 滚动

可以模拟窗口横向和纵向滚动栏,系统会识别并锁定本次滚动是纵向或是横向,不会出现同时XY轴进行滚动的情景。

  • 建议使用“平滑”模式

1.3.3 触摸

该模式属于触控板的主要使用模式,分为“点击”、“触摸”和“位置”三种动作。

  • 关于“点击”,它与按钮类型的单击类似,不同的是,按钮类型在按下后弹起的一瞬间会是true,而“点击”模式,只要按下触摸板,就是true,抬起恢复为false。
  • 关于“触摸”,接触为true,脱离为false。
  • 关于“位置”,接触后实时返回XY坐标,(-1,1)。
  • 关于“死区”,主要影响“位置”动作,离开中心多少百分比开始计算位置,注意,返回的位置从0开始向边缘1开始计数,返回值为(-1,1)不会因为死区设置为0.5而获得(-1,-0.5&0.5,1)这样的区间。
  • 关于“最大区域百分比”,没有测试出实质的数据差异,此参数似乎无作用。

原本猜测“死区”和“最大区域百分比”是一对参数,夹逼这(-1,1)的有效区域,但“最大区域”没产生效果,似乎永远是100%。

  • 关于“曲度指数”:触摸为0的区域到触摸为1的区域的指数,1为线性,其它则为指数曲线,最终都是(-1,1)这个输出值。

1.3.4 十字

此模式用于模拟摇杆类操作,分类“点击”和“触摸”

  • “点击”和“触摸”类型根本区别在于是只要接触即有效还是按下才有效。
  • 关于“激活后保持”选项,一旦系统认定你的操作,中途就不会变更。比如初始按下向下键,只要不结束操作,即便手指滑动到其它位置,系统仍认定处于向下键作用区间。

注意,此选项对中键无效。

  • 关于“死区”参数,它用于分割中键区域和周边方向区域,值越小,越容易触发周边方向区域,越大则方向区域越靠近触摸板边沿。
  • 关于“重叠”,若为0,则只能触发标准的上下左右四个方向,若不为0,则可触发8方向,建议保持50。若设置为100,则总会同时触发两个相邻方向。

相关文章

网友评论

      本文标题:SteamVR按键绑定研究

      本文链接:https://www.haomeiwen.com/subject/vuocpktx.html