天天看點

Unity 中的 Daydream 開發與執行個體

本文将幫助您了解開發 Daydream 應用所需的裝置和軟體并介紹安裝過程,以便您可以立即開始建立 Daydream 平台的遊戲,最後提供幾個優秀的案例,為您帶來更好的遊戲設計思路。

入門

建立 Daydream 遊戲之前,我們需要做開發前的軟硬體準備,包括 Daydream 裝置和 Unity 的 Google VR 技術預覽版。

Daydream 裝置

Daydream 裝置包括一個 Daydream View 頭盔、控制器和支援 Daydream 的手機。真機測試遊戲需要以上所有裝置。如果您僅希望在 Unity 編輯器的運作模式下測試遊戲,則任何類型的 Android 手機均可。我們會在下文關于編輯器中的 VR 模拟器一節中繼續讨論這個問題。

Daydream View 套裝包括虛拟現實頭盔和控制器。該套裝可線上購買。Cardboard 和 Daydream 的最大差別是:Daydream 頭盔由布料制造,品質更好,并配備了 NFC 晶片。

Unity 中的 Daydream 開發與執行個體

支援 Daydream 的手機

目前有五類手機可用:

  • Pixel (Pixel, Pixel XL)
  • Moto Z (Moto Z, Moto Z Droid, Moto Z Force Droid)

支援 Daydream 的手機正在不斷增加。有關詳細資訊,您可以檢視 Google 官方網站。如果您沒有此清單中的任何手機,也可以使用 Daydream 開發套件與 Nexus 6P 手機,但 Nexus 6P 的散熱性能不及支援 Daydream 的手機。

Unity 的 Google VR 技術預覽版

建立 Daydream 的 Build 需要使用 Unity 的 Google VR 技術預覽版。您可以在 Unity 官網下載下傳,OS X 和 Windows 版本都有。它包含基于 Unity 5.4.2 版本的自定義編輯器和 Android Player。

Google VR SDK

Google VR SDK 是開發 Daydream 所必需的。SDK 提供原生內建的 Google VR,還包含一些其它功能,詳情見下文。

SDK 内容

原生內建的功能:

  • 頭部跟蹤
  • 并排立體渲染
  • 檢測使用者與系統的互動
  • 針對特定頭戴裝置的自動立體渲染配置
  • VR 頭盔鏡頭的失真校正
  • 對齊标記 - 當您将手機插入到頭盔中時,幫助您将手機螢幕與鏡頭對齊
  • 自動陀螺儀運動檢測

附加功能:

  • Daydream 控制器支援
  • 空間音頻渲染
  • 一個簡單取景器(reticle)預制件和基于凝視的使用者互動相關腳本
  • 在 Unity 編輯器的運作模式下進行 VR 模拟,您可以使用滑鼠和 Alt / Ctrl 鍵平移或旋轉 VR 攝像頭
  • “Headset Demo”場景 - 示範一個簡單的 Cardboard 遊戲
  • “Controller Demo”場景 - 示範與 Daydream 控制器的內建
  • 顯示 FPS 的預制件

安裝指南

下載下傳 GoogleVR SDK 以及支援 Daydream 的 Unity 預覽版。打開 Unity,建立一個新的 3D 項目,然後将 SDK 導入項目。

Unity 中的 Daydream 開發與執行個體

在 Player Settings 下的 Android 頁籤下,單擊”Virtual Reality Support”并選擇 Daydream 平台。在 Minimum API Level 選擇 Android 7.0 Nougat 或更新的版本。

Unity 中的 Daydream 開發與執行個體

經過以上的步驟,您的 Daydream 開發環境基本就搭建完畢了。

兩個示範場景

  1. 控制器示範:ControllerDemo.asset

    本場景展示了 Daydream 控制器的簡單使用。 在 Unity 編輯器中,您可以使用 Android 手機與控制器仿真來模拟 Daydream 控制器。

  2. 頭盔示範:DemoScene.asset

    本場景展示了簡單的 Cardboard 或 Daydream 頭盔行為。可以通過按下“Alt”鍵并移動滑鼠在 Unity 編輯器中移動錄影機, 您也可以通過按下“Ctrl”鍵并移動滑鼠來旋轉錄影機。

