HoloLens开发手记-凝视 Gaze

Changwei | 4/20/2016 6:14:00 PM


在全息应用中,凝视是第一种输入形式,被用于定位物体(功能和PC的光标指针类似)。凝视告诉你用户正在看向世界中的位置,让你能够确定他们的意图。在现实世界中,你通常会盯着你打算与之交互的物体。这种方式与凝视相同。

HoloLens使用用户头部的位置和方向,而不是眼睛,来确定他们视线参数。你可以把凝视当作从用户两眼之间向正前方发射的一个激光指示器。当用户环视房间时,你的应用可以通过线的相交来确定用户当前正在看向世界中哪些虚拟或真实物体。

在HoloLens,交互动作一般从用户的凝视中推导出目标对象,而不是试图在手的位置直接渲染或交互。一旦一个交互已经开始,在使用操作或导航手势的同时,也可以使用手的相对运动来控制手势。

 

使用凝视 Uses of gaze 


 

 

作为一个全息应用开发者,你可以使用凝视做到很多事情:

  • 你的应用可以通过判断凝视射线与全息物体的交叉来判断用户当前在关注什么。
  • 你的应用可以借助基于凝视射线的手势来实现选中、激活、拖拽或其他对全息物体的交互。
  • 通过凝视射线与空间匹配网格的交叉,你的应用可以让用户放置全息物体到真实世界的表面。
  • 你的应用可以知道何时用户没有注视在重要物体的方向,这使得你可以通过图形或者声音提醒将用户带回到正确的方向上。

 

指针 Cursor


 

 

大部分应用使用指针(或者其他视觉/听觉指示)来帮助用户知道他们能够和什么交互。典型的做法是,你将指针定位在世界中那些用户凝视优先和物体交互的位置,这些位置可能会是全息物体或真实世界的表面。

 

An example visual cursor to show gaze

 

可视化指针的一个例子

 

为用户的凝视配上动作 Giving action to the user's gaze


 

 

一旦用户通过凝视定位到一个全息物体或真实世界物体,下一步就是对此物体做动作。在HoloLens上,用户进行操作的基本方式是通过语音手势