Valve全新控制器「Knuckles」使用概述
GIF/1894K
電容感測器功能
除了電容式觸控板之外,指關節控制器還具有不同區域的電容感測器,以幫助檢測用戶手的狀態。
按鈕表面
Knuckles控制器上的每個物理按鈕下都有電容式感測器。 這些可以用於確定用戶在哪裡擺放拇指,或者在扳機的情況下確定其食指。
電容式感測器放置在以下按鈕表面之下:
1. 觸發表面
2. 外面按鈕表面
3. 內臉按鈕表面
4. 系統按鈕表面(應用程序無法訪問)
抓取
手柄中還有獨立的電容式感測器陣列,可實現兩個新的操作輸入:
用於抓握/取消抓取動作的電容式握柄(操縱桿2.x)
獨立指數,中,小環和小指軸(操縱桿3,4)
訪問手指捲曲值
每個手指軸返回零和一之間的捲曲值,其中0表示手指指向直線,並且一個表示手指在控制器周圍完全捲曲。
帽蓋感覺夾具返回手指捲曲值。 這些可以通過SteamVR作為操縱桿進行訪問:
3.x - 指數捲曲
3.y - 中間捲曲
4.x - 環捲曲
4.y - 粉紅色的捲曲
例如,在Unity中,這些值可以讀為:
// Update raw finger curl values index_curl = vrcontroller.GetAxis(Valve.VR.EVRButtonId.k_EButton_Axis3).x; middle_curl = vrcontroller.GetAxis(Valve.VR.EVRButtonId.k_EButton_Axis3).y; ring_curl = vrcontroller.GetAxis(Valve.VR.EVRButtonId.k_EButton_Axis4).x; pinky_curl = vrcontroller.GetAxis(Valve.VR.EVRButtonId.k_EButton_Axis4).y;
為了使用戶的手指運動,建議執行一些平滑以保持手指運動不要看起來太機械。 例如:
// Update filtered curl values index_curl_filt = Mathf.Lerp(index_curl_filt, index_curl, 30.0f * Time.deltaTime); middle_curl_filt = Mathf.Lerp(middle_curl_filt, middle_curl, 30.0f * Time.deltaTime); ring_curl_filt = Mathf.Lerp(ring_curl_filt, ring_curl, 30.0f * Time.deltaTime); pinky_curl_filt = Mathf.Lerp(pinky_curl_filt, pinky_curl, 15.0f * Time.deltaTime);
控制器的手指跟蹤演算法將自動校準給每個用戶。這個過程會隨著時間的推移而持續改善,但是如果您看到手指跟蹤錯誤,您通常可以通過完全關閉然後完全打開手,包括食指多次來解決這些錯誤。
電容觸感
電容觸控感握把(映射為軸2.x)將中間,環形和小指的手指組合成單個抓握量,從抓握手柄(1)到完全釋放(0)。
當握柄在保持和釋放之間轉換時,會生成k_EButton_Axis2按鈕事件。
手指跟蹤校準
當控制器通電時,手指跟蹤初始化為未校準狀態,並且非常差。手指跟蹤之前必須執行手指跟蹤校準,才能正常運行。
注意:需要明確的校準程序應被視為僅對這些開發單元才需要的臨時措施。
執行校準:
1. 確保您的控制器舒適地收緊
2. 關閉控制器周圍的一秒鐘不要擠壓!確保你的食指放在觸發器上。
3. 快速打開你的手,打開一秒鐘。
最後三個校準事件存儲在控制器的存儲器中,中值結果用於手指跟蹤。所以,從冷啟動,兩個良好的校準將填充緩衝區,手指跟蹤應該開始工作。
還有一些其他的事情要注意:
用戶可以在控制器打開時隨時觸發重新校準。
用戶可以在單個控制器上執行校準 - 您不需要同時校準兩個控制器。
如果同時校準兩個控制器,則可以在另一個之前進行校準 - 這是正常的。 繼續嘗試與剩餘的控制器。
如果用戶明顯改變您的抓地力或新用戶拿起控制器,則可能需要重新校準。
重新校準將在遊戲過程中自動進行,當用戶伸出手抓住物品,扔東西等時,這是預期和必要的,因為皮膚電容會隨時間而變化。 目的是使控制器在執行初始校準後自動調整這些更改。
本文由 「AR智造家」撰寫,如需轉載,請註明來源、作者及出處。
TAG:AR智造家 |
※使用Amazon Alexa語音命令可以控制SimpliSafe家庭安全系統
※初代 Apple TV和Windows XP/Vista 將無法繼續使用 iTunes Store
※初代 Apple TV 和 Windows XP/Vista 將無法繼續使用 iTunes Store
※使用Visual Studio Code編譯、調試Apollo項目
※使用Vmware WorkStation模擬Juniper防火牆
※powershell中使用ReflectivePEInjection繞過殺毒
※TwelveSouth發布AirFly轉接器 坐飛機使用AirPods更輕鬆
※教你使用Vue.js的DevTools來調試你的vue項目
※TwelveSouth 發布 AirFly 轉接器,坐飛機使用 AirPods 更輕鬆
※新版本 Nike Air Presto「The Ten」諜照曝光,設計師使用 Supreme 單品打造沙發 | HB Daily
※如何使用TensorFlow中的Dataset API
※Clickhouse基本使用
※為什麼使用 Web Services?
※Use of the Apnea Monitor使用窒息監視器
※新版本 Nike Air Presto「The Ten」諜照曝光,設計師使用 Supreme 單品打造沙發
※Rutland Innovation Home將全部使用玻璃纖維窗戶
※使用 YAML 文件創建 Kubernetes Deployment
※使用Docker和Elasticsearch搭建全文本搜索引擎應用
※使用TensorFlow,Kafka和MemSQL進行實時機器學習
※由育碧委託的有關The Division的真人短片 MS使用Minecraft