MRTK2 示例中心
MRTK2 示例中心是一个 Unity 场景,可以让用户轻松体验多个场景。 该示例中心使用 MRTK 的场景系统来加载和卸载场景。
MRTKExamplesHub.unity 是具有共享组件的容器场景,包括 MixedRealityToolkit
和 MixedRealityPlayspace
。 MRTKExamplesHubMainMenu.unity 场景有立方体按钮。
在 HoloLens 2 中从 Microsoft Store 下载应用
如果你拥有 HoloLens 2 设备,可以直接在该设备中下载并安装该应用。
先决条件
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
。 它将在检视窗口面板中显示场景系统的信息。
在检查器的底部,它显示场景系统配置文件中定义的场景列表。 可以单击场景名称来加载/卸载场景。
通过在列表中单击场景名称来加载 MRTKExamplesHub 场景的示例。
加载 HandInteractionExamples 场景的示例。
加载多个场景的示例。
运行场景
场景在 Unity 的游戏模式和设备上均有效。 在 Unity 编辑器中运行 MRTKExamplesHub 场景,并使用 MRTK 的输入模拟与场景内容进行交互。 若要进行构建和部署,只需使用场景系统列表中包含的其他场景构建 MRTKExamplesHub 场景即可。 通过检查器,还可以轻松地将场景添加到构建设置。 在构建设置中,确保 MRTKExamplesHub 场景位于索引 0 处的列表顶部。
MRTKExamplesHub 如何加载场景
在 MRTKExamplesHub 场景中,可以找到 ExamplesHubButton
预制件。
预制件中有一个 FrontPlate 对象,其中包含 Interactable
。
使用 Interactable 的 OnClick()
和 OnTouch()
事件,会触发 LoadContentScene 脚本的 LoadContent() 函数。
在 LoadContentScene 脚本的检视窗口中,可以定义要加载的场景名称。
该脚本使用场景系统的 LoadContent() 函数加载场景。 有关更多详细信息,请参阅场景系统页面。
MixedRealityToolkit.SceneSystem.LoadContent(contentName, loadSceneMode);
返回到主菜单场景
要返回主菜单场景(MRTKExamplesHubMainMenu 场景),可以使用相同的场景系统 LoadContent()
方法。 ToggleFeaturesPanelExamplesHub.prefab 提供了包含 LoadContentScene 脚本的“主页”按钮。 使用此预制件或在每个场景中提供自定义主页按钮,以允许用户返回主场景。 用户可以将 ToggleFeaturesPanelExamplesHub.prefab 放在 MRTKExamplesHub 场景中,使其始终可见,因为 MRTKExamplesHub 是一个共享容器场景。 在每个示例场景中,请务必隐藏/停用 ToggleFeaturesPanel.prefab。
添加其他按钮
在 CubeCollection 对象中,复制(或添加)ExampleHubButton 预制件,然后单击 GridObjectCollection
中的“更新集合”。
这将根据新的按钮总数更新圆柱体布局。
有关更多详细信息,请参阅对象集合页。
添加按钮后,更新 LoadContentScene 脚本中的场景名称(如上所述)。 将其他场景添加到场景系统的配置文件中。