Unity3D製作Cardboard全景VR應用

Posted by Y Cheung on Tue, Oct 27, 2015

本文中所使用的軟體

操作步驟

新建 Unity3D 工程

在Unity中新建一個工程: VRtour

新建Unity工程

載入 Cardboard SDK

Assets > Import Package > Custom Package ,然後選擇事先下載好的CardboardSDKForUnity.unitypackage

導入Unity版的Cardboard SDK

默認全部載入,直接點擊 import

導入package

新建Material並設置Shader

Assets中新建一個文件夾 scene 用來放VR的相關素材,然後右鍵 Create > Material新建一個材質 bg

新建材質

Shader 屬性選擇 Skybox ,可設為 6 sided 或者 Cubemap ,下面將分別說明。

  1. Shader 屬性設置選擇 Skybox > 6 Sided

使用GUI將全景圖切成立方體表面的6個正方形圖片,將它們拖入Unity建好的文件夾 scene 中,全選這6張圖片,然後在屬性中更改 Wrap ModeClamp ,這一步很重要,否則在之後的縫合中將會有明顯的縫隙。

設置Material bg 屬性,將6張圖分別載入(這六張圖片的文件名附有front/back/top等單詞,與此屬性中顯示的Front/Back/Up/Left/Right/Down一一對應即可)

  1. 或者將Shader屬性設置選擇 Skybox > Cubemap

直接將全景圖panorama拖入Unity建好的文件夾 scene 中,在屬性中將 Texture Type 設置為 Cubemap ,然後將 Mapping 設置為 Latitude-Longitude Layout(Cylindrical)

設置Material bg的屬性,Cubemap 中載入設置好的全景圖 (為寫這篇教學, Y CHEUNG建了兩個Material,截圖中顯示的為bg2)

新建 StereoController.cs

Hierarchy 面板的 Main Camera 中附加 StereoController.cs(此文件的位置是 Cardboard\Scripts\StereoController.cs),可以直接拖拉該文件附加,也可在 Main Camera 的屬性中 Add Component

場景中新增Camera (optional)

Hierarchy 面板右鍵選擇 Camera (也可不做此步驟)

Update Stereo Cameras

在菜單欄中選擇 Component > Cardboard > Update Stereo Cameras (若沒新增Camera至場景,此處應對Main Camera進行操作)

此時Hierarchy 面板大致顯示如下圖

添加 skybox

可以在camera的屬性中添加skybox,也可以在全局設置中添加skybox

  1. 分別選擇 Camera LeftCamera Right 設置屬性,選擇 Add Component > Rendering > Skybox

將Materialbg附加至 Custom Skybox

  1. 或者在菜單欄中選擇 Window > Lighting

在彈出窗口中附加Materialbg做好的skybox。

預覽效果

PLAY 預覽效果

或者在PLAY預覽中模擬 Cardboard 體驗1

  • 以滑鼠為基礎的頭部追蹤:在遊戲模式中,若您按下 Alt 並四處移動滑鼠,您可以在場景中水平平移和垂直傾斜,就像您戴著 Cardboard 四處移動一樣。 使用 Ctrl 搭配滑鼠來模擬從一側往另一側傾斜頭部的情況。
  • 模擬扣扳機:在遊戲模式中,使用滑鼠點擊模擬使用者使用扳機的動作。
  • 模擬變形校正:在遊戲模式中,相機將會以影像效果轉譯內容,以為 Cardboard 鏡頭模擬與手機上問題相同的變形校正。

發布安卓應用

在菜單欄中選擇 File > Build Settings

在彈出窗口中選擇安卓,並選擇 Player Settings

在窗口中進行基本屬性設置,公司名應用名應用圖標等。

Other Settings 下的 Bundle Identifier 欄位中輸入名稱 (例如,com.YCHEUNG.VRTour)。

Resolution and Presentation 下,確定預設方向已設定為 Landscape Left

彈出窗口中選擇 Build ,並保存APK。

如果選擇 Build and Run ,請確認開啟DEBUG模式的安卓手機已接入電腦

PTGUI 全景圖剪切 “一分六”

打開PTGui,把全景圖panorama切成六張正方形:

  • 菜單欄中選擇 工具 > 轉換到QTVR/立方體

  • 在彈出窗口中添加全景圖後選擇輸出 立方體表面,6個單獨的文件

== Nov.8, 2015 更新 ==