如何開發hololens應用程序

一、什么是Hololens應用程序

HoloLens應用程序只是利用Windows Holographic APIs或OpenXR API的窗口應用程序。這些API使開發者能夠在現實世界中放置全息圖,使用凝視、手勢、語音與全息圖進行互動,此外還有空間功能訪問,如空間映射和空間聲音。

二、如何為Hololens開發3D應用?

開發人員在為HoloLens編碼的過程中面臨的一個主要缺點是在現有平臺上操作所需的陡峭的學習曲線,有幾種為HoloLens開發的選擇,我們按照你是哪種類型的開發人員進行了分類。

1、最適合C++開發人員:

就性能而言,編寫3D Hololens應用程序的最佳選擇是在Visual C++中使用DirectX。顯然,DirectX開發是非常強大的,因為它讓你可以直接訪問API,但它也更難編碼,特別是你必須編寫自己的引擎。這種開發堆棧總是能實現更快的性能,但以開發時間為代價。C++/DirectX會有最少的層/框架,從而獲得更好的性能。另一個缺點是,很少有HoloLens的開發者使用DirectX為HoloLens開發,所以社區的支持是缺乏的。請隨意查看以下內容,了解DirectX開發的概況。

2、最適合游戲開發者:

對于游戲開發者來說,他們目前有兩個選擇,可以使用游戲平臺為HoloLens進行開發。Unity,或者是虛幻引擎。Unity引擎是微軟推薦的引擎,它背后有一個偉大的社區,你總能找到一些幫助,它是目前的首選平臺,特別是如果你想為HoloLens開發游戲。
不是專門從事游戲開發的開發者需要學習一個新的環境,并熟悉其游戲引擎的技術性,這通常會給其他開發者帶來一個陡峭的學習曲線。另一個缺點是,Unity沒有自己的IDE,所以你需要使用Visual Studio來編寫和編輯代碼,你必須在兩個環境之間做大量的來回切換,以一個很長的開發迭代時間。在HoloLens上部署和調試你的代碼也需要Visual Studio,這使得開發/部署/調試的周期更慢了。
你可以在這里得到unity開發的概述。其他開始用于HoloLens開發的游戲引擎是虛幻引擎:查看這里的鏈接了解更多信息。

3、最適合網絡開發人員:

網絡開發者是一個巨大的開發者社區,他們還沒有開始為HoloLens開發。他們沒有建立的原因是,對他們來說,為HoloLens創建應用程序是非常困難的,它需要一種特殊的技能,而大多數網絡開發者并不熟悉。
例如,基于網絡的開發人員習慣于更新他們的網絡應用,并刷新瀏覽器以查看結果。builddwagon在線平臺,使開發人員能夠使用現有的熟悉的網絡技術來創建簡單的輕量級HoloLens體驗。該平臺提供了必要的工具,可以在極短的時間內進行編碼、演示、查看和測試。該平臺的開發語言是JavaScript,它使用其HoloBuild庫,通過內置組件來加快開發過程。開發者可以使用HoloLens在線模擬器來嘗試他們的代碼,你可以在這里嘗試,或者在HoloLens上使用buildwagon應用程序。

buildwagon的主要優勢:

  • 開發人員可以像使用JavaScript構建網絡應用一樣構建hololens應用;幾乎沒有學習曲線就可以開始。
  • 開發者可以從開發–構建–測試的短暫時間中獲益,你只需寫好你的代碼并在HoloLens上即時檢查結果。
  • 你獲得了網絡的所有好處,使你的應用程序可搜索、可鏈接、低摩擦,不需要安裝。
  • 你可以在你的PC上通過瀏覽器開始工作,你甚至不需要一個hololens就可以開始工作(PS:建議使用hololens)。
  • 你可以通過發送鏈接與任何人分享你的應用程序,不需要下載或安裝,他們可以在他們的HoloLens或瀏覽器上嘗試。
  • 你實際上有一條支持線,建立該平臺的人將幫助你解決你的hololens開發問題。
  • 你需要擔心的事情比較少,因為這個平臺是專門為HoloLens開發的,而不是一個通用的游戲開發平臺,這也導致了較小的基礎代碼=與其他引擎相比,較低的內存使用。

4、最適合windows開發者:

Windows開發者現在可以使用UrhoSharp,一個3D游戲引擎,為HoloLens開發全息體驗。UrhoSharp是一個適用于Xamarin和.NET的跨平臺高級3D和2D引擎,可用于使用幾何圖形、材料、燈光和相機為您的應用程序創建動畫的3D和2D場景。有關urhoSharp的介紹,請查看以下鏈接。關于用UrhoSharp開發hololens的例子,請看這個鏈接。
使用UrhoSharp的唯一擔憂是對它的支持和維護。- 自2018年以來沒有被更新。
對于想直接使用directx的C#開發者來說,其他的選擇是使用sharpdx:查看這個鏈接 – 自2019年以來沒有被維護。
另一個最近的選擇是sterokit,它比Urhosharp 3D有更多的活動,是一個使用C#的開源混合現實庫。