在Unity中使用全息透镜示例

使用Vuforia HoloLens样品为微软的HoloLens建立一个Unity项目。

Vuforia示例包具有预先配置的Unity场景和项目设置,可作为您自己的应用程序的起点和参考。它还演示了如何使用微软的混合现实工具包(MRTK)在Vuforia应用程序中,例如在HoloLens上使用手势。有关使用HoloLens的更多信息,请参阅为HoloLens开发Vuforia应用程序文章。

设置支持的IDE和Unity

仅当这是第一次在Unity启动HoloLens开发项目时,才需要执行以下步骤。请注意,只有Windows 10和11支持为HoloLens开发。

  1. 确保Visual Studio团结版本按照Microsoft的安装工具第页。
  2. 笔记:
    • 对于MRTK和HoloLens开发,需要Visual Studio 2022或更高版本。
    • 安装Unity Editor版本或更新版本,如支持的版本,并确保安装通用Windows平台生成支持和Windows生成支持(IL2CPP)。
  3. 配置要使用的统一编辑器Visual Studio作为默认IDE.
  4. 推荐:

有关为Vuforia Engine设置Windows 10构建环境的一般信息,请参阅在Unity中为Windows 10开发文章。

添加Vuforia HoloLens样本

当您将Unity Assets Store中的Vuforia HoloLens样本添加到Unity项目中时,需要使用MRTK项目配置器配置项目。该示例包括Vuforia Engine SDK、示例材料和MRTK资产。

  1. 在Unity项目中,将平台切换为超宽带在中生成设置.
  2. 添加Vuforia HoloLens统一样本从Asset Store或包管理器。
  3. 继续执行MRTK和OpenXR安装程序中的步骤。

仅在空Unity项目中添加Vuforia引擎

将没有样本资产的Vuforia引擎添加到Unity项目中。

  1. 创建一个空的Unity项目并将构建平台设置为UWP。
  2. 下载并安装混合现实功能工具并遵循Microsoft的指南,发现并将功能导入选定的Unity项目。简而言之:
    1. 使用该工具,您可以选择Unity项目(例如空项目)并按发现功能。
    2. 在中选择混合现实工具包基金会的最新版本混合现实工具包类别和类别中的混合现实OpenXR插件平台支持。
    3. 单击获取功能。
    4. 单击导入批准将选定的依赖项添加到项目包中,并在Unity项目中显示。
  3. 在Unity中,按是的将项目更新为新输入系统的消息。然后Unity将重新启动。
    注:针对HoloLens开发的每个新项目,都需要执行步骤1至3。
  4. 通过添加Vuforia引擎程序包管理器如果您将包添加到我的资产,或下载Vuforia Engine的*.unity包在这里并通过将其导入到您的项目中资产->导入包->自定义包。.
  5. 更换主摄像头带有游戏对象->Vuforia引擎-> 阿卡梅拉。
  6. 选择混合现实->工具包->添加到场景和配置…。这个阿卡梅拉现在是混合现实游戏空间游戏对象.
  7. 继续执行MRTK和OpenXR安装程序中的步骤。

MRTK和OpenXR设置

  1. 导入示例时,将显示一个弹出窗口。您也可以从以下位置打开它混合现实工具包->实用程序->配置Unity项目按照MRTK步骤配置您的unity项目。
  2. 选择选项:Unity OpenXR插件-Vuforia仅适用于此设置。
  3. MRTK设置的其他步骤可以自由选择。
  4. 完成MRTK设置指南后,请转至项目设置->XR插件管理.
    1. 启用启动时初始化XR。
    2. 启用打开XRMicrosoft HoloLens功能组。

  5. 低于XR插件管理->OpenXR,应用以下设置:
    1. 渲染模式为单程实例化。
    2. 深度提交模式为深度16位。
    3. 在交互配置文件中,添加眼睛注视交互配置文件Microsoft Hand交互配置文件。
    4. 启用微软HoloLens在OpenXR功能组下。
    5. 低于所有功能,启用手动跟踪运动控制器模型。

场景元素和配置

HoloLens示例使用图像目标、VuMark和模型目标功能。示例场景位于示例资源文件夹以及此示例中的其他资产和资源。

