天天看點

《Unity虛拟現實開發實戰》——第3章,第3.4節為Google Cardboard建構項目

本節書摘來自華章出版社《unity虛拟現實開發實戰》一書中的第3章,第3.4節為google cardboard建構項目,作者[美] 喬納森·林諾維斯,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

3.4為google cardboard建構項目

如果你的google cardboard的目标平台是android或ios,請閱讀本節。

《适用于unity的google cardboard入門指南》是一個很好的切入點。

3.4.1配置android環境

如果你從來沒在android環境上開發過,那麼需要先下載下傳和安裝android sdk。看一下unity手冊中關于android sdk安裝的文章,還需要安裝android developer studio(或至少要安裝sdk工具包)和其他相關工具,比如java(jvm)和usb驅動程式。

最好先用一個不包含cardboard sdk的unity項目試着建構和運作,以確定環境都準備就緒(一個隻有一個立方體的場景就行),确認你知道如何把程式安裝和運作在你的android手機上。

3.4.2配置ios

unity手冊中getting started with ios development指南是一個很好的切入點。你隻能在mac上做ios開發,必須配置好一個蘋果開發者賬号(已經支付每年的标準會員費),還需要下載下傳和安裝xcode開發工具(通過apple store)。

最好先用一個不包含cardboard sdk的unity項目試着建構和運作,以确認環境都準備就緒(一個隻有一個立方體的場景就行),確定你知道如何把程式安裝和運作在你的蘋果手機上。

3.4.3安裝cardboard的unity包

要讓我們的項目在google cardboard上運作,先下載下傳其sdk。

在unity項目中,按以下步驟導入cardboardsdkforunity.unitypackage資源包:

在assets主菜單欄中,選擇import package | custom package...。

找到并選擇cardboardsdkforunity.unitypackage檔案。

确認所有資源都被勾選,點選import。

浏覽剛才導入的資源。在project面闆中的assets/cardboard檔案下中有很多有用的東西,其中包括cardboardmain預制件(緊挨着還有一個cardboardhead,其中包含一個錄影機對象),在cardboard/script檔案夾中還有一些腳本,可以查閱一下。

3.4.4添加錄影機

現在,我們把cardboard錄影機放進memyselfeye,步驟如下:

在project面闆中,找到assets/cardboard/prefabs檔案夾下的cardboardmain。

把它拖進hierarchy面闆中的memyeselfeye對象中,讓它成為其子對象。

在hierarchy面闆中選擇cardboardmain,看一下inspector面闆,确認tap is trigger選項是選中狀态。

在hierarchy面闆中選擇main camera(在memyselfeye内),然後通過反選inspector面闆左上方的enable複選框禁用它。

最後,把這些修改應用到預制件上,步驟如下:

在hierarchy面闆中選擇memyeselfeye對象,然後在inspector面闆中prefab旁邊點選apply按鈕。

儲存場景。

這樣,我們就把預設的main camera替換成虛拟現實錄影機了。

3.4.5建構設定

如果你知道如何從unity建構和安裝程式到手機上,那麼對于cardboard的操作也相去無幾:

在主菜單欄中,選擇file | build settings...。

如果目前場景沒有出現在 scenes in build的清單中,點選add current。

在左邊的platform清單中選擇android或者ios,點選switch platform。

然後,點選inspector面闆中的player settings...。

對于android,確定other settings | virtual reality supported是未選中狀态,因為這是用于gearvr(通過oculus驅動程式),而不是用于cardboard android的。

選擇other settings | playersettings.bundleidentifier,輸入一個有效的字元串,比如com.yourname.vrisawesome。

在選項resolution and presentation | default orientation下将值設成landscape left。

3.4.6試玩模式

測試的話,不需要連接配接手機,隻需要按下程式頂部中間的play按鈕進入play mode(試玩模式)。可以在game視圖中看到分屏的立體視圖。

在試玩模式下,你可以模拟戴着cardboard頭盔移動頭部,用alt鍵結合滑鼠移動以平移和前後傾斜,用ctrl鍵結合滑鼠移動以左右傾斜頭部。

你還可以用滑鼠點選模拟磁力點選(我們會在後面關于使用者輸入的章節中展開讨論)。

要注意因為這是在手機上模拟運作,并沒有鍵盤,我們之前用鍵盤上的鍵位移動ethan在這裡行不通。

3.4.7建構并在android中運作

要把遊戲建構成一個單獨的可執行的應用程式,執行以下步驟:

在主菜單欄中,選擇file | build & run。

設定要建構的項目名稱,我喜歡把建構結果儲存在一個叫build的子目錄中,你也可以這麼做。

點選save。

這樣就會生成一個可運作在android上的 .apk檔案,然後把這個程式安裝在手機上。下面的截圖顯示了diorama場景運作在android和cardboard手機中(unity的開發顯示器在背影中)。

3.4.8建構并在ios中運作

要把遊戲建構後運作在iphone上,執行以下步驟:1. 通過usb線/口把手機接在計算機上。2. 在主菜單欄中,選擇file | build & run。

這樣就會生成一個xcode項目,運作xcode并在xcode中建構程式,然後把程式安裝在手機上。

《Unity虛拟現實開發實戰》——第3章,第3.4節為Google Cardboard建構項目