HoloLens開發工具及其使用流程

HoloLens發布至今,已有不少開發者、解決方案提供商參與到HoloLens的項目研發和探索中,但仍有許多人并不熟悉HoloLens開發環境,以及需要哪些開發工具。

開發環境

HoloLens的開發需要在PC端預先配置好以下開發工具。

  • Visual Studio 2017 或 Visual Studio 2015 Update 3版本
  • Windows 10 SDK (10.0.10586版本)
  • HoloLens Emulator(10.0.14393.0版本)
  • Unity 5.5

注意:PC端啟用Visual Studio必須具有Windows 10環境。開始安裝前建議更改BIOS設置,在PC上進行硬件虛擬化。

開發工具與使用流程

在了解開發所需要的環境后,接下來就是按照開發流程進行應用開發。使用Unity開發HoloLens應用,一般步驟為:在Unity Editor中完成項目的制作,然后使用Unity構建WIN 10 UWP的項目,最后在Visual Studio中打開這個工程,編譯成功后部署到HoloLens或HoloLens模擬器上測試運行。

Unity

對于全息應用程序搭建,首先需要了解并設置Unity,這里我們建議安裝至少Unity 5.5版本。

1.安裝完Unity后,打開Unity,命名新場景。

設置主虛擬攝像頭,在層次結構面板中選擇主攝像頭進行設置,然后導入三維場景進行編輯。

主攝像頭設置圖

2.打開GameObject,在3D Object中,選擇Cube選項,創建出一個Unity 默認3D物體放入場景中,位置建議設定在坐標(0,0,2)或(0,0,3),確保啟動后佩戴者能夠直接觀測到物體。

Unity默認物體創建
位置設置

3.保存場景,并從Unity中導出UWP工程。此時我們指定要導出的為通用Windows平臺(Universal Windows Platform)項目。將SDK設置為Universal 10,將Target device設為HoloLens,同時UWP Build Type設置為D3D.導出Visual Studio解決方案。

Unity質量設置

注意:我們希望Unity導出的應用為全息視圖,而非平面視圖。所以要進行如下操作。

1.從…“Build Settings…”窗口打開“Player Settings…”

2.選擇“Settings for Windows Store”選項卡

3.展開“Other Settings”組

4.在“Rendering”部分中,選中“Virtual Reality Supported”復選框,以添加新的虛擬現實設備列表,并確認“Windows Holographic”被列為支持的設備。

Unity導出設置

對于剛接觸Unity開發HoloLens應用的小白,入門時可以選擇使用免費的HoloToolkit(下載地址見附錄)開發插件,也可以在市面上尋找一些獲得我們認可的第三方Toolkit開發插件。在HoloToolkit中,會給新手開發者提供一些和HoloLens功能相關的開發示例,幫助開發者加速開發進度。

Visual Studio

對于從Unity中導出的UWP工程,接下來需要用Visual Studio打開解決方案編譯,方可在設備上運行。第一次部署到設備上時,需要預先將Unity和Visual Studio進行配對。

構建Unity導出項目,部署項目在設備中。

1.在頂部工具欄,將Configurations選項中從“Debug”更改為“Release”,在Platform選項中ARM更改為X86。

2.建議使用USB部署到HoloLens設備中,將運行目標設備制定為Device來部署的設備中。如果選擇部署到模擬器中,請選擇Simulator選項。到此您的第一個應用基本創建完成,現在可以在HoloLens觀測一下這個物體在真實環境中的狀態。

HoloLens Emulator(HoloLens模擬器)

考慮到一些開發者暫時還沒有HoloLens,可以從Visual Studio編譯選項欄中,將設備下拉框選中HoloLens模擬器。第一次啟動時,模擬器可能需要等待一分鐘或更久響應時間。我們建議在部署和調試前打開模擬器,以便能將應用程序快速部署到正在運行的模擬器中。注意請保持電腦主板支持Hyper-V,在系統中打開Hyper-V功能選項。

HoloLens模擬器

模擬器中“房間”等選項卡以空間映射網絡形式模擬現實世界輸入,被模擬的房間可提供多個環境來測試應用程序。所有房間都是使用HoloLens在實際環境中捕獲的。開發者也可以利用模擬器來錄制自己的房間。模擬器上雖然能夠模擬HoloLens佩戴者的視野,但需要注意,部分應用在模擬器與真實HoloLens設備中操控效果可能略有不同。