将 Vuforia Engine 与 Unity 配合使用

Vuforia Engine 为 HoloLens 提供一项重要功能:支持连接 AR 体验与环境中的具体图像和物体。 你可以使用此功能在工业企业的机器表层覆盖引导式分步说明,或向实体产品或游戏添加数字功能和体验。

Vuforia Engine 提供了丰富的功能和目标,使 AR 开发过程更灵活。 我们最新的一项功能是 Vuforia Model Targets,它是具有商业用途和工业用途的一项关键功能。 通过模型目标,应用程序可识别机器、汽车或玩具等物理对象,并基于 CAD 或数字 3D 模型跟踪它们。 在工业用途方面,此功能可在工厂内部或外部现场向装配工人和服务技术人员提供 AR 作业说明和程序指南。

为手机和平板电脑构建的现有 Vuforia Engine 应用可轻松地在 Unity 中配置为在 HoloLens 上运行。 甚至可使用 Vuforia Engine 将新的 HoloLens 应用安装到 Windows 10 平板电脑(如 Surface Pro 和 Surface Book)。

获取工具

安装推荐版本的 Visual Studio 和 Unity,然后将 Unity 配置为使用 Visual Studio 以及首选 IDE 和编译器。

安装 Unity 时,请确保安装“Windows Store IL2CPP 脚本后端”。

此处所述,添加 Vuforia Engine 包。

Vuforia Engine 入门

最好从 Vuforia Engine HoloLens 示例(可在 Unity Asset Store 获取)了解 Vuforia Engine 和 HoloLens。 此示例提供了一个完整的 HoloLens 项目,包括可部署到 HoloLens 的预配置场景。

这些场景显示如何使用 Vuforia Image Targets 识别图像,并使用 HoloLens 体验中的数字内容增强图像。 Vuforia Engine HoloLens 示例还包括一个场景,其中演示了 Model Targets 和 VuMarks 在 HoloLens 上的用法。 你可以轻松地在这些场景中替换自己的内容,试验创建使用 Vuforia Engine 的 HoloLens 应用。

为 HoloLens 配置 Vuforia 应用

为 HoloLens 开发 Vuforia Engine 应用与为其他设备开发 Vuforia Engine 应用基本相同。 然后,可以应用以下部分所述的生成设置和配置。 Vuforia Engine 能够与 HoloLens 空间映射和位置跟踪系统配合使用就需要这些。

生成并运行用于 HoloLens 的 Vuforia Engine 示例

  1. 从 Unity Asset Store 下载用于 HoloLens 的 Vuforia Engine 示例
  2. 应用建议的 Unity 引擎选项,以获得所需功能和性能
  3. 将示例场景添加到“生成”中的“场景”
  4. 在“生成设置”中,单击“添加打开场景”按钮,将生成平台切换到“UWP”。 image
  5. 选择“播放器设置”按钮
  • 选择“UWP”图标并展开“XR 设置”部分
  • 确保已启用“支持的虚拟现实”
  • 在“虚拟现实 SDK”下,确保
    • “Windows Mixed Reality‘”包含在列表中,并且已启用“启用深度缓冲区”共享
    • “深度格式”设置为“16 位深度”
  • 确保将“立体渲染模式”设置为“单通道实例化”
  1. 展开“发布设置”部分
  • 在“功能”下,确保已选择“Internet 客户端”、“WebCam”、“麦克风”和“SpatialPerception”
  • 注意:只有在打算使用 Surface Observer API 时才应选择“SpatialPerception”
  • 在“支持的设备系列”下,确保已选择“全息”
  1. 展开“解析和演示”部分
  • 禁用“在后台运行”,使 Vuforia Engine 在应用进入后台时暂停,并可在应用恢复时再次访问相机
  • 在“默认方向”下拉列表中,确保已选择“横向靠左”
  1. 返回到“生成设置”窗口,然后选择“生成”以生成 Visual Studio 项目
  2. 从 Visual Studio 生成可执行文件,并安装到 HoloLens 上。

Vuforia 开发人员门户

如果开发人员想要使用 Vuforia Engine 和 HoloLens 创建他们自己的 AR 体验,则应在我们的 Vuforia 开发人员门户 developer.vuforia.com 注册。 在门户中,开发人员可访问 Vuforia Engine 论坛(可在这里加入社区讨论)、一个包含有关所有 Vuforia Engine 功能的深度文档的,以及用户可在其中创建自定义目标的 Vuforia 目标管理器。 开发人员还可使用 Vuforia 许可证管理器注册免费的开发人员许可证。

使用 Vuforia 进行设备跟踪

即使目标不再出现在视野中,设备跟踪也保持跟踪。 启用位置设备跟踪器后,会自动为所有目标启用此功能。 对于 HoloLens 应用程序,位置设备跟踪器在 Unity 中自动启动。

Vuforia Engine 自动融合相机跟踪和 HoloLens 的空间跟踪的姿势,以提供稳定的目标姿势,与摄像头是否看到目标无关。

由于过程是自动处理的,因此无需开发人员进行任何编程。

下面是该过程的简要说明

  1. Vuforia 的目标跟踪器识别目标
  2. 然后初始化目标跟踪
  3. 分析目标的位置和旋转,为 HoloLens 预估稳健的姿势
  4. Vuforia Engine 将目标姿势转换为 HoloLens 空间映射坐标空间
  5. 若目标不再出现在视野中,则 HoloLens 将接管跟踪。 每当再次查看目标时,Vuforia 将继续准确跟踪图像和物体。

检测到但不再出现在视野中的目标将报告为 EXTENDED_TRACKED。 在这些情况下,在所有目标中使用的 DefaultTrackableEventHandler 脚本将继续呈现增强内容。 开发人员可通过实现自定义可跟踪事件处理程序脚本来控制此行为。

Vuforia Engine 的性能模式

可通过 Vuforia Engine 管理 HoloLens 上的性能,扩展 AR 体验并减少 CPU 上的工作负载。 Vuforia Engine 提供三种可选模式:默认模式、速度最优模式和质量最优模式。

  • MODE_OPTIMIZE_SPEED 可最大程度地减少 HoloLens 设备上的工作负载,并非常利于扩展 AR 体验。 建议在应用跟踪静态物体/目标的情况下使用。
  • MODE_DEFAULT 是常规模式,可用于大多数场景。
  • MODE_OPTIMIZE_QUALITY 更适用于跟踪需要挑选的可移动目标或模型目标。

设置模式

若要在 Unity 中更改性能模式,请导航到“Vuforia 配置”(Ctrl+Shift+V / Cmd+Shift+V),它是 ARCamera GameObject 中的一个组件。

  • 选择“相机设备模式”的下拉菜单,然后从这三个选项中选择其一。

另请参阅