7.2.2 虚拟按钮的设计和放置原则

7.2.2 虚拟按钮的设计和放置原则

关于虚拟按钮的设计和放置,Vuforia从按钮大小、灵敏度设置、置于特征点等方面进行了说明。

1.按钮大小

为虚拟按钮的区域定义的矩形应该等于或大于整体目标区域的10%,当按钮区域下的特征的绝大部分被隐藏时,就会触发相应的按钮事件。这种情况如用户遮盖住虚拟按钮,或以其他方式在相机视线中拦截它。因此,按钮大小应该与其将要响应的动作来源相适应。例如,一个需要由用户手指触发的按钮应该比一个需要用户整只手触发的按钮小。

2.灵敏度设置

虚拟按钮可以配置不同的灵敏度(Sensitivity),以定义按钮的OnButtonPressed事件启动的容易程度。高灵敏度(HIGH Sensitivity)的按钮比低灵敏度(LOW Sensitivity)的按钮更容易触发。按钮的灵敏度反映在必须覆盖的按钮区域的比例和覆盖时间。最好是在现实环境中测试每个按钮的响应能力,以验证它们是否按预期执行。

图7.13 图像中的有效特征点

(图源:Vuforia官方网站)

3.置于特征点上

当目标图像的特征点在摄像机视图中被遮蔽时,虚拟按钮就开始检测。需要把虚拟按钮放在图像中特征点丰富的区域,以便让其启动OnButtonPressed事件。用户可以在目标管理器(Target Manager)的“显示特征”(Show Features)链接来确定图像中特征点的位置,可以看到有效特征点被标记为黄色,如图7.13所示。

4.放置按钮

虚拟按钮不能放在目标图像的边界上。基于目标的图像有一个边缘,相当于目标区域的8%,在矩形图像的边缘,不用于识别或追踪。因此,当用户遮盖了此区域时,不能被检测到。当放置按钮时,请确定在整个按钮区域能够检测到OnButtonPressed事件。

5.避免堆叠按钮

在用户面对着目标的方向上,建议不要把按钮放在一个纵列上。因为用户需要越过较低的按钮来按较高的按钮,这就可能导致较低的按钮触发OnButton.Pressed事件。

如果确实需要将按钮堆叠在一个可能导致这种情况的排列中,则应该实现应用程序的逻辑以过滤这些结果,以确定哪个按钮实际上是需要被选择的。