如何开发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#的开源混合现实库。

Join the Conversation

Will not be published.