HoloLens應(yīng)用程序只是利用Windows全息API或OpenXR API的Windows應(yīng)用程序。這些API使開發(fā)人員能夠?qū)⑷D放置在現(xiàn)實世界中,使用凝視、手勢、語音與全息圖進(jìn)行交互,以及訪問空間功能(例如空間映射和空間聲音)。

如何為Hololens開發(fā)3D應(yīng)用程序?
開發(fā)人員在為 HoloLens 編碼過程中面臨的一個主要缺點是在可用平臺上操作所需的陡峭學(xué)習(xí)曲線,為 HoloLens 開發(fā)的幾個選項我們已根據(jù)您的開發(fā)人員類型進(jìn)行分類:
選項 1:最適合 C++ 開發(fā)人員
就性能而言,編寫 3D Hololens 應(yīng)用程序的最佳選擇是在 Visual C++ 中使用 DirectX。顯然,DirectX 開發(fā)非常強大,因為它可以讓您直接訪問 API,但使用它編寫代碼也更加困難,尤其是當(dāng)您必須編寫自己的引擎時。這種開發(fā)堆棧始終可以實現(xiàn)更快的性能,但代價是開發(fā)時間。C++/DirectX 具有最少的層/框架,從而可實現(xiàn)更好的性能。另一個缺點是,很少有 HoloLens 開發(fā)人員使用 DirectX 為 HoloLens 進(jìn)行開發(fā),因此缺乏社區(qū)支持。
選項 2:最適合游戲開發(fā)者
對于游戲開發(fā)者來說,他們目前有兩個選擇,可以使用游戲平臺為 HoloLens 進(jìn)行開發(fā):Unity 或 Unreal Engine。Unity 引擎是 Microsoft 推薦的引擎,背后有一個很棒的社區(qū),您總能找到一些幫助,它是目前的首選平臺,特別是如果您想為 HoloLens 開發(fā)游戲。
不擅長游戲開發(fā)的開發(fā)人員需要學(xué)習(xí)新的環(huán)境并熟悉其游戲引擎的技術(shù)性,這通常會給其他開發(fā)人員帶來陡峭的學(xué)習(xí)曲線。另一個缺點是 Unity 沒有自己的 IDE,因此您需要使用 Visual Studio 來編寫和編輯代碼,并且您必須在兩個環(huán)境之間來回切換,從而導(dǎo)致較長的開發(fā)迭代時間。還需要 Visual Studio 在 HoloLens 上部署和調(diào)試代碼,這使得開發(fā)/部署/調(diào)試周期更加緩慢。
選項 3:最適合 Web 開發(fā)人員
Web 開發(fā)者是一個龐大的開發(fā)者社區(qū),但是他們尚未開始為 HoloLens 進(jìn)行開發(fā)。他們之所以沒有開發(fā),是因為為他們創(chuàng)建應(yīng)用程序非常困難,而且這需要一套大多數(shù) Web 開發(fā)者都不熟悉的特殊技能。
例如,Web 開發(fā)者習(xí)慣于更新他們的 Web 應(yīng)用程序并刷新瀏覽器來查看結(jié)果。builddwagon 在線平臺使開發(fā)者能夠使用現(xiàn)有的熟悉的 Web 技術(shù)來創(chuàng)建簡單輕量的 HoloLens 體驗。該平臺提供了在極短時間內(nèi)編碼、演示、查看和測試的基本工具。該平臺的開發(fā)語言是 JavaScript,它使用其 HoloBuild 庫通過內(nèi)置組件來加快開發(fā)過程。
當(dāng)開發(fā)人員達(dá)到滿意的結(jié)果時,他們的作品可以被標(biāo)記、打包并作為應(yīng)用包發(fā)布在 Microsoft 應(yīng)用商店中。
選項 4:最適合 Windows 開發(fā)人員
Windows 開發(fā)人員現(xiàn)在可以使用 3D 游戲引擎 UrhoSharp 為 HoloLens 開發(fā)全息體驗。UrhoSharp 是適用于 Xamarin 和 .NET 的跨平臺高級 3D 和 2D 引擎,可用于使用幾何圖形、材質(zhì)、燈光和相機為您的應(yīng)用程序創(chuàng)建動畫 3D 和 2D 場景。