Htc Vive的空間大小可以通過幾個方法解決,下面跟大家講的是起點位置平移的解決方法。
起點位置平移
分兩步:
一個是視覺上,就是在游戲編輯器模式下,讓玩家在藍色區(qū)域的起點角點位置。這個容易,就是還是平移。
平移誰呢,平移藍色區(qū)域,把剛才縮放的那個預制體的父節(jié)點做了平移,項目中的平移位置為(4.2,0,4.2)即可。這部分就搞定了。
第二部分,就是比較繁瑣一點了。
說這個問題之前,需要稍微說下SteamVR插件的運行時和編輯狀態(tài)的相機差別。

這個是編輯器模式下的相機狀態(tài)。
但是在運行時候,相機的層級結(jié)構(gòu)會發(fā)生較大的變化。

可以看到eye作為附節(jié)點,ears作為子節(jié)點,而head則被隱藏了。
具體代碼處理是在SteamVR_Camera.cs中的OnEnable中處理。
部分代碼:

還有ears的處理代碼,設置ears的相機參數(shù):

為什么講了這么多結(jié)構(gòu)呢?因為它影響到了玩家起點平移的算法和處理。怎么處理呢?
其實是蠻簡單。給相機的父節(jié)點在初始化時候,重置一個與相機初始化一個相反的參數(shù)。
為什么呢?這正是為了抵消相機在場景中從(0,0)點作為起點的變化啊.
具體代碼:

這個根據(jù)自己需要來處理的按鍵和時間自動開始?梢圆贿@樣用按鍵啥的。

這里順便說一句: 就是要添加手柄,只需要把手柄腳本放這節(jié)點下,然后設置左右手柄即可。
手柄在隨后中,并不會由于位移的加速對其造成影響。