允许用户在AR/VR应用中与3D对象进行自然交互具有优势,因为它对应于用户与现实世界中对象的交互方式。但是,与手臂够不着的3D对象交互可能十分困难。对于这种情况,特别的“超自然”交互方法可能更为适合。 另外,尽管近距离交互可以用手直接操纵数字第项来实现,但用户同时必须能够与距离用户较远的数字对昂进行交互。
考虑到相关的挑战,微软在名为“Near interaction mode for far virtual object”的专利申请中提出了一种通过显示虚拟启示来促进用户与远距离对象的交互。
图1显示了示例性计算系统10。计算系统10可以包括头戴式显示器设备14,其可以包括手势识别模块24、视线检测模块26和自然语言处理(NLP)模块28,如图1所示。
视线检测模块26可配置为处理由朝内摄像头30收集的图像数据,以识别每个用户眼睛的位置和方向,并随后生成眼动追踪数据。姿势识别模块24可以配置为通过处理由朝外摄像头32收集的用户的图像数据来识别由用户表达的姿势和姿势。NLP模块28可以在麦克风34处接收经处理的自然语言(NL)输入,进一步通过分割句子、标记词类以及提取命令和与命令相关联的对象的名称来处理NL输入。
参考图3,处理器12可以配置为在显示器16上至少部分地在用户的视场50内显示虚拟对象48。处理器12可以配置为识别与虚拟对象48相关联的多个控制点52,并确定与虚拟对象48相关联的一个或多个控制点距用户的距离超过预定阈值54。例如在图3中,十二面体被描绘为虚拟对象48。可以观察到十二面体的控制点52都在距用户的预定阈值距离54之外。应当理解,距离54可以是相对于用户的各个部分.图3描绘了相对于用户肩部测量的距离54。在其他实现中,可以从用户身体上的另一点测量距离。
基于所述确定,处理器12可配置为调用虚拟对象48的远交互模式。在远交互模式下,用户可执行预定手势,例如指向虚拟对象48、捏、刷等,从而选择虚拟对象48。下面将更详细地讨论通过虚拟射线60选择虚拟对象48。通常在远程交互模式中,与虚拟对象48的可用交互可能受到限制,并且在由于虚拟对象显示的距离,可能仅包括远程情景菜单的选择、移动、调整大小和显示。由于交互的距离,虚拟对象48的移动和大小调整可能在某种程度上具有挑战性。
应当理解,虚拟对象48的位置可以使得控制点52的一部分或子集位于阈值距离54内;然而,如果系统10确定距离54之外的控制点52的数量大于控制点52预定阈值子集,则可以调用远交互模式。预定阈值子集可以是一个控制点,或者控制点的最小百分比,例如10%、25%、50%等。可以理解,远程交互模式可以在大量控制点52超出用户的能力范围的情况下调用,因此对于用户来说可能难以控制或烦人。
在远程交互模式下,处理器12可配置为从用户接收触发输入56。如图1所示,触发输入56可由头显设备14中的一个传感器29检测。触发输入56可以包括预定义手势、包括自然语言的语音命令、注视方向和/或眼动运动中的至少一个,因此可分别由朝外摄像头32、麦克风34或朝内摄像头30检测。在图3中,用户的手势是触发输入56,在本例中,所述触发输入56描述为捏手势。
返回图3,响应于在远交互模式下接收到触发输入56,处理器12可配置为调用近交互模式,并在距用户预定阈值距离54内显示虚拟交互对象58。在一个特定示例中,在近交互模式下显示的虚拟交互对象58可以是控制小部件66。控制小部件62可以是虚拟对象48的大小调整副本,并且所有控制点52可以在用户的视场50内和预定阈值距离54内。图3示出了所述实现的示例,其中作为虚拟对象48的十二面体由虚拟交互对象58形式的调整大小的副本表示。
在图4A-4C中,处理器12可以进一步配置为在从用户接收触发输入56之前的远交互模式中,从用户的手生成虚拟光线60,虚拟光线60相对于用户的手的移动被锁定。在图4A的顶部表示中,虚拟光线60被示为源自用户的手。虚拟光线60可以延伸到VR或AR环境中预定距离。当用户移动她的手时,虚拟光线60可以按照用户的手的指示移动。
响应于虚拟光线60在被用户的手移动时与虚拟对象48相交,处理器12可以配置为接收用户对虚拟对象48的选择。例如,如果用户将虚拟射线60保持在虚拟对象48上超过预定阈值的时间,例如超过两秒,则处理器12可以配置为选择虚拟对象48。或者,当虚拟光线60与虚拟对象48相交时,用户可以执行额外的步骤,例如发出命令“选择”,以完成对象选择。在图4B的中间表示中给出了虚拟对象48的选择示例。
经由虚拟射线60,处理器12可以配置为根据用户的手的手势执行对虚拟对象48的控制。触发输入56可由用户相对于虚拟光线60执行,以调用近交互模式并在距用户的预定阈值距离54内显示虚拟交互对象58。图4C的底部表示中给出了一个示例。在所述示例中,用户执行捏手势形式的预定手势作为触发输入56,从而调用近交互模式,并在距用户的预定阈值距离54内启动虚拟交互对象58的显示。应当理解,预定手势可以是除捏手势之外的手势,例如抓取手势、点手势、轻敲手势等。
在另一种实现方式中,为了响应由于用户手的移动而与虚拟对象48相交的虚拟射线,处理器12可以配置为在远交互模式下相对于虚拟射线60生成虚拟手柄74,虚拟手柄74靠近用户的手。图4B的中间表示描述了所述实现,其中当虚拟光线60与虚拟对象48相交时,生成球形节点作为虚拟手柄74。处理器12可进一步配置为在虚拟手柄74处接收来自用户的手势,该手势是触发输入56。再次参考图4C中的底部表示,触发输入56是按压手势,
虚拟交互对象58可以是处理器12配置为生成的多个不同类型的虚拟交互对象之一。另外,触发输入56可以是多个可能的触发输入56之一,每个可能的触发输出56都是相应的手势,每个手势与多个虚拟交互对象58中的一个虚拟交互目标58相关联。
图6的示例显示了两个虚拟按钮,它们可以是虚拟内容的滚动机制。这种配置的一个优点可能是在用户够不到的距离处滚动虚拟内容可能十分困难。因此,用户可以如上所述调用近交互模式,并在用户的手附近生成滚动机制的显示,从而简化滚动虚拟内容的操作。
在如图7所示的附加示例中,用户可以在VR或AR环境中使用一个或多个窗口。用户可能希望调用上下文菜单68。在这种情况下,用户可以执行长按作为触发输入56,以便情景菜单显示为用户手附近的提示。应当理解,情景菜单68可以附接到虚拟对象48,所述虚拟对象48是用户与之交互的虚拟窗口。这种配置的优点可以是情景菜单68的可读性得到改善,并且相对于靠近用户手的虚拟交互对象58进行精细移动/选择的能力更强。
参考图8,虚拟对象48可以延伸到用户视场50之外,并且与虚拟对象48相关联的至少一个控制点52可以在用户视场50以外。在这种情况下,触发器输入56是食指从较高位置移动到较低位置。应该理解,用户可以访问或不访问虚拟射线60。换句话说,处理器12可以配置为在不生成虚拟光线60的情况下识别触发输入56。例如,处理器12可将触发输入56解释为分配给虚拟对象48。
在图9所示的另一示例中,用户可能正在AR环境中接近大型虚拟对象48,如图9所示的车辆或建筑物。随着用户更接近虚拟对象48,大型虚拟对象48可以被用户选择为虚拟交互对象58,并且因此为了方便用户而减小尺寸。应当理解,虚拟交互对象58的生成和显示可以根据系统10的设置自动发生,因为更多的控制点52在用户的视场50和/或预定阈值距离54之外。
显示在距用户预定阈值距离54内的虚拟交互对象58可以相对于用户锁定在适当位置。距用户的预定阈值距离可以在460mm至580mm的范围内(通常从用户的肩部测量)。
通过上述方式,微软提出的方案可以帮助用户更轻松地与远距离对象交互。
相关专利:Microsoft Patent | Near interaction mode for far virtual object
名为“Near interaction mode for far virtual object ”的微软专利申请最初在2022年4月提交,并在日前由美国专利商标局公布。