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



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

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

你不能

至少,不是现在。

这是对HoloLens SDK允许的当前API访问级别的限制。 创建全息影像还不是我们能做到的。Microsoft可以,因为它们能够在更深层次上工作,运行直接与HoloLens OS交互的本机构建的代码。 它演示了硬件可以做什么,而不是开发人员可以访问什么。或者在 Unity 的情况下,Unity 团队提供了对什么的访问权限。例如,空间理解不是VR或WSA UnityEngine软件包的一部分。相反,HoloToolkit 可用于提供围绕基础 C++ dll 的 C# 包装器。

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

当前无法像某些演示应用那样在外壳中使用全息影像。API 是有限的。你可以使用 xaml 导出设置将 2D 应用作为磁贴,这些应用将与其他 2D 应用一起在外壳中打开,或者你必须将应用生成为 3D,它将接管整个视图。

还有其他限制,例如无法从HoloLens打印。Microsoft记录了这些限制,并且正在开发对这些功能的支持,但它们当前不可用或具有不可预测的行为。 看来Microsoft的目标最终将是支持它们,但没有关于何时支持的细节,因此可能永远无法获得全面支持。

此外,用于在空间中定位全息影像的代码也不可用。也就是说,如果你想在全屏应用中有一个多维数据集,你可以拖动和重新定位,你必须自己编写与现实世界冲突的代码。很明显,Microsoft已经竭尽全力让它看起来很适合他们的全息图......但尚未向开发人员公开它。

全屏应用程序也不支持屏幕键盘。我不是在开玩笑,我见过的"最佳"解决方法是创建第二个2D xmal 应用程序,您可以切换到内置键盘,然后切换回来(并且没有有关如何在 Unity 中实际执行此操作的说明)。 所以我将在资源商店中与VR键盘搏斗。

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

所以,是的,目前,开发人员根本无法用HoloLens做很多事情。我们只需要等待Microsoft进一步开发技术并公开更多工具。或者自己写。

最新更新