search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

高級觸覺反饋,Oculus詳解Touch控制器的「緩衝觸覺」功能

Oculus最新的「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還指出,開發者可以「根據輸入流(例如控制器移動或位置)改變振動效果」,並在把信息傳遞到緩衝之前預混合多個輸入流。根據玩家在虛擬世界中做的事情,這可能會實現一些有趣的動態觸覺。

來源:https://yivian.com/news/34777.html



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