三维可视化系统中的带辅助的对象放置转让专利

申请号 : CN201580069496.0

文献号 : CN107111979A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : A·安布鲁斯M·加力A·鲍罗斯M·托马斯J·保罗维奇

申请人 : 微软技术许可有限责任公司

摘要 :

公开了一种实现在可视化设备中的用于辅助用户放置3D对象的方法。在某些实施例中,方法包括在可视化设备的显示区域上向用户显示叠放在3D物理空间的现实世界视图之上的各个虚拟3D对象。方法可进一步包括保持功能,其中各个虚拟3D对象的第一对象被显示在显示区域上,使得第一对象看上去要响应于来自用户的输入移动通过3D物理空间,用户的输入可以仅仅是用户的凝视方向的改变。随后基于检测到的所述用户的凝视将第二对象标识为咬合功能的目标对象,所述咬合功能是致使所述第一对象移动到所述目标对象的表面上的一位置的操作。

权利要求 :

1.一种操作可视化设备的方法,所述方法包括:

在所述可视化设备的显示区域上向所述可视化设备的用户显示叠放在三维(3D)物理空间的现实世界视图之上的多个虚拟3D对象;

执行保持功能,所述保持功能包括将所述多个虚拟3D对象中的第一对象显示在所述显示区域上,使得所述第一对象看上去要响应于来自所述用户的第一输入移动通过所述3D物理空间;以及基于检测到的所述用户的凝视将所述多个虚拟3D对象中的第二对象标识为咬合功能的目标对象,所述咬合功能是致使所述第一对象移动到所述目标对象的表面上的一位置的操作。

2.如权利要求1所述的方法,其特征在于,所述第一输入包括所述用户的凝视方向的改变。

3.如权利要求1或2所述的方法,其特征在于,标识所述目标对象进一步基于以下的至少之一:所述第一对象和候选目标对象之间大小方面的相似性;

所述第一对象和候选目标对象之间总体形状方面的相似性;或者所述第一对象的表面和候选目标对象的表面之间形状方面的相似性。

4.如权利要求1至3中任一项所述的方法,其特征在于,进一步包括:基于以下的至少之一,检测用户想要触发所述咬合操作:所述用户的姿势、所述用户的凝视或所述用户的话语;以及通过在所述可视化设备的显示区域上显示所述第一对象使得所述第一对象看上去移动到所述目标对象的表面上的目标位置来执行所述咬合操作。

5.如权利要求1至4中任一项所述的方法,其特征在于,进一步包括:通过执行球体投射操作来为所述咬合操作确定所述目标对象上的目标位置。

6.如权利要求1至5中任一项所述的方法,其特征在于,进一步包括:响应于标识所述目标对象,响应于所述用户的凝视方向的变化,致使所述第一对象看上去沿所述目标对象的表面滑动。

7.如权利要求1至6中任一项所述的方法,其特征在于,进一步包括:响应于所述用户的凝视方向的变化,致使所述第一对象看上去跨所述目标对象的多个相邻的、非平行表面滑动。

8.如权利要求1至7中任一项所述的方法,其特征在于,进一步包括,在执行所述保持功能之前:基于所述用户的凝视将所述第一对象标识为所述保持功能的候选对象;以及向所述用户显示所述第一对象已被标识为所述保持操作的候选对象的指示。

9.如权利要求1至8中任一项所述的方法,其特征在于,进一步包括:向所述用户显示所述第一对象的边界体,所述边界体包围所述第一对象并且具有多个透明或半透明的平坦表面;

在所述边界体的表面上的基于所述用户的凝视方向在一位置处向所述用户显示光标,所述光标的位置表示所述保持功能的潜在拾取点;

响应于所述用户的凝视方向的改变,致使所述光标对于所述用户看上去跨所述边界体的两个或更多个表面移动;以及响应于用于触发所述保持功能的用户输入,发起所述保持功能并根据所述光标在所述边界体上的当前位置对所述第一对象重新取向。

10.一种可视化设备,包括:

具有显示区域的显示设备;

跟踪所述用户的凝视方向的眼睛跟踪子系统;以及

操作地耦合到所述显示设备和所述眼睛跟踪子系统的处理器电路,并且被配置成致使所述可视化设备:致使所述显示区域向所述用户显示增强现实环境,所述增强现实环境包括多个虚拟三维(3D)对象以及3D物理空间的现实世界视图;

从所述眼睛跟踪子系统接收指示所述用户的凝视方向的输入;以及基于所述用户的凝视方向确定用户选择所述虚拟3D对象中的一个作为咬合功能的目标对象的期望,所述咬合功能是致使被保持对象移动到所述目标对象的表面上的一位置的操作。

11.如权利要求10所述的可视化设备,其特征在于,确定所述用户将所述虚拟3D对象中的所述的那个定为咬合功能的目标的期望进一步基于以下的至少之一:所述被保持对象和候选目标对象之间在大小方面的相似性;

所述被保持对象和候选目标对象之间总体形状方面的相似性;或者所述被保持对象的表面和候选目标对象的表面之间形状方面的相似性。

12.如权利要求10或权利要求11所述的可视化设备,其特征在于,所述处理器电路被进一步配置成执行保持功能,所述保持功能包括显示所述被保持的对象,使得所述被保持的对象对于所述用户看上去响应于来自所述用户的第一输入而被搬运通过所述3D物理空间。

13.如权利要求10到12中的任一项所述的方法,其特征在于,所述第一输入包括所述用户的凝视方向的改变。

14.如权利要求10到13中的任一项所述的可视化设备,其特征在于,所述处理器电路被进一步配置成基于以下的至少之一来检测用户想要触发所述咬合操作:所述用户的姿势、所述用户的凝视或所述用户的话语。

15.如权利要求10至14中任一项所述的可视化设备,其特征在于,所述处理器电路被进一步配置成,在执行所述保持功能之前:基于所述用户的凝视将所述多个虚拟3D对象中的第一对象标识为所述保持功能的候选对象;

致使所述显示设备向所述用户显示所述候选对象的边界体,所述边界体具有多个透明或半透明的平坦表面;

致使所述显示设备在所述边界体的表面上的在基于所述用户的凝视方向的一位置处向所述用户显示光标,所述光标的位置表示所述候选对象上用于所述保持功能的潜在拾取点;

响应于所述用户的凝视方向的改变,致使所述光标对于所述用户看上去跨所述边界体的两个或更多个表面移动;以及响应于用于触发所述保持功能的用户输入,发起所述保持功能并根据所述光标在所述边界体上的当前位置对所述候选对象重新取向,使得所述候选对象变成所述被保持对象。

说明书 :

三维可视化系统中的带辅助的对象放置

发明领域

[0001] 本发明的至少一个实施例涉及三维(3D)可视化系统,并且更具体地,涉及用于辅助用户在3D可视化系统中放置对象的技术。

背景技术

