MRTK 既是一系列工具,用于快速实现混合现实 (MR) 体验,也是一个应用程序框架,具有自己的运行时的意见、扩展方式以及配置方式。
Interactable
Interactable是一个用户体验(UX)组件,它监听输入事件,如焦点enter/exit事件、down/up事件,然后根据这些事件更新其视觉状态(Interactiable.cs)
游标(Cursor)
与指针相关联的实体,它为指针交互提供额外的视觉提示。
焦点(Focus)
指针的事件将被指向获得焦点的对象。对象必须实现IMixedRealityFocusHandler才能接收焦点。
指针(Pointer)
设备管理器创建指针,以便以特定方式与其他游戏对象交互。一个指针一次可以与一个游标相关联。
由于可能有多个指针,指针调解器(Pointer Mediator)根据每个指针的状态决定哪些指针应该是活动的。例如,当近指针(GrabPointer或PokePointer)激活时,调解器禁用给定控制器上的所有远交互指针。您可以创建自定义调解器来完成一些有趣的事情,例如关闭所有poke指针,或关闭除GGVPointer之外的所有功能。
指针引用控制器。您可以通过controller.InputSource.pointers获取控制器的指针
控制器(Controller)
设备管理器(Device Manager)
设备管理器也称为输入数据提供程序(Data Provider),这些实体负责检测、创建和管理其控制器的生命周期。
系统
系统是提供混合现实 Toolkit 的核心功能的服务。 所有系统都是 IMixedRealityService 接口的实现。
扩展服务
扩展服务是扩展混合现实 Toolkit 功能的组件。 所有扩展服务都必须指定其实现 IMixedRealityExtensionService 接口。
数据提供程序
数据提供程序是按其名称向混合现实工具包提供数据的组件。这些实体负责与较低级别的API进行交互,并将来自这些系统的数据转换为MRTK更高级别的输入概念。 所有数据提供程序都必须指定其实现 IMixedRealityDataProvider 接口。