2023年3月1日

全新 XRV Core 和 Module 附加组件

XRV 是我们团队开发的一个新库,用于构建 VR 和 AR 体验。它最初是为我们自己的客户应用开发的,现在以预览状态向公众发布。它是一个强大的框架,通过提供一系列功能和工具来帮助开发人员构建引人入胜的沉浸式应用,从而简化混合现实体验的开发。无论您是在构建简单的应用还是复杂的多模块体验,XRV 都能轻松添加语音命令、手部菜单按钮、可自定义设置和帮助面板等功能。凭借一系列文件访问选项、本地化支持以及内置模块(如图像库和 3D 模型查看器),XRV 成为一个多功能的解决方案,有助于简化开发流程并提升用户体验。虽然仍处于预览阶段,但 XRV 正在不断改进和扩展,增加新的特性和功能。

 

在 XR 应用开发中使用 XRV 有诸多好处,其中包括:

  1. 跨平台支持:XRV 支持多种 XR 设备,包括 Meta Quest、Meta Quest 2、Meta Quest Pro、Microsoft HoloLens 2 或 Pico XR 头显,使您能够为更广泛的设备开发应用。
  2. 内置功能:XRV 提供了许多内置功能,例如手部菜单、窗口系统、选项卡控件和语音命令,可帮助您更轻松、更高效地构建 XR 应用。
  3. 可定制性:XRV 设计为高度可定制,允许开发人员创建独特的用户体验,以满足您的应用及其用户的需求。
  4. 模块化设计:XRV 的模块化设计允许根据需要轻松添加和移除功能,并在不同应用中复用模块,从而简化应用的维护和更新。

本文将概述 XRV 提供的各项能力,涵盖主要功能,包括用户界面、语音命令、文件访问、本地化等。有关如何使用 XRV 及其特性的更多信息,请参阅我们的公开文档。

手部菜单

XRV 的内置功能之一是手部菜单,当用户将手掌朝上时即会出现。此菜单可自定义,并可编程显示一组按钮,用于打开特定面板或在 XR 环境中激活与停用 3D 元素。此功能对 VR 和 AR 体验尤为实用,因为它提供了一种更直观的交互方式,无需外部控制器。

窗口系统

XRV 包含一个窗口系统,为 XR 环境中的所有窗口提供一致的外观和体验。该系统允许开发者创建任意数量的窗口,并为每个窗口自定义内容。窗口自带内置功能,例如关闭按钮,可设置为跟随用户移动或在 XR 空间中保持静止。这使用户能够轻松与多个窗口交互并跟踪其内容。

设置与帮助系统

得益于窗口系统,XRV 提供了两个内置面板。第一个是设置窗口,允许开发者添加或移除条目,以包含用于更改应用程序各部分行为的 UI 元素(如按钮)。例如,默认的设置选项卡包含用于激活或停用语音命令以及支持该技术的 XR 设备透视功能的选项。

第二个窗口是帮助窗口,可包含不同选项卡,向最终用户解释如何使用应用程序的不同部分。

语音命令

XRV 包含一项语音命令服务,专为 HoloLens 等基于 UWP 的 XR 设备设计。该服务允许开发者创建自定义语音命令,用于控制 XR 应用程序的各个方面。虽然此服务目前仅限于基于 UWP 的设备,但对于使用这些设备的用户而言,它是创建沉浸式交互体验的强大工具。

存储

我们定义了文件访问的概念,它提供了一个简单的抽象层,用于对文件执行增删改查操作。XRV 包含了用于处理应用程序本地存储以及 Azure Blobs 和 Azure Files 服务的实现。它们在加载图像或 3D 模型等远程文件时非常有用。

本地化

另一个实用功能是内置的本地化系统,它基于 .NET 资源文件。XRV 包含自定义组件,可更轻松地定义多语言用户界面,并提供英语和西班牙语的字面量。

主题

最后,XRV 还包含一个主题系统,允许开发者轻松更改整个应用程序中使用的颜色、字体和字号。这有助于为您的 XR 体验赋予更精致、更专业的外观和感觉。

模块

模块是开发者为其 XR 项目快速添加自定义功能的强大工具。通过将相关功能封装到一个模块中,可以更轻松地管理和跨多个项目复用这些功能。借助 XRV,开发者可以轻松定义模块,并将其集成到手部菜单、设置和帮助窗口中。此外,模块可以包含 UI 元素的初始化和事件处理功能,从而更轻松地管理用户与 XR 应用程序之间的交互。有关如何使用模块的更多信息,请参阅我们公开文档中的模块页面。

我们在本版本中提供以下附加组件,它们作为独立的 Evergine 附加组件发布:

  • 图片库:此模块提供了一种在 XR 空间中查看图片集的简便方法。用户可以逐张浏览图片。
  • 模型查看器:借助此模块,开发者可以将 3D 模型导入其 XR 应用程序,用户可以使用捏合、双手旋转等常用手势实时操控这些模型。该模块包含一系列自定义选项,包括模型尺寸。
  • 绘图工具:此模块允许用户在 XR 空间中创建和操控 3D 线条,并能调整线条粗细和颜色。这对于创建注释或其他视觉元素非常有用。
  • 标尺:标尺模块允许用户使用虚拟标尺在 XR 空间中测量物体。这对于需要精确测量的应用(如室内设计或建筑)非常有用。
  • Streaming Viewer:此模块提供了一种简单的方式,可将 MJPEG 视频(例如来自 IP 摄像头的视频)直接流式传输到 XR 应用程序中。用户可以在虚拟环境中观看视频。

未来计划

未来,我们计划持续改进和扩展 XRV,使其更加强大且易于使用。我们设想的一些改进包括:增加用户在运行时更改应用程序语言的功能,以及扩展我们的文件访问实现,以支持 OneDrive 和网络会话。

我们还计划为现有模块增加更多功能,使其更加灵活和可扩展,并向库中添加新模块。我们一直在寻找改善用户体验的方法,让 XRV 更易于开发者和用户使用。

想了解更多关于 XRV 及其所有功能的信息?请查阅我们的文档并开始探索!

 

Sergio Escalada
作者
Sergio Escalada
Plain Concepts Research