[0002] 多个绘画软件应用如今对于个人计算机以及其他处理设备(诸如智能电话、平板等)可用。那些应用中的一些包括用于辅助用户放置对象的工具或功能,诸如所谓的“咬合”和“粘合”功能。对于咬合功能,当用户将第一被显示的对象移动到非常靠近第二被显示的对象的位置时,软件自动地进一步移动该第一对象使得第一对象与第二对象接触。这一功能缓解了用户非要精准定位这两个对象的乏味。粘合功能致使两个对象粘在一起并且允许它们一旦彼此接触就被一起移动。这些功能一般可通过设置用户偏好来启用或禁用。
[0003] 概述
[0004] 此处介绍的技术提供了一种对象放置工具,用于辅助用户在3D可视化环境中(特别是但不一定非得是在沉浸式AR/VR环境中)移动和放置被显示的全息对象。该工具可被实现为“虚拟磁铁”,并因此有时在本文中被称为“磁铁工具”或简称“磁铁”。该工具辅助用户拾取源对象(例如,通过虚拟磁铁)并随后将该源对象精准地放置在目标对象上。一旦源对象被拾取,该工具帮助用户预先理解源对象将具体如何被取向、并且在用户作出将源对象放置在目标对象的动作之前预先理解该源对象将被放置在何处以及该源对象将在目标对象上具体如何被取向。
[0005] 在某些实施例中,此处介绍的技术包括一种实现在可视化设备中的方法,该可视化设备可以是AR/VR可视化设备,诸如可佩戴(例如,头戴式)可视化设备。该设备可被配备以跟踪用户的凝视方向、识别用户的手势和/或识别用户的语音、以及将这些类型的输入中的任意一种用于该工具的操作。
[0006] 在某些实施例中,方法包括在可视化设备的显示区域上向可视化设备的用户显示叠放在3D物理空间的现实世界视图之上的各个虚拟3D对象。方法可进一步包括保持功能,其中各个虚拟3D对象的第一对象(源对象)被显示在显示区域上,使得第一对象看上去要响应于来自用户的输入移动通过3D物理空间。在某些实施例或实例中,输入仅仅是用户的凝视方向的变化。方法可进一步包括基于检测到的用户凝视将各个虚拟3D对象中的第二对象标识为用于咬合功能的目标对象。咬合功能是一种致使第一对象移动到目标对象的表面上的某一位置的操作。
[0007] 在一些实施例中,咬合功能的目标对象还基于以下来标识:第一对象和候选目标对象之间大小上的相似度;第一对象和候选目标对象之间总体形状上的相似度;或者第一对象的表面和候选目标对象的表面之间形状上的相似度;或这类输入的任意组合。方法可基于例如以下来检测用户想要触发咬合功能:用户的手势、口述命令、用户的凝视或用户的话语、或这类输入的任意组合。
[0008] 在用户用工具抓取第一对象之前,方法可基于检测到的用户凝视,以及在一些实施例或实例中仅仅基于检测到的用户凝视,将该第一对象标识为用于保持功能的候选对象(即,可能要被抓取的对象)。方法可显示第一对象已被标识为用于保持操作的候选的指示,诸如通过在第一对象周围显示一个透明的或半透明的线框边框。为了帮助用户想像如果/当该对象被拾取时该对象将如何被取向,方法可进一步在边框的表面上在基于检测到的用户的凝视矢量的一位置处显示一个光标。该光标的位置可以是用于保持功能的潜在拾取(抓取)点。响应于用户的凝视矢量的变化,光标可跨边界框的各表面中的任意一个移动。当用户(例如,通过语音命令或手势)触发保持功能以抓取第一对象时,第一对象随后根据用户触发保持功能的时刻光标在边框体上的位置而被重新取向。
[0009] 方法可进一步包括响应于标识目标对象,响应于用户的凝视方向的变化,致使第一对象看上去沿目标对象的表面滑动,或者滑动穿过目标对象的两个或更多个相邻(非平行)表面。
[0010] 根据附图和详细描述,该技术的其他方面将显而易见。
[0011] 提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
[0012] 附图简述
[0013] 在附图中的各图中作为示例而非限制解说了本发明的一个或多个实施例,其中相同的标记指示相似的元素。
[0014] 图1例示出了AR/VR头戴式组件的示例。
[0015] 图2是AR/VR头戴式组件的某些组件的高级框图。
[0016] 图3A至3K示出了透过AR/VR头戴式组件的用户的视图的各种示例。
[0017] 图4示出了可由可视化设备执行的用于提供对象放置工具的总的过程的示例。
[0018] 图5例示了源对象候选标识和选择过程的示例。
[0019] 图6例示了目标对象标识和咬合点选择过程的示例。
[0020] 详细描述
[0021] 在该描述中,对“一实施例”、“一个实施例”等的引用意味着描述的特定特征、功能、结构或特性被包括在本文中引入的技术的至少一个实施例中。这样的短语在本说明书中的出现不一定全部涉及同一实施例。另一方面,所涉及的各实施例也不一定是相互排斥的。
[0022] I.系统概览
[0023] 对于粗略地将3D对象放在一起,自由放置被显示在3D可视化环境中的对象可能是非常有用的,然而自由放置承受放置精准度和速度之间的权衡。在3D可视化环境中,软件辅助的对象放置比在2D环境中要复杂得多。除了其它原因之外,在深度上可视化对象的位置是困难的。作为一个示例,有一种众所周知的光学错觉效应,即当保持静止时,近处的小的物体可能看上去就和远处的大的物体一样。因此,拥有一种辅助用户在3D中放置对象的工具是期望的,但是确定用户的意图随着场景的复杂度的增加而变得越来越困难。因此,此处介绍了一种提供精准和快速放置且既稳定又可预测的对象放置工具。
[0024] 在某些实施例中,工具像虚拟/全息磁铁一样工作,因此该工具可在本说明书中的各处被可互换地称为“磁铁工具”、“磁铁”、“对象放置工具”、“放置工具”、或“工具”。该工具可以被实现在例如可佩戴AR/VR头戴式组件中,如本文以下所假设的,这仅仅为了方便描述。然而,需要注意,此处介绍的技术也可被应用于其它类型的可视化设备和上下文中,包括传统个人计算机中的标准LCD显示器、平板、智能电话等诸如此类,或者允许用户在显示器上在3D中移动和定位对象的任何其它设备。
[0025] 在某些实施例中,工具的操作具有四个阶段:1)选择和拾取源对象;2)移动源对象(也称“保持对象”)通过空间,同时定位和选择目标对象;以及3)将源对象放置并定向在目标对象上(称为“咬合”到目标对象);以及4)在目标对象上的想要的位置处释放源对象以致使源对象被粘合到目标对象上的该位置。
[0026] II.工具操作的细节
[0027] A.源对象的选择
[0028] 在一些实施例中,用户可通过语音命令(诸如“磁铁”)或通过使用手势从显示的一组图标中选择一个特定图标(例如,虚拟工具箱中的磁铁图标)来激活工具。一旦激活,光标可用磁铁图像(例如,磁铁形状的表面网格)来替代或补充。如果当工具被激活时用户已经(虚拟地)“保持”全息对象,则说“磁铁”或作出该手势可致使已被保持的对象被选择为源对象,并且用户可随后直接前进至目标对象的选择,这将在以下被讨论。
[0029] 为了确定应当拾取哪个对象(源对象),在某些实施例中,实现工具的过程执行两步式光线投射。每一次光线投射包含从用户处沿用户的凝视矢量(如可视化系统中的眼睛跟踪装备所检测的)向外持续地投射(虚拟)光线。用户的凝视矢量可被定义为用户的当前查看方向。第一光线投射被用于确定哪个对象被标识为最佳候选源对象。基于该确定,过程随后执行针对完整地包围该对象的边界体(诸如边框)的第二光线投射。这一第二光线投射被用于对光标进行定位和取向使得光标坐落在候选对象的边界体的一个面上,从而给予用户对于对象一旦被拾取(被选择为源对象)后将如何被取向的预览指示。这些光线投射被持续更新以反映用户的凝视矢量的变化,直到用户拾取对象,使其成为源对象(被保持的对象)。用户可通过例如用手指执行轻扣手势或通过说预定的命令(诸如“拾取”)来拾取对象。
[0030] B.目标对象的选择
[0031] 一旦用户用工具拾取对象,该对象看上去粘合到磁铁图像(如果磁铁图像被显示的话,这并不是必需的),并且源对象(被保持的对象)和磁铁图像两者都被移动和取向,以便大致与用户的凝视矢量一致,面向外进入到场景中,位于距离用户的舒服的观看距离处(不迫使用户眯起眼睛来看是期望的),但是也不会过远而导致源对象碰到世界中的其它对象。例如,在用户前方的约1米的视距可能是合适的。然而,源对象、光标以及(如果显示的)磁铁图像可被定位在稍稍低于用户的凝视矢量以避免它们遮挡场景的其余部分,包括潜在的目标对象。当用户的凝视矢量变化时,源对象和磁铁图像被保持与用户的凝视矢量(至少水平地)对齐。
[0032] 在某些实施例中,光线被持续地从光标投射到场景中以向用户显示基于用户当前的凝视矢量哪个对象当前正被选择为目标对象,例如通过高亮光线击中的任何一个对象(可能遵从某些选择准则,如以下将讨论的)。这一光线投射可瞄准可看到的目标对象的实际形状处,以促进与如果使用更简单的边框轮廓形状相比更准确的选择。例如,在一些实施例中,光线投射仅使光线实际击中的对象被高亮,而忽视任何粘合行为(即,当两个或多个对象被粘合在一起的情况)。
[0033] 在一些实施例中,小于相对于用户的观看的某个视距大小(例如,在距离用户1米的视距下最大2cm的尺寸)的AR对象不被允许成为该工具的目标对象,但是可被拾取作为源对象。例如,全息铆钉可被拾取并放置在全息火箭上,但是该工具不会将火箭上的其它铆钉作为目标。场景中未被定为目标的对象可被变为至少部分透明的(例如,以线框格式示出),使得目标对象更清晰,同时保留周围对象的上下文。深度“预过滤”可被应用在渲染过程中以仅显示透明或部分透明对象的前表面。
[0034] 在某些实施例中,一旦目标对象被选择,则使源对象“粘”到目标对象,但是源对象可以在目标对象的表面上四处移动。这可通过将目标对象移动到一个分开的物理“层”而光线投射仅投射到该层来实现。此处的构思是这一情形中的任何物理计算(例如光线投射)在修改源对象和目标对象的相对取向时忽视其它对象。
[0035] C.咬合目标对象
[0036] 源对象在目标对象上的优选放置点(即“咬合位置”)可通过球体投影操作来确定。例如,放置点可被确定为从最小的球体投影沿仍然擦过该目标对象的来自光标的光线投影的接触点。为了实现这点,工具过程可执行对球体半径的二元搜索,从光线投射(零半径的球体)开始,然后是确保击中目标对象的最小半径的球体。如果最初的光线投射击中目标对象,则放置过程可在那里结束;否则,过程往下继续二元搜索至设定的深度,以寻找仍然击中该目标对象的最小球体。这一球体投射方法可能对于与具有复杂结构和拓扑结构的表面重构(SR)网格和对象交互特别有用。SR网格是表示现实世界边沿和表面的轮廓的空间中的
3D点的集合。这一搜索的效果是允许用户仍然在目标上四处滑动保持的物体,即便用户的视角不直接与目标网格相交。
[0037] 一旦源对象被合适地放置在目标对象上,用户就能够输入预定的输入来释放源对象,诸如通过再次执行轻扣手势或通过说命令(例如“释放”)。这一动作致使源对象变为在所选择的放置位置和取向上粘合到目标对象。另外,这致使场景中的其它对象(这些对象在目标对象选择和放置期间可能已经被变为至少部分透明)被返回到它们正常水平的不透明度(通常是完全不透明)、移动目标对象回到标准物理层、以及重设工具状态。
[0038] III.可视化系统的示例
[0039] 在至少一个实施例中,此处介绍的技术包括一种可佩戴可视化设备,该设备提供用于辅助用户在AR/VR可视化系统中放置虚拟(例如全息)对象的放置工具。可视化设备可以是例如被配备以向用户提供AR/VR体验的头戴式组件、眼镜或护目镜。图1示出能够提供该工具的AR/VR头戴式组件的一个示例。然而,需要注意,此处介绍的技术可被实现在允许用户将3D对象放置在3D显示器上的几乎任意类型的可视化设备中。所例示的头戴式组件1包括头带2,可通过该头带2将头戴式组件1可移除地安装在用户的头上。头戴式组件1可简单地通过头带2的刚度和/或通过图1中未示出的紧固机制来被保持在适当位置。头带2附接有一个或多个透明或半透明的透镜3,该透镜包括一个或多个透明或半透明的AR/VR显示设备4,每个显示设备可覆盖用户对他环境的单眼或双眼视图的图像上。AR/VR显示设备4的细节不与本文介绍的技术密切相关;能够在用户环境的实时、现实世界的视图上覆盖机器生成的图像的显示设备是本领域已知的,并且具有此类能力的任何已知的或方便的机制可被使用。
[0040] 头戴式组件1进一步包括:用于输入来自用户的语音的麦克风5(例如,用于识别语音命令);用于向用户输出声音的一个或多个音频扬声器6;用于跟踪用户头部在现实世界空间中的位置和定向的一个或多个眼睛跟踪相机7;由眼睛跟踪相机7使用的一个或多个照明源8;用于检测和测量距附近表面的距离的一个或多个深度相机9;用于捕获用户环境的标准视频和/或确定用户在该环境中的位置的一个或多个面向外瞄准的可见光谱相机10;以及用于控制上述元件中的至少一些并执行相关联的数据处理功能的电路11。电路11可包括例如一个或多个处理器和一个或多个存储器。注意,在其他实施例中,上述组件可位于头戴式组件1上的不同位置处。附加地,一些实施例可省略一些上述组件和/或可包括上文未提及的附加组件。
[0041] 图2是根据本文所介绍的技术的一些实施例的AR/VR头戴式组件20的某些组件的高级框图。图2中的头戴式组件20和各组件可代表图2中的头戴式组件1。在图2中,头戴式组件20的功能部件包括以下中的每一者的一个或多个实例:处理器21、存储器22、透明或半透明AR/VR显示设备23、音频扬声器24、深度相机25、眼睛跟踪相机26、麦克风27、以及通信设备28,并全部通过互连29被(直接地或间接地)耦合在一起。互连29可以是或可以包括一个或多个导电迹线、总线、点到点连接、控制器、适配器、无线链路和/或其他常规连接设备和/或媒体,其中至少一些可彼此独立地操作。
[0042] 处理器21单独地和/或共同地控制头戴式组件20的整体操作并执行各种数据处理功能。附加地,处理器21可提供用于生成和显示上述对象放置工具的计算和数据处理功能中的至少一些。例如,每个处理器21可以是或可以包括一个或多个通用可编程微处理器、数字信号处理器(DSP)、移动应用处理器、微控制器、专用集成电路(ASIC)、可编程门阵列(PGA)等,或此类设备的组合。
[0043] 将处理器31配置成执行本文介绍的技术方面的数据和指令(代码)30可被存储在一个或多个存储器22中。每个存储器22可以是或可以包括一个或多个物理存储设备,其可以是以下形式:随机存取存储器(RAM)、只读存储器(ROM)(其可以是可擦除并可编程的)、闪存、微型硬盘驱动器、或其他合适类型的存储设备、或这样的设备的组合。
[0044] 一个或多个通信设备28使得头戴式组件20能够从分开的外部处理系统(诸如个人计算机或游戏控制台)接收数据和/或命令,并向该分开的外部处理系统发送数据和/或命令。例如,每个通信设备28可以是或可以包括通用串行总线(USB)适配器、Wi-Fi收发器、蓝牙或蓝牙低能量(BLE)收发器、以太网适配器、电缆调制解调器、DSL调制解调器、蜂窝收发器(例如,3G、LTE/4G或5G)、基带处理器等,或其组合。
[0045] 例如,每个深度相机25可应用飞行时间原理来确定距附近对象的距离。由深度相机25获取的距离信息被用于(例如,被处理器21)构建用户环境中各表面的3D网格模型。例如,每个眼睛跟踪相机26可以是近红外相机,该近红外相机基于来自瞳孔和/或角膜闪光的由头戴式组件上的一个或多个近IR源(诸如图1中的照明源7)发射的近红外光的镜面反射来检测注视方向。为了能够检测到此类反射,头戴式组件的透镜(例如,图1中的透镜3)的内表面可涂覆有反射IR光但对可见光透明的物质;此类物质是本领域已知的。此方法允许来自IR源的照明从透镜的内表面反弹到用户的眼睛,其中它被反射回眼睛跟踪相机(可能再次经由透镜的内表面)。
[0046] 注意,上述组件中的任何一种或全部可在它们的上述功能方面完全自包;然而,在一些实施例中,一个或多个处理器21提供与其他组件相关联的处理功能中的至少一些。例如,与深度相机25相关联的用于深度检测的数据处理中的至少一些可由处理器21执行。类似地,与注视跟踪相机26相关联的用于注视跟踪的数据处理中的至少一些可由处理器21执行。类似地,支持AR/VR显示器23的图像处理中的至少一些可由处理器21执行;等等。
[0047] IV.工具操作的示例
[0048] 现在将参考图3A至3K描述AR/VR头戴式组件可如何提供对象放置工具的示例。图3A至3K示出了透过AR/VR头戴式组件(例如,透过图1中的透镜3和显示设备4)的用户视图的各种示例。具体地,图3A示出了当用户穿戴头戴式组件站在家的房间中时,该头戴式组件的用户可能具有的视图的中心部分(由于页面大小限制,外围视野在图中被截除)。透过头戴式组件的显示区域,用户可看到各种现实世界对象,诸如在咖啡桌33周围的沙发31和椅子
32。头戴式组件还可显示叠放在现实世界视图之上的各种全息对象,诸如对象36A、36B、
36C、36D以及36E。头戴式组件还可将一个或多个全息图标35或其他用户界面元件显示在用户的视野中,以允许用户能够使用头戴式组件的各种功能。例如,用户界面元素中的一个可以是用于选择/启动磁铁工具的操作的图标34(或其他等效元素)。
[0049] 在头戴式组件可操作的情况下,它使用其深度相机构建用户的附近(例如,几米内)的所有表面或至少用户视野内的所有邻近的表面的3D网格模型,该3D网格模型包括表面距用户(即,距头戴式组件)的距离。通过使用深度检测(例如,飞行时间)来生成邻近表面的3D网格模型的技术在本领域中是已知的,而不需要在本文中被描述。因此,图3A的示例中的3D网格模型将至少对以下各项进行建模:沙发31、椅子32和咖啡桌33的所有可见表面,以及房间的墙、地板和天花板、窗户,以及诸如安装在墙上的窗帘、艺术品(未显示)之类的潜在的甚至更小的特征等等。3D网格模型可被存储在头戴式组件上的存储器中。通过使用3D网格模型和来自视觉跟踪系统(例如,相机10)的图像数据,头戴式组件中的电路(例如,处理器21)可随时确定房间内用户的精确位置。3D网格模型可在频繁的基础上(诸如每秒几次)被自动更新。
[0050] 通过使用头戴式组件,并且通过使用手势、语音命令和/或受控制的凝视,用户可创建和操纵各种3D全息(AR)对象,诸如对象36A、36B、36C、36D以及36E。如所示出的,这些对象被叠放在用户的现实世界视图之上。在实际的实现中,用户可能能够创建和操纵比那些示出的显著地复杂的全息对象。
[0051] 现在假设头戴式组件的用户想要移动对象36A并且将其粘合到对象36B的表面。相应地,用户可激活磁铁工具来这样做。例如,用户可使用手势来指向并轻扣在磁铁图标35上,或者可简单地说命令,诸如“磁铁”。如在图3B中示出的,在一些实施例中,头戴式组件1可随后显示看上去漂浮在用户的视野中的全息磁铁图像41,在用户视野的靠下部分的中心,并且在用户凝视的方向上指向。
[0052] 用户随后用磁铁选择要拾取的对象,在这一示例中是对象36A。如上文提到的,在一些实施例中,头戴式组件包括眼睛跟踪传感器和电路,用于持续地确定用户的凝视矢量(在其它实施例中,头戴式组件可使用不同的技术来确定用户的凝视矢量,诸如确定3D空间中位于用户两只眼睛之间的点以及用户在该世界中正面向的当前的“前向”方向的头部跟踪技术)。当用户的凝视指向全息对象(诸如对象36A)时(如通过例如从用户的视角开始的光线投射所确定的),该对象变为用透明的边界体(诸如图3B中示出的边框42)来高亮。(需要注意,为了简化解说,除了对象36A和对象36B以外的对象未被示出在图3B到3J中。)另外,光标(在这一示例中是圆)43出现在边框42的任意一个当前被来自用户的视角的光线投射所击中的表面上。边框42和光标43一起帮助用户可视化如果以及当用磁铁工具拾取对象36A时,对象36A将如何被取向。如图3C中所示,如果用户的凝视矢量改变使得投射光线击中边框42的一个不同表面,则光标43的位置和外观将相应改变以出现在该表面上。例如,图3C示出当用户的凝视矢量击中边框42的上表面时光标43的外观。此时及使用磁铁工具的过程的整个剩余部分,磁铁图像41可仍然被显示;然而,为了简化解说,磁铁图像未被示出在图
3C到3K中。
[0053] 现在假设用户输入命令以拾取对象36A,同时将边框42的上表面定为目标,如图3C中所示。用户可通过例如作出预定手势或通过说预定命令(诸如“拾取”)来这样做。当该输入被头戴式组件检测到时,该对象(其成为“源对象”或“保持对象”)被立即重新取向,使得边框42的被定为目标的面和光标43现在面向用户,如图3D中所示。在其中全息磁铁图像41被显示的实施例中(参见图3B),边框42的被定为目标的面可在过程中的该时刻被显示为粘合到磁铁图像。源对象36A、光标43以及(如果显示的)磁铁图像41可被定位在稍稍低于用户的视角以避免它们遮挡潜在的目标对象。当用户的凝视变化时,源对象36A和磁铁图像41被保持与用户的凝视矢量(至少沿水平轴)对齐,由此给予用户该源对象正通过用户的凝视而被用户保持和搬运的印象。
[0054] 一旦源对象已被拾取,用户随后进行标识目标对象。目标对象可通过光线投射来确定,例如通过从光标43的位置在用户的凝视的方向上向外投射光线45,如图3E中所示(然而,需要注意,光线45不一定非得对用户可见)。在一些实施例中,被从光标43投射的光线击中并且满足特定准则的任何对象被选择为当前目标对象。场景中当前未被定为目标的对象可被变为至少部分透明,使得目标对象更清晰,同时保留对周围对象的位置的某些视觉指示。深度“预过滤”可被包括在渲染过程中以仅显示透明或部分透明对象的前表面。
[0055] 如上文提到的,本示例假设用户希望将(源)对象36A粘到对象36B上。因此,在拾取源对象36A之后,用户看着对象36B并且将其定为目标(即,使光线投射与对象36B相交),如图3F中所示。当从光标投射的光线与满足选择准则的潜在目标对象(诸如对象36B)相交或进入到它的预定距离/角度内时,源对象将看上去咬合到该对象的最近的表面,如图3G中所示,从而使该对象变为当前目标对象。在一些实施例中,如果从光标投射的光线进入到潜在目标对象的特定阈值距离或角度内,则这一咬合操作将发生,即使光线没有直接击中该潜在目标对象。出于这一操作的目的,所有对象被视为对于光线投射不透明,即投射光线将在其击中的第一个对象处停止。
[0056] 如上文描述的,源对象在目标对象上的优选放置点可通过球体投影操作来确定。用户可简单地通过将其凝视移动到目标对象上的不同点(或甚至稍稍移离该目标对象)来将对象在当前目标对象的表面(或多个表面)上四处移动。这将导致源对象看上去跨目标对象的一个或多个表面滑动。例如,如图3H中所示,用户可通过向下和向右移动他的凝视来致使源对象36A沿目标对象36B的表面向下和向右移动。类似地,如图3I中所示,用户可通过向上和向坐移动他的凝视来致使源对象36A沿目标对象36B的表面向上和向左移动。如果用户将其凝视引导离开目标对象达大于某个阈值距离(或角度)和/或达到超过一阈值时间量,则该目标对象可终止被指定为目标。
[0057] 假设现在用户希望以图3I中所示的相对位置将对象36A附连到对象36B。相应地,当对象被如所示地放置时,用户可输入合适的输入,诸如用手作出另一轻叩手势或者通过说出命令,诸如“释放”。在这种情况下,源对象36A变为在其当前位置和取向粘合到目标对象36B,并且源对象36A周围的边框消失,如图3J中所示。另外,场景中的其它对象(这些对象在目标对象选择和放置期间可能已经被变为至少部分透明)被返回到它们正常水平的不透明度(通常是完全不透明),目标对象36B被移动回到标准物理层,并且重设磁铁工具状态(例如,工具变为非激活)。因此,在本示例中,在目标对象36B上释放源对象36A之后,场景可能对用户看上去如图3K中所示的那样。
[0058] V.示例过程流
[0059] 现在结合图4到6的说明性过程来进一步描述目标放置工具的操作。图4示出了可由可视化设备(诸如AR/VR头戴式组件1)执行的用于提供对象放置工具的总的过程的示例。最初,在步骤401,过程接收选择放置工具的用户输入。该输入可以是例如手势或口述命令,或这些的某种组合。作为响应,在步骤402,过程显示放置工具的图像,诸如上文描述的磁铁的图像。需要注意,在一些实施例中,此处所描述的步骤402和某些其他步骤可被省略。过程随后在步骤403确定对象是否已被用户保持。如果当前没有对象被用户保持,则过程分支到源对象候选标识和选择过程406,之后过程前进至目标对象标识和咬合点选择过程404。如果在步骤403没有对象已被用户保持,则过程直接从步骤403前进至目标对象标识和咬合点选择过程404。在过程404之后,咬合过程405被执行,如以下进一步描述的。
[0060] 图5例示了源对象候选标识和选择过程406的示例。最初,在步骤501,过程从用户的视角沿用户的凝视矢量向外投射光线。接着,在步骤502,过程确定光线是否与全息对象相交。如果光线不与任何全息对象相交,则过程循环返回步骤501并且从那里重复。
[0061] 过程可使用各种准则中的任意一种来确定什么类型的对象是源对象候选(即可被拾取并粘合到另一对象),诸如对象的大小和/或形状(例如,相对大的对象可被排除)、对象距离用户的视距(例如,远于某个阈值距离的对象可被排除)等,或者这些的某种组合。相应地,如果在步骤502,光线与全息对象相交,则过程前进至步骤503,在此,过程指定光线相交的、满足源对象候选准则的最接近的全息对象作为候选源对象。在步骤504,过程随后高亮该候选源对象并且在其周围显示边框(或其它类型的边界体)。接着,在步骤505,过程从用户的视角沿用户的凝视矢量向外投射光线。在步骤506,过程随后在边框的与光标相交的面上放置光标并为光标确定取向。接着,在步骤507,过程检查以确定是否已从用户处接收到“拾取”命令(或等同的命令)。如果没有接收到该命令,则过程循环返回步骤501并且从那里重复。如果已接收到“拾取”命令(或等同的命令),则过程前进至步骤508,在此,过程基于接收到命令时光标在边框上的位置来计算候选源对象的新的“抓取”位置和取向。过程随后将该候选源对象指定为源对象,根据计算的抓取位置对其重新定位和重新取向(如例如在图3D中所示的),并且可选地将源对象显示为粘合到工具的图像。
[0062] 图6例示了目标对象标识和咬合点选择过程404的示例。在所例示的实施例中,存在基本同时发生的两个子过程(即,该附图并不意图指示精准的定时关系)。第一子过程包括步骤601A和602A,而第二子过程包括步骤601B、602B和603到605。在步骤601A,第一子过程与用户的凝视对齐的(带有稍稍向下的垂直偏移)在光标位置处、就在用户的面前(例如,在用户的面前约1米的视距处)持续显示工具图像(例如,磁铁图像)和源对象。接着,在步骤602A,第一子过程显示经修改的场景几何结构以降低视觉杂乱,例如通过将除了源对象和目标对象之外的所有对象变为透明。
[0063] 在步骤601B,第二子过程从光标位置沿用户的凝视矢量向外投射光线。该光线被持续投射,至少到目标对象被选择为止。在步骤602B,第二子过程随后确定光线是否与任何全息对象相交。如果光线不与任何全息对象相交,则第二子过程循环返回步骤601B并且从那里重复。
[0064] 过程404可使用各种准则中的任意一个来确定哪些对象可以是工具的功能的目标对象(即,可让其它对象粘合到它们),诸如:对象和源对象之间在大小方面的相似性程度;对象和源对象之间在整体形状方面的相似性程度;或者对象的特定表面和源对象的特定表面之间在形状方面的相似性程度;等等或者这些准则的某种组合。另外,这些相同类型的准则可被用于从两个或更多个候选目标对象中选择当前目标对象。
[0065] 相应地,在图6的示例过程中,如果在步骤602B,光线与对象相交,则第二子过程前进至步骤603,在此,过程指定光线相交的、满足目标对象候选准则的最接近的对象作为目标对象。接着,在步骤604,第二子过程高亮该目标对象。
[0066] 表面重构(SR)可被作为用于选择目标对象的目的的特殊情形来处理。SR指的是使用网格来表示AR/VR显示环境中的现实世界表面。虽然整个显示环境的SR可由多个网格组成,但是网格可以在它们重叠处连续(类似的法线/点)。因此,重叠的网格可被当作单个网格来处理。如果SR网格被放置工具操作的操作定为目标,它可被变为在光标附近的局部区域(即并非整个网格)对用户可见以避免视觉杂乱。
[0067] 在高亮目标对象之后,第二子过程在步骤605显示可滑动地粘合到目标对象表面的源对象,一般粘合在投射自光标的光线与目标对象相交的位置。在任意给定时刻源对象被定位在目标对象上的精准位置(即“咬合点”)可通过使用球体投影来确定,如上文所描述的。
[0068] 总得来说,源对象的最靠近目标对象的表面(排除光标位于其上的表面)被变为粘合到目标对象的表面上的咬合目标位置。如果那两个表面都是平坦的,则这些表面可被简单地粘合在一起并且变为共面的。然而,如果这两个表面中的一个或两个是曲面的,则它们可被粘合到彼此,使得它们的法线矢量在接触的点处是共线的。
[0069] 在步骤602A和步骤605之后,两个并发的子过程在步骤606合并,在此,过程404确定是否从用户处接收到释放命令。释放命令可以是例如用手作的轻扣手势或者口述命令的形式。如果在步骤606处没有接收到这类命令,则过程循环返回步骤605并且从那里重复。如果已接收到了释放命令,则在步骤607,过程调用粘合功能从而致使源对象变为粘合到目标对象(如果用户通过合适的输入指示撤消的意图,则这一动作可被撤消),终止工具图像的显示,并且终止可能已被提供的任何场景几何形状修改以减少视觉杂乱(例如,将周围的对象呈现为透明)。
[0070] V.改进
[0071] 各种技术可被应用以改进以上介绍的技术。这些技术中的一些如下:
[0072] 咬合在对象中心——这一技术可在一旦两个对象面已咬合在一起后启用。当源对象的被投影的中心变得靠近潜在的目标对象的被投影的中心时,源对象跳转成匹配。这允许用户快速地创建对齐的对象群集。
[0073] 与定制的枢轴/根点咬合——对象可具有用于控制与其它对象咬合的点的指定的定制枢轴或根位置。例如,考虑始终需要保持直立的恐龙全息影像。通过将定制枢轴/根点定位在恐龙的脚下,脚的底面将始终被用于与其它对象咬合,从而确保恐龙全息影像始终保持直立。定制枢轴点的指派可由内容创作者来进行,或者甚至由用户通过例如使用“图钉”工具来进行。
[0074] 与定制咬合目标咬合——当被自动咬合时,目标对象可能包括一个或多个预定咬合目标。例如,恐龙全息影像可具有存储在其嘴中的预定咬合目标位置和旋转以使得对于用户而言容易将食物对象咬合到恐龙的嘴。
[0075] 组对象的咬合——当对象被分组(“粘合”)到一起时,质量的中心可能改变。当咬合到另一对象时,对象中心可调整以使用该组的质量中心。相反,当被咬合时,单独的对象对对象测试可使用该组的中心、它们自己的中心、或优选地使用两者。支持两者使用户能够容易地将源对象与目标对象组或对象组内的某个目标对象的中心对齐。
[0076] 咬合到世界网格——对象位置或边缘可被咬合到世界中的固定大小的网格。网格可以是可见的(例如,以线框形式)或不可见的。在不可见情况下,用户可能知晓该网格,因为所搬运的对象将在网格的咬合点之间跳转。固定网格大小对于用户而言是受限的,因为它们不对放置给予精细控制。因此,对于网格技术的一些扩展包括:1)基于搬运的对象大小的自适应网格大小;2)基于世界中的附近对象改变网格大小;3)仅披露搬运的对象附近的线框的部分可见网格(避免视觉杂乱);以及4)网格被启用以辅助最初的粗略放置并且当源对象变得靠近另一对象时被自动禁用(以供更精准的对象与对象对齐)。
[0077] 引力阱——这一技术本质上是每当用户的视线稳定在某个东西上时就创建“世界”中的点。当用户的视线稳定时,用户看着的第一对象上的点变得有粘性,使得每当用户的视线光标再次经过它时,光标将减速以使得对象的放置变得更容易。
[0078] 头部稳定——这是以上提到的引力阱技术的基于用户的头部旋转(例如,如通过跟踪相机、陀螺仪或诸如此类所测得的)的变体。该技术产生每当用户的头部旋转明显放缓时稳定基于头部方向的光标的类似效果。
[0079] 在执行动作之前要求随时间的稳定性——这一技术要求用户在锁定到某个决策之前随时间示出该决策的证据。例如,该技术可使盯着两个对象的中心的用户避免看到在两个对象之间快速切换的视像。这可通过要求用户保持聚焦在对象上达至少预定的时间段(例如半秒钟)、然后再允许该新对象被高亮、定为目标或以其它方式接收聚焦来实现。
[0080] 要求用户在咬合后“摆脱引力”——一旦用户已将两个对象咬合到一起,可视化系统可使得它们稍稍更难以摆脱咬合。这可通过例如角度测试(例如,用户是否已看向偏离其凝视矢量大于5度)或通过将投射到对象的表面中的用户的视线与一个不可见环进行评估来实现。
[0081] 基于过去的咬合行为预测用户意图——例如,重复地咬合并且随后立即尝试摆脱引力的用户可能正尝试避免咬合行为。当这类行为被系统观测到时,系统可暂时减小咬合半径或禁用该机制。
[0082] 以上描述的机器实现的操作可由通过软件和/或固件来编程/配置的可编程电路,或者完全由专用电路,或者由这样的形式的组合来实现。这样的专用电路(如果有的话)可采用例如一个或多个专用集成电路(ASIC)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、片上系统(SOC)等的形式。
[0083] 用于实现本文中引入的技术的软件或固件可被存储在机器可读存储介质上,并可由一个或多个通用或专用可编程微处理器来执行。如本文中所使用的术语“机器可读介质”包括可存储机器(机器可以是例如计算机、网络设备、蜂窝电话、个人数字助理(PDA)、制造工具、具有一个或多个处理器的任意设备等)可访问的形式的信息的任何机制。例如,机器可访问介质包括可记录/不可记录介质(例如,只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质、光学存储介质;闪存设备等)等。
[0084] 如此处所使用的术语“逻辑”表示:a)专用硬接线电路,诸如一个或多个专用集成电路(ASIC)、可编程逻辑器件(PLD)、场可编程门阵列(FPGA)、或其它类似器件;b)用软件和/或固件编程的可编程电路,诸如一个或多个可编程通用微处理器、数字信号处理器(DSP)和/或微控制器、片上系统(SOC)、或其它类似器件;或c)在a)和b)中提到的形式的组合。
[0085] VI.某些实施例的示例
[0086] 本文中引入的技术的某些实施例被概括在以下被编号的示例中:
[0087] 1.一种操作可视化设备的方法,所述方法包括:在所述可视化设备的显示区域上向所述可视化设备的用户显示叠放在三维(3D)物理空间的现实世界视图之上的多个虚拟三维3D对象;执行保持功能,所述保持功能包括将所述多个虚拟3D对象中的第一对象显示在所述显示区域上,使得所述第一对象看上去要响应于来自所述用户的第一输入移动通过所述3D物理空间;以及基于检测到的所述用户的凝视将所述多个虚拟3D对象中的第二对象标识为咬合功能的目标对象,所述咬合功能是致使所述第一对象移动到所述目标对象的表面上的一位置的操作。
[0088] 2.一种如示例1所述的方法,其中所述第一输入包括所述用户的凝视方向的改变。
[0089] 3.如示例1或示例2所述的方法,其中标识所述目标对象进一步基于以下的至少之一:所述第一对象和候选目标对象之间大小方面的相似性;所述第一对象和候选目标对象之间总体形状方面的相似性;所述第一对象的表面和候选目标对象的表面之间形状方面的相似性。
[0090] 4.如示例1至3中任一项所述的方法,进一步包括:基于以下的至少之一,检测用户想要触发所述咬合操作:所述用户的姿势、所述用户的凝视或所述用户的话语;以及通过在所述可视化设备的显示区域上显示所述第一对象使得所述第一对象看上去移动到所述目标对象的表面上的目标位置来执行所述咬合操作。
[0091] 5.如示例1至4中任一项所述的方法,进一步包括:通过执行球体投射操作来为所述咬合功能确定所述目标对象上的目标位置。
[0092] 6.如示例1至5中任一项所述的方法,进一步包括:响应于标识所述目标对象,响应于所述用户的凝视方向的变化,致使所述第一对象看上去沿所述目标对象的表面滑动。
[0093] 7.如示例1至6中任一项所述的方法,进一步包括:响应于所述用户的凝视方向的变化,致使所述第一对象看上去跨所述目标对象的多个相邻的、非平行表面滑动。
[0094] 8.如示例1至7中任一项所述的方法,进一步包括,在执行所述保持功能之前:基于所述用户的凝视将所述第一对象标识为所述保持功能的候选对象;以及向所述用户显示所述第一对象已被标识为所述保持操作的候选对象的指示。
[0095] 9.如示例1至8中任一项所述的方法,进一步包括:向所述用户显示所述第一对象的边界体,所述边界体包围所述第一对象并且具有多个透明或半透明的平坦表面;在所述边界体的表面上在基于所述用户的凝视方向的一位置处向所述用户显示光标,所述光标的位置表示所述保持功能的潜在拾取点;响应于所述用户的凝视方向的改变,致使所述光标对于所述用户看上去跨所述边界体的两个或更多个表面移动;以及响应于用于触发所述保持功能的用户输入,发起所述保持功能并根据所述光标在所述边界体上的当前位置对所述第一对象重新取向。
[0096] 10.一种可视化设备,包括:具有显示区域的显示设备;跟踪所述用户的凝视方向的眼睛跟踪子系统;以及操作地耦合到所述显示设备和所述眼睛跟踪子系统的处理器电路,并且被配置成致使所述可视化设备:致使所述显示区域向所述用户显示增强现实环境,所述增强现实环境包括多个虚拟三维(3D)对象以及3D物理空间的现实世界视图;从所述眼睛跟踪子系统接收指示所述用户的凝视方向的输入;以及基于所述用户的凝视方向确定用户选择所述虚拟3D对象中的一个作为咬合功能的目标对象的期望,所述咬合功能是致使所述被保持对象移动到所述目标对象的表面上的一位置的操作。
[0097] 11.如示例10所述的可视化设备,其中确定所述用户将所述虚拟3D对象中的所述的那个定为咬合功能的目标的期望进一步基于以下的至少之一:所述被保持对象和候选目标对象之间在大小方面的相似性;所述被保持对象和候选目标对象之间总体形状方面的相似性;或者所述被保持对象的表面和候选目标对象的表面之间形状方面的相似性。
[0098] 12.如示例10或示例11所述的可视化设备,其中所述处理器电路被进一步配置成执行保持功能,所述保持功能包括显示所述被保持的对象,使得所述被保持的对象对于所述用户看上去响应于来自所述用户的第一输入而被搬运通过所述3D物理空间。
[0099] 13.一种如示例10到12中的任一项所述的可视化设备,其中所述第一输入包括所述用户的凝视方向的改变。
[0100] 14.一种如示例10到13中的任一项所述的可视化设备,其中所述处理器电路被进一步配置成基于以下的至少之一来检测用户想要触发所述咬合操作:所述用户的姿势、所述用户的凝视或所述用户的话语。
[0101] 15.一种如示例10到14中的任一项所述的可视化设备,其中所述处理器电路被进一步配置成通过执行球体投影操作来为所述咬合功能确定所述目标对象上的目标位置。
[0102] 16.一种如示例10到15中的任一项所述的可视化设备,其中所述处理器电路被进一步配置成响应于标识所述目标对象,响应于所述用户的凝视方向的变化,致使所述被保持对象看上去沿所述目标对象的表面滑动。
[0103] 17.如示例10至16中任一项所述的可视化设备,其中所述处理器电路被进一步配置成,在执行所述保持功能之前:
[0104] 基于所述用户的凝视将所述多个虚拟3D对象中的第一对象标识为所述保持功能的候选对象;
[0105] 致使所述显示设备向所述用户显示所述候选对象的边界体,所述边界体具有多个透明或半透明的平坦表面;
[0106] 致使所述显示设备在所述边界体的表面上在基于所述用户的凝视方向的一位置处向所述用户显示光标,所述光标的位置表示候选对象上针对所述保持功能的潜在拾取点;
[0107] 响应于所述用户的凝视方向的改变,致使所述光标对于所述用户看上去跨所述边界体的两个或更多个表面移动;以及
[0108] 响应于用于触发所述保持功能的用户输入,发起所述保持功能并根据所述光标在所述边界体上的当前位置对所述候选对象重新取向,使得所述候选对象变成所述被保持对象。
[0109] 18.一种头戴式可视化设备,包括:头部配件,所述可视化设备通过所述头部配件安装到用户的头部;耦合到所述头部配件并且具有显示区域的显示设备;跟踪所述用户的凝视方向的眼睛跟踪子系统;以及操作地耦合到所述显示设备和所述眼睛跟踪子系统的处理器,并且被配置成致使所述可视化设备:
[0110] 致使所述显示设备在所述显示区域上将多个虚拟三维(3D)对象叠放3D物理空间的现实世界实时视图上;执行保持功能,所述保持功能包括将所述多个虚拟3D对象中的第一对象显示在所述显示区域上,使得所述第一对象看上去要响应于来自所述用户的第一输入被搬运通过所述3D物理空间,其中所述第一输入包括所述用户的凝视方向的改变;以及基于检测到的所述用户的凝视被标识为咬合功能的目标对象的所述多个虚拟3D对象中的第二对象,所述咬合功能是致使所述第一对象移动到所述目标对象的表面上的一位置的操作。
[0111] 19.一种如示例18所述的头戴式可视化设备,其中标识所述目标对象进一步基于以下的至少之一:所述第一对象和候选目标对象之间大小方面的相似性;所述第一对象和候选目标对象之间总体形状方面的相似性;或者所述第一对象的表面和候选目标对象的表面之间形状方面的相似性。
[0112] 20.如示例18或19所述的头戴式可视化设备,其中所述处理器被进一步配置成,在执行所述保持功能之前:基于所述用户的凝视将所述多个虚拟3D对象中的第一对象标识为所述保持功能的候选对象;致使所述显示设备向所述用户显示所述第一对象的边界体,所述边界体具有多个透明或半透明的平坦表面;致使所述显示设备在所述边界体的表面上在基于所述用户的凝视方向的一位置处向所述用户显示光标,所述光标的位置表示所述第一对象上用于所述保持功能的潜在拾取点;响应于所述用户的凝视方向的改变,致使所述光标对于所述用户看上去跨所述边界体的两个或更多个表面移动;以及响应于用于触发所述保持功能的用户输入,发起所述保持功能并根据所述光标在所述边界体上的当前位置对所述第一对象重新取向。
[0113] 21.一种可视化设备,包括:用于在所述可视化设备的显示区域上向所述可视化设备的用户显示叠放在三维(3D)物理空间的现实世界视图之上的多个虚拟3D对象的装置;用于执行保持功能的装置,所述保持功能包括将所述多个虚拟3D对象中的第一对象显示在所述显示区域上,使得所述第一对象看上去要响应于来自所述用户的第一输入移动通过所述3D物理空间;以及用于基于检测到的所述用户的凝视将所述多个虚拟3D对象中的第二对象标识为咬合功能的目标对象的装置,所述咬合功能是致使所述第一对象移动到所述目标对象的表面上的一位置的操作。
[0114] 2.如示例1所述的可视化设备,其中所述第一输入包括所述用户的凝视方向的改变。
[0115] 3.如示例1或示例2所述的可视化设备,其中标识所述目标对象进一步基于以下的至少之一:所述第一对象和候选目标对象之间大小方面的相似性;所述第一对象和候选目标对象之间总体形状方面的相似性;所述第一对象的表面和候选目标对象的表面之间形状方面的相似性。
[0116] 4.如示例1至3中任一项所述的可视化设备,进一步包括:用于基于以下的至少之一,检测用户想要触发所述咬合操作的装置:所述用户的姿势、所述用户的凝视或所述用户的话语;以及通过在所述可视化设备的显示区域上显示所述第一对象使得所述第一对象看上去移动到所述目标对象的表面上的目标位置来执行所述咬合操作。
[0117] 5.如示例1至4中任一项所述的可视化设备,进一步包括:用于通过执行球体投射操作来为所述咬合功能确定所述目标对象上的目标位置的装置。
[0118] 6.如示例1至5中任一项所述的可视化设备,进一步包括:用于响应于标识所述目标对象,响应于所述用户的凝视方向的变化,致使所述第一对象看上去沿所述目标对象的表面滑动的装置。
[0119] 7.如示例1至6中任一项所述的可视化设备,进一步包括:用于响应于所述用户的凝视方向的变化,致使所述第一对象看上去跨所述目标对象的多个相邻的、非平行表面滑动的装置。
[0120] 8.如示例1至7中任一项所述的可视化设备,进一步包括:用于在执行所述保持功能之前基于所述用户的凝视将所述第一对象标识为所述保持功能的候选对象的装置;以及用于向所述用户显示所述第一对象已被标识为所述保持操作的候选对象的指示的装置。
[0121] 9.如示例1至8中任一项所述的可视化设备,进一步包括:用于向所述用户显示所述第一对象的边界体的装置,所述边界体包围所述第一对象并且具有多个透明或半透明的平坦表面;用于在所述边界体的表面上在基于所述用户的凝视方向的一位置处向所述用户显示光标的装置,所述光标的位置表示所述保持功能的潜在拾取点;用于响应于所述用户的凝视方向的改变,致使所述光标对于所述用户看上去跨所述边界体的两个或更多个表面移动的装置;以及用于响应于用于触发所述保持功能的用户输入,发起所述保持功能并根据所述光标在所述边界体上的当前位置对所述第一对象重新取向的装置。
[0122] 如本领域普通技术人员显而意见的,以上描述的特征和功能中的任意或全部可彼此组合,除了被以其它方式在上文中言明或者任何这样的实施例可能因为其功能或结构而不兼容。除了与物理可能性相违背,设想了(1)本文描述的方法/步骤可以任意顺序和/或以任意组合来执行,并且(2)各个实施例的组件可以任意方式组合。
[0123] 尽管用结构特征和/或动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述特定特征和动作是作为实现权利要求书的示例而公开的,并且其他等价特征和动作旨在处于权利要求书的范围内。