现场0-管理器场景显示了HoloLens开发的基本设置,将MixedRealityToolkit与Vuforia组件结合在一起。
所有其他场景都会额外加载,以添加特定于目标的功能。

摄像头设置

Vuforia的生命周期和事件由Vuforia行为脚本。在Vuforia HoloLens示例中,此脚本被添加到主摄像头在每个场景中。

注释:不使用MRTK时,可以使用游戏对象>Vuforia引擎>AR 照相机菜单项。

Vuforia行为脚本世界中心模式下拉列表定义场景层次中的哪个对象用作场景世界空间的世界原点(0,0,0)。在HoloLens中,只有设备选项。

目标游戏对象

显示如何设置Vuforia目标及其虚拟内容的场景将以附加方式加载。The 2个图像目标该场景显示了多个图像目标的基本设置。

你可以在这个场景中轻松替换自己的内容,创建一个独特的HoloLens应用程序。

The 图像目标游戏对象封装图像目标行为和跟踪事件处理脚本。这些是用于在HoloLens应用程序中自定义图像目标的主要脚本组件。

The 数据库下拉列表选择具有图像目标的数据库。

The 图像目标下拉列表定义数据库中要分配给图像目标行为的目标。

The 默认观察员状态事件处理程序脚本注册来自Image Target Behaviour的回调,这些回调是由Image Targets状态的更改引起的,例如当检测到它并正在跟踪它时。

The 默认观察员状态事件处理程序当数字内容是目标的子对象时,该脚本可用于启用和禁用数字内容的渲染和冲突检测。该脚本还公开目标基金会()OnTargetLost()(目标丢失)可用于控制应用程序特定行为的事件。在此示例中,事件用于在UI中显示目标状态:

The 2-模型目标2个VuMarks场景演示了在HoloLens上设置Vuforia的Model Target和VuMark功能。它们遵循与目标相同的原则2-图像目标场景:

  • 目标游戏对象允许配置它所代表的目标的属性,例如其数据库和物理大小。
  • 虚拟内容作为子对象作为目标的父对象。
  • 一个事件处理脚本被附加到游戏对象上,以便在找到或丢失目标时处理事件。

注:HoloLens上的模型目标仅支持三维导向视图。请参见统一建模目标介绍如何设置三维辅助视图。

在播放模式下测试

如果您只想在播放模式下测试Vuforia HoloLens示例,则需要针对独立构建目标调整XR插件管理选项。

  1. 在XR插件管理独立选项卡中,启用启动时初始化XR、OpenXR、Windows混合现实功能组.
  2. 在OpenXR设置下,设置:
    1. 渲染模式为单程实例化。
    2. 深度提交模式为
    3. 播放模式OpenXR运行时为Windows混合现实.
    4. 在交互配置文件中,添加Microsoft Hand交互配置文件。
    5. 启用Windows混合现实在OpenXR功能组下。
    6. 低于所有功能,启用手动跟踪运动控制器模型。

注:在混合现实场景中的“播放模式”期间,应关闭Unity Profiler。否则,MRTK将在控制台中记录错误。

要允许项目在“播放模式”下正确配置,必须从0-经理场景。该场景可以在中找到示例资源/场景

构建并尝试示例

  1. 生成设置窗口,单击生成生成Visual Studio项目。
  2. Windows资源管理器对话框出现时,创建一个新文件夹来保存Unity的构建输出。通常,我们将文件夹命名为App。
  3. 选择新创建的文件夹并单击选择文件夹.
  4. Unity完成构建后,将打开一个Windows资源管理器窗口,指向项目根目录。导航到新创建的文件夹。
  5. 打开此文件夹中生成的Visual Studio解决方案文件。
    项目将在Visual Studio中打开。
  6. 将解决方案平台下拉菜单设置为ARM64型.
  7. 选择发布在解决方案平台旁边的下拉菜单中。

有关详细信息,请参阅Microsoft的导出和构建Unity Visual Studio解决方案使用Visual Studio进行部署和调试教程。

注释:在某些情况下,Unity使用不正确的工具集设置。如果生成因错误而失败“错误MSB8020:找不到Visual Studio 2017(平台工具集=“v141”)的生成工具。“,在项目菜单选择重定目标解决方案.
查看解决方案操作设置工作集升级至v142然后单击好 啊.