如何使用默认UI将Unity项目构建为HoloLens对象?

时间:2017-05-23 10:19:02

标签: unity3d hololens

每当我在HoloLens上启动Unity项目时,它都会以某种“全屏”模式运行,并隐藏放置在空间中的所有其他对象。但是,预先安装的演示对象(例如宇宙飞船和木偶)可以与其他对象一起放置在空间中,默认情况下也提供HoloLens UI(用于缩放,旋转和平移对象)。

如何导出Unity项目,以便它已经提供默认的HoloLens UI并且可以与其他对象共存?

1 个答案:

答案 0 :(得分:2)

你不能

至少,不是现在。

这是对HoloLens SDK允许的当前API访问级别的限制。创建全息图并不是我们能做的事情。 Microsoft可以因为他们能够在更深层次上工作,运行本机构建的代码,直接与HoloLens OS交互。它演示了硬件可以做什么而不是开发人员给予访问权限。或者在Unity的情况下,Unity团队提供了访问权限。例如,Spatial Understanding不是VR或WSA UnityEngine包的一部分。相反,HoloToolkit可用于provide a C# wrapper around the underlying C++ dll

此外,除了@Everts在评论中所说的内容:

  

你现在无法在shell中使用全息图,就像一些演示应用程序正在做的那样。 API有限。您可以使用xaml导出设置将2D应用程序作为切片使用,并且这些应用程序将在其他2D应用程序的shell中打开,或者您必须将应用程序构建为3D,它将接管整个视图。

还有其他限制,例如无法从HoloLens打印。 Microsoft具有这些限制documented并且正在开发对这些功能的支持,它们目前尚不可用或将具有不可预测的行为。微软的目标似乎是最终支持他们,但是没有关于何时的细节,因此有可能永远不会提供全面支持。

此外,用于在空间中定位全息图的代码也不是也就是说,如果你想在你的全屏应用程序中有一个立方体,你可以拖动它并重新定位,你必须自己编写与现实世界的碰撞代码。很明显,微软已经竭尽全力使它的全息图看起来不错......但是还没有为开发者公开它。

全屏应用程序也不支持屏幕键盘。我不是在开玩笑,也不是最好的"解决方法我已经看到正在创建一个第二个 2D xmal应用程序,您切换到内置键盘然后切换回来(并没有关于如何实际这个的说明在Unity)。因此,我将在资产商店中与VR键盘进行摔跤。

我还没有找到任何关于如何样式当你拥有3D全屏应用程序时获得的2D shell窗口的信息(你在启动时得到它)来自开始菜单的应用程序,而不是通过Visual Studio进行调试时)。它只是显示为一个空白的白色默认纹理,这看起来很烦人(如果不是彻头彻尾的痛苦)。如同Robo Raid和Learn Gestures一样,让API挂钩给它一个3D图标会很好,但我同时愿意接受一个简单的纹理。但即便如此,我认为,它还不是一个受支持的API钩子。或者如果是,我无法找到相关信息。

所以是的,目前,开发人员只是无法使用HoloLens进行。我们只需要等待微软进一步开发技术并展示更多工具。或者自己写。