一、什么是Hololens應用程序
hololens應用程序.png)
HoloLens應用程序只是利用Windows Holographic APIs或OpenXR API的窗口應用程序。這些API使開發(fā)者能夠在現(xiàn)實世界中放置全息圖,使用凝視、手勢、語音與全息圖進行互動,此外還有空間功能訪問,如空間映射和空間聲音。
二、如何為Hololens開發(fā)3D應用?
開發(fā)人員在為HoloLens編碼的過程中面臨的一個主要缺點是在現(xiàn)有平臺上操作所需的陡峭的學習曲線,有幾種為HoloLens開發(fā)的選擇,我們按照你是哪種類型的開發(fā)人員進行了分類。
1、最適合C++開發(fā)人員:

就性能而言,編寫3D Hololens應用程序的最佳選擇是在Visual C++中使用DirectX。顯然,DirectX開發(fā)是非常強大的,因為它讓你可以直接訪問API,但它也更難編碼,特別是你必須編寫自己的引擎。這種開發(fā)堆??偸悄軐崿F(xiàn)更快的性能,但以開發(fā)時間為代價。C++/DirectX會有最少的層/框架,從而獲得更好的性能。另一個缺點是,很少有HoloLens的開發(fā)者使用DirectX為HoloLens開發(fā),所以社區(qū)的支持是缺乏的。請隨意查看以下內(nèi)容,了解DirectX開發(fā)的概況。
2、最適合游戲開發(fā)者:

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

網(wǎng)絡開發(fā)者是一個巨大的開發(fā)者社區(qū),他們還沒有開始為HoloLens開發(fā)。他們沒有建立的原因是,對他們來說,為HoloLens創(chuàng)建應用程序是非常困難的,它需要一種特殊的技能,而大多數(shù)網(wǎng)絡開發(fā)者并不熟悉。
例如,基于網(wǎng)絡的開發(fā)人員習慣于更新他們的網(wǎng)絡應用,并刷新瀏覽器以查看結(jié)果。builddwagon在線平臺,使開發(fā)人員能夠使用現(xiàn)有的熟悉的網(wǎng)絡技術來創(chuàng)建簡單的輕量級HoloLens體驗。該平臺提供了必要的工具,可以在極短的時間內(nèi)進行編碼、演示、查看和測試。該平臺的開發(fā)語言是JavaScript,它使用其HoloBuild庫,通過內(nèi)置組件來加快開發(fā)過程。開發(fā)者可以使用HoloLens在線模擬器來嘗試他們的代碼,你可以在這里嘗試,或者在HoloLens上使用buildwagon應用程序。
buildwagon的主要優(yōu)勢:
- 開發(fā)人員可以像使用JavaScript構(gòu)建網(wǎng)絡應用一樣構(gòu)建hololens應用;幾乎沒有學習曲線就可以開始。
- 開發(fā)者可以從開發(fā)–構(gòu)建–測試的短暫時間中獲益,你只需寫好你的代碼并在HoloLens上即時檢查結(jié)果。
- 你獲得了網(wǎng)絡的所有好處,使你的應用程序可搜索、可鏈接、低摩擦,不需要安裝。
- 你可以在你的PC上通過瀏覽器開始工作,你甚至不需要一個hololens就可以開始工作(PS:建議使用hololens)。
- 你可以通過發(fā)送鏈接與任何人分享你的應用程序,不需要下載或安裝,他們可以在他們的HoloLens或瀏覽器上嘗試。
- 你實際上有一條支持線,建立該平臺的人將幫助你解決你的hololens開發(fā)問題。
- 你需要擔心的事情比較少,因為這個平臺是專門為HoloLens開發(fā)的,而不是一個通用的游戲開發(fā)平臺,這也導致了較小的基礎代碼=與其他引擎相比,較低的內(nèi)存使用。
4、最適合windows開發(fā)者:

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