一、關於左右手柄的對應關係
二、手柄按鍵
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
**
unity中檢測不到HTC vive手柄如何解決
直接匯入camerarig後執行專案之後看不到手柄 解決辦法 把camerarig展開,在camera head 中選中camera eye 在inspector中選擇新增元元件 add component 搜尋 steamvr updateposes加入即可 新增完成後重新執行後即可看到手柄。如果...
HTC VIVE開發教程(三)
在這一節,我介紹的主要內容有 在steamvr外掛程式的prefabs資料夾下面有三個預製體,camerarig是相機預製體,使用時直接將這個預製相機作為主相機拖入場景中,我們就能以第一人稱看到vr頭盔裡面的內容。status是通過overlay顯示一些狀態資訊的預製體。steamvr是渲染核心預製...
Android 藍芽手柄開發
基於android平台的藍芽遊戲手柄 1 android系統為3.1及以上系統預設支援遊戲手柄,3.1以下需要系統做相應的處理。我用的是國產4.0.3版本的手機 3 觸控事件的模擬 這個對我來說是乙個難點,由於一直從事應用開發,對底層涉及較少,一開始費了不少時間,網上找了很多的資料,也得到了不少人的...