【Hololens開發】Holograms 100: Getting started with Unity

本文我們將通過Unity創建一個Hololens應用。這個項目將可以作爲一個Hololens應用的初始模板供你以後開發時使用。

點擊查看原文

目錄

Chapter0 - 預先準備

Chapter1 - 新建一個項目

爲了使用Unity開發一個應用,你首先需要創建一個新的項目(Project),項目由若干個文件夾(Folder)構成,其中最重要的是 Assets 文件夾。這個文件夾包含了所有你準備的所有資源:

  • 你從數字內容創作軟件,如 Maya、C4D、Photoshop 中引入的素材
  • 你使用例如 Visual Studio 等編輯器編寫的代碼
  • 你使用 Unity 創建的 Unity 組件等

爲了創建一個UWP(Universal Windows Platform 即 Windows通用應用平臺),Unity 可以將項目導出爲一個 Visual Studio 的解決方案,其包含了所有必須的資源和代碼。

  1. 打開 Unity
  2. 選擇 New,新建一個項目
  3. 輸入項目名字(例如:MixedRealityIntroduction)
  4. 輸入一個位置保存項目
  5. 保證 3D 選項被選中
  6. 選擇 Create project ,創建項目。



新建項目


Chapter2 - 對Camera進行設置

Unity 中的 Main Camera 它可以處理頭部跟蹤(head tracking)和立體再現(stereoscopic rendering)。這裏需要完成下面的步驟使其符合我們開發的要求:

  1. 選擇 File > New Scene

首先,可以想象,如果我們把用戶的起始位置定在 (X:0, Y:0, Z:0) 將更容易部署我們的應用。由於 Main Camera 追蹤用戶的頭部運動,用戶的起始位置可以設定爲 Main Camera 的起始位置。

  1. Hierarchy 面板中選中 Main Camera
  2. Inspector 面板中找到 Transform 組件,修改其 Position 的數值,從 (X:0, Y:1, Z:-10) 修改爲 (X:0, Y:0, Z:0)。

其次,默認的攝像頭背景需要做一些修改。

對於 Hololens 應用來說,真實世界應該出現在攝像頭渲染呈現的影像背後,而不是一個天空盒素材(Skybox texture)背後。

  1. 繼續選中 Main Camera,在 Inspector 面板中找到 Camera 組件,把其 Clear Flags 屬性從 Skybox 修改爲 Solid Color
  2. 接着選中其 Background 屬性,修改其 RGBA 值爲 (0, 0, 0, 0),即黑色。

再者,我們需要考慮一下 Unity 中的近裁剪面(near clip plane),避免物體被渲染的離用戶的眼睛太近。

對於 Hololens 應用來說,近裁剪面的值可以根據Hololens 推薦的值設置爲 0.85 米。

  • 繼續選中 Main Camera,在 Camera 組件中找到 Clipping Planes,把其 Near 值從默認的 0.3 修改爲 0.85



Main Camera設置

最後,讓我們保存一下目前的進度。保存我們當前的場景(Scene),選擇 File > Save Scene As,命名爲 MainScene,然後 Save


Chapter3 - 修改項目設置(Project Settings)

在這個章節中,我們將修改一些項目設置以幫助我們使用 Windows Holographic SDK 進行開發。我們也將修改一些質量設置。最終,我們會確保我們的項目導出爲 Windows應用商店應用。

Unity性能(Performance)和質量(quality)設置

對HoloLens應用來說,保持高的幀率是非常重要的,我們要把性能質量設置調整爲 Fastest 。想要查看更多的關於性能的信息,查詢這裏

  1. 選擇 Edit > Project Settings > Quality
  2. 選擇 Windows Store LOGO 下的 Default 黑色箭頭,選擇 Fastest。正確選擇後,會變成綠色。



Unity質量設置 for Hololens

指定 Windows 10 SDK

我們需要讓Unity知道我們的應用是在全息視圖下的,而不是2D視圖。爲此我們要激活 Virtual Reality Support 並指定 Windows 10 SDK。

  1. 選擇 Edit > Project Settings > Player
  2. Inspector 面板中選擇 Windows Store 選項卡
  3. 展開 Other Settings
  4. Rendering 部分中,勾選 Virtual Reality Supported 複選框,添加一個新的 Virtual Reality SDKs,確認我們的 Windows Holographic 在其中。



指定 Windows Holographic SDK

Chapter4 - 創建一個立方體

在Unity項目中創建一個立方體跟創建其他物體沒有任何區別。在用戶面前放一個立方體非常簡單,因爲 Unity 中的座標是跟真實世界匹配的,Unity中的1米差不多也是真實世界中的1米。

  1. Hierarchy 面板中右鍵,選擇 Create 然後接着選擇 3D Object > Cube
  2. 選中剛纔新建的 Cube
  3. 找到 CubeTransform 組件,修改其 Position 的值爲 (X: 0, Y: 0, Z: 2)。這個位置是距用戶的開始點 2 米的位置。
  4. 接着修改 Rotation 值爲 (X: 45, Y: 45, Z: 45),Scale 值爲(X: 0.25, Y: 0.25, Z: 0.25)。這個立方體的長寬高都爲0.25米。
  5. 保存場景, File > Save Scene

