閲嶈缁勪欢
SteamVR_Camera
VR鎽勫儚鏈猴紝涓昏鍔熻兘鏄皢Unity鎽勫儚鏈虹殑鐢婚潰杩涜鍙樺寲锛屽舰鎴怴ive涓殑鎴愬儚鐢婚潰
浣跨敤鏂规硶锛
l 鍦ㄤ换涓涓憚鍍忔満涓婂鍔犺剼鏈
l 鐐瑰嚮Expand鎸夐挳
瀹屾垚浠ヤ笂鎿嶄綔鍚庯紝鍘熸湰鐨勬憚鍍忔満浼氬彉鎴愬涓嬬粨鏋
l Origin锛氫綅缃
l Head锛氬ご閮
l Eye锛氱溂鐫
l Ears锛氳虫湹
鑷虫锛屾父鎴忎腑Vive涓彲浠ョ湅鍒版父鎴忕敾闈紝360搴︽棆杞煡鐪嬫父鎴忎笘鐣岋紝鍦ㄦ父鎴忎笘鐣屼腑绉诲姩绛
SteamVR_ControllerManager鍜孲teamVR_TrackedObject
鎺у埗鍣紝涓昏鐢ㄤ簬璁剧疆鍜屾娴媀ive鎺у埗鍣ㄣ
Vive鎺у埗鍣ㄧ敱鑿滃崟閿(ApplicationMenu)锛岃Е鎽告澘(Touchpad)锛岀郴缁熼敭/鐢垫簮閿(System)锛屾壋鏈洪敭(Trigger)锛屼晶鏌勯敭(Grip)锛岀粍鎴
1 Menu button锛堣彍鍗曢敭锛
2 Trackpad锛堣Е鎽告澘锛
3 System button锛堢郴缁熼敭/鐢垫簮閿級
4 Status light
5 Micro-USB port
6 Tracking sensor
7 Trigger锛堟壋鏈洪敭锛
8 Grip button锛堜晶鏌勯敭锛
浣跨敤鏂规硶
鍦∣rigin鐗╀綋涓婃坊鍔2涓瓙鐗╀綋浠h〃Vive鐨2涓墜鏌勶紝澧炲姞SteamVR_TrackedObject锛孖ndex璁剧疆涓篘one
鍦∣rigin鐗╀綋涓婃坊鍔燬teamVR_ControllerManager锛岃缃乏鍙虫墜鏌
鑷虫灏卞畬鎴愪簡鎵嬫焺鐨勯泦鎴愩
鑾峰彇鎵嬫焺鐘舵
閫氳繃浠g爜
var device = SteamVR_Controller.Input(uint);
device.GetTouchDown(SteamVR_Controller.ButtonMask)
灏卞彲浠ヨ幏鍙栧埌鏌愪釜鎸夐敭鐨勭姸鎬
鎴栬呬娇鐢
var system = OpenVR.System;
system.GetControllerState(uint, ref VRControllerState_t))
鑾峰彇褰撳墠鎵鏈夌殑鎸夐敭鐘舵
鎵嬫焺闇囧姩
public void TriggerHapticPulse(ushort durationMicroSec = 500, EVRButtonId buttonId = EVRButtonId.k_EButton_SteamVR_Touchpad)
{
var system = OpenVR.System;
if (system != null)
{
var axisId = (uint)buttonId - (uint)EVRButtonId.k_EButton_Axis0;
system.TriggerHapticPulse(ControllerIndex, axisId, (char)durationMicroSec);
}
}
鎴栬
var device = SteamVR_Controller.Input(uint);
device. TriggerHapticPulse();
SteamVR_RenderModel
璇ョ粍浠剁敤浜庢覆鏌撴墜鏌勭殑妯″瀷锛屽苟涓旇窡韪墜鏌勭殑浣嶇疆
浣跨敤鏂规硶
鍦ㄥ乏鍙虫墜鏌勭殑鐗╀綋涓嬪垱寤轰竴涓瓙鐗╀綋锛屽瓙鐗╀綋涓婃坊鍔燬teamVR_RenderModel鑴氭湰锛孲hader鍙互鏍规嵁闇姹傝缃紝姣斿璁剧疆涓篠tandard
鑷虫锛屾父鎴忎腑鍙互鐪嬪埌鎵嬫焺妯″瀷鍜屾墜鏌勪綅缃悓姝
SteamVR_PlayArea
鐢ㄤ簬鏄剧ず娓哥帺鍖哄煙銆
浣跨敤鏂规硶锛屽湪Origin鐗╀綋涓婃坊鍔犺鑴氭湰鍗冲彲
鍙互鐪嬪埌娓告垙鍦烘櫙涓浜嗕竴涓樉绀哄尯鍩
娉ㄦ剰浜嬮」
鍒朵綔UI鐨勬椂鍊欓渶瑕佷娇鐢ㄤ笘鐣屽潗鏍囷紝閫氳繃涓嶅悓鐩告満鐨凞epth澶嶅悎锛岀洰鍓嶈繕涓嶆敮鎸侊紙2016/5/23锛
Unity5.4宸茬粡鏀寔澶氱浉鏈哄鍚堬紙2016/8/21锛
娉ㄦ剰ControlIndex鐨勫硷紝榛樿鎯呭喌涓嬮兘浼氳嚜鍔ㄨ缃紝濡傛灉鎵嬪姩璁剧疆閿欒灏嗗鑷撮敊璇殑琛ㄧ幇