24
2016
05

Unity SteamVR鎻掍欢闆嗘垚

閲嶈缁勪欢

SteamVR_Camera

VR鎽勫儚鏈猴紝涓昏鍔熻兘鏄皢Unity鎽勫儚鏈虹殑鐢婚潰杩涜鍙樺寲锛屽舰鎴怴ive涓殑鎴愬儚鐢婚潰

浣跨敤鏂规硶锛

l 鍦ㄤ换涓涓憚鍍忔満涓婂鍔犺剼鏈

l 鐐瑰嚮Expand鎸夐挳

image001image002

瀹屾垚浠ヤ笂鎿嶄綔鍚庯紝鍘熸湰鐨勬憚鍍忔満浼氬彉鎴愬涓嬬粨鏋

image003

l Origin锛氫綅缃

l Head锛氬ご閮

l Eye锛氱溂鐫

l Ears锛氳虫湹

鑷虫锛屾父鎴忎腑Vive涓彲浠ョ湅鍒版父鎴忕敾闈紝360搴︽棆杞煡鐪嬫父鎴忎笘鐣岋紝鍦ㄦ父鎴忎笘鐣屼腑绉诲姩绛

image007image006

image005image004

SteamVR_ControllerManager鍜孲teamVR_TrackedObject

鎺у埗鍣紝涓昏鐢ㄤ簬璁剧疆鍜屾娴媀ive鎺у埗鍣ㄣ

Vive鎺у埗鍣ㄧ敱鑿滃崟閿(ApplicationMenu)锛岃Е鎽告澘(Touchpad)锛岀郴缁熼敭/鐢垫簮閿(System)锛屾壋鏈洪敭(Trigger)锛屼晶鏌勯敭(Grip)锛岀粍鎴

image008

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锛岃缃乏鍙虫墜鏌

鑷虫灏卞畬鎴愪簡鎵嬫焺鐨勯泦鎴愩

image010image011image009

鑾峰彇鎵嬫焺鐘舵

閫氳繃浠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

image012

鑷虫锛屾父鎴忎腑鍙互鐪嬪埌鎵嬫焺妯″瀷鍜屾墜鏌勪綅缃悓姝

SteamVR_PlayArea

鐢ㄤ簬鏄剧ず娓哥帺鍖哄煙銆

浣跨敤鏂规硶锛屽湪Origin鐗╀綋涓婃坊鍔犺鑴氭湰鍗冲彲

image013

鍙互鐪嬪埌娓告垙鍦烘櫙涓浜嗕竴涓樉绀哄尯鍩

image014

娉ㄦ剰浜嬮」

鍒朵綔UI鐨勬椂鍊欓渶瑕佷娇鐢ㄤ笘鐣屽潗鏍囷紝閫氳繃涓嶅悓鐩告満鐨凞epth澶嶅悎锛岀洰鍓嶈繕涓嶆敮鎸侊紙2016/5/23锛

Unity5.4宸茬粡鏀寔澶氱浉鏈哄鍚堬紙2016/8/21锛

娉ㄦ剰ControlIndex鐨勫硷紝榛樿鎯呭喌涓嬮兘浼氳嚜鍔ㄨ缃紝濡傛灉鎵嬪姩璁剧疆閿欒灏嗗鑷撮敊璇殑琛ㄧ幇

芦 涓婁竴绡 涓嬩竴绡 禄