Chapter5 - 在設備上確認一下吧!

現在,我們是時候在設備上查看一下效果了。我們可以直接在 Unity Editor 中完成這個過程。

遠程模式:使用Hololens進行遠程遙控(Remote)

  1. 在 Hololens 上,安裝並運行 Holographic Remoting Player,可以從 Windows Store 下載。運行它,設備會進入一個等待狀態,並且顯示一個設備的 IP 地址。記錄 IP 地址。
  2. 回到我們的PC上,在Unity中,選擇 Window > Holographic Emulation(譯者提示:如果你的 Holographic Emulation 打開後提示你“You must enable Virtual Reality support……”,且你前面的步驟確認已經完成,此時,打開 File > Build Setting,選擇 Windows Store ,單擊 Switch Platform 即可解決問題)
  3. Emulation ModeNone 修改爲 Remote to Device。進入遠程模式。
  4. Remote Machine 一欄中,填入一開始記錄的 IP 地址。
  5. 點擊 Connect
  6. 確保 Connection Status 變爲綠色的 Connected
  7. 現在可以在 Unity Editor 中單擊正上方的 Play 按鈕。

譯者注:您可以暫停、檢查對象和調試,就像在編輯中運行普通應用一樣,區別之處在於視頻、音頻和設備的輸入是通過網絡在主機和遠程設備之間進行傳輸的。遠程模式對於驗證性能來說並不奏效(因爲所有繁重工作都是由PC主機處理的),但它可用於在開發過程中進行快速迭代。



遠程模式

模擬模式:Simulate in Editor

(譯者添加)

  1. Emulation Mode 修改爲 Simulate in Editor
  2. 按下 Play 按鈕即可

您的應用將由編輯器內置的模擬器開始運行,不需要頭戴設備。您可以選擇5個虛擬房間(與XDE HoloLens Emulator 提供的相同)並指定執行手勢的虛擬手掌(左或右)。



模擬模式

在模擬模式下,您將使用遊戲控制器來控制虛擬人物。



模擬模式中的控制方法

請注意,使用遊戲控制器需要將焦點放在遊戲窗口。使用UI做其它操作後只需點擊一下游戲視圖窗口就會對焦。

已知限制

  • 目前遠程全息模式並不支持語音(PhraseRecognizer語音識別),而是獲取編輯器所在主機的語音。
  • 在全息模擬模式下可以執行圖像捕捉,但因爲圖像捕捉會使用本地相機(例如網絡攝像頭),您將無法使用TryGetProjectionMatrix或者TryGetCameraToWorldMatrix來獲得矩陣。
  • 在遠程模式下,主機PC端所有的音頻將重定向到設備上(而不僅是來自應用的)。

Chapter6 - build項目並且部署到設備

現在我們可以導出我們的項目到 Visual Studio 並部署到我們的目標設備。

導出 Visual Studio 解決方案

  1. 打開 File > Build Setttings 窗口。
  2. 單擊 Add Open Scenes ,添加場景。
  3. 運行平臺Platform 修改爲 Windows Store 並且單擊 Switch Platform
  4. Windows Store 的設置中,確保 SDK 選擇的是 Universal 10
  5. Target Device,可以是 Any Device 或選擇 Hololens
  6. UWP Build Type 要選 D3D
  7. UWP SDK 可以選 Latest installed(譯者注:最好與你裝VS2015時安裝的那個版本一致,否則VS會提示項目需要更新)
  8. 選中 Unity C# Projects
  9. 點擊 Build
  10. 在打開的資源管理器中,新建一個文件夾,命名爲 APP
  11. 選中 APP 文件夾,單擊 Slect Folder 按鈕。
  12. 當Unity 完成 Building 的時候,會自動打開一個資源管理器。
  13. 打開 APP 文件夾。
  14. 打開生成的 Visual Studio Solution(在此例中,是 MixedRealityIntroduction.sln)

編譯 Visual Studio 解決方案

最後,我們可以編譯這個導出的VS解決方案了。

  1. 在VS工具欄中,把 target 從 Debug 改爲 Release,從 ARM 改爲 x86

接下來的設置將根據你的選擇有些不同:

通過 Wi-Fi 部署到 Hololens 設備

  1. 單擊 本地計算機(Local Machine) 旁邊的小箭頭,將部署目標變爲 遠程計算機(Remote Machine)
  2. 輸入設備的 IP 地址,將身份驗證模式(Authentication Mode) 改爲 通用(未加密協議)Universal(Unencrypted Protocol)
  3. 點擊 調試(Debug) > 開始執行不調試(Debug without debugging)

通過 USB 部署到 Hololens 設備

  1. 單擊 本地計算機(Local Machine) 旁邊的小箭頭,將部署目標變爲 Device
  2. 點擊 調試(Debug) > 開始執行不調試(Debug without debugging)

部署到模擬器

  1. 單擊 本地計算機(Local Machine) 旁邊的小箭頭,將部署目標變爲 Hololens Emulator
  2. 點擊 調試(Debug) > 開始執行不調試(Debug without debugging)

試試你的應用程序吧!

現在你的應用程序已經部署了。試試到處走走觀察一下呈現在你眼前世界裏的這個立方體。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章