控制器

Cardboad 和 Daydream 的主要差別是 Daydream 有一個控制器,控制器使使用者體驗更類似于 HTC Vive 或者 Oculus Rift。

Unity 中的 Daydream 開發與執行個體

仿真的控制器

控制器由三個區域組成:

  • TouchPad - 檢測觸摸區域上是否有手指,并檢查手指的位置。 TouchPad 也可以點選。
  • App 按鈕 - TouchPad 下方的按鈕。
  • Home 按鈕 - 為 Android 系統保留的按鈕。

可以通過場景中的 GvrController 類來獲得有關控制器的輸入和狀态的資訊。此類通過通路此單例的靜态屬性來提供連接配接狀态、方向、陀螺儀讀數、加速度、觸摸闆和按鈕狀态。

編輯器中的 VR 模拟器

因為 Daydream 平台是最近才釋出的,是以您可能無法及時獲得必需的硬體,在 Unity 編輯器的運作模式下測試遊戲也是個不錯的選擇。在這種情況下,VR 模拟器非常有用。谷歌提供一個 APP,可以安裝在所有類型的 Android 手機,它會模仿真實的 Daydream 控制器的行為。

使用控制器仿真可能有一點不便,就是不能觸摸真的控制器。谷歌提供了解決方案: 可以下載下傳并列印一個螢幕覆寫層,包括 letter、A4 和 SVG 三種格式。列印好後将相應按鍵的位置挖洞,并放在手機上面,就可以獲得更真實的體驗。

Unity 中的 Daydream 開發與執行個體

開發執行個體

最好的學習方法就是檢視示例。 Google VR 的 GitHub 代碼庫包含 4 個非常有用的示例,可幫助您全面了解如何使用新的 Google VR:

Daydream Labs Controller Playground

Unity 中的 Daydream 開發與執行個體

這是一個結合了 15 個小遊戲的大合集,該項目供了許多不錯的例子,告訴使用者如何充分利用控制器與 VR 頭盔。介紹一些 VR 遊戲中控制器常用的使用方法。

源碼下載下傳位址:

https://github.com/googlevr/gvr-unity-sdk/tree/master/Samples/DaydreamLabsControllerPlayground

Cardboard Design Lab

Unity 中的 Daydream 開發與執行個體

如果您是 VR 初學者,那麼可以從該示例開始。 在整個項目中,您将學習從設計 VR 的基礎到建立沉浸式環境等 VR 設計相關内容。

源碼下載下傳位址:

https://github.com/googlevr/gvr-unity-sdk/tree/master/Samples/CardboardDesignLab

Castle Defense

Unity 中的 Daydream 開發與執行個體

這是一個簡單的 VR 手遊示例。

源碼下載下傳位址:

https://github.com/googlevr/gvr-unity-sdk/tree/master/Samples/CastleDefense

Spatial Audio

Unity 中的 Daydream 開發與執行個體

這個項目将幫助您了解在 VR 項目中實作真實音頻效果的最佳做法。它用到了 Google VR 的音頻渲染功能。

源碼下載下傳位址:

https://github.com/googlevr/gvr-unity-sdk/tree/master/Samples/CastleDefense

總結

本文為大家介紹了初步開發 Daydream 平台所需的裝置和軟體。 不久以後,預覽版本中的功能将內建到 Unity 5.6 正式版中,在此之前,請先使用預覽版本。

當遊戲開發門檻不斷降低,技術不斷革新,作為開發者的我們該如何順勢而為,充分發掘 Unity 的無限潛能?或許我們能夠從 Unite 2017 Shanghai 這一行業頂級的開發者大會上擷取更多的啟示。目前,Unite 2017 Shanghai 購票通道已全面開啟,更有5 折門票等你來拿,數量有限,預購從速!Keynote 入場券業已開放注冊,期待與大家相聚在 Unite 2017 Shanghai!

猛戳連結或掃描下方二維碼,開啟 Unite 2017 Shanghai:http://unite2017.csdn.net/。

Unity 中的 Daydream 開發與執行個體