跑跑車(chē)游戲網(wǎng)
您的位置:首頁(yè)VR資訊中心VR技術(shù)教程 → Htc Vive拋物線(xiàn)來(lái)實(shí)現(xiàn)瞬移方法

Htc Vive拋物線(xiàn)來(lái)實(shí)現(xiàn)瞬移方法

2016/10/11 10:09:54來(lái)源:本站整理作者:不詳我要評(píng)論(0)

Htc Vive的瞬移技術(shù)還可以用拋物線(xiàn)來(lái)實(shí)現(xiàn),這里跟大家講一講實(shí)現(xiàn)的一些方法吧。

這個(gè)是針對(duì)HTC Vive和引擎簡(jiǎn)單易用的瞬移系統(tǒng)。

這個(gè)系統(tǒng)是模仿Valve的Vive游戲“The Lab”而作,即玩家可以穿過(guò)比游戲區(qū)域大的VR環(huán)境。

下圖可以看到對(duì)于系統(tǒng)的演示:

提供的這個(gè)系統(tǒng)解決了以下問(wèn)題:

1 計(jì)算可導(dǎo)航空間:

我們顯然不希望玩家可以傳送出邊界,或者在不透明物體內(nèi)部。

為了解決這個(gè)問(wèn)題,這個(gè)系統(tǒng)使用了Unity生成的導(dǎo)航網(wǎng)格作為玩家可以傳送的邊界。

因?yàn)檫@個(gè)過(guò)程包括了Unity的工作,所以它很穩(wěn)定并且可以放心的應(yīng)用到大多數(shù)工程中。

為了預(yù)加載這個(gè)數(shù)據(jù),只需要在場(chǎng)景的任何位置添加一個(gè)"Vive Nav Mesh"組件,并且在檢視面板點(diǎn)擊"UpdateNavmesh Data"按鈕。

這樣無(wú)論什么時(shí)候更新場(chǎng)景都可以用新的NavMesh烘焙來(lái)更新Vive Nav Mesh。

上邊的過(guò)程說(shuō)明如下圖:

2 選擇瞬移目的地:

這個(gè)系統(tǒng)通過(guò)簡(jiǎn)單的運(yùn)動(dòng)學(xué)方程使用了直觀的拋物線(xiàn)選擇機(jī)制。

再次說(shuō)明,這是受到了Valve的“The Lab”啟發(fā)。

用戶(hù)將控制器舉到更高的角度時(shí),選擇點(diǎn)會(huì)生成的更遠(yuǎn)一些。

如果用戶(hù)將控制器舉過(guò)45度(拋物線(xiàn)的最大距離),角度將會(huì)鎖定在那個(gè)距離。

3 表現(xiàn)游戲區(qū)域:很有必要知道傳送后防護(hù)邊界在哪里。

因此系統(tǒng)圍繞防護(hù)邊界劃定了一個(gè)盒子。

4 減少不適感:瞬移(顯示為“眨眼”)時(shí)屏幕的淡入淡出可降低用戶(hù)的疲勞和眩暈感。

這個(gè)Unity工程(版本5.3.4p6)提供了兩個(gè)簡(jiǎn)單場(chǎng)景:一個(gè)直接集成了SteamVR,另一個(gè)適用于沒(méi)有HTC Vive的小伙伴來(lái)演示系統(tǒng)功能。

資源代碼已經(jīng)做了文檔和注釋?zhuān)蛘呖梢愿SMIT Licence(參照LICENSE.txt)使用.