著录项信息
摘要
公开了用于在用户的三维(3D)环境中相对于目的对象自动重新定位虚拟对象的增强现实系统和方法。该系统和方法可以基于虚拟对象或目的对象的功能可见性自动将目标虚拟对象附到目的对象并且重新定向目标虚拟对象。当用户的移动超过阈值条件时,该系统和方法还可以跟踪用户的移动并从目的对象分离虚拟对象。
1.一种用于在三维3D环境中自动重新定位虚拟对象的增强现实AR系统,所述AR系统包括:
AR显示器,其被配置为显示虚拟内容;
与所述AR显示器通信的硬件处理器,所述硬件处理器被编程为:
识别用户的所述3D环境中的目标虚拟对象,其中向所述目标虚拟对象分配表示第一位置和第一取向的一个向量;
接收将所述目标虚拟对象附到目的对象的指示,其中向所述目的对象分配表示第二位置和第二取向的至少一个向量;
至少部分地基于所述第一位置和所述第二位置计算所述目标虚拟对象与所述目的对象之间的轨迹;
沿着所述轨迹朝向所述目的对象移动所述目标虚拟对象;
跟踪所述目标虚拟对象的当前位置;
至少部分地基于所述目标虚拟对象的所述当前位置和所述第二位置来计算所述目标虚拟对象与所述目的对象之间的距离;
响应于确定计算的所述距离小于第一阈值距离,自动地相对于所述目的对象来定向所述目标虚拟对象,其中所述第一阈值距离基于与定向速度相关联的用户偏好;以及响应于确定计算的所述距离小于第二阈值距离,自动将所述目标虚拟对象附到所述目的对象,其中所述第一阈值距离大于所述第二阈值距离。
2.根据权利要求1所述的AR系统,其中所述硬件处理器还被编程为:
分析所述目标虚拟对象、所述目的对象或所述环境中的至少一个的功能可见性;以及为了自动定向所述目标虚拟对象,所述硬件处理器被编程为旋转所述目标虚拟对象以使所述目标虚拟对象的第一法线与所述目的对象的第二法线对齐。
3.根据权利要求2所述的AR系统,其中所述功能可见性包括以下中的至少一个:功能、取向、类型、位置、形状或尺寸。
4.根据权利要求1所述的AR系统,其中为了自动附接所述目标虚拟对象,所述硬件处理器被编程为:模拟所述目标虚拟对象与所述目的对象之间的吸引力,其中所述吸引力包括重力、弹力、粘合力或磁吸引力中的至少一个。
5.根据权利要求1所述的AR系统,其中为了计算所述距离,所述硬件处理器被编程为计算所述目标虚拟对象的所述当前位置和与所述目的对象相关联的所述第二位置之间的位移。
6.根据权利要求5所述的AR系统,其中所述第二阈值距离为零。
7.根据权利要求1所述的AR系统,其中附接所述目标虚拟对象的所述指示是根据以下中的至少一个确定的:用户输入设备的致动或用户的姿势。
8.根据权利要求7所述的AR系统,其中所述硬件处理器还被编程为:将焦点指示符分配给所述用户的当前位置,其中至少部分地基于所述用户的所述姿势或者与所述用户输入设备相关联的位置确定所述用户的所述当前位置。
9.根据权利要求1所述的AR系统,其中所述硬件处理器还被编程为:
接收从所述目的对象分离所述目标虚拟对象的指示,其中所述指示与所述用户的当前位置的变化相关联;
至少部分地基于所述接收的指示来确定是否满足用于分离所述目标虚拟对象的阈值条件;
响应于满足所述阈值条件的确定:
从所述目的对象分离所述目标虚拟对象;
将所述目标虚拟对象从与所述目的对象相关联的所述第二位置移动到第三位置;以及在所述第三位置处渲染所述目标虚拟对象。
10.根据权利要求9所述的AR系统,其中响应于满足所述阈值条件的确定,所述硬件处理器还被编程为:在将所述目标虚拟对象移动到所述第三位置的同时保持所述目标虚拟对象的所述第二取向。
11.根据权利要求9所述的AR系统,其中所述第三位置对应于焦点指示符的位置,所述焦点指示符的所述位置对应于所述用户的所述当前位置。
12.根据权利要求11所述的AR系统,其中用于从其他对象分离所述目标虚拟对象的所述阈值条件包括以下中的至少一个:
所述目标虚拟对象附到所述目的对象处的所述第二位置与所述焦点指示符的所述位置之间的第二距离大于或等于第二阈值距离;
用于从所述第二位置移动到所述焦点指示符的所述位置的速度大于或等于阈值速度;
用于远离所述第二位置移动的加速度大于或等于阈值加速度;或者
用于远离所述第二位置移动的加加速度大于或等于阈值加加速度。
13.根据权利要求9所述的AR系统,其中所述硬件处理器被编程为在从所述目的对象分离所述目标虚拟对象时模拟物理力,其中所述物理力包括摩擦力或弹力中的至少一个。
14.一种用于在三维3D环境中自动重新定位虚拟对象的方法,所述方法包括:
在包括计算机硬件的增强现实AR系统的控制下,被配置为允许用户与3D环境中的对象交互的所述AR系统:
识别所述用户的3D环境中的目标虚拟对象,所述目标虚拟对象具有第一位置和第一取向;
接收相对于目的对象重新定位所述目标虚拟对象的指示;
识别用于重新定位所述目标虚拟对象的参数;
分析与所述3D环境、所述目标虚拟对象和所述目的对象中的至少一个相关联的功能可见性;
基于所述功能可见性计算用于重新定位所述目标虚拟对象的所述参数的值;
基于用于重新定位所述目标虚拟对象的所述参数的所述值来确定所述目标虚拟对象的第二位置和第二取向以及所述目标虚拟对象的移动;
根据确定的所述移动朝向所述目的对象移动所述目标虚拟对象;
跟踪所述目标虚拟对象的当前位置;
响应于确定所述目标虚拟对象的所述当前位置与所述目的对象之间的距离小于第一阈值距离,自动地相对于所述目的对象来定向所述目标虚拟对象,其中所述第一阈值距离基于与定向速度相关联的用户偏好;以及
响应于确定所述目标虚拟对象的所述当前位置与所述目的对象之间的距离小于第二阈值距离,自动将所述目标虚拟对象附到所述目的对象,其中所述第一阈值距离大于所述第二阈值距离。
15.根据权利要求14所述的方法,其中重新定位所述目标虚拟对象包括将所述目标虚拟对象附到所述目的对象、重新定向所述目标虚拟对象或从所述目的对象分离所述目标虚拟对象中的至少一个。
16.根据权利要求14所述的方法,其中所述目的对象是物理对象。
17.根据权利要求14所述的方法,还包括确定重新定位所述目标虚拟对象的所述指示是否满足阈值条件;以及响应于所述指示满足所述阈值条件的确定,执行所述计算、确定和渲染。
18.根据权利要求17所述的方法,其中所述阈值条件包括所述目标虚拟对象与所述目的对象之间的距离。
19.根据权利要求14所述的方法,其中将一个或多个物理属性分配给所述目标虚拟对象,并且基于所述目标虚拟对象的所述物理属性通过模拟所述目标虚拟对象、所述目的对象和所述环境的交互来确定所述目标虚拟对象的所述移动。
20.根据权利要求19所述的方法,其中分配给所述目标虚拟对象的所述一个或多个物理属性包括质量、大小、密度、相、硬度、弹力或电磁属性中的至少一个。
用于三维空间中虚拟对象的自动放置的系统和方法\n[0001] 相关申请的交叉引用\n[0002] 本申请要求依据35U.S.C.§119(e)的2016年8月11日提交的名称为“AUTOMATIC PLACEMENT OF VIRTUAL OBJECTS IN A 3D ENVIRONMENT(在3D环境中虚拟对象的自动放置)”的美国临时申请No.62/373693和2016年8月11日提交的名称为“VIRTUAL OBJECT USER INTERFACE WITH GRAVITY(具有重力的虚拟对象用户界面)”的美国临时申请No.62/373692的优先权,其公开内容通过引用整体并入本文。\n技术领域\n[0003] 本公开涉及虚拟现实和增强现实成像以及可视化系统,更特别地,涉及在三维(3D)空间中自动重新定位虚拟对象。\n背景技术\n[0004] 现代计算和显示技术促进了用于所谓的“虚拟现实”、“增强现实”或“混合现实”体验的系统的开发,其中数字再现图像或其部分以它们看起来或可能被感知为真实的方式呈现给用户。虚拟现实或“VR”场景通常涉及呈现数字或虚拟图像信息而对其他实际的真实世界视觉输入不透明;增强现实或“AR”场景通常涉及呈现数字或虚拟图像信息,作为对用户周围的真实世界的可视化的增强;混合现实或“MR”涉及将真实世界和虚拟世界融合,以产生物理和虚拟对象共存并实时交互的新环境。事实证明,人类视觉感知系统非常复杂,并且产生有助于连同其它虚拟或真实世界的图像元素一起的虚拟图像元素的舒适、自然、丰富呈现的AR技术是具有挑战性的。本文公开的系统和方法解决了与AR和VR技术相关的各种挑战。\n发明内容\n[0005] 描述了用于自动重新定位虚拟对象的增强现实系统的各种实施例。\n[0006] 在一个示例实施例中,公开了一种用于在三维(3D)环境中自动重新定位虚拟对象的增强现实(AR)系统。该AR系统包括被配置为在3D视图中呈现虚拟内容AR显示器和与AR显示器通信的硬件处理器。该硬件处理器被编程为:识别用户的3D环境中的目标虚拟对象,其中向目标虚拟对象分配表示第一位置和第一取向的一个向量;接收将目标虚拟对象附到目的对象的指示,其中向目的对象分配表示第二位置和第二取向的至少一个向量;至少部分地基于第一位置和第二位置计算目标虚拟对象与目的对象之间的轨迹;沿着轨迹朝向目的对象移动目标虚拟对象;跟踪目标虚拟对象的当前位置;至少部分地基于目标虚拟对象的当前位置和第二位置来计算目标虚拟对象与目的对象之间的距离;确定目标虚拟对象与目的虚拟对象的距离是否小于阈值距离;响应于距离小于或等于阈值距离的比较,自动将目标虚拟对象附到目的对象并将目标虚拟对象定向到第二取向;以及通过AR显示器在第二位置处渲染具有第二取向的目标虚拟对象,其中在第二取向下目标虚拟对象覆盖在目的对象上。\n[0007] 在另一示例实施例中,公开了一种用于在三维(3D)环境中自动重新定位虚拟对象的方法。该方法包括可以在包括计算机硬件的增强现实(AR)系统的控制下被执行,AR系统被配置为允许用户与3D环境中的对象的交互。该方法包括:识别用户的3D环境中的目标虚拟对象,目标虚拟对象具有第一位置和第一取向;接收相对于目的对象重新定位目标虚拟对象的指示;识别用于重新定位目标虚拟对象的参数;分析与3D环境、目标虚拟对象和目的对象中的至少一个相关联的功能可见性(affordance);基于功能可见性计算用于重新定位目标虚拟对象的参数的值;基于用于重新定位目标虚拟对象的参数的值来确定目标虚拟对象的第二位置和第二取向以及目标虚拟对象的移动;以及以第二位置和第二取向以及从第一位置和第一取向到达第二位置和第二取向的目标虚拟对象的移动来渲染目标虚拟对象。\n[0008] 此说明书所述主题的一个或多个实施方式的细节在下面的附图和描述中阐述。从描述、附图和权利要求中,其他特征、方面以及优势将变得显而易见。本发明内容和之后的具体实施方式都不旨在限定或限制本发明主题的范围。\n附图说明\n[0009] 图1描绘了具有由人观看到的某些虚拟现实对象和某些物理对象的混合现实场景的图示。\n[0010] 图2示意性地示出了可穿戴显示系统的示例。\n[0011] 图3示意性地示出了使用多个深度平面模拟三维图像的方法的方面。\n[0012] 图4示意性地示出了用于将图像信息输出给用户的波导堆叠的示例。\n[0013] 图5示出了可以由波导输出的示例性出射光束。\n[0014] 图6是示出了光学系统的示意图,该光学系统包括波导设备、用于将光光学耦合到波导设备或光学耦合来自波导设备的光的光学耦合器子系统、以及用于产生多焦点体积显示、图像或光场的控制子系统。\n[0015] 图7是可穿戴系统的示例的框图。\n[0016] 图8是渲染与识别的对象有关的虚拟内容的方法的示例的过程流程图。\n[0017] 图9是可穿戴系统的另一示例的框图。\n[0018] 图10是用于确定到可穿戴系统的用户输入的方法的示例的过程流程图。\n[0019] 图11是用于与虚拟用户界面交互的方法的示例的过程流程图。\n[0020] 图12A和12B示出了将虚拟对象自动附到桌子的示例。\n[0021] 图13A、13B、13C和13D示出了当虚拟对象的一部分接触墙壁时自动定向虚拟对象的示例。\n[0022] 图14A、14B、14C和14D示出了将虚拟对象从桌子移动到墙壁的示例。\n[0023] 图15A、15B和15C示出了从侧视图附接和定向虚拟对象的示例。\n[0024] 图15D和15E示出了从墙壁分离虚拟对象的示例。\n[0025] 图15F、15G和15H示出了从侧视图附接和定向虚拟对象的附加示例。\n[0026] 图16是用于附接和定向虚拟对象的示例方法。\n[0027] 图17是用于从用户环境中的另一对象分离虚拟对象的示例方法。\n[0028] 在整个附图中,可以重复使用附图标记来指示所引用的元件之间的对应关系。提供附图是为了说明本文描述的示例实施例,而不是为了限制本公开的范围。\n具体实施方式\n[0029] 概述\n[0030] 在AR/MR环境中,用户可能想要通过改变虚拟对象的位置或取向来重新定位虚拟对象。作为一个示例,用户可以在三维(3D)空间中移动虚拟对象并将虚拟对象附到用户环境中的物理对象。虚拟对象可以是二维(2D)或3D对象。例如,虚拟对象可以是平面2D电视显示器或3D虚拟咖啡壶。用户可以沿轨迹移动虚拟对象并且通过使用用户输入设备(例如,图腾(totem))和/或通过改变用户的姿势将虚拟对象附到物理对象。例如,用户可以移动用户输入设备以使虚拟电视(TV)屏幕从桌子移动到墙壁。类似地,AR系统可以允许用户利用头部姿势来选择并移动虚拟对象。当用户移动他的头部时,虚拟对象也移动并相应地定位和定向。\n[0031] 然而,3D空间中的虚拟对象的移动有时对于用户来说可能是有问题的,因为移动可能产生视错觉,这可能导致用户对其当前位置的混淆。例如,用户可能会对物体是否远离他或向他移动感到困惑。当用户与AR系统交互时,这些视错觉可能导致认知疲劳。\n[0032] 此外,当用户试图将虚拟对象放置在目的对象的表面上或目的对象的内部时,用户经常需要进行精细的移动以在3D空间中在多个方向上定向和定位虚拟对象,以使虚拟对象与目的对象对齐。例如,当用户将虚拟电视屏幕从桌子移动到墙壁时,用户可能需要定向虚拟屏幕,使得电视屏幕的表面法线面向用户(例如,由电视屏幕显示的内容面向用户而不是墙壁)。用户可以进一步定向虚拟屏幕,使得用户在观看虚拟TV屏幕时不必转动他的头部。另外,为了使虚拟TV屏幕看起来位于墙壁的顶部(而不是看起来嵌入到墙壁中),用户可能需要对虚拟TV屏幕的位置进行小的调整。这些操作可能是耗时的并且难以使用户精确地执行,并且可能导致用户的身体疲劳。\n[0033] 为了解决这些问题中的一些或全部,AR系统可以被配置为通过改变目标虚拟对象的位置或取向来自动重新定位目标虚拟对象。作为一个示例,当虚拟对象与目标对象之间的距离小于阈值距离时,AR系统可以定向目标虚拟对象并将目标虚拟对象附到目的对象。\nAR系统还可以通过就好像目标虚拟对象受到物理力(例如,诸如胡克定律的弹力、重力、粘合力、电磁力等)一样来移动虚拟对象以自动地重新定位目标虚拟对象。例如,当虚拟对象和目标对象在阈值距离内时,AR系统可以自动地将虚拟对象“捕捉(snap)”到目标对象上,就好像虚拟对象和目标对象由于吸引力而被吸引在一起(例如,模仿磁吸引或重力)。因此,AR系统可以在对象之间施加虚拟力,其中虚拟力模拟或充当对象之间的物理力。虽然在许多情况下虚拟(或模拟的物理)力可能是吸引的,但这不是限制,并且在其他情况下,虚拟(或模拟的物理)力可能是排斥的,倾向于使对象彼此远离。当放置目标虚拟对象使得其他附近的虚拟对象被从目标对象排斥(至少稍微地)时,排斥虚拟力可能是有利的,从而稍微移动以在其他附近的对象当中为目标虚拟对象的放置提供空间。\n[0034] AR系统可以进一步定向虚拟对象以使虚拟对象的表面法线与用户的凝视方向对准。作为示例,虚拟对象最初可以在用户的环境中浮动。用户可以指示意图(例如,通过身体姿势或用户输入设备的激活)以将虚拟对象移动到水平表面,例如桌面或地板。一旦虚拟对象足够靠近水平表面,AR系统可以模拟重力的效果并自动地将虚拟对象落到水平表面上而无需额外的用户努力。\n[0035] 在一些情况下,用户可能想要从虚拟对象所附到的对象来分离虚拟对象。AR系统可以模拟虚拟对象和对象之间的吸引力(例如,模拟磁体如何粘附到诸如冰箱的磁性表面或书如何位于水平桌子上),使得用户可能无法立即从对象中分离虚拟对象,除非用户提供了应该分离虚拟对象的充分指示。例如,用户可以用他的手或虚拟指示器“抓住”虚拟对象并“猛拉”对象(例如,通过用户的手位置或虚拟指示器位置的足够快速的改变)。分离虚拟对象的指示可以通过大于阈值条件的移动来指示(例如当移动超过阈值距离、阈值速度、阈值加速度或加速度的阈值变化率或其组合等时)。这可能是特别有利的,因为它降低了用户在与虚拟对象交互时意外地分离虚拟对象的可能性。作为示例,当用户使用附到墙壁的虚拟屏幕来玩游戏时,用户可能需要移动他的图腾以找到朋友或敌人或者与朋友或敌人交互。这种类型的游戏移动可以与用于使虚拟对象从墙壁分离的移动类型一致。通过仅在用户的移动足够高于合适的阈值的情况下从墙壁分离虚拟对象,在玩游戏期间不会无意地分离虚拟屏幕。另外,用户通常不能持续长时间段保持他的姿势或用户输入设备静止。结果,当用户不旨向分离虚拟对象时,虚拟对象可能由于用户的微小移动而被意外地分离。因此,通过仅在用户的移动足够高于合适的阈值的情况下分离虚拟对象,用户的轻微移动或抽动将不会无意地将虚拟对象从其预期位置或取向分离。\n[0036] 可穿戴系统的3D显示的示例\n[0037] 可穿戴系统(本文也称为增强现实(AR)系统)可以被配置为向用户呈现2D或3D虚拟图像。图像可以是静止图像、视频的帧或视频以及其组合等。可穿戴系统可以包括可穿戴设备,该可穿戴设备可以单独或组合地呈现VR、AR或MR环境以用于用户交互。可穿戴设备可以是可互换地用作AR设备(ARD)的头戴式设备(HMD)。此外,为了本公开的目的,术语“AR”可与术语“MR”交换地使用。\n[0038] 图1描绘了具有某些虚拟现实对象以及由人观看的某些物理对象的混合现实场景的示例。在图1中,描绘了MR场景100,其中MR技术的用户看到以人、树木、背景中的建筑物和混凝土平台120为特征的真实世界公园状设置110。除了这些项目之外,MR技术的用户同样感知到他“看到”站在真实世界平台120上的机器人雕像130,以及飞过的卡通式化身角色\n140,该化身角色140看起来是大黄蜂的化身,即使这些元素在真实世界中不存在。\n[0039] 为了使3D显示产生真实的深度感,更具体地,产生模拟的表面深度感,可能期望显示器视场中的每个点产生与其虚拟深度对应的调节(accommodative)响应。如果对显示点的调节响应未与该点的虚拟深度对应,如通过会聚和立体视觉的双目深度提示所确定的,则人眼可能经历调节冲突,导致不稳定的成像、有害的眼睛疲劳、头痛,以及在缺乏调节信息的情况下,几乎完全缺少表面深度。\n[0040] VR、AR和MR体验可以由具有显示器的显示系统提供,在显示器中,与多个深度平面对应的图像被提供给观看者。对于每个深度平面,图像可以是不同的(例如,提供场景或对象的略微不同的呈现),并且该图像可以由观看者的眼睛单独聚焦,从而有助于基于需要被聚焦到位于不同深度平面上的场景的不同图像特征的眼睛的调节或基于观察离焦的不同深度平面上的不同图像特征,为用户提供深度提示。如本文其他地方所讨论的,这种深度提示提供了可靠的深度感知。\n[0041] 图2示出了可穿戴系统200的示例。显示系统200包括显示器62、以及支持该显示器\n220的功能的各种机械和电子模块和系统。显示器220可以与框架230耦接,该框架可以由用户、佩戴者或观看者210佩戴。可以将显示器220定位在用户210的眼睛前方。显示器220可以向用户呈现AR/VR/MR内容。显示器220可以包括佩戴在用户的头部上的头戴式显示器。在一些实施例中,扬声器240被耦接到框架230并且位于用户的耳道附近(在一些实施例中,另一扬声器(未示出)位于用户的另一耳道附近以提供立体声/可塑形声音控制)。显示器220可以包括音频传感器(例如,麦克风),用于检测来自环境的音频流,其中语音识别要在该环境上执行。\n[0042] 可穿戴系统200可以包括观察用户周围的环境中的世界的面向外的成像系统464(如图4所示)。可穿戴系统200还可以包括能够跟踪用户的眼睛运动的面向内的成像系统\n462(如图4所示)。面向内的成像系统可以跟踪一只眼睛的运动或两只眼睛的运动。面向内的成像系统462可以附到框架230并且可以与处理模块260或270电通信,处理模块260或270可以处理由面向内的成像系统获取的图像信息以确定例如眼睛的瞳孔直径或取向、用户\n210的眼睛运动或眼睛姿态。\n[0043] 作为示例,可穿戴系统200可以使用面向外的成像系统464或面向内的成像系统\n462来获取用户姿态的图像。图像可以是静止图像、视频的帧或视频以及其组合等。\n[0044] 显示器220可以可操作地(诸如通过有线引线或无线连接)被耦接250到本地数据处理和模块260,本地数据处理和模块260可以以各种配置安装,诸如被固定地附到框架230上、被固定地附到由用户佩戴的头盔或帽子上、被嵌入头戴耳机内、或者其它的可拆卸地附到用户210(例如,以背包式配置、以带耦接式配置)。\n[0045] 本地处理和数据模块260可以包括硬件处理器以及诸如非易失性存储器(例如,闪速存储器)的数字存储器,这两者都可用于辅助处理、高速缓存和存储数据。该数据可以包括:a)从传感器(其例如可以可操作地耦接到框架230或者其它的可操作地附到用户210)捕捉的数据,所述传感器例如为图像捕捉设备(例如,面向内的成像系统或面向外的成像系统中的相机)、音频传感器(例如,麦克风)、惯性测量单元(IMU)、加速度计、罗盘、全球定位系统(GPS)单元、无线电设备或陀螺仪;或b)使用远程处理模块270或远程数据储存库280获取和/或处理的数据,这些数据可以在这样的处理或检索之后被传送到显示器220。本地处理和数据模块260可以诸如经由有线或无线通信链路可操作地通过通信链路262或264耦接到远程处理模块270或远程数据储存库280,使得这些远程模块可用作本地处理和数据模块\n260的资源。此外,远程处理模块280和远程数据储存库280可以可操作地彼此耦接。\n[0046] 在一些实施例中,远程处理模块270可以包括一个或多个处理器,这些硬件处理器被配置为分析和处理数据或图像信息。在一些实施例中,远程数据储存库280可以包括数字数据存储设施,该设施可以通过因特网或“云”资源配置中的其它网络配置而可用。在一些实施例中,在本地处理和数据模块中存储所有数据并且执行所有计算,从而允许从远程模块完全自主的使用。\n[0047] 人类视觉系统是复杂的并且提供对深度的真实感知是具有挑战性的。不受理论的限制,据信对象的观看者可能由于聚散和调节的组合而将对象感知为三维的。两只眼睛相对于彼此的聚散运动(即,瞳孔向着彼此或远离彼此以会聚眼睛的视线来注视对象的转动动作)与眼睛的晶状体的聚焦(或“调节”)紧密相关。在正常情况下,改变眼睛的晶状体的聚焦或者使眼睛调节以将聚焦从一个对象改变到位于不同距离处的另一对象,将会在被称为“调节‑聚散度反射(accommodation‑vergence reflex)”的关系下自动导致到相同距离的聚散度的匹配变化。同样,在正常情况下,聚散度的变化将引发调节的匹配变化。提供调节与聚散度之间的更好匹配的显示系统可以形成更逼真和更舒适的三维图像模拟。\n[0048] 图3示出了示出了使用多个深度平面模拟三维图像的方法的方面。参考图3,在z轴上距眼睛302和304的不同距离处的对象由眼睛302和304调节,以使得那些对象对焦(in focus)。眼睛302和304呈现特定的调节状态,以使沿着z轴的不同距离处的对象进入焦点。\n因此,可以说特定的调节状态与深度平面306中的特定一个深度平面相关联,该特定深度平面具有相关联的焦距,以使得当眼睛处于该深度平面的调节状态时,特定深度平面中的对象或对象的部分对焦。在一些实施例中,可以通过为眼睛302和304中的每一者提供图像的不同呈现来模拟三维图像,并且还可以通过提供与深度平面中每一个深度平面对应的图像的不同呈现来模拟三维图像。尽管为了清楚说明而示出为分离的,但应理解的是,例如,随着沿着z轴的距离增加,眼睛302和304的视场可以重叠。另外,虽然为了便于说明而示出为平坦的,但应理解的是,深度平面的外形可以在物理空间中是弯曲的,使得深度平面中的所有特征在特定的调节状态下与眼睛对焦。不受理论的限制,据信人类眼睛通常可以解释有限数量的深度平面以提供深度感知。因此,通过向眼睛提供与这些有限数量的深度平面中的每一个深度平面对应的图像的不同呈现,可以实现方式高度可信的感知深度模拟。\n[0049] 波导堆叠组件\n[0050] 图4示出了示出了用于向用户输出图像信息的波导堆叠的示例。可穿戴系统400包括可以用于采用多个波导432b、434b、436b、438b、4400b向眼睛/大脑提供三维感知的波导堆叠或堆叠波导组件480。在一些实施例中,可穿戴系统400可对应于图2的可穿戴系统200,其中图4更详细地示意性地示出了该可穿戴系统200的一些部分。例如,在一些实施例中,波导组件480可以集成到图2的显示器220。\n[0051] 继续参考图4,波导组件480可以还包括位于波导之间的多个特征458、456、454、\n452。在一些实施例中,特征458、456、454、452可以是透镜。在其他实施例中,特征458、456、\n454、452可以不是透镜。然而,它们可以简单地是隔离物(例如,用于形成气隙的覆层或结构)。\n[0052] 波导432b、434b、436b、438b、440b或多个透镜458、456、454、452可以被配置为以各种级别的波前曲率或光线发散向眼睛发送图像信息。每个波导级别可以与特定的深度平面相关联,并且可以被配置为输出与该深度平面对应的图像信息。图像注入设备420、422、\n424、426、428可以用于将图像信息注入到波导440b、438b、436b、434b、432b中,其中的每个波导可以被配置为分配入射光穿过每个相应的波导,用于向眼睛410输出。光离开图像注入设备420、422、424、426、428的输出表面并被注入到波导440b、438b、436b、434b、432b的相应输入边缘。在一些实施例中,可以将单个光束(例如,准直光束)注入到每个波导中,以便以与特定波导相关联的深度平面对应的特定角度(和发散量)输出朝向眼睛410定向的克隆准直光束的整个视场。\n[0053] 在一些实施例中,图像注入设备420、422、424、426、428是分立的显示器,每个显示器产生用于分别注入到相应波导440b、438b、436b、434b、432b中的图像信息。在一些其它实施例中,图像注入设备420、422、424、426、428是单个复用显示器的输出端,其可以例如经由一个或多个光导管(诸如,光纤线缆)向图像注入设备420、422、424、426、428中的每一个图像注入设备用管输送图像信息。\n[0054] 控制器460控制堆叠波导组件480和图像注入设备420、422、424、426、428的操作。\n在一些实施例中,控制器460包括编程(例如,非暂时性计算机可读介质中的指令),该编程调整图像信息到波导440b、438b、436b、434b、432b的定时和提供。在一些实施例中,控制器\n460可以是单个整体设备,或者是通过有线或无线通信通道连接的分布式系统。在一些实施例中,控制器460可以是处理模块260或270(在图2中示出)的部分。\n[0055] 波导440b、438b、436b、434b、432b可以被配置为通过全内反射(TIR)在每个相应的波导内传播光。波导440b、438b、436b、434b、432b可以各自是平面的或具有其它形状(例如,曲面的),其具有顶部主表面和底部主表面以及在这些顶部主表面与底部主表面之间延伸的边缘。在所示的配置中,波导440b、438b、436b、434b、432b可以各自包括光提取学元件\n440a、438a、436a、434a、432a,这些耦出光学元件被配置为通过将每一个相应波导内传播的光重新定向到波导外而将光提取到波导外,以向眼睛410输出图像信息。所提取的光也可以被称为耦出光,并且光提取光学元件也可以被称为耦出光学元件。所提取的光束在波导中传播的光照射到光重新定向元件。光提取光学元件(440a、438a、436a、434a、432a)可以例如为反射或衍射光学特征。虽然为了便于描述和清晰绘图起见而将其图示为设置在波导\n440b、438b、436b、434b、432b的底部主表面处,但是在一些实施例中,光提取光学元件440a、\n438a、436a、434a、432a可以设置在顶部和/或底部主表面处和/或可以直接设置在波导\n440b、438b、436b、434b、432b的体积中。在一些实施例中,光提取光学元件440a、438a、436a、\n434a、432a可以形成在被附到透明基板的材料层中以形成波导440b、438b、436b、434b、\n432b。在一些其它实施例中,波导440b、438b、436b、434b、432b可以是单片材料,并且光提取光学元件440a、438a、436a、434a、432a可以形成在该片材料的表面上或该片材料的内部中。\n[0056] 继续参考图4,如本文所讨论的,每个波导440b、438b、436b、434b、432b被配置为输出光以形成与特定深度平面对应的图像。例如,最接近眼睛的波导432b可以被配置为将如注入到这种波导432b中的准直光传送到眼睛410。准直光可以代表光学无限远焦平面。下一个上行波导434b可以被配置为将穿过第一透镜452(例如,负透镜)的准直光在其可以到达眼睛410之前发送出。第一透镜452可以被配置为产生轻微凸面的波前曲率,使得眼睛/大脑将来自下一个上行波导434b的光解释为来自第一焦平面,该第一焦平面从光学无限远处更靠近向内朝向眼睛410。类似地,第三上行波导436b使其输出光在到达眼睛410之前穿过第一透镜452和第二透镜454;第一和第二透镜452和454的组合光焦度(optical power)可被配置为产生另一增量的波前曲率,以使得眼睛/大脑将来自第三波导436b的光解释为来自第二焦平面,该第二焦平面从光学无穷远比来自下一个上行波导434b的光更靠近向内朝向人。\n[0057] 其它波导层(例如,波导438b、440b)和透镜(例如,透镜456、458)被类似地配置,其中堆叠中的最高波导440b通过它与眼睛之间的所有透镜发送其输出,用于代表最靠近人的焦平面的聚合焦度(aggregate focal power)。当在堆叠波导组件480的另一侧上观看/解释来自世界470的光时,为了补偿透镜458、456、454、452的堆叠,补偿透镜层430可以设置在堆叠的顶部处以补偿下面的透镜堆叠458、456、454、452的聚合焦度。这种配置提供了与可用波导/透镜配对一样多的感知焦平面。波导的光提取光学元件和透镜的聚焦方面可以是静态的(例如,不是动态的或电活性的)。在一些替代实施例中,两者之一或两者都可以是使用电活性特征而动态的。\n[0058] 继续参考图4,光提取光学元件440a、438a、436a、434a、432a可以被配置为将光重新定向到它们相应的波导之外并且针对与该波导相关联的特定深度平面输出具有适当的发散量或准直量的该光。结果,具有不同相关联深度平面的波导可具有不同的光提取光学元件的配置,这些耦出光学元件依赖于相关联的深度平面而输出具有不同发散量的光。在一些实施例中,如本文所讨论的,光提取光学元件440a、438a、436a、434a、432a可以是体积或表面特征,其可以被配置为以特定角度输出光。例如,光提取光学元件440a、438a、436a、\n434a、432a可以是体积全息图、表面全息图和/或衍射光栅。诸如衍射光栅光提取光学元件在2015年6月25日公开的美国专利公开No.2015/0178939中有所描述,该专利公开的全部内容通过引用合并于此。\n[0059] 在一些实施例中,光提取光学元件440a、438a、436a、434a、432a是形成衍射图案的衍射特征,或者说“衍射光学元件”(在此也称为“DOE”)。优选地,DOE具有相对低的衍射效率,以使得光束的仅一部分光通过DOE的每一个交点而偏转向眼睛410,而其余部分经由全内反射而继续移动通过波导。携带图像信息的光可以因此被分成多个相关的出射光束,这些出射光束在多个位置处离开波导,并且结果对于在波导内反弹的该特定准直光束是朝向眼睛304的相当均匀图案的出射发射。\n[0060] 在一些实施例中,一个或多个DOE可以在它们活跃地衍射的“开”状态与它们不显著衍射的“关”状态之间可切换。例如,可切换的DOE可以包括聚合物分散液晶层,其中微滴在主体介质中包含衍射图案,并且微滴的折射率可以被切换为基本上匹配主体材料的折射率(在这种情况下,图案不会明显地衍射入射光),或者微滴可以被切换为与主体介质的折射率不匹配的折射率(在这种情况下,该图案活跃地衍射入射光)。\n[0061] 在一些实施例中,深度平面或景深的数量和分布可以基于观看者的眼睛的瞳孔尺寸或取向动态地改变。景深可以与观看者的瞳孔尺寸成反比地改变。结果,随着观看者眼睛的瞳孔的尺寸减小,景深增加使得一个平面不可辨别,因为该平面的位置超出眼睛的焦深,随着瞳孔尺寸的减少和相应的景深增加,该平面可能变得可辨别并且看起来更加对焦。同样地,用于向观看者呈现不同图像的间隔开的深度平面的数量可以随着瞳孔尺寸的减小而减小。例如,在不调节眼睛离开一个深度平面并到另一个深度平面的调节的情况下,观看者可能无法以一个瞳孔尺寸清楚地感知第一深度平面和第二深度平面的细节。然而,这两个深度平面可以在不改变调节的情况下以另一瞳孔尺寸同时充分地对焦于用户。\n[0062] 在一些实施例中,显示系统可以基于瞳孔尺寸或取向的确定或者在接收到指示特定瞳孔尺寸或取向的电信号之后,改变接收图像信息的波导的数量。例如,如果用户的眼睛不能区分与两个波导相关联的两个深度平面,则控制器460(其可以是本地处理和数据模块\n260的实施例)可以被配置或编程为停止向这些波导中的一个提供图像信息。有利地,这可以减少系统上的处理负担,从而增加系统的响应性。在用于波导的DOE可在接通和断开状态之间切换的实施例中,当波导确实接收图像信息时,DOE可以切换到断开状态。\n[0063] 在一些实施例中,可以期望使出射光束满足直径小于观看者眼睛直径的条件。然而,考虑到观看者瞳孔尺寸的变化,满足这种条件可能是具有挑战性的。在一些实施例中,通过响应于观看者瞳孔的尺寸的确定而改变出射光束的尺寸,在宽范围的瞳孔尺寸上满足该条件。例如,随着瞳孔尺寸减小,出射光束的尺寸也可能减小。在一些实施例中,可以使用可变孔径来改变出射光束尺寸。\n[0064] 可穿戴系统400可包括对世界470的一部分成像的面向外的成像系统464(例如,数码相机)。世界470的该部分可被称为世界相机的视场(FOV),并且成像系统464有时被称为FOV相机。可供观看者观看或成像的整个区域可被称为注视场(field of regard)(FOR)。\nFOR可以包括围绕可穿戴系统400的4π球面度(steradian)立体角,因为佩戴者可以移动他的身体、头部或眼睛以基本上感知空间中的任何方向。在其他背景下,佩戴者的运动可能更加狭窄,因此佩戴者的FOR可以对着较小的立体角。从面向外的成像系统464获得的图像可用于跟踪用户做出的手势(例如,手或手指手势)、检测用户前方的世界470中的对象等等。\n[0065] 可穿戴系统400还可包括面向内的成像系统466(例如,数码相机),其观察用户的运动,诸如眼睛运动和面部运动。面向内的成像系统466可用于捕捉眼睛410的图像以确定眼睛410的瞳孔的尺寸和/或取向。面向内的成像系统466可用于获得用于确定用户正在看的方向的图像(例如,眼睛姿态)或用于用户的生物辨识的图像(例如,经由虹膜辨识)。在一些实施例中,每只眼睛可以利用至少一个相机,以分别单独地确定每只眼睛的瞳孔尺寸和眼睛姿态,从而允许向每只眼睛呈现图像信息以动态地为该眼睛设计。在一些其他实施例中,仅确定单个眼睛410的瞳孔直径或取向(例如,每对眼睛仅使用单个相机)并且假设用户的双眼是类似的。可以分析由面向内的成像系统466获得的图像以确定用户的眼睛姿态或情绪,这可以被可穿戴系统400使用来决定应该向用户呈现哪个音频或视觉内容。可穿戴系统400还可以使用诸如IMU、加速度计、陀螺仪等的传感器来确定头部姿态(例如,头部位置或头部取向)。\n[0066] 可穿戴系统400可以包括用户输入设备466,用户可以通过该用户输入设备466向控制器460输入命令以与系统400交互。例如,用户输入设备466可以包括轨迹垫\n(trackpad)、触摸屏、操纵杆、多自由度(DOF)控制器、电容感应设备、游戏控制器、键盘、鼠标、方向垫(D‑pad)、棒(wand)、触觉设备、图腾(例如,用作虚拟用户输入设备)等等。多DOF控制器可以感测控制器的一些或全部可能的平移(例如,左/右、前/后或上/下)或旋转(例如,偏航(yaw)、俯仰(pitch)或滚转(roll))中的用户输入。支持平移运动的多DOF控制器可以被称为3DOF,而支持平移和旋转的多DOF控制器可以被称为6DOF。在一些情况下,用户可以使用手指(例如,拇指)在触控敏感输入设备上按压或滑动以向可穿戴系统400提供输入(例如,向可穿戴系统400提供的用户界面提供用户输入)。在使用可穿戴系统400期间,用户输入设备466可以由用户的手握持。用户输入设备466可以与可穿戴系统400进行有线或无线通信。\n[0067] 图5示出了由波导输出的出射光束的示例。示出了一个波导,但是应该理解,波导组件480中的其它波导可以类似地起作用,其中波导组件480包括多个波导。光520在波导\n432b的输入边缘432c处被注入到波导432b中,并且通过TIR在波导432b内传播。在光5200照射在DOE 432a上的点处,一部分光如出射光束510离开波导。出射光束510被示出为基本上平行,但是依赖于与波导432b相关联的深度平面,出射光束510也可以以一角度(例如,形成发散的出射光束)被重新定向以传播到眼睛410。应该理解,基本上平行的出射光束可以指示具有光提取光学元件的波导,所述耦出光学元件将光耦出以形成看起来被设置在距眼睛\n410较大距离(例如,光学无穷远)处的深度平面上的图像。其它波导或者其它光提取光学元件组可以输出更加发散的出射光束图案,这将需要眼睛410调节更近距离以将其聚焦在视网膜上并且将被大脑解释为来自比光学无穷远更接近眼睛410的距离的光。\n[0068] 图6是示出光学系统的示意图,该光学系统包括波导设备、将光光学耦合到波导设备或光学耦合来自波导设备的光的光学耦合器子系统以及控制子系统,用于产生多焦点体积显示、图像或光场。光学系统可以包括波导设备、将光光学耦合到波导设备或光学耦合来自波导设备的光的光学耦合器子系统以及控制子系统。光学系统可用于产生多焦点体积、图像或光场。光学系统可以包括一个或多个主平面波导632a(图6中仅示出一个)和与至少一些主波导632a中的每一个相关联的一个或多个DOE 632b。平面波导632b可以类似于参考图4讨论的波导432b、434b、436b、438b、440b。光学系统可采用分布波导设备,以沿第一轴(图6的视图中的垂直或Y轴)中继(relay)光并沿第一轴(例如,Y轴)扩展光的有效出射光瞳。分布波导设备可以例如包括分布平面波导622b和与分布平面波导622b相关联的至少一个DOE 622a(由双点划线示出)。分布平面波导3在至少一些方面可以与主平面波导1相似或相同,具有与其不同的取向。同样地,所述至少一个DOE 622a在至少一些方面可以与DOE \n632a相似或相同。例如,分布平面波导622b或DOE 622a可以分别由与主平面波导632b或DOE \n632a相同的材料构成。图6所示的光学显示系统600的实施例可以集成到图2所示的可穿戴系统200中。\n[0069] 中继和出射光瞳扩展光可以被从分布波导设备光学耦合到一个或多个主平面波导632b中。主平面波导632b可以沿第二轴中继光,该第二轴优选地与第一轴正交,(例如,考虑图6的水平或X轴)。值得注意的是,第二轴可以是与第一轴的非正交轴。主平面波导632b沿着第二轴(例如,X轴)扩展光的有效出射光瞳。例如,分布平面波导622b可以沿垂直或Y轴中继和扩展光,并将该光传递到可以沿水平或X轴中继和扩展光的主平面波导632b。\n[0070] 光学系统可以包括一个或多个彩色光源(例如,红色、绿色和蓝色激光)610,其可以光学耦合到单模光纤640的近端。光纤640的远端可以通过压电材料的中空管642穿过或接收。远端作为固定的自由柔性悬臂644从管642突出。压电管642可以与四个象限电极(未示出)相关联。例如,电极可以镀在管642的外部、外表面或外周或直径上。芯电极(未示出)也可以位于管642的芯、中心、内周或内径中。\n[0071] 例如经由导线660电耦合的驱动电子器件650驱动相对的电极对以独立地在两个轴上弯曲压电管642。光纤644的突出远端尖端具有机械共振模式。共振频率可以取决于光纤644的直径、长度和材料特性。通过在光纤悬臂644的第一机械共振模式附近振动压电管\n642,可以使光纤悬臂644振动,并且可以扫过(sweep)大的偏转(deflection)。\n[0072] 通过在两个轴上刺激共振,在面积填充二维(2D)扫描中双轴扫描光纤悬臂644的尖端。通过与光纤悬臂644的扫描同步地调制光源610的强度,从光纤悬臂644出射的光可以形成图像。在美国专利公开No.2014/0003762中提供了对这种设置的描述,该公开的全部内容通过引用合并于此。\n[0073] 光耦合器子系统的部件可以使从扫描光纤悬臂644射出的光准直。准直光可以被镜面648反射到包含至少一个衍射光学元件(DOE)622a的窄分布平面波导622b中。准直光可以通过TIR沿着分布平面波导622b垂直地(相对于图6的视图)传播,由此与DOE 622a重复交叉。DOE 622a优选地具有低衍射效率。这导致光的部分(例如,10%)在与DOE 622a的每个交叉点处朝向较大的主平面波导632b的边缘衍射,并且光的部分经由TIR继续在其原始轨迹上向下行进分布平面波导622b的长度。\n[0074] 在与DOE 622a的每个交叉点处,附加光可以朝向主波导632b的入口衍射。通过将入射光分成多个耦出(outcouple)组,光的出射光瞳可以在分布平面波导622b中被DOE \n622a垂直扩展。这种从分布平面波导622b耦出的垂直扩展的光可以进入主平面波导632b的边缘。\n[0075] 进入主波导632b的光可以经由TIR沿着主波导632b水平传播(相对于图6的视图)。\n由于光在多个点处与DOE 632a相交,它经由TIR沿着主波导632b的至少部分长度水平传播。\nDOE 632a可以有利地被设计或被配置为具有相位轮廓,该相位轮廓是线性衍射图案和径向对称衍射图案的总和,以产生光的偏转和聚焦。DOE 632a可以有利地具有低衍射效率(例如,10%),使得在DOE 632a的每个交叉点处光束的仅部分光朝向视图的眼睛偏转,而其余的光继续经由TIR传播通过主波导632b。\n[0076] 在传播光和DOE 632a之间的每个交叉点处,部分光朝向允许光从TIR逸出的主波导632b的相邻面衍射,并从主波导632b的面出射。在一些实施例中,DOE 632a的径向对称衍射图案另外赋予衍射光的聚焦水平,使单个光束的光波前成形(例如,赋予曲率)以及以与设计的聚焦水平相匹配的角度操纵光束。\n[0077] 因此,这些不同的路径可以使光通过多个DOE 632a从主平面波导632b耦出,所述多个DOE 632a具有不同的角度、聚焦水平或在出射光瞳处产生不同的填充图案。出射光瞳处的不同填充图案可以有利地用于创建具有多个深度平面的光场显示。波导组件中的每个层或堆叠中的一组层(例如,3层)可用于产生相应的颜色(例如,红色、蓝色、绿色)。由此,例如,可以采用第一组三个相邻层在第一焦深处分别产生红色、蓝色和绿色光。可以采用第二组三个相邻层在第二焦深处分别产生红色、蓝色和绿色光。可以采用多个组来生成具有各种焦深的全3D或4D彩色图像光场。\n[0078] 可穿戴系统的其他组件\n[0079] 在许多实现方式中,可穿戴系统可以包括除上述可穿戴系统的组件之外或作为其替代的其他组件。可穿戴系统可以例如包括一个或多个触觉设备或组件。触觉设备或组件可用于向用户提供触感。例如,当触摸虚拟内容(例如,虚拟对象、虚拟工具、其他虚拟构造)时,触觉设备或组件可以提供压力或纹理的触感。触感可以复制虚拟对象所代表的物理对象的感觉或者可以复制虚拟内容所代表的想象的对象或角色(例如,龙)的感觉。在一些实现方式中,用户可以佩戴触觉设备或组件(例如,用户可穿戴的手套)。在一些实现方式中,触觉设备或组件可以由用户持有。\n[0080] 可穿戴系统可以例如包括一个或多个物理对象,这些物理对象可由用户操纵以允许与可穿戴系统的输入或交互。这些物理对象在此可以称为图腾。一些图腾可以采用无生命对象的形式,诸如例如,一件金属或塑料、墙壁、桌子的表面。在某些实现方式中,图腾实际上可能不具有任何物理输入结构(例如,键、触发器、操纵杆、轨迹球、摇杆开关)。相反,图腾可以仅提供物理表面,并且可穿戴系统可以渲染用户界面,以使用户看起来在图腾的一个或多个表面上。例如,可穿戴系统可以使计算机键盘和触控板的图像渲染为看起来位于图腾的一个或多个表面上。例如,可穿戴系统可以使虚拟计算机键盘和虚拟触控板渲染为看起来在用作图腾的矩形薄铝板的表面上。该矩形板本身没有任何物理键或触控板或传感器。然而,由于经由虚拟键盘和/或虚拟触控板进行选择或输入,因此可穿戴系统可以借助该矩形板检测到用户操纵或交互或触摸。用户输入设备466(图4中所示)可以是图腾的实施例,其可以包括触控板、触摸板、触发器、操纵杆、轨迹球、摇杆或虚拟开关、鼠标、键盘、多自由度控制器或其他物理输入设备。用户可以单独或与姿态组合使用图腾来与可穿戴系统或其他用户交互。\n[0081] 在美国专利公开No.2015/0016777中描述了可与本公开的可穿戴设备、HMD和显示系统一起使用的触觉设备和图腾的示例,其全部内容通过引用并入此文。\n[0082] 示例可穿戴系统、环境和界面\n[0083] 可穿戴系统可以采用各种映射相关技术,以便在渲染的光场中实现方式高景深。\n在映射出虚拟世界时,了解真实世界中的所有特征和点以准确地描绘与真实世界相关的虚拟对象是有利的。为此,通过包括传送关于真实世界的各种点和特征的信息的新图片,可以将从可穿戴系统的用户捕捉的FOV图像添加到世界模型。例如,可穿戴系统可以收集映射点的组(诸如2D点或3D点)并找到新的映射点以渲染世界模型的更准确的版本。可以将第一用户的世界模型(例如,通过诸如云网络的网络)传送给第二用户,使得第二用户可以体验第一用户周围的世界。\n[0084] 图7是MR环境700的示例的框图。MR环境700可以被配置为接收来自一个或多个用户可穿戴系统(例如,可穿戴系统200或显示系统220)或固定室内系统(例如,室内相机等)的输入(例如,来自用户的可穿戴系统的视觉输入702、诸如室内相机的固定输入704、来自各种传感器的感觉输入706、手势(gesture)、图腾、眼睛跟踪、来自用户输入设备466的用户输入等)。可穿戴系统可以使用各种传感器(例如,加速度计、陀螺仪、温度传感器、运动传感器、深度传感器、GPS传感器、面向内的成像系统、面向外的成像系统等)来确定用户的环境的位置和各种其他属性。该信息可以进一步被补充有来自室内中的固定相机的信息,其可以从不同的视点提供图像或各种提示。由相机(诸如室内相机和/或面向外的成像系统的相机)获取的图像数据可以被减少为映射点的组。\n[0085] 一个或多个对象识别器708可以爬行通过所接收的数据(例如,点的集合)并且在映射数据库710的帮助下识别或映射点、标记图像、将语义信息附到对象。映射数据库710可以包括随时间收集的各种点及其对应的对象。各种设备和映射数据库可以通过网络(例如,LAN、WAN等)彼此连接以访问云。\n[0086] 基于该信息和映射数据库中的点的集合,对象识别器708a至708n可以识别环境中的对象。例如,对象识别器可以识别面部、人、窗、墙壁、用户输入设备、电视、文件(例如,本文安全性示例中描述的旅行票、驾驶执照、护照)、用户环境中的其他对象等。一个或多个对象识别器可以专用于具有某些特性的对象。例如,对象识别器708a可以用于识别面部,而另一个对象识别器可以用于识别文件。\n[0087] 可以使用各种计算机视觉技术来执行对象识别。例如,可穿戴系统可以分析由面向外的成像系统464(图4中所示)获取的图像以执行场景重建、事件检测、视频跟踪、对象识别(例如,人或文件)、对象姿态估计、面部识别(例如,来自环境中的人或文件上的图像)、学习、索引、运动估计或图像分析(例如,辨识文件内的记号(indicia),诸如照片、签名、身份证明信息、旅行信息等)等等。可以使用一个或多个计算机视觉算法来执行这些任务。计算机视觉算法的非限制性示例包括:标度(scale)不变特征变换(SIFT)、加速稳健(robust)特征(SURF)、定向(orient)FAST和旋转BRIEF(ORB)、二进制稳健不变可缩放关键点(BRISK)、快速视网膜关键点(FREAK)、维奥拉‑琼斯(Viola‑Jones)算法、特征脸(Eigenfaces)方法、卢卡斯‑堪纳德(Lucas‑Kanade)算法、霍恩‑申克(Horn‑Schunk)算法、均值平移(Mean‑shift)算法、视觉同步定位和映射(vSLAM)技术、序贯(sequential)贝叶斯估计器(例如,卡尔曼滤波器、扩展卡尔曼滤波器等)、束调整、自调节阈值(和其他阈值技术)、迭代最近点(ICP)、半全局匹配(SGM)、半全局块匹配(SGBM)、特征点直方图、各种机器学习算法(诸如,支持向量机、k‑最近邻算法、朴素贝叶斯、神经网络(包括卷积或深度神经网络)、或其他有监督/无监督模型等)等等。\n[0088] 附加地或可选地,对象识别可以通过各种机器学习算法来执行。一旦经过训练,机器学习算法就可以由HMD存储。机器学习算法的一些示例可以包括监督或非监督机器学习算法,其包括回归算法(例如,普通最小二乘回归)、基于实例的算法(例如,学习向量量化)、决策树算法(例如,分类和回归树)、贝叶斯算法(例如,朴素贝叶斯)、聚类算法(例如,k均值聚类)、关联规则学习算法(例如,先验(a‑priori)算法)、人工神经网络算法(例如,感知器)、深度学习算法(例如,深度玻尔兹曼机或深度神经网络)、维数减少算法(例如,主成分分析)、集成算法(例如,层叠泛化)和/或其他机器学习算法。在一些实施例中,可以针对各个数据组定制各个模型。例如,可穿戴设备可以产生或存储基础模型。基本模型可以用作起点以产生特定于数据类型(例如,遥现会话中的特定用户)、数据组(例如,遥现会话中的用户的获得的附加图像的组)、条件情况或其他变体的附加模型。在一些实施例中,可穿戴HMD可以被配置为利用多种技术来产生用于分析聚合数据的模型。其他技术可包括使用预限定的阈值或数据值。\n[0089] 基于该信息和映射数据库中的点的集合,对象识别器708a至708n可以识别对象并用语义信息补充对象以赋予对象生命。例如,如果对象识别器将点的组识别为门,则系统可以附加一些语义信息(例如,门具有铰链并且具有围绕铰链的90度运动)。如果对象识别器将点的组识别为镜子,则系统可以附加该镜子具有可以反射室内对象的图像的反射表面的语义信息。语义信息可以包括如本文所述的对象的功能可见性。例如,语义信息可以包括对象的法线。系统可以分配向量,该向量的方向指示对象的法线。随着时间的推移,映射数据库随着系统(可以驻留在本地或可以通过无线网络访问)累积来自世界的更多数据而增长。\n一旦识别出对象,就可以将信息发送到一个或多个可穿戴系统。例如,MR环境700可以包括关于在加利福尼亚发生的场景的信息。环境700可以被发送到纽约的一个或多个用户。基于从FOV相机和其他输入接收的数据,对象识别器和其他软件组件可以映射从各种图像收集的点、识别对象等,使得场景可以被准确地“传递”给可能位于世界的不同地方的第二用户。\n环境700也可以使用拓扑图来用于本地化的目的。\n[0090] 图8是渲染与识别的对象相关的虚拟内容的方法800的示例的过程流程图。方法\n800描述了如何将虚拟场景呈现给可穿戴系统的用户。用户可能在地理上远离场景。例如,用户可能位于纽约,但可能想要查看当前正在加利福尼亚进行的场景或者可能想要与居住在加利福尼亚的朋友一起散步。\n[0091] 在框810处,可穿戴系统可以从用户和其他用户接收关于用户的环境的输入。这可以通过各种输入设备和映射数据库中已经拥有的知识来实现方式。在框810处,用户的FOV相机、传感器、GPS、眼睛跟踪等将信息传送给系统。在框820处,系统可以基于该信息确定稀疏点。稀疏点可以用于确定姿态数据(例如,头部姿态、眼睛姿态、身体姿态或手姿势),以可用于显示和理解用户周围环境中各种对象的取向和位置。在框830处,对象识别器708a‑\n708n可以爬行通过这些收集的点并使用映射数据库识别一个或多个对象。然后,在框840处,可以将该信息传送给用户的个人可穿戴系统,以及在框850处,可以相应地将期望的虚拟场景显示给用户。例如,可以相对于各种对象和纽约的用户的其他周围环境以适当的取向、位置等显示期望的虚拟场景(例如,CA中的用户)。\n[0092] 图9是可穿戴系统的另一示例的框图。在该示例中,可穿戴系统900包括映射,该映射可以包括关于世界的映射数据。该映射可以部分地本地驻留在可穿戴系统上,并且可以部分地驻留在可由有线或无线网络访问的网络存储位置(例如,在云系统中)。姿态过程910可以在可穿戴计算架构(例如,处理模块260或控制器460)上执行,并利用来自映射的数据以确定可穿戴计算硬件或用户的位置和取向。可以从用户正在体验系统并在世界中操作时即时收集的数据中计算姿态数据。数据可以包括图像、来自传感器(诸如惯性测量单元,其通常包括加速度计和陀螺仪组件)的数据和与真实或虚拟环境中的对象相关的表面信息。\n[0093] 稀疏点表示可以是同时定位和映射(例如,SLAM或vSLAM,指的是其中输入仅是图像/视觉的配置)过程的输出。该系统可以被配置为不仅可以找出世界上各种组件的位置,而且还可以找出世界由什么组成。姿态可以是实现方式许多目标的构建块,包括填充(populate)映射和使用映射中的数据。\n[0094] 在一个实施例中,稀疏点位置本身可能不完全足够,并且可能需要进一步的信息来产生多焦点AR、VR或MR体验。通常表示为深度映射信息的密集表示可以用于至少部分地填充该间隙。可以从称为立体940的过程计算这样的信息,其中使用诸如三角测量或飞行时间感测的技术来确定深度信息。图像信息和活动图案(诸如使用活动投影仪创建的红外图案)可以用作立体过程940的输入。可以将大量深度映射信息融合在一起,并且可以用表面表示来概括其中的一些。例如,数学上可限定的表面可以是有效的(例如,相对于大点云)并且可以是对诸如游戏引擎的其他处理设备的可消化的输入。因此,立体过程的输出(例如,深度映射)940可以在融合过程930中组合。姿态950也可以是该融合过程930的输入,并且融合930的输出成为填充映射过程920的输入。子表面可以彼此连接,诸如在地形映射中,以形成更大的表面,并且映射变成点和表面的大混合。\n[0095] 为了解决混合现实过程960中的各个方面,可以使用各种输入。例如,在图9所示的实施例中,游戏参数可以是输入以确定系统的用户正在与各个位置处的一个或多个怪物、在各种条件下死亡或逃跑(诸如如果用户射击怪物)的怪物、墙壁或者在不同位置处的其他对象等玩怪物战斗游戏。世界映射可以包括关于这些对象相对于彼此的位置的信息,以作为混合现实的另一个有价值的输入。相对于世界的姿态也成为输入,并且几乎对任何交互系统起着关键作用。\n[0096] 来自用户的控制或输入是到可穿戴系统900的另一输入。如本文所述,用户输入可包括视觉输入、手势、图腾、音频输入、感官输入等。为了在周围移动或玩游戏,例如,用户可能需要向可穿戴系统900指示关于他或她想要做什么。除了在空间中移动自己之外,还可以使用各种形式的用户控制。在一个实施例中,图腾(例如,用户输入设备)或诸如玩具枪的对象可由用户握持并由系统跟踪。该系统优选地将被配置为知道用户正在握持物品并且理解用户与物品进行何种交互(例如,如果图腾或对象是枪,则系统可以被配置为理解位置和取向以及用户是否正在点击触发器或其他可能配备有例如IMU的传感器的感测按钮或元件,这可能有助于确定正在发生的事情,即使此类活动不在任何相机的视场之内)。\n[0097] 手姿势跟踪或识别也可以提供输入信息。可穿戴系统900可以被配置为跟踪和解释用于按钮按压、用于向左或向右作出手势、停止、抓取、握持等的手姿势。例如,在一种配置中,用户可能想要在非游戏环境中翻阅电子邮件或日历或者与其他人或玩家做“拳头碰撞”。可穿戴系统900可以被配置为利用最小量的手姿势,其可以是动态的,也可以不是动态的。例如,手姿势可以是简单的静态姿势,例如,用于停止的张开手、用于表示好(ok)的拇指向上、用于表示不好的拇指向下、或者用于方向命令的用手向右或向左或向上/向下翻转。\n[0098] 眼睛跟踪是另一输入(例如,跟踪用户正在看的位置以控制显示技术以在特定深度或范围渲染)。在一个实施例中,可以使用三角测量来确定眼睛的聚散,然后使用为该特定人物开发的聚散/调节模型,可以确定调节。眼睛跟踪可以由眼睛相机执行以确定眼睛注视(例如,一只或两只眼睛的方向或取向)。其他技术可用于眼睛跟踪,诸如例如通过放置在眼睛附近的电极测量电位(例如,电眼图)。\n[0099] 语音识别可以是另一输入,其可以单独使用或与其他输入(例如,图腾跟踪、眼睛跟踪、手势跟踪等)组合使用。系统900可以包括从环境接收音频流的音频传感器(例如,麦克风)。可以处理所接收的音频流(例如,通过处理模块260、270或中央服务器1650)以(从其他语音或背景音频)识别用户的语音,以从音频流中提取命令、参数等。例如,系统900可以从音频流中辨识出已说出短语“示出你的身份证明”、辨识出该短语是由系统900的佩戴者说的(例如,安全检查员而不是检查员的环境中的另一个人)、以及从短语和情境的背景(例如,安全检查点)中提取其中存在要被执行的可执行命令(例如,对佩戴者的FOV中的某些事物的计算机视觉分析)以及该命令要在什么对象(“你的身份证明”)上执行。系统900可以结合说话者识别技术以确定谁在说话(例如,语音是否来自ARD的佩戴者或者来自另一个人或语音(例如,由环境中的扬声器发送的被记录的语音)),以及可以结合语音识别技术以确定所说的内容。语音识别技术可以包括频率估计、隐马尔可夫模型、高斯混合模型、模式匹配算法、神经网络、矩阵表示、向量量化,说话者分类(diarisation)、决策树和动态时间规整(DTW)技术。语音识别技术还可以包括反说话者(anti‑speaker)技术,诸如群组模型和世界模型。频谱特征可用于表示说话者特性。\n[0100] 关于相机系统,图9中所示的示例性可穿戴系统900包括三对相机:相对宽的FOV或被动SLAM相机对,其布置在用户的脸部的侧面;定向在用户的前方的不同的相机对以处理立体成像过程940并且还用于捕捉在用户面部的前方的手姿势和图腾/对象跟踪。FOV相机和用于立体过程940的相机对可以是面向外的成像系统464(如图4所示)的一部分。可穿戴系统900可包括定向朝向用户的眼睛的眼睛跟踪相机(其可以是图4中所示的面向内的成像系统462的一部分),以便对眼睛向量和其他信息进行三角测量。可穿戴系统900还可以包括一个或多个纹理光投影仪(诸如红外(IR)投影仪)以将纹理注入场景中。\n[0101] 图10是用于确定到可穿戴系统的用户输入的方法1000的示例的过程流程图。在该示例中,用户可以与图腾交互。用户可能具有多个图腾。例如,用户可能已经指定了用于社交媒体应用的一个图腾以及用于玩游戏的另一个图腾等。在框1010处,可穿戴系统可以检测图腾的运动。可以通过面向外的成像系统识别图腾的运动,或者可以通过传感器(例如,触觉手套、图像传感器、手跟踪设备、眼睛跟踪相机、头部姿态传感器等)来检测图腾的运动。\n[0102] 在框1020处,至少部分地基于检测到的手势、眼睛姿态、头部姿态或通过图腾的输入,可穿戴系统检测图腾(或用户的眼睛或头部或手势)相对于参考帧的位置、取向或运动。\n参考帧(reference frame)可以是映射点的组,可穿戴系统基于该映射点的组将图腾(或用户)的运动转换为动作或命令。在框1030处,映射用户与图腾的交互。基于用户交互相对于参考帧1020的映射,系统在框1040处确定用户输入。\n[0103] 例如,用户可以来回移动图腾或物理对象以表示翻起虚拟页面并移动到下一页面或从一个用户界面(UI)显示屏幕移动到另一UI屏幕。作为另一示例,用户可移动他们的头部或眼睛以查看用户的FOR中的不同真实或虚拟对象。如果用户对特定真实或虚拟对象的注视长于阈值时间,则可以选择该真实或虚拟对象作为用户输入。在一些实现方式中,可以跟踪用户眼睛的聚散度,并且可以使用调节/聚散模型来确定用户眼睛的调节状态,这提供关于用户正在聚焦的深度平面上的信息。在一些实现方式中,可穿戴系统可以使用射线投射技术来确定哪个真实或虚拟对象沿着用户的头部姿态或眼睛姿态的方向。在各种实现方式中,射线投射技术可以包括投射具有显著小的横向宽度的薄的、笔形射线或投射具有显著大的横向宽度的射线(例如,锥体或平截头体(frustum))。\n[0104] 用户界面可以由显示系统投影,如本文所述(诸如图2中的显示器220)。它还可以使用各种其他技术显示,诸如一个或多个投影仪。投影仪可以将图像投影到诸如帆布或球状物的物理对象上。可以使用对于系统为外部的或对于系统的一部分为外部的一个或多个相机(诸如例如使用面向内的成像系统462或面向外的成像系统464)来跟踪与用户界面的交互。\n[0105] 图11是用于与虚拟用户界面交互的方法1100的示例的过程流程图。方法1100可以由本文描述的可穿戴系统执行。可穿戴系统可以使用方法1100的实施例来检测可穿戴系统的FOV中的人或文件。\n[0106] 在框1110处,可穿戴系统可辨识特定UI。UI的类型可以由用户预先确定。可穿戴系统可以基于用户输入(例如,手势、视觉数据、音频数据、感觉数据、直接命令等)辨识需要被填充的特定UI。该UI可以专用于安全场景,在该场景中,系统的佩戴者正在观察向佩戴者提供文件的用户(例如,在旅行检查点处)。在框1120处,可穿戴系统可以产生用于虚拟UI的数据。例如,可以产生与限制、一般结构、UI的形状等相关联的数据。另外,可穿戴系统可以确定用户的物理位置的映射坐标,使得可穿戴系统可以显示与用户的物理位置相关的UI。例如,如果UI是以身体为中心的,则可穿戴系统可以确定用户的身体立姿(stance)、头部姿态或眼睛姿态的坐标,使得可以在用户周围显示环形UI或者可以在墙壁上或在用户前方显示平面UI。在本文描述的安全性背景中,UI可以被显示为好像UI围绕正在向系统的佩戴者提供文件的旅行者,使得佩戴者可以在查看旅行者和旅行者的文件的同时容易地观看UI。如果UI是以手中心的,则可以确定用户的手的映射坐标。这些映射点可以通过借助FOV相机接收的数据、感觉输入或任何其他类型的收集的数据而被导出。\n[0107] 在框1130处,可穿戴系统可以从云向显示器发送数据或者数据可以被从本地数据库发送到显示组件。在框1140处,基于发送的数据向用户显示UI。例如,光场显示器可以将虚拟UI投影到用户眼睛中的一个或两个中。一旦创建了虚拟UI,在框1150处,可穿戴系统可以简单地等待来自用户的命令以在虚拟UI上产生更多虚拟内容。例如,UI可以是围绕用户身体或者用户环境中的人(例如,旅行者)的身体的以身体为中心的环。然后,可穿戴系统可等待命令(手势、头部或眼睛运动、语音命令、来自用户输入设备的输入等),并且如果被识别出(框1160),则与该命令相关联的虚拟内容可以被显示给用户(框1170)。\n[0108] 可穿戴系统、UI和用户体验(UX)的附加示例在公开号为No.2015/0016777的美国专利公开中描述,其通过引用整体并入本文。\n[0109] 用户环境中的示例对象\n[0110] 如参考图4所述,增强现实设备(ARD)的用户可以具有注视场(FOR),其包括能够被用户经由AR系统感知的位于用户周围的环境的一部分。对于头戴式ARD,FOR可以包括围绕佩戴者的基本上全部4π球面度立体角,因为佩戴者可以移动她的身体、头部或眼睛以基本上感知空间中的任何方向。在其他背景下,佩戴者的运动可能更加狭窄,因此佩戴者的FOR可以对着较小的立体角。\n[0111] FOR可以包含能够由用户经由ARD感知的一组对象。对象可以是虚拟和/或物理对象。虚拟对象可以包括操作系统对象,例如用于删除的文件的回收站、用于输入命令的终端、用于访问文件或目录的文件管理器、图标、菜单、用于音频或视频流的应用、来自操作系统的通知等。虚拟对象还可以包括应用中的对象,例如化身、小部件(例如,时钟的虚拟表示)、游戏中的虚拟对象、图形或图像等。一些虚拟对象可以是操作系统对象和应用中的对象。\n[0112] 虚拟对象可以是三维(3D)、二维(2D)或一维(1D)对象。例如,虚拟对象可以是3D咖啡杯(其可以代表实体咖啡机的虚拟控制)。虚拟对象还可以是向用户显示当前时间的时钟的2D图形表示。在一些实现方式中,可以在另一虚拟对象内(或与另一虚拟对象相关联)显示一个或多个虚拟对象。例如,虚拟咖啡杯可以显示在用户界面平面内,尽管虚拟咖啡杯看起来是3D的而用户界面平面可能看起来是2D的。\n[0113] 在一些实施例中,虚拟对象可以与物理对象相关联。例如,如图12B所示,虚拟书\n1220可以看起来位于桌子1242的顶部。用户可以与虚拟书1220交互(例如,阅读和翻动页面),就像它是桌子1242上的实体书一样。作为另一示例,虚拟立柜应用可以与用户的FOR中的镜子相关联。当用户位于镜子附近时,用户可以能够与虚拟立柜应用交互,该虚拟立柜应用允许用户使用ARD模拟不同服装的外观。\n[0114] 用户的FOR中的对象可以是参考图1描述的世界模型的一部分。与对象相关联的数据(例如,位置、语义信息、属性等)可以以例如阵列、列表、树、散列、图形等的各种数据结构存储。在适用的情况下,每个存储对象的索引可以例如通过对象的位置来确定。例如,数据结构可以通过例如对象距基准位置的距离(例如,到基准位置的左侧(或右侧)有多远、距基准位置的顶部(或底部)有多远或距基准位置多远的深度方向)的单个坐标来索引对象。在ARD包括能够在相对于用户的不同深度平面处显示虚拟对象的光场显示器的情况下,虚拟对象可以被组织成位于不同的固定深度平面的多个阵列。在一些实现方式中,环境中的对象可以以向量形式表示,其可以用于计算虚拟对象的位置和移动。例如,对象可以具有原点、重力方向上的向下向量和对象的表面法线方向上的前向向量。例如,显示器(例如,虚拟TV)的表面法线可以指示能够沿其观看显示图像的方向(而不是能够沿其看到显示器背面的方向)。AR系统可以计算两个向量的分量之间的差异,从而确定与两个向量相关联的对象之间的空间关系。AR系统还可以使用该差异来计算一个对象要位于其他对象的顶部(或内部)需要的移动量。\n[0115] 移动虚拟对象的示例\n[0116] 用户可以与用户的FOR中的对象的子集交互。该对象的子集有时可被称为可交互对象。用户可以通过执行用户界面操作来与可交互对象交互,该用户界面操作例如为选择或移动可交互对象、致动与可交互对象相关联的菜单、选择要使用可交互对象执行的操作等。如在AR/VR/MR世界中显然的,虚拟对象的移动不涉及虚拟对象的实际物理移动,因为虚拟对象是计算机生成的图像而不是物理对象。\n[0117] 用户可以单独或组合地在用户输入设备上使用头部姿势、眼睛姿势、身体姿势、语音命令或手势来执行各种用户界面操作。例如,用户可以通过使用手势来致动用户输入设备(参见例如图4中的用户输入设备466)而与可交互对象交互,例如,单独或组合地通过点击鼠标、轻敲触摸板、在触摸屏上滑动、在触摸电容式按钮之上悬停或触摸电容式按钮、按键盘或游戏控制器上的键(例如,5向(way)方向垫)、将操纵杆、杖或图腾指向对象、按下遥控控制上的按钮或与用户输入设备的其他交互。用户还可以使用头部、眼睛或身体姿势与可交互对象交互,例如,凝视或指向对象持续时间段、摆动(title)头部、在对象处挥动等。\n[0118] 在一些实现方式中,AR系统可以提供指示目标对象的位置的焦点指示符(诸如图\n14A‑14D和图15A‑15H中所示的焦点指示符1450)(参见例如图14A中的焦点指示符)。焦点指示符还可以用于显示用户输入设备的当前位置或用户的姿势(参见例如图15D中的焦点指示符)。除了提供位置指示或作为其替代,焦点指示符还可以提供目标对象、用户输入设备或用户姿势的取向的指示。例如,焦点指示符可以包括光晕、颜色、感知到的大小或深度变化(例如,使得目标对象在被选择时看起来更接近和/或更大)、光标的图形表示(诸如标线)或引起用户注意的其他听觉、触觉或视觉效果。焦点指示符可以表现示为可以包括静止帧图像或动画的1D、2D或3D图像。\n[0119] 作为由AR系统呈现焦点指示符的示例,当用户正盯着空白墙壁时,AR系统可以在墙壁上投射虚拟锥形或光线,指示用户当前的凝视方向。作为另一示例,用户可以致动用户输入设备以指示他想要与他的环境中的对象交互。AR系统可以将焦点指示符分配给该对象,使得用户可以更容易地感知该对象。当用户改变他的姿势或致动用户输入设备时,AR系统可以将焦点指示符从一个位置传送到另一个位置。\n[0120] 捕捉和定向虚拟对象的示例\n[0121] 如本文所述,因为用户可以在多个方向上移动和旋转虚拟对象,所以用户有时可能发现难以精确地定位和定向虚拟对象。为了减少用户疲劳并提供用户与之交互的改进的AR设备(ARD),ARD可以相对于环境中的目的对象自动重新定位虚拟对象。例如,当虚拟对象在距虚拟或物理对象的阈值距离内时,ARD可以自动地将虚拟对象附接(也称为“捕捉”)到环境中的另一虚拟或物理对象。除了将虚拟对象捕捉到目的对象之外或作为其替代,当虚拟对象在目的对象附近时,ARD可以自动地改变位置或定向虚拟对象。例如,ARD可以旋转虚拟对象,使得虚拟对象的法线面向用户。作为另一示例,ARD可以将虚拟图像的边界与实体书的边界对齐,使得虚拟对象看起来可以是实体书的一部分。\n[0122] AR系统可以基于虚拟对象或目标对象的功能可见性来将虚拟对象重新定位到适当的位置或取向。功能可见性包括对象与对象的环境之间的关系,其为与对象相关联的动作或用途提供机会。可以基于例如虚拟对象或目的对象的功能、取向、类型、位置、形状或尺寸来确定功能可见性。功能可见性也可以基于虚拟对象或目的对象所处的环境。虚拟对象的功能可见性可被编程为虚拟对象的一部分并被存储在远程数据储存库280中。例如,虚拟对象可被编程为包括指示虚拟对象的法线的向量。\n[0123] 例如,虚拟显示屏幕(例如,虚拟TV)的功能可见性是可以从由屏幕的法线指示的方向观看显示屏幕。垂直墙壁的功能可见性是对象可以放置在墙壁上(例如,“悬挂”在墙壁上),其中对象的表面法线平行于墙壁的法线。用户可以使用AR系统将虚拟显示器移动到靠近墙壁的位置,当足够靠近墙壁时,在没有进一步的用户输入的情况下,AR系统可以使虚拟显示器自动地捕捉到墙壁上,其中显示器法线垂直于墙壁法线。虚拟显示器和墙壁的附加功能可见性可以是每个都具有顶部或底部。当将虚拟显示器捕捉到墙壁上时,AR系统可以自动定向虚拟显示器,使得虚拟显示器的底部朝向墙壁的底部定位(或者显示器的顶部朝向墙壁的顶部定位),从而确保虚拟显示器不呈现倒置的图像。\n[0124] 在一些情况下,为了重新定位虚拟对象,ARD还可以改变虚拟对象的其他特性。例如,虚拟图像的尺寸或形状可能与实体书不同。结果,ARD可以改变虚拟图像的尺寸或形状以匹配实体书的尺寸或形状,以使虚拟图像的边界与实体书的边界对齐。ARD可以(附加地或替代地)重新定位其他附近的虚拟对象以为重新定位的虚拟对象提供足够的空间。\n[0125] 实际上,AR系统考虑物理和虚拟对象的功能可见性并且至少部分地基于他们各自的功能可见性来相对于其他物理或虚拟对象定位或定向虚拟对象。关于这些特征的更多细节描述如下。\n[0126] 自动将虚拟对象附到物理对象的示例\n[0127] 图12A和12B示出了将虚拟对象附到桌子的示例。如图12A所示,虚拟书1220最初在房间1200a中的桌子1242上方浮动。用户可能先前已将书1220从初始位置移动到桌子上方的位置(如图12A所示)。用户可以通过致动用户输入设备来提供将虚拟书1220放置在桌子\n1242上的指示。例如,用户可以通过点击他的图腾并将他的图腾指向桌子1242来选择虚拟书1220,从而指示需要将虚拟书1220放置在桌子1242上。AR系统可以将虚拟书1220移动到桌子上而不需要用户将书拖到桌子1220上。作为另一示例,用户可以看向桌子上书应被放置的目的位置,AR系统可以基于头部姿势或眼睛凝视来确定目的位置,其中AR系统可以使用IMU来获取关于头部姿势的数据或使用眼睛跟踪相机来确定用户的凝视方向。当用户致动图腾时,AR系统可以自动将虚拟书1220放置在桌子1242上的目的位置。在一些实现方式中,用户不需要指示其中目标对象被移动到例如桌子1242或墙壁1210的目的对象,因为AR系统可以模拟用于将虚拟对象拉到目标对象上的吸引力。例如,当用户选择虚拟书1220时,AR系统可以模拟用于虚拟书1220的重力效果,其中虚拟书1220在向下方向1232上移动。AR系统可以自动将桌子1242识别为目的对象,因为它是在向下的移动(如箭头1232所示)中在虚拟书1220的路径上的第一个对象。因此,虚拟书可以看起来就好像它是实体书一样被落放到桌子1242上。\n[0128] AR系统可以确定用于虚拟书1220的重新定位的参数,并基于虚拟书、环境(例如,房间1200a)或目的对象的功能可见性来计算参数的值。移动的一些示例参数可以包括移动量(例如,行进的距离或轨迹)、移动的速度、移动的加速度或其他物理参数。\n[0129] AR系统可以基于虚拟书1220的位置和桌子1242的位置来计算用于虚拟书1220的移动量。例如,AR系统可以将向量附到房间中的物理对象和虚拟对象。向量可以包括物理和虚拟对象的位置和方向信息。用于虚拟书1220的向量可以具有重力方向(例如,方向1232)上的分量。类似地,用于桌子1242的表面的向量也可以具有指示其在重力方向上的当前位置的分量。AR系统可以获得在重力方向上桌子1242的表面的位置与虚拟书1220的位置之间的差异。AR系统可以使用该差异来确定虚拟书1220应该向下移动多远。向量还可以包括关于重力大小的信息。重力的幅值(例如,重力加速度)可以基于用户的物理或虚拟环境而改\n2\n变。例如,当用户在家时,重力可以被设置为9.8m/s (1“g”)的地球的值。然而,用户可以使用能够在游戏中呈现虚拟环境的AR系统来玩游戏。作为示例,如果虚拟环境是月球,则重力加速度的幅值可以是1/6“g”,并且如果虚拟环境是木星,则重力加速度的幅值可以是2.5“g”。\n[0130] 为了提供AR系统的改进的用户体验,AR系统可以使用各种物理定律就好像虚拟书\n1220是物理对象一样来模拟虚拟书1220从图12A至12B的移动。例如,虚拟书1220的向下移动(如箭头1232所示)可以基于自由落体运动。自由落体运动可以与用户环境中的其他力(例如空气阻力)组合以提供真实的用户体验。作为另一示例,房间1200a可以具有打开的窗口。当一阵风吹进房间1200a时,AR系统可以通过自动翻动虚拟书1220的页面来模拟风的效果。\n[0131] 继续图12A和12B中的该示例,桌子的功能可见性是它可以支撑位于其表面上的对象,因此虚拟书1220落到桌子1242的顶部上。因此,当模拟重力的效果时,AR系统不显示位于地板1230上的虚拟书1220,因为AR系统考虑桌子的功能可见性,该功能可见性为对象不穿过桌子。桌子1242将就像虚拟书1242是实体书一样来阻止虚拟书1220继续在重力方向上移动。\n[0132] 在一些情况下,只有桌子1242的一部分位于虚拟书1220的向下移动的路径上。结果,虚拟书1220的一部分可以延伸超出桌子1242的表面。AR系统可以确定虚拟书1220的重心是否在桌子1242的表面上。如果虚拟书1220的重心停留在桌子1242的表面上,则AR系统可以显示位于虚拟书1220的表面上的虚拟书1220。如果虚拟书1220的重心在桌子1242表面之外,则AR系统可以确定虚拟书1220将不会停留在桌子1242上并且替代地可能显示位于地板上的虚拟书1220。\n[0133] 作为另一示例,虚拟对象可以是虚拟网球,其功能可见性包括从硬表面弹开。因此,当虚拟网球击中桌子1242时,AR系统可以显示虚拟网球从桌子1242弹开并落在地板\n1230上。\n[0134] 虚拟对象(例如,书)和桌子的附加功能可见性是对象的法线应该与桌子的法线平行(例如,虚拟书平放在桌子上)。AR系统可以适当地自动定向虚拟书1220,使得它被用户看起来是如图12B所示的平躺在桌子1242上。\n[0135] 除了在重力方向上移动虚拟对象之外,AR系统还可以在其他方向上移动虚拟对象。例如,用户可能想要将笔记移动到墙壁上。用户可以指向墙壁1210的方向(例如,用手或图腾)。基于用户指示的方向,AR系统可以使用面向外的成像系统和/或世界模型来识别墙壁1210的表面并自动将笔记“飞”到墙壁上(参见例如图13A‑13D中所示的示例场景1300a、\n1300b、1300c和1300d)。在其他实现方式中,墙壁上的对象可具有使得它们可以吸引笔记的功能可见性。例如,墙壁上的对象可以表示通常附接有笔记的表面(例如,可以附接磁性笔记的磁性笔记板或可以钉住笔记的软木笔记板)。AR系统可以识别到墙壁对象具有“粘性”功能可见性(例如,磁性或软木笔记板),并且虚拟笔记具有对应的粘性功能可见性(例如,笔记是磁性的或可钉的)。AR系统可以自动将虚拟笔记附到墙壁对象。\n[0136] 如参考图7所述,语义信息可以附到物理对象、虚拟对象、物理环境和虚拟环境。语义信息可以包括功能可见性。例如,AR系统可以将物理属性分配给虚拟对象,例如,以下非排他性的示例性属性:质量、密度、直径、硬度(或柔软度)、弹性、粘性、电磁属性(例如,电荷、电导率、磁性属性)、相(例如,固体,液体或气体)等。AR系统还可以将物理属性分配给虚拟环境,例如重力、空气阻力等。所分配的属性的值可以用于使用各种物理定律来模拟与虚拟对象的交互。例如,虚拟对象的移动可以基于施加到虚拟对象的力。参考图12A和12B,虚拟书1220的移动可以基于使用房间1200a的重力和空气阻力以及虚拟书1220的质量计算的力来确定。\n[0137] 虚拟复制和粘贴的示例\n[0138] 在一些实施例中,AR系统可以复制虚拟对象并将复制的虚拟对象移动到环境中的目的对象或位置,而不是将虚拟对象重新定位到目标目的对象。作为一个示例,AR系统可以向用户呈现虚拟菜单,通过该虚拟菜单,用户可以从虚拟菜单中选择一个或多个项(例如,使用图腾或者头部或眼睛姿势)。AR系统可以基于所选择的项和用户环境中的对象的功能可见性来自动地将从虚拟菜单中选择的项放置在适当的位置。例如,虚拟菜单可以向用户呈现包括虚拟TV、虚拟音频播放器、虚拟游戏等的项。用户可以选择虚拟TV。AR系统可以将菜单中的虚拟TV复制到剪贴板中。用户可以环顾环境以找到用户希望AR系统放置虚拟TV的目标位置。当用户找到目标位置时,用户可以致动用户输入设备(例如,图腾)以确认目标位置的选择,并且AR系统可以自动在期望位置处显示虚拟TV。AR系统可以基于TV和目标位置的功能可见性来显示虚拟TV。例如,如果期望的位置是位于垂直墙壁上,则AR系统可以就好像虚拟TV平着悬挂在墙壁上一样而显示虚拟TV。作为另一示例,如果目标位置是位于水平桌子上,则AR系统可以就好像虚拟TV平躺在桌子上一样而显示虚拟TV。在这两个示例中,AR系统定向虚拟TV(其具有指示可以观看TV的方向的法线),使得虚拟TV的法线与目标位置的法线(即,墙壁法线或桌子法线)对齐。\n[0139] 在一些情况下,虚拟对象可能无法别放置在用户选择的目标位置处。例如,用户可以选择桌面来放置虚拟笔记。然而,桌面可能已经被其他文档覆盖,因此虚拟笔记不能被放置在桌面上。AR系统可以模拟排斥力,例如排斥弹簧力,这将阻止虚拟笔记被放置在桌面上。\n[0140] 因此,AR系统的这些实施例可以以最小的用户交互复制虚拟对象并将其粘贴在期望的位置,因为AR系统知道虚拟对象的功能可见性以及用户环境中的其他对象的功能可见性。AR系统可以利用这些功能可见性来将虚拟对象放置在用户环境中的自然位置和/或取向上。\n[0141] 自动绕枢轴转动(pivot)虚拟对象的示例\n[0142] 图13A‑13D示出当虚拟对象1320靠近墙壁1210时自动调整虚拟对象1320的位置和取向。虚拟对象1320具有4个角1326、1328、1322和1324。一旦AR系统确定虚拟对象1320接触墙壁1210(例如,如图13B所示的角1322接触墙壁),AR系统可以重新定向虚拟对象1320,使得虚拟对象1320看起来与墙壁1210的取向对齐,例如,如图13D所示,对象法线1355变得平行于壁墙壁法线1350。用于重新定向虚拟对象1320的移动可以沿着3D空间中的多个轴。例如,如图13B和13C所示,AR系统可以在1330a的方向上绕枢轴转动虚拟对象1320,结果,如图\n13C所示,角1324也接触墙壁1210。为了进一步将虚拟对象1320与墙壁1210对齐,AR系统可以使虚拟对象1320在图13C所示的1330b方向上绕枢轴转动。因此,如图13D所示,虚拟物体\n1320的顶角1326和1328也接触墙壁。在一些情况下,虚拟对象1320也可以具有其在墙壁\n1210上的自然取向是水平悬挂(例如,虚拟画)的功能可见性。AR系统可以使用该功能可见性来将虚拟对象1320适当地定向在墙壁1210上(例如,使得虚拟画看起来是从墙壁而不是以一定角度被适当地悬挂)。\n[0143] AR系统可以通过使虚拟对象1320的表面法线1355平行于墙壁1210的表面法线\n1350而不是反向平行于法线1350来重新定向虚拟对象1320。例如,虚拟TV屏幕的仅一侧可以被配置为显示视频,或者虚拟画的仅一侧可以被配置为显示画。因此,AR系统可能需要翻转虚拟对象,使得具有内容的一侧面向用户(而不是面向墙壁)。\n[0144] 当虚拟对象在另一对象的阈值距离内时捕捉和重新定向的示例\n[0145] 用户可以例如通过使用用户输入设备466拖动虚拟对象来将虚拟对象移动到另一位置。当虚拟对象靠近目的对象时,AR系统可以自动捕捉和定向虚拟对象,以便用户不必做出微小调整来使虚拟对象与目的对象对齐。\n[0146] 在图14A‑14D中,ARD的用户正在将虚拟对象从桌子移动到墙壁。虚拟对象1430可以是虚拟TV屏幕。在图14A中,房间1200b中的虚拟TV屏幕1430最初位于桌子1242的顶部(如桌子1242上的虚线所示)并且正被移动到墙壁1210。用户可以选择虚拟屏幕1430并在方向\n1440a(例如,朝向墙壁1210上的期望目的位置)上移动虚拟屏幕1430。AR系统可以在虚拟屏幕1430上显示可见焦点指示符1450,其指示虚拟屏幕1430的当前位置并指示用户已经选择了屏幕1430。\n[0147] 当用户移动虚拟屏幕1430时,AR系统可以监视虚拟屏幕1430的位置。当虚拟屏幕\n1430与墙壁1210之间的距离小于分开的阈值距离时,AR系统可以开始自动捕捉和定向虚拟屏幕1430。AR系统可以设置阈值距离,使得AR系统可以在虚拟屏幕的至少一部分接触墙壁\n1210时开始自动附接和定向虚拟屏幕1430,如参考图13A‑13D所述。在一些实现方式中,阈值距离可以足够大,使得AR系统在虚拟屏幕1430的任何部分接触墙壁之前开始自动地将虚拟屏幕1430附接和/或定向到墙壁1210。在这些实现方式中,AR系统可以模拟墙壁与虚拟对象之间的磁效应。例如,当虚拟屏幕1430足够靠近(例如小于阈值距离)时,物体自动地被吸引到墙壁而无需用户的进一步努力。\n[0148] 虚拟屏幕1430与墙壁1210之间的距离可以以各种方式测量。例如,可以基于虚拟屏幕1430的重心和墙壁1210的表面之间的位移来计算它。在一些实施例中,当对象与描述对象的位置的向量相关联时,AR系统可以使用用于虚拟屏幕1430的向量和用于墙壁1210的向量来计算欧几里德距离。还可以基于向量的分量来计算距离。例如,ARD可以计算向量与水平轴上的虚拟屏幕1430之间的位置差异作为距离。\n[0149] 阈值距离可以依赖于与虚拟对象有关的功能可见性。例如,虚拟屏幕1430与尺寸(例如,水平尺寸、垂直尺寸、厚度、对角线尺寸等)相关联,并且阈值距离可以是尺寸的小部分。作为示例,如果阈值距离近似等于屏幕的垂直尺寸,则当屏幕变得位于距墙壁的垂直尺寸距离内时,AR系统可以开始朝向其目的位置和取向定向屏幕。作为另一示例,如果阈值距离小于屏幕的垂直尺寸,则AR系统可能不开始定向虚拟屏幕1430,直到虚拟屏幕1430更接近墙壁。在各种实现方式中,阈值距离可以由用户设置或者可以设置为默认值(例如,诸如对象的尺寸)。阈值距离可以基于用户对AR系统的体验而改变。例如,如果用户发现小的阈值距离导致虚拟对象的快速重新定向并且是分散注意力的,则用户可以将阈值距离重置为更大,使得重新定向在更大的距离上更加逐渐地发生。\n[0150] 当虚拟屏幕1430不平行于墙壁时,AR系统可以使用虚拟屏幕1430的最靠近墙壁的部分(诸如图14B中所示的虚拟屏幕1430的底部部分)作为计算距离时的终点。使用该方法,当距离变得足够小或为零时,AR系统可以检测到虚拟屏幕1430的至少一部分已接触墙壁\n1210。然而,如果基于墙壁1210与虚拟屏幕1430的重心之间的位移来计算距离,则当AR系统检测到碰撞时,该距离可以大于0(参见图14B)。这是因为当虚拟屏幕1430不平行于墙壁\n1210时,虚拟屏幕1430的一部分可以在虚拟屏幕1430的重心到达墙壁1210之前到达墙壁\n1210。\n[0151] 在各种实现方式中,虚拟对象可以具有功能可见性,该功能可见性为虚拟对象的仅一个表面显示内容(例如,TV屏幕或画)或具有被设计为对用户可见的纹理。例如,对于虚拟TV对象,对象的仅一个表面可以充当屏幕并向用户显示内容。结果,AR系统可以定向虚拟对象,使得具有内容的表面面向用户而不是墙壁。例如,参考14A、14B和14C,虚拟屏幕1430的表面法线可以最初面向天花板(而不是桌子),使得当用户站在桌子前面时,用户可以看到虚拟屏幕1430的内容。然而,如果用户仅仅提起虚拟屏幕1430并将其附到墙壁1210,则表面法线可能面向墙壁而不是用户。结果,用户能够看到虚拟屏幕1430的后表面而不能看到内容。为了确保当虚拟屏幕1430移动到墙壁1210时用户仍然可以观看到内容,AR系统可以围绕轴将虚拟屏幕1430旋转180度,使得具有内容的表面可以面向用户(不是墙壁)。通过该旋转,作为图14B中的虚拟屏幕1430的底侧的侧1434变为图14C中的顶侧,而作为图14B中的虚拟屏幕1430的顶侧的侧1432变为图14C中底侧。\n[0152] 除了如参考图14C所述的那样沿着轴翻转虚拟对象之外或作为其替代,AR系统也可以围绕其他轴旋转虚拟对象,使得虚拟对象保持与移动到目的位置之前相同的取向。参考图14A和14D,虚拟TV屏幕1430(及其内容)最初可以在桌子1242上处于竖向取向。然而,如图14B和14C所示,在虚拟TV屏幕1430移动到墙壁1210之后,虚拟TV屏幕以横向取向定向。为了保持与虚拟屏幕1430位于桌子1242上时相同的用户体验,AR系统可以将虚拟TV屏幕1430旋转90度,使得虚拟TV屏幕1430看起来处于竖向取向(如图14D所示)。通过该旋转,作为在图14C中被示出为屏幕1430的顶部的侧1434变为图14D中的屏幕1430的左侧,而作为在图\n14C中被示出为屏幕1430的底侧的侧1432变为图14D中的屏幕1430的右侧。\n[0153] 图15A、15B和15C示出了附接和定向虚拟对象的示例的侧视图。在该示例中,出于说明的目的,虚拟对象被描绘为平面对象(例如,虚拟屏幕),但是虚拟对象不限于平面形状。与图14A类似,图15A中的虚拟屏幕1430在1440a方向上朝向墙壁1210移动。AR系统可以显示焦点指示符1450以指示与用户相关联的位置(例如,诸如用户的凝视方向或用户的用户输入设备466的位置)。在该示例中,焦点指示符1450位于虚拟屏幕1430上,其可以指示虚拟屏幕1430的选择。虚拟屏幕1430与墙壁1210成角度1552(如图15B所示)。当如图15B所示虚拟屏幕1430接触墙壁1210的表面1510a时,AR系统可以在角度方向1440b上旋转虚拟屏幕\n1430。结果,如图15C所示,虚拟屏幕1430与墙壁1210的表面1510a之间形成的角度从角度\n1552减小到角度1554,并且在图15D中,角度1552已经减小到零,因为屏幕1430相对于墙壁\n1210是平坦的。在该示例中,即使在用户远离墙壁1210稍微移动之后,屏幕1430仍保留在墙壁上(由于墙壁的“粘性”)(其中焦点指示符1450不再位于虚拟对象1430上)。\n[0154] 尽管本文描述的示例图示出虚拟对象的重新定向发生在虚拟对象接触墙壁之后,但是应当注意,这里的示例是出于说明的目的而不是限制性的。重新定向可以在虚拟对象接触物理对象之前发生。例如,AR系统可以计算墙壁和虚拟对象的表面法线,并且可以在虚拟对象朝向墙壁移动时定向虚拟对象。另外,尽管本文提供的示例示出了虚拟对象的底部首先接触墙壁,但是应该注意,对象的任何其他部分也可以首先接触墙壁。例如,当虚拟对象平行于墙壁时,整个虚拟对象可能同时与墙壁碰撞。作为另一示例,当对象是3D杯子时,杯架可以在杯子的任何其他部分之前与墙壁碰撞。\n[0155] 虚拟对象与物理对象之间的模拟的吸引效果\n[0156] 如本文所述,AR系统可以模拟虚拟对象与物理或虚拟对象(例如墙壁或桌子)之间的吸引力的效果(例如,图12A‑12B中的重力或如图13A‑13D或14A‑14D所示的磁吸引力或“粘性”)。当虚拟对象与物理对象之间的距离变得小于阈值时,AR系统可以自动地就好像两个对象由于吸引力(例如,磁铁的相反磁极的吸引或重力的向下拉力)而被吸引在一起一样将虚拟对象附到物理对象。\n[0157] 在一些情况下,AR系统可以利用多个吸引力,其可以更准确地表示物理对象的轨迹。例如,参考图14A‑14B,想要将虚拟屏幕1430从桌子1242移动到墙壁1210的用户可以做出将虚拟屏幕1430扔到墙壁1210上的手势。如上所述,AR系统可以利用磁吸引力将屏幕\n1430附到墙壁1210。另外,AR系统可以利用向下的重力来表示屏幕1430朝向墙壁1210移动时的弧形轨迹。AR系统对一个或多个吸引力的使用可以使虚拟物体看起来以更自然的方式在用户环境中移动并与其他对象交互,因为虚拟对象与物理对象的移动有些类似地来动作。这可以有利地导致更自然和真实的用户体验。\n[0158] 在其他情况下,用户可能想要将虚拟对象移动远离虚拟对象当前所附到的对象。\n然而,有时,当虚拟对象附到墙壁时,AR系统可能无法区分用户的移动是否指示从虚拟对象的用户交互中分离虚拟对象的意图。作为示例,当用户使用附到墙壁的虚拟屏幕来玩游戏时,用户可能需要移动他的图腾以找到朋友或敌人或者与朋友或敌人交互。这种类型的游戏移动可能与用于将虚拟对象从墙壁分离的移动类型一致。通过仅在用户的移动足够高于合适的阈值的情况下分离虚拟对象,在玩游戏期间不会无意地分离虚拟屏幕。另外,用户通常不能持续长时间段保持他的姿势或用户输入设备静止。结果,当用户不旨向分离虚拟对象时,虚拟对象可能由于用户的微小移动而被意外地分离。因此,通过仅在用户的移动足够高于合适的阈值的情况下分离虚拟对象,用户的轻微移动或抽动将不会无意地将虚拟对象从其预期位置或取向分离。\n[0159] 为了解决这些问题并改进AR系统,AR系统可以模拟虚拟对象与物理对象之间的吸引力,使得用户可以不立即将虚拟对象从其他对象分离,除非用户位置的改变大于阈值。例如,如图15D所示,屏幕1430附到墙壁1210。用户可以移动他的用户输入设备,使得焦点指示符1450远离墙壁移动。然而,由于屏幕与墙壁之间的模拟的吸引效果,虚拟屏幕1430仍然可以附到表面1510a。随着焦点指示符移动得更远并超过屏幕1430与焦点指示符1450之间的阈值距离,AR系统可以将虚拟屏幕1430从墙壁1210分离,如图15E所示。AR系统提供的这种交互就好像在焦点指示符1450与屏幕1430之间存在不可见的虚拟弦。当焦点指示符1450与屏幕1430之间的距离超过虚拟弦的长度时,虚拟弦变得拉紧并将屏幕从墙壁1210分离。虚拟弦的长度表示阈值距离。\n[0160] 除了阈值距离之外或者作为其替代,AR系统还可以使用其他因素来确定是否分离虚拟对象。例如,AR系统可以测量用户移动的加速度或速度。AR系统可以使用参考图2和图4描述的IMU来测量加速度和速度。如果加速度或速度超过阈值,则AR系统可以将虚拟对象从物理对象分离。在一些情况下,可以测量加速度的变化率(称为“加加速度”),并且如果用户提供的加加速度大于加加速度阈值,则分离虚拟对象。利用加速度阈值或加加速度阈值的AR系统的实现方式可以更自然地表示用户如何从其他对象分离对象。例如,为了移除粘在墙壁上的物理对象,用户可以抓住物理对象的一部分并将其从墙壁上猛拉。可以使用加速度和/或加加速度阈值来模型化虚拟世界中该猛拉的表示。\n[0161] 在另一实现方式中,AR系统可以模拟其他物理力,例如摩擦力或弹力。例如,AR系统可以就好像存在连接焦点指示符1450与屏幕1430的虚拟橡皮带一样模拟焦点指示符\n1450与屏幕1430之间的交互。随着焦点指示符1450与屏幕1430之间的距离增加,虚拟橡皮带的虚拟拉力增加,并且当虚拟拉力大于表示墙壁1210的粘性的力阈值时,从墙壁1210分离屏幕1430。在另一示例中,当虚拟对象出现在物理对象的水平表面上时,AR系统可以就好像在虚拟对象与水平表面之间存在虚拟摩擦力一样模拟焦点指示符与虚拟对象之间的交互。用户可以沿着水平表面拖动焦点指示符,而AR系统仅可以在用户施加的力足以克服虚拟摩擦力时开始移动虚拟对象。\n[0162] 因此,在各种实现方式中,AR系统可以利用具有对应阈值的距离、速度、加速度和/或加加速度测量来确定是否从另一对象分离虚拟对象。同样地,AR系统可以利用对象之间的吸引力(其表示粘性、重力或磁吸引力)的阈值来确定虚拟对象附到其他对象的强度。例如,旨在不可移动地放置在另一对象上的虚拟对象可以与非常高的吸引阈值相关联,使得用户很难分离虚拟对象。与物理对象的属性由其重量等设置的物理世界不同,在虚拟世界中,可以改变虚拟对象的属性。例如,如果用户有意想要移动“不可移动的”虚拟对象,则用户可以指示AR系统临时改变虚拟对象的设置,使得其相关阈值低得多。在将虚拟对象移动到新位置之后,用户可以指示AR系统重置虚拟对象的阈值,使其再次不可移动。\n[0163] 当从物理对象分离虚拟对象时,虚拟对象的取向可以保持与将虚拟对象附到物理对象时的取向相同。例如,在图15D中,当虚拟屏幕1430附到墙壁时,虚拟屏幕1430平行于墙壁的表面1510a。因此,当虚拟屏幕1430远离图15E中的墙壁移动时,虚拟屏幕1430可以保持与墙壁1430平行。\n[0164] 在一些实施例中,当从墙壁分离虚拟对象时,AR系统可以将虚拟对象的取向改变回在虚拟对象附到墙壁之前的原始取向。例如,如图15F所示,当从墙壁1210分离虚拟屏幕\n1430时,AR系统可以将虚拟屏幕1430的取向恢复到与图15A和15B中所示的取向相同的取向。\n[0165] 一旦从墙壁1210分离虚拟屏幕1430,用户就可以移动对象1430并将其重新附到墙壁(或另一对象)。如图15G和15H所示,当用户将虚拟屏幕1430移回到墙壁1210时,虚拟对象\n1430可以在1440c的方向上定向并且被附到墙壁1210的表面1510b。因此,如图15D所示,用户可以将对象1430重新附到墙壁1210的左手侧(例如,比较图15D中的虚拟屏幕1430的位置与其在图15H中的位置)。\n[0166] 尽管参考自动将虚拟对象附到墙壁来描述图14A‑14D和15A‑15H的示例,也可以应用相同的技术自动将虚拟对象附到诸如桌子的另一对象。例如,当虚拟书靠近桌子时,AR系统可以模拟向下的重力的效果并且自动地定位虚拟书并在桌子的顶部上显示虚拟书而无需用户进一步的努力。作为另一示例,用户可以使用手势将虚拟画移动到地板上并将其落到地板上(通过虚拟重力)。用户的当前位置可以由焦点指示符指示。当用户将画移动到地板时,焦点指示符可以跟随用户的位置。然而,当虚拟画靠近用户环境中的桌子时,虚拟画可能会意外地附到桌子上,因为桌子可能位于地板的顶部。用户可以用他的手、头部或眼睛姿势继续在地板的方向上移动焦点指示符。当焦点指示符与桌子的位置之间的距离足够大时,AR系统可以从桌子分离虚拟图片并将其移动到焦点指示符的位置。然后,用户可以继续移动虚拟图片直到它接近地板,其中AR系统可以在虚拟重力下将其落到位置上。\n[0167] 附加地或替代地,本文描述的技术还可以用于将虚拟对象放入另一对象的内部。\n例如,用户可以具有包含用户的照片的虚拟盒。当AR系统接收到将照片放入虚拟盒的指示时,AR系统可以自动地将照片移动到虚拟盒内部并且使照片与虚拟盒对齐。\n[0168] 用于自动捕捉和定向虚拟对象的示例方法\n[0169] 图16是用于附接和定向虚拟对象的示例方法。图16中所示的过程1600可以由参考图2描述的AR系统200执行。\n[0170] 在框1610处,AR系统可以识别用户环境中的用户想要与之交互的虚拟对象。该虚拟对象也可以称为目标虚拟对象。AR系统可以基于用户的姿势识别目标虚拟对象。例如,当AR系统与用户的凝视方向相交时,AR系统可以选择虚拟对象作为目标虚拟对象。当用户致动用户输入设备时,AR系统也可以识别目标虚拟对象。例如,当用户点击用户输入设备时,AR系统可以基于用户输入设备的当前位置自动指定目标虚拟对象。\n[0171] 目标虚拟对象可以具有第一位置和第一取向。在一些实施例中,目标虚拟对象的位置和取向可以以向量形式表示。当目标虚拟对象在周围移动时,可以相应地更新向量中的值。\n[0172] 在框1620处,AR系统可以接收将目标虚拟对象移动到目的对象的指示。例如,用户可以指向桌子并且致动用户输入设备,该用户输入设备指示将目标虚拟对象移动到桌子的意图。作为另一示例,用户可以在墙壁的方向上拖动虚拟对象以将虚拟对象放置到墙壁上。\n目的对象可以具有位置和取向。在一些实现方式中,与目标虚拟对象类似,目的对象的位置和取向也可以以向量形式表示。\n[0173] 在框1630处,AR系统可以基于目标虚拟对象的位置和目的对象的位置来计算目标虚拟对象与目的对象之间的距离。AR系统可以将计算的距离与阈值距离进行比较。如果距离小于阈值距离,则如框1640所示,AR系统可以自动地定向目标虚拟对象并将其附到目的对象。\n[0174] 在一些实现方式中,AR系统可以包括多个阈值距离(或速度、加速度或加加速度),其中每个阈值距离与一种类型的动作相关联。例如,AR系统可以设置第一阈值距离,其中如果目标虚拟对象与目的对象之间的距离小于或等于阈值距离,则AR系统可以自动旋转虚拟对象。AR系统还可以设置第二阈值距离,其中在距离小于第二阈值距离时,AR系统可以自动将目标虚拟对象附到目的对象。在该示例中,如果第一阈值距离与第二阈值距离相同,则在满足阈值距离时,AR系统可以同时开始附接和定向目标虚拟对象。如果第一阈值距离大于第二阈值距离,则在AR系统开始自动将目标虚拟对象附到目的对象之前,AR系统可以开始定向目标虚拟对象。另一方面,如果第一阈值距离小于第二阈值距离,则AR系统可以首先将目标虚拟对象附到目的对象,然后定向目标虚拟对象(例如当目标虚拟对象的一部分已附到目的对象时)。作为另一示例,如果用户移动超过对应的速度、加速度或加加速度阈值,则AR系统可以分离虚拟对象。\n[0175] 当定向目标虚拟对象时,AR系统可以沿多个轴定向目标虚拟对象。例如,AR系统可以旋转虚拟对象,使得虚拟对象的表面法线面向用户(而不是面向目的对象的表面)。AR系统还可以定向虚拟对象,使得虚拟对象看起来与目的对象处于相同的取向。AR系统可以进一步调整虚拟对象的取向,使得用户不会以不舒适的角度观看虚拟对象的内容。在一些实施例中,AR系统可以在将两个对象附在一起时模拟磁吸引力和/或重力的效果。例如,AR系统可以在虚拟TV屏幕靠近墙壁时显示将虚拟TV屏幕吸引到墙壁的效果。作为另一示例,AR系统可以在用户指示将虚拟书放在桌子上的意图时模拟自由落体运动。\n[0176] 除了磁吸引力、粘性和重力效果之外,AR系统还可以就像虚拟对象是物理对象一样模拟其他物理效果。例如,AR系统可以将质量分配给虚拟对象。当两个虚拟对象碰撞时,AR系统可以模拟动量的效果,使得两个虚拟对象可以在碰撞之后一起移动一定距离。\n[0177] 用于分离虚拟对象的示例方法\n[0178] 图17是用于从用户环境中的另一对象分离虚拟对象的示例方法。图17中所示的过程1700可以由参考图2描述的AR系统执行。\n[0179] 在框1710处,AR系统可以识别位于用户的注视场(FOR)中的目标虚拟对象。FOR包括能够被用户经由AR系统感知的用户周围的环境的一部分。目标虚拟对象可以附到FOR中的另一对象。当目标对象被附到另一对象时,AR系统可以将第一位置分配给目标对象。\n[0180] 在框1720处,AR系统可以接收将目标虚拟对象移动到用户的FOR中的第二位置的指示。该指示可以是用户的姿势(诸如移动他的手)、用户输入设备的移动(诸如移动图腾)或者用户输入设备上的手势(诸如在触摸板上沿轨迹移动)的变化。\n[0181] 在框1730处,AR系统可以确定移动的指示是否满足用于从另一对象分离目标虚拟对象的阈值条件。如果满足阈值条件,则如框1742所示,AR系统可以分离虚拟对象并将其移动到用户的位置(例如,如焦点指示符所示)。阈值条件可以基于移动的速度/加速度和/或位置变化。例如,当用户想要从墙壁分离虚拟对象时,AR系统可以计算用户将他的图腾从墙壁移动了多远。如果AR系统确定图腾与墙壁之间的距离满足阈值距离,则AR系统可以分离虚拟对象。作为示例,当用户满足阈值速度和/或阈值加速度来足够快地移动其图腾时,AR系统也可以从墙壁分离虚拟对象。\n[0182] 如果AR系统确定不满足阈值条件,则AR系统可以不分离虚拟对象,如框1744所示。\n在一些实施例中,AR系统可以提供示出用户的当前位置的焦点指示符。例如,当不满足阈值条件时,AR系统可以在用户的当前位置显示焦点指示符,同时将虚拟对象显示为仍然附到环境中的另一对象。\n[0183] 尽管本文描述的示例是关于移动一个虚拟对象,但是应该注意,这些示例不是限制性的。例如,AR系统可以使用本文描述的技术来自动地定向一组虚拟对象、附接一组虚拟对象和从环境中的另一对象分离一组虚拟对象。\n[0184] 附加实施例\n[0185] 在第1方面,一种用于在用户的三维(3D)环境中自动地将目标虚拟对象捕捉到目的对象的方法,该方法包括:在包括计算机硬件的增强现实(AR)系统的控制下,AR系统被配置为允许用户与用户的3D环境中的对象交互,包括用户输入设备的AR系统:识别用户的3D环境中的目标虚拟对象和目的对象,其中目标虚拟对象与第一取向和第一位置相关联,并且其中目的对象与第二取向和第二位置相关联;至少部分地基于第一位置和第二位置计算目标虚拟对象与目的对象之间的距离;将距离与阈值距离进行比较;响应于距离小于或等于阈值距离的比较,自动将目标虚拟对象附到目的对象的表面;以及至少部分地基于第一取向和第二取向自动地定向目标虚拟对象以使目标虚拟对象与目的对象对齐。\n[0186] 在第2方面,根据方面1所述的方法,其中识别目标虚拟对象和目的对象是基于以下中的至少一个:头部姿势、眼睛姿势、身体姿势或手势。\n[0187] 在第3方面,根据方面1‑2中任一方面所述的方法,其中目的对象包括以下中的至少一个:物理对象或虚拟对象。\n[0188] 在第4方面,根据方面3所述的方法,其中目的对象包括墙壁或桌子。\n[0189] 在第5方面,根据方面1‑4中任一方面所述的方法,其中第一取向或第二取向包括以下中的至少一个:垂直方向或水平方向。\n[0190] 在第6方面,根据方面1‑5中任一方面所述的方法,其中计算距离包括计算目标虚拟对象与目的对象之间的位移。\n[0191] 在第7方面,根据方面1‑6中任一方面所述的方法,其中阈值距离为零。\n[0192] 在第8方面,根据方面1‑7中任一方面所述的方法,其中自动定向目标虚拟对象以使目标虚拟对象与目的对象对齐包括以下中的至少一个:自动定向目标虚拟对象以使目标虚拟对象的表面法线面向AR系统;自动定向目标虚拟对象以使目标虚拟对象的表面法线垂直于目的对象的表面;或者自动定向目标虚拟对象以使目标虚拟对象的表面法线平行于目的对象的法线。\n[0193] 在第9方面,根据方面1‑8中任一方面所述的方法,还包括为以下中的至少一个分配焦点指示符:目标虚拟对象或目的对象。\n[0194] 在第10方面,一种增强现实系统,包括计算机硬件和用户输入设备,该增强现实系统被配置为执行权利要求1‑9中的方法中的任一项。\n[0195] 在第11方面,一种用于在用户的三维(3D)环境中自动地将目标虚拟对象捕捉到目的对象的方法,该方法包括:在包括计算机硬件的增强现实(AR)系统的控制下,AR系统被配置为允许用户与用户的3D环境中的对象交互,包括用户输入设备和被配置为测量用户的姿势的姿势传感器的AR系统:识别用户的3D环境中的目标虚拟对象,其中目标虚拟对象与第一位置和第一取向相关联;使用姿势传感器接收来自用户的将目标虚拟对象移动到目的对象的指示,其中目的对象与第二位置和第二取向相关联;至少部分地基于第一位置和第二位置计算目标虚拟对象与目的对象之间的轨迹;沿着轨迹朝向目的对象移动目标虚拟对象;至少部分地基于目标虚拟对象的当前位置和第二位置计算目标虚拟对象与目的对象之间的距离;将距离与阈值距离进行比较;响应于距离小于或等于阈值距离的比较,自动将目标虚拟对象附到目的对象;以及至少部分地基于第一取向和第二取向自动地定向目标虚拟对象以使目标虚拟对象与目的对象对齐。\n[0196] 在第12方面,根据方面11所述的方法,其中姿势传感器包括以下中的至少一个:面向外的成像系统、惯性测量单元或面向内的成像系统。\n[0197] 在第13方面,根据方面12所述的方法,还包括:将焦点指示符分配给用户的当前位置,其中至少部分地基于用户的姿势或者与用户输入设备相关联的位置来确定用户的当前位置。\n[0198] 在第14方面,根据方面13所述的方法,其中姿势包括头部姿势、眼睛姿势或身体姿势中的至少一个。\n[0199] 在第15方面中,根据方面14所述的方法,其中从用户接收将目标虚拟对象移动到目的对象的指示包括:使用姿势传感器识别用户姿势的变化;至少部分地基于用户的姿势识别目的对象;以及接收来自用户的将目标虚拟对象移动到目的对象的确认。\n[0200] 在第16方面,根据方面13所述的方法,其中从用户接收将目标虚拟对象移动到目的对象的指示包括以下中的至少一个:从用户输入设备接收目的对象的指示;或者从用户接收将目标虚拟对象移动到目的对象的确认。\n[0201] 在第17方面,根据方面15‑16中任一方面所述的方法,其中所述确认包括用户的姿势或用户输入设备上的手势的变化中的至少一个。\n[0202] 在第18方面,一种增强现实系统,包括计算机硬件、用户输入设备和姿势传感器,该增强现实系统被配置为执行方面11‑17中的方法中的任何一个。\n[0203] 在第19方面,一种用于在用户的三维(3D)环境中将目标虚拟对象捕捉到目的对象的方法,该方法包括:在包括计算机硬件的增强现实(AR)系统的控制下,被配置为允许用户与用户的3D环境中的对象交互AR系统:识别用户的3D环境中的目标虚拟对象和目的对象;\n接收将目标虚拟对象附到目的对象的指示;确定与目标虚拟对象或目的对象中的至少一个相关联的功能可见性;至少部分地基于功能可见性来自动定向目标虚拟对象;以及自动将目标虚拟对象附到目的对象。\n[0204] 在第20方面,根据方面19所述的方法,其中识别目标虚拟对象和目的对象是基于以下中的至少一个:头部姿势、眼睛姿势、身体姿势、手势或来自用户输入设备的输入。\n[0205] 在第21方面,根据方面19‑20中任一方面所述的方法,其中目的对象包括以下中的至少一个:物理对象或虚拟对象。\n[0206] 在第22方面,根据方面21所述的方法,其中目的对象包括垂直表面或水平表面。\n[0207] 在第23方面,根据方面19‑22中任一方面所述的方法,其中接收将目标虚拟对象附到目的对象的指示包括以下中的一个或多个:检测用户的姿势的变化;或者从用户输入设备接收目的对象的指示。\n[0208] 在第24方面,根据方面23所述的方法,其中所述姿势包括以下中的至少一个:头部姿势、眼睛姿势或身体姿势。\n[0209] 在第25方面,根据方面19‑24中任一方面所述的方法,其中基于以下中的一个或多个来确定功能可见性:目标虚拟对象或目的对象的功能、取向、类型、位置、形状、尺寸或环境。\n[0210] 在第26方面中,根据方面19‑25中任一方面所述的方法,其中自动定向目标虚拟对象包括以下中的一个或多个:自动定向目标虚拟对象以使目标虚拟对象的表面法线面向AR系统;自动定向目标虚拟对象以使目标虚拟对象的表面法线垂直于目的对象的表面;或者自动定向目标虚拟对象以使目标虚拟对象的表面法线平行于目的对象的法线。\n[0211] 在第27方面中,根据方面19‑26中任一方面所述的方法,其中通过模拟目标虚拟对象与目的对象之间的吸引力来执行自动将目标虚拟对象附到目的对象。\n[0212] 在第28方面,根据方面27所述的方法,其中吸引力包括以下中的一个或多个:重力或磁吸引力。\n[0213] 在第29方面,一种包括计算机硬件的增强现实系统,该增强现实系统被配置为执行方面19‑28中的方法中的任何一个。\n[0214] 在第30方面,一种用于在三维(3D)环境中从另一对象分离目标虚拟对象的方法,该方法包括:在包括计算机硬件的增强现实(AR)系统的控制下,AR系统被配置为允许用户与用户的注视场(FOR)中的对象的交互,FOR包括能够被用户经由AR系统感知的用户周围的环境的一部分,AR系统:接收用户关于目标虚拟对象的选择,其中目标虚拟对象与用户的FOR中的第一位置相关联;向用户显示与目标虚拟对象相关联的焦点指示符;从用户接收移动目标虚拟对象的指示;至少部分地基于该指示在更新位置处向用户显示焦点指示符;计算目标虚拟对象的第一位置与焦点指示符的更新位置之间的距离;将距离与阈值距离进行比较;响应于距离大于或等于阈值距离的比较,将目标虚拟对象从第一位置移动到与焦点指示符的更新位置相关联的第二位置;以及在第二位置处向用户显示目标虚拟对象。\n[0215] 在第31方面,根据方面30所述的方法,其中接收用户的关于目标虚拟对象的选择包括以下中的至少一个:检测用户的姿势的变化;或者从用户输入设备接收输入。\n[0216] 在第32方面,根据方面30‑31中任一方面所述的方法,其中所述其他对象包括以下中的至少一个:物理对象或虚拟对象。\n[0217] 在第33方面,根据方面32所述的方法,其中其他对象包括墙壁或桌子。\n[0218] 在第34方面中,根据方面30‑33中任一方面所述的方法,其中接收移动目标虚拟对象的指示包括以下中的至少一个:检测用户输入设备的移动;检测用户输入设备上的手势;\n或者检测用户的姿势的变化。\n[0219] 在第35方面,根据方面31‑34中任一方面所述的方法,其中用户的姿势包括:头部姿势、眼睛姿势或身体姿势。\n[0220] 在第36方面,根据方面30‑35中任一方面所述的方法,其中计算距离包括计算第一位置与更新位置之间的位移。\n[0221] 在第37方面,根据方面30‑36中任一方面所述的方法,其中阈值距离由用户指定。\n[0222] 在第38方面中,根据方面30‑37中任一方面所述的方法,其中在第二位置处向用户显示目标虚拟对象包括:在目标虚拟对象接触其他对象之前确定与目标虚拟对象相关联的取向;以及在第二位置处向用户显示具有该取向的目标虚拟对象。\n[0223] 在第39方面中,根据方面1‑38中任一方面所述的方法,其中在第二位置处向用户显示目标虚拟对象包括:确定与第一位置处的目标虚拟对象相关联的取向;以及在第二位置处向用户显示具有该取向的目标虚拟对象。\n[0224] 在第40方面,一种用于在三维(3D)环境中从另一对象分离目标虚拟对象的方法,该方法包括:在包括计算机硬件的增强现实(AR)系统的控制下,AR系统被配置为允许用户与用户的注视场(FOR)中的对象的交互,FOR包括能够被用户经由AR系统感知的用户周围的环境的一部分,AR系统:接收对目标虚拟对象的选择,其中目标虚拟对象与用户的FOR中的第一位置相关联,并且目标虚拟对象的至少一部分接触另一对象;向用户显示与目标虚拟对象相关联的焦点指示符;从用户接收从其他对象分离目标虚拟对象的指示;至少部分地基于该指示在更新位置处向用户显示焦点指示符;确定该指示是否满足用于从其他对象分离目标虚拟对象的阈值条件;响应于满足阈值条件的确定,在与焦点指示符的更新位置相关联的第二位置处向用户显示目标虚拟对象;以及响应于不满足阈值条件的确定,在第一位置处向用户显示目标虚拟对象。\n[0225] 在第41方面,根据方面40所述的方法,其中接收对目标虚拟对象的选择包括以下中的至少一个:检测用户的姿势的变化;或者从用户输入设备接收输入。\n[0226] 在第42方面,根据方面40‑41中任一方面所述的方法,其中所述其他对象包括以下中的至少一个:物理对象或虚拟对象。\n[0227] 在第43方面,根据方面42所述的方法,其中所述其他对象包括墙壁或桌子。\n[0228] 在第44方面,根据方面40‑43中任一方面所述的方法,其中接收分离目标虚拟对象的指示包括以下中的至少一个:检测用户输入设备的移动;检测用户输入设备上的手势;或者检测用户的姿势的变化。\n[0229] 在第45方面,根据方面41‑44中任一方面所述的方法,其中用户的姿势包括:头部姿势、眼睛姿势或身体姿势。\n[0230] 在第46方面,根据方面41‑45中任一方面所述的方法,其中用于从其他对象分离目标虚拟对象的阈值条件包括以下中的至少一个:第一位置与更新位置之间的距离大于或等于阈值距离;从第一位置移动到更新位置的速度大于或等于阈值速度;用于远离第一位置移动的加速度大于或等于阈值加速度;或者用于远离第一位置移动的加加速度大于或等于阈值加加速度。\n[0231] 在第47方面,根据方面41‑46中任一方面所述的方法,其中在第二位置处向用户显示目标虚拟对象包括:在目标虚拟对象接触其他对象之前确定与目标虚拟对象相关联的取向;以及在第二位置处向用户显示具有该取向的目标虚拟对象。\n[0232] 在第48方面,根据权利要求方面41‑47中任一方面所述的方法,其中在所述第二位置处向所述用户显示所述目标虚拟对象包括:在所述第一位置处确定与所述目标虚拟对象相关联的取向;以及在第二位置处向用户显示具有该取向的目标虚拟对象。\n[0233] 在第49方面,一种用于在用户的三维(3D)环境中从另一对象分离目标虚拟对象的方法,该方法包括:在包括计算机硬件的增强现实(AR)系统的控制下,被配置为允许用户与用户的3D环境中的对象交互的AR系统:接收对目标虚拟对象的选择,其中目标虚拟对象在初始位置被附到3D环境中的另一对象;向用户显示与初始位置处的目标虚拟对象相关联的焦点指示符;从用户接收从其他对象分离目标虚拟对象的指示;至少部分地基于该指示在更新位置处向用户显示焦点指示符;确定该指示是否满足用于从其他对象分离目标虚拟对象的阈值条件;响应于满足阈值条件的确定,至少部分地基于该指示分离目标虚拟对象;以及响应于不满足阈值条件的确定,在初始位置处向用户显示目标虚拟对象。\n[0234] 在第50方面,根据方面49所述的方法,其中接收对目标虚拟对象的选择包括以下中的至少一个:检测用户的姿势的变化;或者从用户输入设备接收输入。\n[0235] 在第51方面,根据方面49‑50中任一方面所述的方法,其中所述其他对象包括以下中的至少一个:物理对象或虚拟对象。\n[0236] 在第52方面,根据方面51所述的方法,其中所述其他对象包括垂直表面或水平表面。\n[0237] 在第53方面,根据方面49‑52中任一方面所述的方法,其中接收从其他对象分离目标虚拟对象的指示包括以下中的至少一个:检测用户输入设备的移动;检测用户输入设备上的手势;或者检测用户的姿势的变化。\n[0238] 在第54方面,根据方面49‑53中任一方面所述的方法,其中用于从其他对象分离目标虚拟对象的阈值条件包括以下中的至少一个:初始位置与更新位置之间的距离大于或者等于阈值距离;从初始位置移动到更新位置的速度大于或等于阈值速度;用于远离初始位置移动的加速度大于或等于阈值加速度;或者用于远离初始位置移动的加加速度大于或等于阈值加加速度。\n[0239] 在第55方面,根据方面49‑54中任一方面所述的方法,其中通过模拟物理力来执行分离目标虚拟对象。\n[0240] 在第56方面,根据方面55所述的方法,其中物理力包括以下中的至少一个:重力、磁吸引力、摩擦力或弹力。\n[0241] 在第57方面,一种包括计算机硬件的增强现实系统,该增强现实系统被配置为执行方面30‑56中的方法中的任何一个。\n[0242] 在第58方面中,一种用于在三维(3D)环境中自动重新定位虚拟对象的增强现实(AR)系统,该AR系统包括:AR显示器,其被配置为在3D视图中呈现虚拟内容;与AR显示器通信的硬件处理器,该硬件处理器被编程为:识别用户的3D环境中的目标虚拟对象,其中向目标虚拟对象分配表示第一位置和第一取向的一个向量;接收将目标虚拟对象附到目的对象的指示,其中向目的对象分配表示第二位置和第二取向的至少一个向量;至少部分地基于第一位置和第二位置计算目标虚拟对象与目的对象之间的轨迹;沿着轨迹朝向目的对象移动目标虚拟对象;跟踪目标虚拟对象的当前位置;至少部分地基于目标虚拟对象的当前位置和第二位置来计算目标虚拟对象与目的对象之间的距离;确定目标虚拟对象与目的虚拟对象的距离是否小于阈值距离;响应于距离小于或等于阈值距离的比较,自动将目标虚拟对象附到目的对象并将目标虚拟对象定向到第二取向;以及通过AR显示器在第二位置处渲染具有第二取向的目标虚拟对象,其中在第二取向下目标虚拟对象覆盖在目的对象上。\n[0243] 在第59方面,根据方面58所述的AR系统,其中硬件处理器还被编程为:分析目标虚拟对象、目的对象或环境中的至少一个的功能可见性;以及为了自动定向目标虚拟对象,硬件处理器被编程为旋转目标虚拟对象以使目标虚拟对象的第一法线与目的对象的第二法线对齐。\n[0244] 在第60方面,根据方面59所述的AR系统,其中功能可见性包括以下中的至少一个:\n功能、取向、类型、位置、形状或尺寸。\n[0245] 在第61方面,根据方面58‑60中任一方面所述的AR系统,其中为了自动附接目标虚拟对象,硬件处理器被编程为:模拟目标虚拟对象与目的对象之间的吸引力,其中吸引力包括重力、弹力、粘合力或磁吸引力中的至少一个。\n[0246] 在第62方面,根据方面58‑61中任一方面所述的AR系统,其中为了计算距离,硬件处理器被编程为计算目标虚拟对象的当前位置和与目的对象相关联的第二位置之间的位移。\n[0247] 在第63方面,根据方面62所述的AR系统,其中阈值距离为零。\n[0248] 在第64方面,根据方面58‑63中任一方面所述的AR系统,其中附接目标虚拟对象的指示是根据以下中的至少一个确定的:用户输入设备的致动或用户的姿势。\n[0249] 在第65方面,根据方面64所述的AR系统,其中硬件处理器还被编程为:将焦点指示符分配给用户的当前位置,其中至少部分地基于用户的姿势或与用户输入设备相关联的位置来确定用户的当前位置。\n[0250] 在第66方面,根据方面58‑65中任一方面所述的AR系统,其中硬件处理器还被编程为:接收从目的对象分离目标虚拟对象的指示,其中该指示与用户的当前位置的变化相关联;至少部分地基于接收的指示来确定是否满足用于分离目标虚拟对象的阈值条件;响应于满足阈值条件的确定:从目的对象分离目标虚拟对象;将目标虚拟对象从与目的对象相关联的第二位置移动到第三位置;以及在第三个位置处渲染目标虚拟对象。\n[0251] 在第67方面,根据方面66所述的AR系统,其中响应于满足阈值条件的确定,硬件处理器还被编程为:在将目标虚拟对象移动到第三位置的同时保持目标虚拟对象的第二取向。\n[0252] 在第68方面,根据方面67所述的AR系统,其中第三位置对应于焦点指示符的位置,该焦点指示符的位置对应于用户的当前位置。\n[0253] 在第69方面,根据方面68所述的AR系统,其中用于从其他对象分离目标虚拟对象的阈值条件包括以下中的至少一个:目标虚拟对象附到目的对象的第二位置与焦点指示符的位置之间的第二距离大于或等于第二阈值距离;用于从第二位置移动到焦点指示符的位置的速度大于或等于阈值速度;用于远离第二位置移动的加速度大于或等于阈值加速度;\n或者用于远离第二位置移动的加加速度大于或等于阈值加加速度。\n[0254] 在第70方面,根据方面69所述的AR系统,其中硬件处理器被编程为在从目的对象分离目标虚拟对象时模拟物理力,其中物理力包括摩擦力或弹力中的至少一个。\n[0255] 在第71方面,一种用于在三维(3D)环境中自动重新定位虚拟对象的方法,该方法包括:在包括计算机硬件的增强现实(AR)系统的控制下,被配置为允许用户与3D环境中的对象的交互的AR系统:识别用户的3D环境中的目标虚拟对象,目标虚拟对象具有第一位置和第一取向;接收相对于目的对象重新定位目标虚拟对象的指示;识别用于重新定位目标虚拟对象的参数;分析与3D环境、目标虚拟对象和目的对象中的至少一个相关联的功能可见性;基于功能可见性计算用于重新定位目标虚拟对象的参数的值;基于用于重新定位目标虚拟对象的参数的值来确定目标虚拟对象的第二位置和第二取向以及目标虚拟对象的移动;以及以第二位置和第二取向以及从第一位置和第一取向到达第二位置和第二取向的目标虚拟对象的移动来渲染目标虚拟对象。\n[0256] 在第72方面中,根据方面71所述的方法,其中重新定位目标对象包括将目标对象附到目的对象、重新定向目标对象或从目的对象分离目标对象中的至少一个。\n[0257] 在第73方面,根据方面71‑72和权利要求14的方法中任一个所述的方法,其中目的对象是物理对象。\n[0258] 在第74方面,根据方面71‑73中任一方面所述的方法,还包括确定重新定位目标虚拟对象的指示是否满足阈值条件;响应于该指示满足阈值条件的确定,执行所述计算、确定和渲染。\n[0259] 在第75方面,根据方面74中任一方面所述的方法,其中阈值条件包括目标虚拟对象与目的对象之间的距离。\n[0260] 在第76方面,根据方面71‑75中任一方面所述的方法,其中将一个或多个物理属性分配给目标虚拟对象,并且基于目标虚拟对象的物理属性通过模拟目标虚拟对象、目的对象和环境的交互来确定目标虚拟对象的移动。\n[0261] 在第77方面,根据方面76所述的方法,其中分配给目标虚拟对象的一个或多个物理属性包括质量、大小、密度、相、硬度、弹力或电磁属性中的至少一个。\n[0262] 其他考虑因素\n[0263] 本文描述的和/或附图描绘的过程、方法以及算法中的每一者可体现在以下项中并通过以下项被全部或部分自动化:代码模块,其由一个或多个物理计算系统、硬件计算机处理器、专用电路执行;和/或电子硬件,其被配置为执行具体和特定计算机指令。例如,计算系统能包括用具体计算机指令或专用计算机编程的通用计算机(例如服务器)、专用电路等。代码模块可被编译并链接到可执行程序中,安装在动态链接库中,或可用解释性编程语言编写。在一些实施方式中,特定操作和方法可由特定于给定功能的电路来执行。\n[0264] 此外,本公开的功能的特定实施方式在数学上、计算上或技术上都足够复杂,以至于为了执行所述功能(例如由于所涉及的计算量或复杂性)或为了基本实时地提供结果,专用硬件或者一个或多个物理计算设备(利用适当的专有可执行指令)可以是必需的。例如,视频可包括多个帧,每帧具有数百万个像素,为了处理视频数据以在商业合理的时间量内提供期望的图像处理任务或应用,专用编程计算机硬件是必需的。\n[0265] 代码模块或任何类型的数据可被存储在任何类型的非暂时性计算机可读介质上,诸如物理计算机存储器,包括硬盘驱动器、固态存储器、随机存取存储器(RAM)、只读存储器(ROM)、光盘、易失性或非易失性存储器以及相同和/或相似元件的组合。方法和模块(或数据)也可在各种计算机可读传输介质上作为生成的数据信号(例如,作为载波或其他模拟或数字传播信号的一部分)传输,所述传输介质包括基于无线的介质和基于有线/电缆的介质,且可采取多种形式(例如,作为单一或多路复用模拟信号的一部分,或者作为多个离散数字数据包或帧)。所公开的过程或处理步骤的结果可持久地或以其他方式存储在任何类型的非暂时性实体计算机存储器中,或可经由计算机可读传输介质进行传送。\n[0266] 本文所描述和/或附图所描绘的流程图中的任何过程、框、状态、步骤或功能应当被理解为潜在地表示代码模块、代码段或代码部分,它们包括在过程中实现具体功能(例如逻辑功能或算术功能)或步骤的一个或多个可执行指令。各种过程、框、状态、步骤或功能能够根据本文提供的说明性示例进行组合、重新排列、添加、删除、修改或其他改变。在一些实施例中,额外或不同的计算系统或代码模块可执行本文所述的一些或全部功能。本文所述方法和过程也不限于任何具体的顺序,且与其相关的框、步骤或状态能以适当的其他顺序来执行,例如以串行、并行或某种其他方式。可向所公开的示例实施例添加或从中移除任务或事件。此外,本文所述的实施方式中的分离各种系统组件是出于说明的目的,且不应被理解为在所有实施方式中都需要这样的分离。应该理解,所描述的程序组件、方法以及系统一般能一起集成在单个计算机产品中或封装到多个计算机产品中。许多实施方式变体是可行的。\n[0267] 过程、方法以及系统可在网络(或分布式)计算环境中实施。网络环境包括企业范围的计算机网络、内联网、局域网(LAN)、广域网(WAN)、个人区域网络(PAN)、云计算网络、众包计算网络、因特网以及万维网。网络可以是有线或无线网络或者任何其他类型的通信网络。\n[0268] 本公开的系统和方法各自具有若干创新性方面,这些方面中的任一单个方面不单独负责本文所公开的期望待性或不是本文所公开的期望待性所必需的。上述各种特征和过程可彼此独立使用或可以以各种方式组合使用。所有可能的组合和子组合均旨在落入此公开的范围内。对此公开所述的实施方式的各种修改对于本领域技术人员而言可以是显而易见的,且在不脱离此公开的精神或范围的情况下,可将本文中限定的一般原理应用于其他实施方式。因此,权利要求不旨在限于本文所示的实施方式,而是应被赋予与本文所公开的此公开、原理和新颖特征一致的最宽范围。\n[0269] 在单独实施方式的上下文中在此说明书所述的某些特征也能在单个实施方式中组合实现。相反,在单个实施方式的上下文中所述的各种特征也能在多个实施方式中单独地或以任何合适的子组合实现。此外,尽管上文可将特征描述为以某些组合执行,甚至最初这样要求保护,但在一些情况下,来自所要求保护的组合的一个或多个特征能被从该组合中删除,且所要求保护的组合可涉及子组合或子组合的变体。任何单个特征或特征组对于每个实施例都不是必需或不可或缺的。\n[0270] 本文中使用的条件语,诸如(除其他项外)“能”、“能够”、“可能”、“可以”、“例如”等一般旨在表达某些实施例包括而其他实施例不包括某些特征、元素和/或步骤,另有具体说明或在上下文中另有理解除外。因此,这样的条件语一般不旨在暗示特征、元素和/或步骤以任何方式对于一个或多个实施例是必需的,或者一个或多个实施例必然包括用于在具有或没有程序设计者输入或提示的情况下决定这些特征、元素和/或步骤是否包括在或者是否将在任何具体实施例中执行的逻辑。术语“包括”、“包含”、“具有”等是同义词,且以开放式的方式包含性地使用,且不排除额外的元素、特征、动作、操作等。此外,术语“或”以其包含性含义(而不是其专有性含义)使用,因此,当被用于例如连接元素列表时,术语“或”意味着列表中的一个、一些或全部元素。另外,本申请和所附权利要求书中使用的冠词“一”、“一个”和“所述”应被解释为意味着“一个或多个”或“至少一个”,另有具体说明除外。\n[0271] 如本文所使用的,涉及项目列表的“至少一个”的短语指这些项目的任何组合,包括单个成员。作为示例,“A、B或C中的至少一个”旨在覆盖:A、B、C、A和B、A和C、B和C以及A、B和C。诸如短语“X、Y以及Z中的至少一个”的连接语(除非另有声明)以通常使用的上下文来理解,以表达项目、术语等可以是X、Y或Z中的至少一个。因此,这样的连接语一般并不旨在暗示某些实施例要求X中的至少一个、Y中的至少一个以及Z中的至少一个中的每个都存在。\n[0272] 类似地,虽然操作在附图中可以以特定顺序描绘,但应认识到,这样的操作不需要以所述特定顺序或以相继顺序执行,或执行所有例示的操作以实现期望的结果。此外,附图可以以流程图的形式示意性地描绘一个或多个示例过程。然而,未示出的其他操作能并入示意性地示出的示例方法和过程中。例如,能在任何所示操作之前、之后、同时或期间执行一个或多个附加操作。另外,在其他实施方式中,操作可被重新排列或重新排序。在某些情况下,多任务和并行处理可具有优势。此外,上述实施方式描述的各种系统组件的分离不应被理解为在所有实施方式中都需要这种分离,且应该理解,所述程序组件和系统一般能被一起集成在单个软件产品中或封装到多个软件产品中。另外,其他实施方式处于以下权利要求的范围内。在一些情况下,权利要求中列举的动作能以不同的顺序执行,且仍实现期望的结果。
法律信息
- 2022-07-15
- 2019-06-18
实质审查的生效
IPC(主分类): G06F 3/01
专利申请号: 201780062338.1
申请日: 2017.08.09
- 2019-05-24
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |