Unity MARS UI 概览
本页面概述了 Unity MARS 添加到 Unity Editor 的不同窗口。介绍了将 MARS 特有的游戏对象添加到项目中的不同方法。还浏览了 Simulation View、Device View 和 Simulation Test Runner(用于针对模拟环境测试内容)。
Unity MARS UI 概览
MARS 会在 Unity 的 Window 和 GameObject 菜单中添加自己的子菜单。MARS 工作流程中的两个主要视图是 Simulation/Device View 和 MARS Panel。最好是在使用 Unity MARS 时将这两个视图保持打开状态。在创建应用程序时经常会使用到这两个视图。
可使用 Unity 菜单 Window > MARS 访问大多数 MARS 特有的窗口。该子菜单可用于快速访问 MARS Panel、Simulation View 和 Device View、Simulation Test Runner 以及其他几个选项。
MARS Panel
MARS Panel 是访问所有 Unity MARS 功能的主要入口点。此面板分成四个主要部分:Create、Simulation Controls、Content Hierarchy 和 Environment Hierarchy。
Create
此面板提供了常见 MARS 对象的快捷方式,并分为三类:Presets、Primitives 和 Visualizers。
Presets 类别包含预先组装的通用代理,这些代理可用于不同目的,例如平面检测、图像标记和面部跟踪。
Primitives 类别具有创建空代理、代理组、复制器和人工合成对象的快捷方式。这些是 Unity 用于构建复杂 MARS 游戏对象的核心类型。
Visualizers 部分提供了为平面、点和面部界标创建可视化工具的选项。平面和点可视化工具非常有用,因为它们可以提供扫描到的环境数据的可视化表示。面部界标可视化工具还显示跟踪面部运动的点,以便将创建的内容附加到该点。这些游戏对象不是代理,而是直接挂接到 MARS 数据。
Simulation Controls
该面板包含用于更改模拟模式、环境以及录制的会话或演练的控件。此外,还可以从 Simulation Scene/Device View 工具栏访问该面板。
Simulation Controls 面板的顶部是与激活场景有关的当前模拟的状态。有两种可能的状态:
- Synced:模拟中的游戏对象是激活场景中游戏对象的最新副本。
- Out of Sync:模拟的游戏对象是过时的副本,必须重新同步模拟才能应用最新更改。
要手动重新同步,请导航到 Simulation Controls 面板,然后单击 Resync 按钮。也可以在 Simulation Scene/Device View 工具栏中找到此按钮。此外,还可以启用 Auto Sync 选项,以便在每次更改激活的场景时自动重新同步模拟。在处理复杂的场景时,如果重新模拟会花费很长时间,最好是禁用此选项。
Content Hierarchy
此面板在 Simulation View 中显示当前正在模拟的游戏对象。每个游戏对象都有一个与 Scene 视图中的代理相关辅助图标匹配的图标。这使您可以更轻松地在层级视图之间区分代理。
右侧的图标指示模拟对象的匹配状态,如下所示:
- 游戏对象在环境中找到了匹配项。
- 不存在匹配项。
- 该查询仍在评估中。
根据游戏对象尝试匹配的数据类型以及游戏对象是代理组还是代理,基础图标将会不同。对于复制器,图标还会显示一个数字,该数字表示此模拟中复制的游戏对象的匹配项数。
如果代理与环境不匹配,可能是因为您在游戏对象上创建的条件过于严格,无法在模拟环境中得到满足。您可以选择不匹配的代理来快速定位到与这个代理关联的场景游戏对象,然后可以在其 Inspector 中调整条件值。
Content Hierarchy 部分还显示由复制器创建的实例。当您选择任何复制器实例时,Content Hierarchy 视图将选择创建了该实例的复制器。
Environment Hierarchy
此视图显示模拟环境中的游戏对象。此视图的工作方式与 Unity 的 Hierarchy 视图相同,但仅显示模拟环境中的游戏对象。这种分类减少了 Unity 的 Hierarchy 视图中的混乱情况。
Simulation View
Unity MARS 使用 Simulation View 根据人工合成或记录的世界跟踪环境(例如带有表面和其他特征的房间)测试您的内容。这会减少您在迭代过程中将应用程序编译到设备并在现实世界中对应用程序进行测试的需求。上面的截屏显示了如何在现实世界中放置虚拟内容的示例。
从 Unity 的主菜单 Window > MARS > Simulation View 中打开 Simulation View。
您还可以在 Simulation View 中访问视频流(实时视频和录制的视频),以便用于面罩工作流程。仅当安装了兼容的第三方面部跟踪插件时,此功能才可用。如果您对面部追踪感兴趣,请直接通过 mars@unity3d.com 与 Unity MARS 团队联系。
Device View
Device View 是 Simulation View 的一个子节点。您可以使用这个视图从模拟摄像机的角度测试您的应用程序。随着模拟数据的出现,将填充 MARS 数据库。Device View 工作流程可以看成是在现实世界中手持或佩戴 AR 设备,并在扫描或浏览环境时看到内容出现。
可通过两种方式从 Simulation View 切换到 Device View:
- 从 Unity 的主菜单中,前往 Window > MARS > Device View。
- 从 Simulation View 工具栏中,单击 ... 菜单,然后选择 View Type > Device (Camera controls)。
要在此视图中浏览选定的环境,请单击 Device View 控制面板上的 Play 按钮以开始模拟。
如果未在控制面板中选择 Recording,则可以手动驱动摄像机。要控制摄像机,请执行以下操作:
- 在 Device View 中单击鼠标右键并拖动鼠标以进行旋转。
- 使用 WASD 键移动摄像机。
- 按住鼠标右键并使用 Q 和 E 键将摄像机向上和向下移动。
- 按住 Shift 键加快移动速度。
注意:如果 Play 按钮未激活,则无法在 Device View 中移动摄像机。
从 Device View 进行录制
从 Device View 中,可以创建模拟环境的演练录制内容,以测试 Unity MARS 应用程序中的功能。要创建演练录制内容,请单击红色的 Record 按钮,然后在发现平面的同时开始移动摄像机。在录制期间,Record 按钮将变为蓝色。
要停止录制,请再次单击 Record 按钮。然后,Unity 提示您将录制内容另存为时间轴资源。要播放录制的摄像机移动,请单击 ... 菜单,然后从 Recording 下拉列表中选择保存的录制内容。
Simulation Test Runner
Simulation Test Runner 提供了一种一键式方法,可以在多个模拟环境中测试您的内容。Unity MARS 运行每个模拟,并将结果的截屏以及该环境中匹配和不匹配的查询数量捕获到 Simulation Test Runner 窗口中。这对于快速查看 AR 内容在几种环境中的显示效果很有用。
从 Unity 的主菜单 Window > MARS > Sim Test Runner 中打开 Simulation Test Runner。
Simulation Settings
使用 Simulation Settings 可以通过 Inspector 进行高级更改。您可以从 Simulation View 菜单栏中的齿轮图标访问其中一些设置,但是 Simulation Settings 面板提供了影响摄像机放置和查询评估的其他设置。
从 Unity 的主菜单 Window > MARS > Simulation Settings 中打开 Simulation Settings 面板。
MARS 模板
模板是开始构建 AR 应用程序的便捷方法。模板中包含几个具有预设设置的游戏对象,这些游戏对象对于基本 AR 应用程序很重要。
当前,Unity MARS 提供了四个基本模板和更多高级的入门模板:
- Blank 模板,其中包含点云和平面可视化工具(用于在扫描环境时获取可视化队列)以及一个空代理
- Facemask 模板,用于面部跟踪
- Tabletop 模板和 Miniature 模板,其中包含一个代理组以及一些基本规则,用于检测距离地板某一范围内的桌子
- Simple Game 模板和 Advanced Game 模板,用于设置一个基本的平台跳跃角色,这个角色可以在整个检测到的世界中奔跑和跳跃。高级场景使用更专业的布局技术来确保对象不重叠。 从 Unity 主菜单 Window > MARS > Choose Template 中打开 Templates 窗口,然后选择要使用的模板。
- Training 模板。此模板包含引导用户逐步进行操作的功能。通过复制和修改对象来自定义和扩展。默认示例旨在用于工厂示例环境。
MARS GameObject 菜单
如果您不想打开 MARS Panel,也可以通过 Game Object 子菜单快速访问主要的 MARS 实体。从 Unity 的主菜单中,选择 GameObject > MARS。
使用此菜单可将 MARS 对象添加到项目。这包括代理和人工合成对象以及其他实体(例如数据可视化工具)。