網頁

2018年7月1日 星期日

HoloLens 建置(build)與部署(publish)

開始談如何建置與發佈之前,先跟各位介紹一下開發HoloLens時硬體與軟體的邏輯關係。

想要自撰一個HoloLens APP,你的電腦需要先安裝好
1. Unity
2. Visual Studio

Unity是一個可供對3D模型作互動並且撰寫C#語法(或Java語法)的平台,
開發者可在Unity上匯入3D模型,也可以透過Visual Studio撰寫C#語法,
而且Unity與Visual studio所撰寫的C# script之間會有所連動,
藉此就可以依著開發者需求,寫出您所想要執行的功能。

寫好的Unity專案,必須建置(build)出C#的Visual studio專案。
這個步驟對HoloLens app佈署來說是必須的。

最後,再由Visual studio專案進行佈署(deploy),
把寫好的專案佈署到HoloLens眼鏡上。

總結來說,佈署順序是:
Unity → Visual Studio → HoloLens
           ①                      ②



以下先介紹 ①Unity → Visual Studio 的建置,再來介紹② Visual Studio → HoloLens 的部署
剛開始學習HoloLens時,我就在這兩大步驟吃了不少苦頭,有很多小技巧需要注意,
熬過來之後,就可以靜心開發程式了。

一、Unity → Visual Studio 的建置

    1. File → Build Settings




     2. 跳出Build Settings視窗




① 首先,可以透過點擊Switch Platform,選擇最後要部署的平台。
      HoloLens被微軟設定為UWP(Universal Windows Platform)的一項成員,
      因此,此處需要將平台設定為UWP。

② 選擇要部署到HoloLens的場景有哪些,可以點擊Add Open Scenes,
      將所有開啟的scene新增進來,也可以透過拖曳,將想要部署的場景拖曳進來這個panel。
      請記得勾選要建置的場景。

③ Target Device 請選擇HoloLens

④ Build Type 請選擇 D3D

⑤ SDK 請選擇 Lastest installed

⑥ 選取 Unity C# Projects

⑦ 點擊 Build 按鈕,指定好要建置到哪個資料夾,就可以建置出一個Visual Studio專案了。

⑧ 如果你的電腦安裝過程,沒有設定到最新狀態,或者是有些東西沒有灌到,
      那麼Unity C# Projects 會無法讓你點擊來作選取,也就是步驟6以及之後步驟會無法完成。

     此時,你可以點擊 Player Settings ,至視窗右邊的以下畫面做設定。
     並且將 Scripting Backend 設定為 .NET
     然後再返回Building Settings,執行步驟6就可以了。




二、Visual Studio → HoloLens 的部署

要將Visual studio專案部署到HoloLens上,有兩種做法,第一種是使用USB連線,第二種是使用Wi-Fi連線。

USB的傳輸必須仰賴一條USB線,並且事先讓你的電腦連線到這個網址http://127.0.0.1:10080
USB線只需使用隨盒附贈的那條充電用的USB線,就可以幫助做傳輸與部署。
但壞處是,部署過程必須小心,不能拉扯到線,所以使用上較為不方便,久了就不會想使用這個方式作部署了。

Wi-Fi連線的部署方式,相形之下,就顯得方便多了,但仍有一些訣竅必須注意。
概念上是這樣的,你建置好的Visual studio專案所使用的那台PC或筆電,該電腦所連上的無線網路基地台,必須與HoloLens所連線的無線網路基地台,兩者所連線的無線網路基地台必須是同一個,而且傳輸速度不能太慢。通常,我都使用手機行動服務的個人熱點。原因是,使用上穩定度與速度才足夠。總而言之,電腦要可以無線上網,HoloLesn也要可以無線上網,電腦與HoloLesn無線上網時所連上的無線基地台,必須是同一台。

將電腦與HoloLens都做好無線網路的連線之後,也就是兩台都可以上網之後,
就可以讓電腦與HoloLens兩者做連線了。作法上是:

電腦先開啟Chrom或IE,並且輸入HoloLens的IP,使兩者做連線。

