MRTK2 示例中心

MRTK2 Examples Hub

MRTK2 示例中心是一个 Unity 场景,可以让用户轻松体验多个场景。 该示例中心使用 MRTK 的场景系统来加载和卸载场景。

MRTKExamplesHub.unity 是具有共享组件的容器场景,包括 MixedRealityToolkitMixedRealityPlayspace。 MRTKExamplesHubMainMenu.unity 场景有立方体按钮。

在 HoloLens 2 中从 Microsoft Store 下载应用

如果你拥有 HoloLens 2 设备,可以直接在该设备中下载并安装该应用。

English badge

先决条件

MRTK 示例中心使用场景过渡服务和相关脚本。 如果是通过 Unity 包使用 MRTK,请导入 Microsoft.MixedReality.Toolkit.Unity.Extensions.x.x.x.unitypackage,这是发布包的一部分。 如果是通过存储库克隆使用 MRTK,你的项目中应该已经有 MRTK/Extensions 文件夹。

MRTKExamplesHub 场景和场景系统

打开 MRTKExamplesHub.unity,其位于 MRTK/Examples/Experimental/Demos/ExamplesHub/Scenes/。这是一个空白场景,包含 MixedRealityToolkit、MixedRealityPlayspace 和 LoadHubOnStartup。 此场景配置为使用 MRTK 的场景系统。 单击 MixedRealityToolkit 下面的 MixedRealitySceneSystem。 它将在检视窗口面板中显示场景系统的信息。



Example Hub Hierarchy

Inspector 1

在检查器的底部,它显示场景系统配置文件中定义的场景列表。 可以单击场景名称来加载/卸载场景。



Inspector 2

Scene system 3通过在列表中单击场景名称来加载 MRTKExamplesHub 场景的示例

Scene system 4加载 HandInteractionExamples 场景的示例

Scene system 5加载多个场景的示例。

运行场景

场景在 Unity 的游戏模式和设备上均有效。 在 Unity 编辑器中运行 MRTKExamplesHub 场景,并使用 MRTK 的输入模拟与场景内容进行交互。 若要进行构建和部署,只需使用场景系统列表中包含的其他场景构建 MRTKExamplesHub 场景即可。 通过检查器,还可以轻松地将场景添加到构建设置。 在构建设置中,确保 MRTKExamplesHub 场景位于索引 0 处的列表顶部。

Build settings

MRTKExamplesHub 如何加载场景

在 MRTKExamplesHub 场景中,可以找到 ExamplesHubButton 预制件。 预制件中有一个 FrontPlate 对象,其中包含 Interactable。 使用 Interactable 的 OnClick()OnTouch() 事件,会触发 LoadContentScene 脚本的 LoadContent() 函数。 在 LoadContentScene 脚本的检视窗口中,可以定义要加载的场景名称。



Scene system 6

Scene System 8

Scene System 7

该脚本使用场景系统的 LoadContent() 函数加载场景。 有关更多详细信息,请参阅场景系统页面。

MixedRealityToolkit.SceneSystem.LoadContent(contentName, loadSceneMode);

返回到主菜单场景

要返回主菜单场景(MRTKExamplesHubMainMenu 场景),可以使用相同的场景系统 LoadContent() 方法。 ToggleFeaturesPanelExamplesHub.prefab 提供了包含 LoadContentScene 脚本的“主页”按钮。 使用此预制件或在每个场景中提供自定义主页按钮,以允许用户返回主场景。 用户可以将 ToggleFeaturesPanelExamplesHub.prefab 放在 MRTKExamplesHub 场景中,使其始终可见,因为 MRTKExamplesHub 是一个共享容器场景。 在每个示例场景中,请务必隐藏/停用 ToggleFeaturesPanel.prefab

Toggle feature PanelExample Hub home button

添加其他按钮

在 CubeCollection 对象中,复制(或添加)ExampleHubButton 预制件,然后单击 GridObjectCollection 中的“更新集合”。 这将根据新的按钮总数更新圆柱体布局。 有关更多详细信息,请参阅对象集合页。



Scene System 9

Scene System 10

添加按钮后,更新 LoadContentScene 脚本中的场景名称(如上所述)。 将其他场景添加到场景系统的配置文件中。