在做手游的時候,80%時間是在PC調試的,例如業務邏輯、AI算法、核心玩法等。
拿到魔鏡提供的demo,暈了,必須得安裝到Android機器上,才能調試,究其原因,有三:
- 需要用到手機陀螺儀
- 需要用到藍牙手柄
- 需要用到魔鏡的凸透鏡
這些都是客觀原因,但是每次打包后,安裝Android,再戴到頭上,Debug、log啥的都看不清,呵呵。
故就着手改造一下輸入快捷鍵,從而可以方便的模擬手機陀螺儀輸入、模擬藍牙輸入、模擬非VR Mode切換。
1 模擬手機陀螺儀輸入
這個在mojing.cs有現成隱藏代碼,在UpdateState()函數中。
- 快捷鍵F: ok鍵
- 快捷鍵Alt:按住,鼠標模擬GazePostion位移
- 快捷鍵Ctrl:按住,鼠標模擬GazePostion旋轉
2 模擬藍牙輸入
在學習了MojingInputManager.OnButtonDown\OnButtonUp后,知道只要傳遞過去string即可,其中用/分隔,第一位暫時不用,第二位用MojingKeyCode預定定義的數字。
- 快捷鍵WASD:模擬藍牙
- 快捷鍵Q:模擬藍牙OK
3 模擬非VR Mode切換
VR Mode切換,是通過設置Mojing.SDK.VRModeEnabled實現的,原理是對Left、Right Camera和Center Camera可見性進行隱藏或者顯示實現切換,找到了Demo.cs腳本中,已經封裝好了切換和返回主菜單函數,調用即可:GameObject.FindObjectOfType<Demo>().ToggleVRMode();
- 快捷鍵R:模擬切換VR Mode
- 快捷鍵B:模擬回到主菜單
借用網絡一句話:VR開發,比App開發,多一個Camera。 搭建好調試環境,就會好很多。
源碼下載:MojingInputManagerEditor.cs
使用:在MojingInputManager.prefab添加MojingInputManagerEditor腳本,然后點擊Apply即可。