探索 MRTK3 示例场景

与 MRTK2 不同的是,MRTK3 不作为 Unity 项目分发。 相反,MRTK3 由松散耦合的单个 UPM 包集合组成,这些包通过混合现实功能工具以及我们的官方 Git 存储库分发。

因此,我们不再在 MRTK 库/包本身内交付示例场景。 相反,我们会在 Git 存储库的顶层维护 UnityProjects 文件夹,其中包含要交付的所有 Unity 项目。 目前,此文件夹包含 MRTKDevTemplate 项目,其中包含所有示例场景,并配置为与建议的最佳设置保持一致。

我们还建议在提交修补程序或更改时使用 MRTKDevTemplate 项目进行本地开发。 所有包都指定为本地磁盘上依赖项,使编辑和提交更改变得容易。 克隆存储库并确保位于 mrtk3 分支上,然后打开 MRTKDevTemplate Unity 项目。

MRTKDevTemplate 中,可以找到所有示例场景。 大多数示例场景位于 UnityProjects/MRTKDevTemplate/Assets/Scenes 中,而一些实验性或早期预览示例场景位于 UnityProjects/MRTKDevTemplate/Assets/Data Binding Example 中。

包含的示例场景

我们在下面只列出了其中一些项目。

HandInteractionExamples

此示例场景提供了各种交互示例。 尽管名称如此,但此场景是一个很好的跨平台输入示例,包括手部跟踪、控制器输入和鼠标输入。 提供了多个不同 UI 控件和可交互对象的示例,包括体积式 UI 系统。

Hand Menu

BoundsControlExamples

BoundsControl 的各种配置,显示平展边界和 3D 边界。

CanvasExample

显示使用 UnityUI 生成的 UX 组件的集合。 这些 UX 组件组合使用 XRI 交互对象和传统 UGUI 事件处理程序构建而成。 这种组合可在各种输入方法和上下文中实现灵活性和响应式设计。 有关详细信息,请参阅 UX 组件概述。

CanvasUITearsheet

此场景展示了 MRTK 中所有可用的 UI 构建基块及其排列。 所有控件都基于新的混合现实设计语言。

DialogExample

此场景演示了对话框控件的使用。

EyeGazeExample

使用凝视交互器突出显示场景中的对象的示例。

HandMenuExamples

演示如何使用手旁显示的菜单。

InteractableButtonExamples

可交互按钮的不同样式的示例。

NearMenuExamples

近距交互菜单示例。

NonCanvasObjectBarExample

演示对象栏组件,该组件支持任意 3D 对象的水平或垂直排列。

NonCanvasUIBackplateExample

此场景演示 UIBackplate.prefab,后者可用于构造各种类型的 UI 面板和菜单。

SampleEmptyMRTKScene

示例空 MRTK 场景仅包含核心 MRTK 预制件(MRTK XR 设备)和输入模拟器预制件 (MRTKInputSimulator)。 它旨在为开发人员提供一个空的场景,其中仅包含入门所需的 MRTK 要件。

SlateDrawingExample

演示如何使用 MRTK3 创建基本的绘图应用程序。

SpatialMappingExample

空间映射示例场景演示如何在 MRTK3 中使用 ARMeshManager(“MRTK XR 设备”>“ARSpatialMeshManager”)来可视化空间网格。

TabViewExample

显示一个控制已关联游戏对象的可见性的切换集合。

ToggleCollectionExample

演示 ToggleCollection 脚本,该脚本允许对多个切换交互对象进行分组。 在任何给定时间只能切换一个开关。

DataBinding 和主题设置示例场景

以下场景演示了非常早期的预览功能,并且可能会发生较大更改。

Assets\UX Theming Example\Scenes\AudioTheming

使用数据绑定和主题设置更改虚拟键盘的声音。

Assets\UX Theming Example\Scenes\BatteryLevelExample

使用数据绑定更新电池电量显示。

Assets\UX Theming Example\Scenes\CoreUXThemingExample

使用数据绑定和主题设置来控制 UX 核心组件的外观的示例。