第5章 VR開發(fā)-5.3 Nibiru平臺(tái)_第1頁(yè)
第5章 VR開發(fā)-5.3 Nibiru平臺(tái)_第2頁(yè)
第5章 VR開發(fā)-5.3 Nibiru平臺(tái)_第3頁(yè)
第5章 VR開發(fā)-5.3 Nibiru平臺(tái)_第4頁(yè)
第5章 VR開發(fā)-5.3 Nibiru平臺(tái)_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第5章VR開發(fā)

5.3Nibiru平臺(tái)

.目錄.1.在Unity中配置Android系統(tǒng)

.2.

NibiruVR在Unity中的基本使用方法.3.

NibiruVR中交互功能的實(shí)現(xiàn)

Nibiru是國(guó)產(chǎn)的VR操作系統(tǒng)平臺(tái),它在Android的基礎(chǔ)上針對(duì)VR一體機(jī)進(jìn)行了大量?jī)?yōu)化和改進(jìn),是國(guó)內(nèi)使用最多的VR一體機(jī)開發(fā)平臺(tái)之一。

Nibiru有完整的產(chǎn)品生態(tài)鏈。除了VR系統(tǒng)和VR一體機(jī)硬件產(chǎn)品外,它還有AR系統(tǒng)和AR眼鏡硬件產(chǎn)品、NibiruCreator內(nèi)容創(chuàng)作工具、VR/AR場(chǎng)景播控系統(tǒng)、RemoteRendering仿真系統(tǒng)等,是國(guó)內(nèi)比較先進(jìn)的產(chǎn)品平臺(tái)。

Nibiru還提供了比較完善的開發(fā)環(huán)境,其官方網(wǎng)站維持了一個(gè)活躍的開發(fā)社群,能給開發(fā)者提供相關(guān)幫助。

(1)打開Unity軟件,單擊菜單“Edit”→“Preferences”,選擇“ExternalTools”選項(xiàng)卡,設(shè)置AndroidSDK和JDK的安裝路徑,如圖所示。1.

在Unity中配置Android系統(tǒng)

(2)單擊菜單“File”→“BuildSettings”,在“BuildSettings”對(duì)話框中單擊“SwitchPlatform”,選擇“Android”。在Unity的“BuildSettings”對(duì)話框中設(shè)置Android系統(tǒng)為發(fā)布目標(biāo)系統(tǒng),如圖所示。1.

在Unity中配置Android系統(tǒng)

(3)單擊上頁(yè)圖中的“PlayerSettings”按鈕,選擇“OtherSettings”選項(xiàng),按照下圖設(shè)置Unity中發(fā)布AndroidApp的相關(guān)屬性。其中,“BundleIdentifier”屬性是按照“com.公司名稱.App名稱”的格式來(lái)填寫的,圖中公司名稱為“gdqy”,App名稱為Temp?!癕inimumAPILevel”屬性規(guī)定了發(fā)布的App所能支持的最小Android版本。支持的最小版本越低,所能支持的設(shè)備種類就越多,但也有很多高級(jí)功能可能會(huì)不支持。支持的最高版本屬性一般不用修改,使用默認(rèn)設(shè)置即可。1.

在Unity中配置Android系統(tǒng)

1.

在Unity中配置Android系統(tǒng)

(1)需要從官網(wǎng)下載NibiruVR_SDK_Unity開發(fā)包,本書使用的是2.0.5版本。將下載的開發(fā)包NibiruVRSDK_V2.0.5.unitypackage導(dǎo)入U(xiǎn)nity工程后,需要針對(duì)Unity的Android配置做一些設(shè)置,這樣才可正確發(fā)布Android應(yīng)用。如果只是在計(jì)算機(jī)上做實(shí)驗(yàn),則可以跳過(guò)這一步驟。具體的設(shè)置方法,是通過(guò)Unity的菜單“Edit”→“ProjectSettings”→“Graphics”,打開工程圖像設(shè)置界面,將NVR/Resources目錄下的SolidColor和UnlitTexture這兩個(gè)著色器文件,拖入“AlwaysIncludedShaders”如下頁(yè)圖所示。2.

NibiruVR在Unity中的基本使用方法

2.

NibiruVR在Unity中的基本使用方法

(2)先新建一個(gè)場(chǎng)景,刪除其中自帶的MainCamera,把NVR/Prefabs目錄下的MainCamera和NvrViewerMain這兩個(gè)預(yù)設(shè)體拖入場(chǎng)景,即完成了初始設(shè)置。此時(shí)運(yùn)行場(chǎng)景,即可看到如左圖所示的NibiruVR初始運(yùn)行效果——左右眼雙屏畫面;按住Alt鍵的同時(shí),移動(dòng)鼠標(biāo),可以模擬戴著VR頭顯轉(zhuǎn)動(dòng)頭部的效果?,F(xiàn)在因?yàn)闆](méi)有參照物,移動(dòng)時(shí)看不出效果??梢约尤隢VR/Prefabs目錄下的NvrSphere預(yù)設(shè)體,再次運(yùn)行場(chǎng)景,可看到室內(nèi)環(huán)境;此時(shí)再運(yùn)行場(chǎng)景,即可通過(guò)鍵盤和鼠標(biāo)模擬頭顯轉(zhuǎn)動(dòng)來(lái)觀察這個(gè)房間了,加了房間參照物后的運(yùn)行效果如右圖所示。2.

NibiruVR在Unity中的基本使用方法

