Skip to content

与 UI 进行交互

TIP

本章节将通过 demo 示例,帮助开发者实现空间 UI 的射线交互

  1. 删除场景中的 MainCamera

  1. 为场景添加 6Dof 能力:Heirarchy 视图中右键空白处,依次选择:XRAbilities - SpatialTracking,将在场景中自动创建 CameraRig

  1. 基于 AROS 开发的应用还需要为场景添加 AROS 系统交互能力:Heirarchy 视图中右键空白处,依次选择:XRAbilities - Additional... - SystemManager,将在场景中自动创建 SystemManager

  1. 为场景添加手势/手柄控制能力:Heirarchy 视图中右键空白处,依次选择:XRAbilities - InputSystem,将在场景中自动创建 InputSystem

InputSystem 支持三种模式:Dynamic mode、Hand Tracking、Controllers,默认开启 Dynamic mode。

  1. 为场景添加与 UGUI 交互的能力:Heirarchy 视图中右键空白处,依次选择:XRAbilities - Additional... - EventSystem,将在场景中自动创建 EventSystem

  1. 向场景中添加 Canvas,并将 Canvas 的 RenderMode 设置为 WorldSpace,将 Canvas 移动到视野前或者需要显示的地方,自行处理 Canvas 的 Scale 确保相机可以看到 UI,然后向 Canvas 添加 Component:CanvasHandler

TIP

如果场景中存在多个 Canvas 需要交互则每个都需要单独添加 CanvasHandler

  1. 编译此场景到设备,运行后即可通过射线与按钮进行交互。