因此,HoloLens 的 IP 需要先做個查詢,請參考以下影片:






HoloLens 的IP是 IPv4 adress : 172.20.10.4
(註:這個IP基本上是浮動的,請依照你的HoloLens所顯示的IP來做查詢。)


除了查詢HoloLens IP 之外,HoloLens仍需事先做個簡單設定。請見以下影片:


 (1) 開啟Developer mode (確認處於On狀態)
 (2) 開啟Device Portal  (確認處於On狀態)

找出HoloLens 的IP 之後,就可以將電腦與HoloLens兩者做連線

如何連線呢?電腦先開啟Chrome或IE,然後輸入HoloLens的IP,即可。

照理說,電腦的網頁瀏覽器要可以進入這個Device Portal的畫面。



過程可能會問你,這是不安全的連線,你是否繼續連線。
只要一直點擊進去,也就是繼續前往xxx.xx.xx.xx網站(不安全)

如果是第一次連線,他應該會要你輸入帳號和密碼,我記得他會要求你配對與設定,
帳號與密碼事後也都可以重新設定,只要照著做就可以了。
設定過帳號密碼之後,也請務必另外用紙筆記錄下來,以免遺忘。

做好電腦與HoloLens的連線,也就是可以進入Device Portal之後,就可以開始部署專案了。

找到剛剛從Unity建置出來的Visual Studio專案,如同下圖中的xxx.sln檔案





開啟專案後,畫面會像這樣。



我們要將這個專案部署到HoloLens,有三個地方要做設定。


第一個修改地方:
這個地方,設定為Release或Debug,好像都是可以的。
原本我都設定為Debug,後來在學習sharing時,書上寫使用Release,
後來我就都改為設定成Release了。




第二個修改地方:
這裡要改要x86,也就是32位元。
這可能是HoloLens開發過程的一個小插曲,目前HoloLens本身是32位元,
所以部署給他的APP也得用32位元。未來也許會升級為64位元吧!



第三個修改地方是:
改為遠端電腦,一點擊進去後,他就會要求你給IP位址,
輸入剛剛所查詢到的HoloLens IP,即可。

假如你打算用USB部署,那麼這裡就是設定為Device。

假如你打算用模擬器,那麼就是設定為該模擬器(例如HoleLens Emulator 10.0.14393.1358)。
使用模擬器的話,請記得將你的模擬器更新到微軟網頁所釋出的最新的模擬器。

假如你要部署到其他台的HoloLens,那麼IP位址就要再做一次設定。
 除了將剛剛的Device Portal重新做連線之外,這裡也要修改IP。
修改方式如下:



偵錯 → xxx屬性



在遠端電腦裡,輸入你要部署的HoloLens的IP。

最後,點擊 偵錯 → 啟動但不偵測



就可以慢慢等待visual studio專案,部署到HoloLens上了。



等待時間相當冗長,有時約略要到20分鐘左右。
過程必須確保電腦與HoloLens一直是連線的,
如果你很擔心他不知道是否有在運作,
也可以看一下專案下方,也就是上圖輸出的訊息,以及藍色邊框上的字(例如:就緒)
如果部署完畢,藍色邊框上的字,會顯示類似部署成功之類的字眼。

部屬完畢之後,剛剛被部署APP的HoloLens主表單上,就會有一個APP,
那個APP名稱就是你的專案名稱。

第一次部署,他會直接進去APP,而顯示Made in Unity的初始畫面。
第二次要進去使用,就如同其他APP一樣,點擊進去就可以用了。



總結一下:

HoloLens 專案的建置與部署,整個流程就是:

以Unity為起頭,建置專案到Visual studio,最後由Visual studio部署到HoloLens。

每個步驟都有一些小技巧要注意,不會太困難,就是有點繁瑣而已。
我盡可能把我所知道的,以及過程中所遇到的困難,以及解決的訣竅做個分享,
希望對於想要開發HoloLesn的同好,有所助益!





沒有留言:

張貼留言