世界超市世界超市

高级触觉反馈 Oculus详解Touch控制器的“缓冲触觉”功能

文章相关引用及参考:roadtovrOculus最新的Buffered Haptics(缓冲触觉)的功能可允许开发者更细致地控制触觉反馈(映维网2017年08月14日)Oculus已经为他们的开发者知识库添加了新的文档,详细介绍了Oculus SDK的Buffered Haptics(缓冲触觉)功能,这是一种为Touch控制器编程更高级触觉反馈的方式。Oculus Touch通过线性致动器提供触觉反馈,而这种触觉技术已经越来越多地取代主机手柄中常见的简单隆隆声反馈。与以往旋转大量的马达相比,线性致动器可以更快速的运动,从而实现更广泛的触觉效果,更快速的响应时间,以及更好的控制。Oculus最新的Buffered Haptics(缓冲触觉)的功能可允许开发者更细致地控制触觉反馈。SDK支持两种触觉反馈,缓冲和非缓冲。Oculus建议不要同时使用两种方法,以避免不可预测的触觉反馈行为。非缓冲触觉更容易理解和控制,能够以特定频率(160Hz或320Hz)和振幅(0至255)简单地切换振动。Oculus写道,非缓冲触觉用于没有严格延迟要求的简单效果,因为控制器需要33ms的时间来响应修改触觉设置的API调用。缓冲触觉不仅响应速度更快(10ms),而且允许更广泛和更复杂的触觉效果,例如围绕波形或切线函数形成振动幅度模式,平移控制器之间的振动,生成一系列的低频载波等等。该功能允许开发者排列一串代表期望振幅的字节,然后以320Hz顺序播放,从而允许开发者每3.125ms就能精细调整0(最低)-255(最高)之间的振幅。Oculus SDK提供了一组触觉样品应用,以及通过缓冲触觉实现的部分触觉效果示例:在每个振动周期最后提供嗡嗡声逐渐减低的效果 ,实现平滑的波形震动在左右控制器上进行振动平移,再次在平移循环结束时产生嗡嗡声逐渐减低效果超低频嗡嗡声,基本上是在64Hz上的一系列振动基于利用三角切线波函数的混沌公式的混乱低频振动文档进一步介绍该功能的工作原理,其中包括在发送给控制器之前通过所需的触觉指令排列缓冲:一个缓冲包含0-255数值的一系列字节,其中0代表着无振幅(无振幅),255代表着SDK可允许的最高振幅。在把代码填充缓冲内的数值后,你可以通过ovr_SubmitControllerVibration把缓冲发送到一个或两个Touch控制器。然后缓冲内的每个字节以320Hz的速率依次‘播放’。最大缓冲(即一次可以发送到控制器的最大字节数,以及控制器内部缓冲的最大大小)为256字节。 ‘播放’一个256字节缓冲所需的时间长度为0.8秒(以320Hz的速率播放256个字节)。因此,你可以完全控制振动效果的幅度,一直到3.125ms(相当于320Hz)的分辨率。然而,频率只能是320Hz或320Hz的部分整商,如320/2 160Hz,320/3 106.7Hz,320/4 80Hz,320/5 64Hz等等。你可以通过发送零填充的字节,点缀大于零的振幅值字节来实现这些较低的频率。下面是部分例子:320Hz,全振幅[255,255,255,255,…]160Hz,全振幅[255,0,055,0,255,0,255,0,0 …]320Hz,半振幅[127,127,127,…,127,…]160Hz,半振幅[127,0,127,0,127,0,…,127,0,…]单个尖锐振动(320Hz)[0,0,255,255,255,0,0] [延迟x ms] [0,0,255,255,255,0,0]单个平钝振动(160Hz)[0,255,0,255,0,255,0] [延迟x ms] [0,255,0,255,0,255,0]一般来说,使用320Hz谐振模式来实现更轻,更尖锐的动作,而160Hz则可以用于更重,更平钝的动作。Oculus还指出,开发者可以根据输入流(例如控制器移动或位置)改变振动效果,并在把信息传递到缓冲之前预混合多个输入流。根据玩家在虚拟世界中做的事情,这可能会实现一些有趣的动态触觉。

上一条:HoloLens最大竞争对手来了!苹果9月份将发AR眼镜

相关推荐