(3)在NvrViewerMain預(yù)設(shè)體中,有一個(gè)NvrViewer組件可用來(lái)實(shí)現(xiàn)一些VR形式的設(shè)定,如圖所示。例如,“VRModeEnabled”控制是否以VR模式運(yùn)行場(chǎng)景,如果不勾選該復(fù)選框,則不會(huì)出現(xiàn)上頁(yè)圖中那樣的雙目效果,而是出現(xiàn)一個(gè)普通的畫面,通過(guò)鍵盤和鼠標(biāo)模擬頭顯轉(zhuǎn)動(dòng)的功能不變,這樣可以擴(kuò)大畫面,有利于在計(jì)算機(jī)上觀察效果;“LockHeadTracker”控制是否鎖定頭顯;“DistortionEnabled”控制是否顯示鏡頭畸變效果。2.

NibiruVR在Unity中的基本使用方法

下面介紹兩種Nibiru頭顯中較常見(jiàn)的功能:視線注視交互VR頭顯按鍵交互3.

NibiruVR中交互功能的實(shí)現(xiàn)

(1)新建一個(gè)場(chǎng)景,刪除原有的MainCamera,把NVR/Prefabs目錄下的MainCamera和NvrViewerMain這兩個(gè)預(yù)設(shè)體拖入場(chǎng)景,完成初始設(shè)置。再添加一個(gè)Cube物體,作為用視線注視改變顏色的目標(biāo)物體。(2)新建一個(gè)空物體,改名為“EventSystem”,在其上添加GazeInputModule組件。添加GazeInputModule組件后,會(huì)自動(dòng)添加一個(gè)EventSystem組件,交互功能相關(guān)組件如圖所示。這兩個(gè)組件定義了視線注視的各種操作。3.

NibiruVR中交互功能的實(shí)現(xiàn)——視線注視交互功能

(3)新建一個(gè)C#腳本changeColor.cs,將其作為組件賦予Cube物體。腳本內(nèi)容如下可以看到這個(gè)腳本的功能比較簡(jiǎn)單,只有一個(gè)public類型的函數(shù)SetGazedAt(),其會(huì)根據(jù)bool類型的參數(shù)gazedAt來(lái)決定物體的材質(zhì)顏色為紅色還是白色。3.

NibiruVR中交互功能的實(shí)現(xiàn)——視線注視交互功能

(4)給Cube物體再添加一個(gè)EventTrigger組件,這個(gè)組件用來(lái)處理事件觸發(fā)的工作。單擊組件中的“AddNewEventType”按鈕,添加PointerEnter和PointerExit兩個(gè)事件,它們就是視線進(jìn)入和移出Cube物體的事件。單擊事件窗口中的“+”按鈕,將Cube拖入框,兩個(gè)事件處理函數(shù)都選擇changeColor.cs腳本中的SetGazedAt()函數(shù),Cube的EventTrigger組件如下頁(yè)圖所示。這樣設(shè)置之后,就代表視線進(jìn)入和移出Cube物體事件發(fā)生后的處理函數(shù)都是SetGazedAt()函數(shù)。

因?yàn)镾etGazedAt()函數(shù)有一個(gè)bool類型的參數(shù),所以在圖5-39中可以看到PointerEnter事件的處理函數(shù)中該參數(shù)被勾選,代表其值為true;而PointerExit事件的處理函數(shù)中該參數(shù)沒(méi)有被勾選,代表其值為false。再結(jié)合代碼,可以看到,當(dāng)視線進(jìn)入Cube物體后,PointerEnter事件發(fā)生,處理函數(shù)SetGazedAt()會(huì)根據(jù)為true的gazedAt參數(shù),把Cube的顏色改為紅色;視線移出Cube物體后,PointerExit事件發(fā)生,處理函數(shù)SetGazedAt()會(huì)根據(jù)為false的gazedAt參數(shù),把Cube的顏色改為白色。3.

NibiruVR中交互功能的實(shí)現(xiàn)——視線注視交互功能

(5)運(yùn)行場(chǎng)景,通過(guò)按住Alt鍵并移動(dòng)鼠標(biāo),模仿戴著頭顯轉(zhuǎn)動(dòng)頭部的操作,來(lái)觀察視線注視交互功能。3.

NibiruVR中交互功能的實(shí)現(xiàn)——視線注視交互功能

VR頭顯上一般都有按鍵或者是觸摸板,提供了一定的交互功能。VR頭顯上的按鍵如圖所示,有音量大小調(diào)節(jié)鍵,OK鍵,上、下、左、右方向鍵等。有些廠家提供的VR一體機(jī)的手柄的功能其實(shí)和這些頭顯上的按鍵或觸摸板的功能是一樣的。3.

NibiruVR中交互功能的實(shí)現(xiàn)——VR頭顯按鍵交互功能

在Nibiru的SDK中,VR頭顯按鍵交互的實(shí)現(xiàn)和視線注視交互的實(shí)現(xiàn)方法是類似的。例如,針對(duì)前面的例子,實(shí)現(xiàn)在視線注入Cube物體的情況下,按下OK鍵,使Cube物體變大一倍的功能,方法如下。(1)打開腳本changeColor.cs,在其中添加函數(shù)SetGazedTrigger(),函數(shù)內(nèi)容如下:3.

NibiruVR中交互功能的實(shí)現(xiàn)——VR頭顯按鍵交互功能

(2)找到Cube物體,在其EventTrigger組件中,單擊“AddNewEventType”按鈕,添加PointerClick事件;單擊事件窗口中的“+”按鈕,將Cube拖入框,事件處理函數(shù)選擇changeColor.cs腳本中的SetGazedTrigger()函數(shù),新添加的PointerClick事件處理函數(shù)如圖所

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論