HTC Vive開發筆記之SteamVR外掛程式整合

2022-03-11 04:16:40 字數 2383 閱讀 1641

重要元件

steamvr_camera

vr攝像機,主要功能是將unity攝像機的畫面進行變化,形成vive中的成像畫面

使用方法:

l 在任乙個攝像機上增加指令碼

l 點選expand按鈕

完成以上操作後,原本的攝像機會變成如下結構

l origin:位置

l head:頭部

l eye:眼睛

l ears:耳朵

至此,遊戲中vive中可以看到遊戲畫面,360度旋轉檢視遊戲世界,在遊戲世界中移動等

steamvr_controllermanager和steamvr_trackedobject

控制器,主要用於設定和檢測vive控制器。

1 menu button(菜單鍵)

2 trackpad(觸控板)

3 system button(系統鍵/電源鍵)

4 status light

5 micro-usb port

6 tracking sensor

7 trigger(扳機鍵)

8 grip button(側柄鍵)

使用方法

在origin物體上新增2個子物體代表vive的2個手柄,增加steamvr_trackedobject,index設定為none

在origin物體上新增steamvr_controllermanager,設定左右手柄

至此就完成了手柄的整合。

獲取手柄狀態

通過**

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 device = steamvr_controller.input(uint

);device. triggerhapticpulse();

steamvr_rendermodel

該元件用於渲染手柄的模型,並且跟蹤手柄的位置

使用方法

在左右手柄的物體下建立乙個子物體,子物體上新增steamvr_rendermodel指令碼,shader可以根據需求設定,比如設定為standard

至此,遊戲中可以看到手柄模型和手柄位置同步

steamvr_playarea

用於顯示遊玩區域。

使用方法,在origin物體上新增該指令碼即可

可以看到遊戲場景中多了乙個顯示區域

注意controlindex的值,預設情況下都會自動設定,如果手動設定錯誤將導致錯誤的表現

開發筆記之20140121

關於try catch語句和finally語句塊 自 try語句在返回前,將其他所有的操作執行完,保留好要返回的值,而後轉入執行finally中的語句,而後分為以下三種情況 情況一 如果finally中有return語句,則會將try中的return語句 覆蓋 掉,直接執行finally中的retu...

開發筆記之20140220

1.工廠模式中簡單工廠模式就是建立乙個工廠,在工廠裡根據引數建立相應型別的物件,這樣就可以把建立物件的工作集中在工廠中執行,利用抽象產品角色宣告產品,可以將各類產品的共有方法提取出來在抽象產品角色中宣告。簡單工廠模式的缺點是靈活性不足,如果新加入一種型別則需要修改工廠類,新新增一條建立例項物件的邏輯...

開發筆記之20140313

1.jquery設定標籤的內容不能用val 而要用text 例如 spanid val can not get the value of current span spanid val the value of span can not set the value to the value of s...