使用单个控制器的内容移动和交互的制作方法


使用单个控制器的内容移动和交互
1.相关申请的交叉引用
2.本技术要求根据35u.s.c.
§
119(e)于2020年1月24日提交的、标题为“content movement and interaction using a single controller(使用单个控制器的内容移动和交互)”的美国临时申请no.62/965708,其公开内容通过引用整体并入本文。
技术领域
3.本公开总体上涉及促进一个或多个用户的交互式虚拟或增强现实环境的系统和方法。


背景技术:



4.现代计算和显示技术促进了用于所谓“虚拟现实”、“增强现实”、或“混合现实”体验的系统的开发,其中数字再现的图像或其部分以如下方式呈现给用户:它们似乎是真实的,或者他们可能被感知为是真实的。虚拟现实或“vr”场景通常涉及数字或虚拟图像信息的呈现,而对其他实际现实世界的视觉输入不透明;增强现实或“ar”场景通常涉及数字或虚拟图像信息的呈现,作为对用户周围的实际世界的可视化的增强;混合现实或“mr”,与合并现实世界和虚拟世界有关,以产生物理和虚拟对象共存并实时交互的新环境。事实证明,人类的视觉感知系统非常复杂,产生一种促进舒适、自然、丰富地呈现虚拟图像元素以及其他虚拟或现实世界的图像元素的vr、ar或mr技术是一项挑战。本文公开的系统和方法解决了与vr、ar和mr技术相关的各种挑战。


技术实现要素:



5.本公开的实施例涉及用于促进一个或多个用户的虚拟或增强现实交互的设备、系统和方法。
6.以下在详细描述、附图和权利要求中描述了本公开的特征、目的和优点的进一步细节。前述一般描述和以下详细描述都是示例性和解释性的,并不旨在限制本公开的范围。
7.在一些配置中,增强现实(ar)系统可以包括:ar显示器,被配置为向ar系统的用户呈现虚拟内容;面向外的相机,被配置为捕获用户的环境的一个或多个图像;手持控制器,其限定指示手持控制器的指向方向的指向向量(pointing vector);与ar显示器、面向外的相机和手持控制器通信的硬件处理器,该硬件处理器可以被编程为:经由ar显示器显示交互式内容对象;在第一交互模式中,当指向向量保持在交互式内容对象内时,指示手持控制器在交互式内容对象内的移动,并允许经由手持控制器与交互式内容对象交互;监视指向向量参考交互式内容对象的变化;响应于检测到指向向量在交互式内容对象外部的移动,将系统更新为第二交互模式,其中手持控制器引起交互式内容对象的移动,使得交互式内容对象跟随手持控制器在虚拟环境中的移动;以及响应于检测到手持控制器的指向向量在交互式内容对象内部的移动,将系统更新为第一交互模式。
8.在一些配置中,增强现实(ar)系统可以包括:ar显示器,被配置为向ar系统的用户
呈现虚拟内容;具有至少六个自由度的手持控制器;以及与ar显示器、面向外的相机和手持控制器通信的硬件处理器,该硬件处理器可以被编程为:在第一内容位置显示交互式内容;确定包括由控制器指示的方向的第一指向向量;确定第一指向向量是否与关联于交互式内容的有界(bound)体积相交;响应于确定第一指向向量不与有界体积相交,将交互式内容移动到与沿着第一指向向量的方向的点相关联的第二内容位置;并且响应于确定第一指向向量与有界体积相交,接收与在第一内容位置处的交互式内容交互的指示。
9.一种用于显示虚拟内容的方法可以包括:在第一内容位置处显示交互式内容;确定包括由控制器指示的方向的第一指向向量;确定第一指向向量是否与关联于交互式内容的有界体积相交;响应于确定第一指向向量不与有界体积相交,将交互式内容移动到与沿着第一指向向量的方向的点相关联的第二内容位置;并且响应于确定第一指向向量与有界体积相交,接收与在第一内容位置处的交互式内容交互的指示。
附图说明
10.在整个附图中,附图标记被重复用于指示所引用的元素之间的对应关系。提供以下附图和相关联的描述以说明本公开的实施例并且不限制权利要求的范围。
11.附图说明了本公开的各种实施例的设计和实用性。应当注意,附图不是按比例绘制的,并且相似结构或功能的元素在所有附图中由相似的附图标记表示。为了更好地理解如何获得本公开的各个实施例的上述和其他优点和目的,将参考本公开的具体实施例对以上简要描述的本公开进行更详细的描述,这些具体实施例在附图中说明。理解这些附图仅描绘了本公开的典型实施例并且因此不应被视为对其范围的限制,将通过使用附图以附加的特征和细节来描述和解释本公开,其中:
12.图1示出了用户通过ar设备的增强现实(ar)场景视图。
13.图2示出了用于为用户模拟三维图像的传统显示系统。
14.图3a-3c示出了曲率半径与焦半径之间的关系。
15.图4a示出了人类视觉系统的适应-辐辏响应的表示。
16.图4b示出了用户的双眼的不同适应状态和辐辏状态的示例。
17.图4c示出了经由显示系统观看内容的用户的俯视平面图的表示的示例。
18.图4d示出了经由显示系统观看内容的用户的俯视平面图的表示的另一示例。
19.图5示出了通过修改波前发散来模拟三维图像的方法的方面。
20.图6示出了用于将图像信息输出给用户的波导堆叠的示例。
21.图7示出了由波导输出的出射光束的示例。
22.图8示出了堆叠波导组件的示例,其中每个深度平面包括使用多种不同分量颜形成的图像。
23.图9a示出了一组堆叠的波导的示例的横截面侧视图,每个堆叠的波导包括入耦合光学元件。
24.图9b示出了图9a的多个堆叠波导的示例的视角。
25.图9c示出了图9a和图9b的多个堆叠波导的示例的俯视平面图。
26.图9d示出了可穿戴显示系统的示例。
27.图10a示出了通过控制器按钮所接收的用户输入的示例。
28.图10b示出了通过控制器触摸板所接收的用户输入的示例。
29.图10c示出了通过控制器或头戴式设备(hmd)的物理移动所接收的用户输入的示例。
30.图10d示出了用户输入如何具有不同持续时间的示例。
31.图11a示出了通过控制器按钮所接收的用户输入的附加示例。
32.图11b示出了通过控制器触摸板所接收的用户输入的附加示例。
33.图12a示出了根据本文公开的跟随和交互方法的一个示例的示例内容控制环境1200。
34.图12b示出了示例过程的流程图,该示例过程可用于控制用户的3d空间中的内容位置或与内容交互。
35.图12c示出了有界体积内的示例内容。
36.图12d示出了控制器的俯视图,该控制器被定向为使得其指向向量大体上朝向有界体积内的内容。
37.图13a、图13b和图13c示出了示例内容移动环境的示例方面。
38.图14a至图14c示出了示例内容取向环境的方面。
39.图14d示出了示例内容定向过程的流程图。
40.图15示出了示例内容访问机制。
41.图16示出了示例内容投掷(drop)机制。
42.图17描绘了内容跟随系统的示例应用,其中相应的可穿戴系统的两个用户正在进行远程呈现会话。
具体实施方式
43.ar和/或vr系统可以向用户或观看者显示虚拟内容。例如,该内容可以显示在头戴式显示器上,例如该头戴式显示器作为眼镜的一部分,将图像信息投射到用户的眼睛上。此外,在系统是ar系统的情况下,显示器还可以将来自周围环境的光传输到用户的眼睛,以允许观看周围环境。如本文所用,将理解“头戴式”或“可头戴式”显示器是可以安装在观看者或用户的头部上的显示器。这样的显示器可以被理解为形成显示系统的一部分。
44.在各种增强现实和虚拟现实显示系统中,诸如衍射或反射式出耦合元件的出耦合元件将来自波导的光出耦合到用户的眼睛。然而,典型的出耦合元件可能不是定向的,并且可以被构造成在出耦合光学元件内的所有区域处在各种方向上输出光。因此,虽然由出耦合元件出耦合的光的一部分可以有用地指向用户眼睛的瞳孔,在该瞳孔处它将进入眼睛以形成图像,但由出耦合元件出耦合的其他光可能不会入射到眼睛的瞳孔处或眼睛的瞳孔附近,因此对显示系统形成的图像没有贡献。
45.因此,可能需要设计这样的显示系统,该显示系统可以通过使光出耦合朝向用户的眼睛的瞳孔瞄准,并通过减少在其他方向上出耦合的光量来提高或优化效率。通过使出耦合朝向瞳孔瞄准,此类系统可以减少必须由光投射系统或其他显示光源所生成以在佩戴者的眼睛中产生给定亮度图像的光能量。本技术的各种实施例提供了包括出耦合元件、入耦合元件、和/或光投射系统的系统,其被配置为选择性地将图像光导向佩戴者的眼睛的瞳孔。这样的系统因此可以有利地提高本文公开的显示设备的效率,因为它们可以增加由用
于形成由用户感知的图像的光投射系统所产生的给定光量的比例,并且可以降低落在用户眼睛的其他部分或面部的光的比例,或者以其他方式对用户感知的图像没有贡献的光。
46.现在将参考附图,其中相同的附图标记自始至终指代相同的部件。除非另有说明,否则附图是示意性的并且不一定按比例绘制。
47.a.术语
48.为了便于理解本文讨论的系统和方法,下面描述了多个术语。下文描述的术语以及本文使用的其他术语应被解释为包括所提供的描述、这些术语的普通和习惯含义、和/或相应术语的任何其他隐含含义,其中这样的解释与术语的上下文一致。因此,以下描述不限制这些术语的含义,而仅提供示例性描述。
49.头部姿势(或“头部姿势”):可穿戴头戴式装置的位置和/或取向,并且通过代理(proxy),用户的头部在现实世界中的位置和/或取向。可以使用诸如惯性测量单元(imu)、加速度计、陀螺仪等传感器来确定头部姿势。在头部姿势的方向上延伸的头部姿势射线(ray)可以用于与虚拟对象交互。例如,当用户指向或注视棱柱(prism)或对象时,对象或棱柱与用户的头部姿势射线相交。
50.控制器:手持控制器,例如图腾(totem)。控件可以提供多自由度运动,例如6dof(六个自由度)。
51.控制器姿势:控制器的位置和/或取向。控制器姿势可用于确定混合现实环境的控制器所指向的区域、体积或点。
52.棱柱:与混合现实内容或混合现实空间相关联的容器(container)、区域、或体积。例如,棱柱可以包含可由用户选择的一个或多个虚拟内容项目。启动应用时可能会生成棱柱,然后可能会生成同层级(sibling)或子棱柱以创建灵活的布局。棱柱内的应用可以被配置为控制这些分层棱柱将出现的位置,这通常在第一棱柱附近并且容易被用户发现。棱柱可以向用户提供反馈。在一些实施例中,反馈可以是仅当棱柱以头部姿势为目标时才向用户显示的标题。在一些实施例中,反馈可以是棱柱周围的辉光(glow)。棱柱辉光(和/或其他棱柱反馈)也可以用于共享,以向用户提供正在共享哪些棱柱的反馈。
53.焦点:对象(例如棱柱)的特征,允许选择交互式对象。
54.输入焦点:对象(棱柱或应用)的特征,导致对象的光标被刷新并渲染为活动系统光标。在一些实现方式中,可以有多个焦点对象,但只有一个具有输入焦点。
55.3d内容:可以在用户的3d环境中显示的虚拟对象。3d内容可以是静态的、动画的、可操作的、或以其他方式与之交互的。3d内容可以包括通过用户使用例如浏览器块与网络域或与网页交互而生成的基于网络的内容。
56.a.示例性增强现实场景
57.图1描绘了具有某些虚拟现实对象和由人观看的某些实际现实对象的增强现实场景的图示。图1描绘了增强现实场景100,其中ar技术的用户看到人、树木、以背景中的建筑物为特征的现实世界公园式设置110和混凝土平台120。除了这些项目,ar技术的用户还感知到他“看到”了站在现实世界平台120上的机器人雕像130,以及飞行的卡通形象角140(例如,大黄蜂),似乎是大黄蜂的拟人化,即使这些元素在现实世界中并不存在。
58.为了使三维(3-d)显示器产生真实的深度感觉,更具体地,产生模拟的表面深度感觉,希望显示器的视野中的每个点产生对应于其虚拟深度的适应响应。如果对显示点的适
应响应与该点的虚拟深度不对应,如由会聚和立体视觉的双目深度线索所确定,人眼可能会经历适应冲突,导致成像不稳定、有害的眼睛疲劳、头痛,并且在没有适应信息的情况下,几乎完全缺乏表面深度。
59.vr、ar和mr体验可以由具有显示器的显示系统提供,其中将对应于多个深度平面的图像提供给观看者。每个深度平面的图像可能不同(例如,提供稍微不同的场景或对象呈现),并且可能由观看者的眼睛单独聚焦,从而有助于基于聚焦位于不同深度平面上的场景的不同图像特征所需的眼睛适应,和/或基于观察失焦的不同深度平面上的不同图像特征,向用户提供深度提示。如本文其他地方所讨论的,这种深度提示提供了可信的深度感知。
60.b.示例显示系统
61.图2示出了用于为用户模拟三维图像的传统显示系统。应当理解,用户的眼睛是间隔开的,并且当观看空间中的真实对象时,每只眼睛将具有该对象的稍微不同的视图,并且可以在每只眼睛的视网膜上的不同位置处形成该对象的图像。这可以被称为双目视差,并且可以被人类视觉系统用来提供对深度的感知。传统的显示系统通过呈现具有相同虚拟对象的略有不同的视图的两个不同的图像190、200(每只眼睛210、220对应一个图像)来模拟双目视差,该略有不同的视图对应于每只眼睛将看到的虚拟对象的视图,如果虚拟对象是期望深度的真实对象的话。这些图像提供了双目提示,用户的视觉系统可以将其解释为获得深度的感知。
62.继续参考图2,图像190、200与眼睛210、220在z轴上间隔开距离230。z轴与观看者的光轴平行,其眼睛注视在观看者正前方的光学无限远处的对象上。图像190、200是平坦的并且与眼睛210、220处于固定的距离。基于分别呈现给眼睛210、220的图像中的虚拟对象的略微不同的视图,眼睛可以自然地旋转,使得对象的图像落在每只眼睛的视网膜上的对应点上,以保持单个双目视觉。该旋转可导致眼睛210、220中的每只眼睛的视线会聚到空间上的一点,在该点处虚拟对象被感知为存在。结果,提供三维图像通常涉及提供双目提示,该双目提示可操纵用户的眼睛210、220的辐辏,并且人类视觉系统将其解释为提供深度的感知。
63.然而,生成对深度的现实且舒适的感知是具有挑战性的。应当理解,来自距眼睛不同距离处的对象的光具有带有不同发散量的波前。图3a-3c示出了距离与光线的发散之间的关系。对象与眼睛210之间的距离由r1、r2和r3按减小距离的顺序表示。如图3a-3c中所示,随着距对象的距离减小,光线变得更加发散。相反,随着距离增加,光线变得更加准直。换句话说,可以说由点(对象或对象的一部分)产生的光场具有球面波前曲率,该曲率是该点距用户眼睛多远的函数。曲率随着对象和眼睛210之间的距离减小而增加。尽管为了清楚起见在图3a-3c和在此的其它图中仅示出了单只眼睛210,但是关于眼睛210的讨论可以应用于观看者的两只眼睛210和220。
64.继续参考图3a-3c,观看者的眼睛注视在其上的对象发出的光可能具有不同程度的波前发散。由于不同量的波前发散,眼睛的晶状体可能会不同地聚焦光,这进而可能会要求晶状体采取不同的形状以在眼睛的视网膜上形成聚焦图像。在未在视网膜上形成聚焦图像的情况下,所产生的视网膜模糊可作为适应的提示,该适应引起眼睛晶状体形状的改变,直到在视网膜上形成聚焦图像为止。例如,适应的提示可触发眼睛晶状体周围的睫状肌松弛或收缩,从而调节施加到保持晶状体的悬韧带的力,从而引起眼睛晶状体的形状改变直
到注视对象的视网膜模糊被消除或最小化,从而在眼睛的视网膜(例如,中央凹)上形成注视对象的聚焦图像。眼睛的晶状体改变形状的过程可以被称为适应,并且形成在眼睛的视网膜(例如,中央凹)上的注视对象的聚焦图像所需的眼睛的晶状体的形状可以被称为适应状态。
65.现在参考图4a,示出了人类视觉系统的适应-辐辏响应的表示。眼睛注视在对象上的运动使眼睛接收来自对象的光,该光在眼睛的每个视网膜上形成图像。在视网膜上形成的图像中视网膜模糊的存在可以提供适应的提示,并且图像在视网膜上的相对位置可以为辐辏提供提示。适应的提示使适应发生,导致眼睛的晶状体各自呈现特定的适应状态,该特定的适应状态形成了对象在眼睛的视网膜(例如,中央凹)上的聚焦图像。另一方面,辐辏的提示使辐辏运动(眼睛的旋转)发生,使得形成在每只眼睛的每个视网膜上的图像位于保持单个双目视觉的对应视网膜点处。在这些位置中,可以说眼睛已呈现特定的辐辏状态。继续参考图4a,适应可以被理解为眼睛达到特定的适应状态的过程,而辐辏可以被理解为眼睛达到特定的辐辏状态的过程。如图4a中所示,如果用户注视在另一对象上,则眼睛的适应和辐辏状态可能改变。例如,如果用户在z轴上的不同深度处注视在新对象上,则适应状态可能改变。
66.在不受理论限制的情况下,相信对象的观看者可能由于辐辏和适应的组合而将对象感知为“三维”。如上所述,两只眼睛相对于彼此的辐辏运动(例如,眼睛的旋转,使得瞳孔彼此朝向或远离移动以会聚眼睛的视线以注视在对象上)与眼睛的晶状体的适应紧密相关。在正常情况下,改变眼睛的晶状体形状以将焦点从一个对象改变到不同距离处的另一对象,将在称为“适应-辐辏反射”的关系下自动导致在辐辏上距相同距离的匹配变化。同样,在正常情况下,辐辏的变化将触发晶状体形状的匹配变化。
67.现在参考图4b,示出了眼睛的不同适应和辐辏状态的示例。一对眼睛222a在光学无限远处注视在对象上,而一对眼睛222b在小于光学无限远处注视在对象221上。值得注意的是,每对眼睛的辐辏状态不同,该对眼睛222a笔直指向前方,而该对眼睛222会聚在对象221上。形成每对眼睛222a和222b的眼睛的适应状态也不同,如晶状体210a、220a的不同形状所代表的。
68.不期望地,由于这些显示器中的适应状态和辐辏状态之间的失配,传统“3d”显示系统的许多用户发现此类传统系统不舒适或根本无法感知深度感。如上所述,许多立体或“3d”显示系统通过向每只眼睛提供略有不同的图像来显示场景。此类系统对于许多观看者来说是不舒适的,因为它们尤其提供了场景的不同呈现并且引起眼睛的辐辏状态的改变,但是没有相应地改变那些眼睛的适应状态。相反,通过显示器在距眼睛的固定距离处示出图像,使得眼睛在单个适应状态下观看所有图像信息。此类布置通过引起辐辏状态的变化而没有适应状态的匹配变化来对抗“适应-辐辏反射”。据信该失配会引起观看者不适。在适应和辐辏之间提供更优匹配的显示系统可能会形成更逼真的且更舒适的三维图像模拟。
69.不受理论的限制,据信人眼通常可以解释有限数量的深度平面以提供深度感知。因此,通过向眼睛提供与这些有限数量的深度平面中的每一个深度平面相对应的图像的不同呈现,可以实现感知深度的高度可信的模拟。在一些实施例中,不同的呈现可以提供辐辏的提示和适应的匹配提示二者,从而提供生理上正确的适应-辐辏匹配。
70.继续参考图4b,示出了两个深度平面240,其对应于距眼睛210、220在空间上的不
同距离。对于给定的深度平面240,可以通过为每只眼睛210、220显示适当不同视角的图像来提供辐辏提示。此外,对于给定的深度平面240,形成提供给每只眼睛210、220的图像的光可以具有与该深度平面240的距离处的点所产生的光场相对应的波前发散。
71.在所示的实施例中,包含点221的深度平面240沿z轴的距离为1m。如在此所使用的,可以采用位于用户眼睛的瞳孔处的零点来测量沿z轴的距离或深度。因此,位于深度为1m的深度平面240对应于在这些眼睛的光轴上距用户眼睛的瞳孔1m的距离,眼睛朝向光学无限远引导。作为近似,可以从用户眼睛前面的显示器(例如,从波导的表面)测量沿z轴的深度或距离,再加上该设备与用户眼睛的瞳孔之间的距离值。该值可以称为眼距,并且对应于用户眼睛的瞳孔与用户在眼睛前面佩戴的显示器之间的距离。实际上,眼距的值可以是通常用于所有观看者的归一化值。例如,可以假设眼距为20mm,并且深度1m处的深度平面在显示器前面的距离可以为980mm。
72.现在参考图4c和4d,分别示出了匹配的适应-辐辏距离和失配的适应-辐辏距离的示例。如图4c中所示,显示系统可以向每只眼睛210、220提供虚拟对象的图像。图像可以使眼睛210、220呈现辐辏状态,在该状态中眼睛会聚在深度平面240上的点15上。另外,图像可以由具有与该深度平面240处的真实对象相对应的波前曲率的光形成。结果,眼睛210、220呈现适应状态,在该状态中图像聚焦在那些眼睛的视网膜上。因此,用户可以将虚拟对象感知为在深度平面240上的点15处。
73.应当理解,眼睛210、220的适应状态和辐辏状态中的每一种状态都与z轴上的特定距离相关联。例如,距眼睛210、220特定距离处的对象使那些眼睛基于该对象的距离呈现特定的适应状态。与特定的适应状态相关联的距离可以被称为适应距离ad。类似地,在特定的辐辏状态或相对于彼此的位置中,存在与眼睛相关联的特定的辐辏距离vd。在适应距离和辐辏距离匹配的情况下,适应和辐辏之间的关系可以说是生理上正确的。对于观看者来说,这被认为是最舒适的场景。
74.然而,在立体显示中,适应距离和辐辏距离可能并不总是匹配。例如,如图4d中所示,显示给眼睛210、220的图像可以以与深度平面240相对应的波前发散来显示,并且眼睛210、220可以呈现特定的适应状态,在该状态中在该深度平面上的点15a、15b处于焦点。然而,显示给眼睛210、220的图像可能会提供辐辏提示,该提示使眼睛210、220会聚在未位于深度平面240上的点15上。结果,在一些实施例中,适应距离对应于从眼睛210、220的瞳孔到深度平面240的距离,而辐辏距离对应于从眼睛210、220的瞳孔到点15的较大距离。适应距离不同于辐辏距离。因此,存在适应-辐辏失配。此类失配被认为是不期望的,并且可能导致用户不适。应当理解,失配对应于距离(例如,v
d-ad),并且可以使用屈光度来表征。
75.在一些实施例中,应当理解,除了眼睛210、220的瞳孔之外的参考点可以被用于确定用于确定适应-辐辏失配的距离,只要相同的参考点被用于适应距离和辐辏距离。例如,可以测量从角膜到深度平面,从视网膜到深度平面,从目镜(例如,显示设备的波导)到深度平面的距离等。
76.在不受理论限制的情况下,据信用户仍可将高达约0.25屈光度、高达约0.33屈光度和高达约0.5屈光度的适应-辐辏失配感知为生理上正确的,而失配本身不会引起严重不适。在一些实施例中,在此公开的显示系统(例如,图6的显示系统250)向观看者呈现具有约0.5屈光度或更小的适应-辐辏失配的图像。在一些其它实施例中,由显示系统提供的图像
的适应-辐辏失配为约0.33屈光度或更小。在其它实施例中,由显示系统提供的图像的适应-辐辏失配为约0.25屈光度或更小,包括约0.1屈光度或更小。
77.图5示出了通过修改波前发散来模拟三维图像的方法的方面。该显示系统包括波导270,该波导270被配置为接收用图像信息编码的光770,并将该光输出到用户的眼睛210。波导270可以输出具有限定量的波前发散的光650,该限定量的波前发散与由所期望的深度平面240上的点产生的光场的波前发散相对应。在一些实施例中,为在该深度平面上呈现的所有对象提供相同量的波前发散。另外,将说明可以向用户的另一只眼睛提供来自类似波导的图像信息。
78.在一些实施例中,单个波导可以被配置为输出具有与单个或有限数量的深度平面相对应的设定量的波前发散的光,和/或波导可以被配置为输出有限波长范围的光。因此,在一些实施例中,可以利用多个波导或堆叠的波导来为不同的深度平面提供不同量的波前发散和/或输出不同波长范围的光。如在此所使用的,应当理解,在深度平面处可以是平坦表面或者可以遵循弯曲表面的轮廓。
79.图6示出了用于向用户输出图像信息的波导堆叠的示例。显示系统250包括波导的堆叠,或堆叠的波导组件260,其可以用于使用多个波导270、280、290、300、310向眼睛/大脑提供三维感知。将理解的是,在一些实施例中,显示系统250可以被认为是光场显示器。另外,波导组件260也可以被称为目镜。
80.在一些实施例中,显示系统250可以被配置为提供辐辏的基本上连续的提示和适应的多个离散的提示。可以通过向用户的每只眼睛显示不同的图像来提供辐辏的提示,并且可以通过输出具有可选择的离散量的波前发散的形成图像的光来提供适应的提示。换句话说,显示系统250可以被配置为输出具有可变水平的波前发散的光。在一些实施例中,波前发散的每个离散水平对应于特定的深度平面,并且可以由波导270、280、290、300、310中的特定波导提供。
81.继续参考图6,波导组件260还可以在波导之间包括多个特征320、330、340、350。在一些实施例中,特征320、330、340、350可以是一个或多个透镜。波导270、280、290、300、310和/或多个透镜320、330、340、350可以被配置为以各种水平的波前曲率或光线发散向眼睛发送图像信息。每个波导水平可以与特定的深度平面相关联并且可以被配置为输出与该深度平面相对应的图像信息。图像注入设备360、370、380、390、400可以用作波导的光源,并且可以用于将图像信息注入到波导270、280、290、300、310中,如在此所述,其可以被配置为将入射光分布在每个相应的波导上,用于朝向眼睛210输出。光从图像注入设备360、370、380、390、400的输出表面410、420、430、440、450出射,并且注入波导270、280、290、300、310的对应输入表面460、470、480、490、500。在一些实施例中,输入表面460、470、480、490、500中的每个输入表面可以是对应波导的边缘,或者可以是对应波导的主表面的一部分(也就是说,直接面对世界510或观看者的眼睛210的波导表面之一)。在一些实施例中,可以将单个光束(例如,准直光束)注入每个波导中,以输出克隆的准直光束的整个场,该准直光束以与与特定波导相关联的深度平面相对应的特定角度(和发散量)朝向眼睛210引导。在一些实施例中,图像注入设备360、370、380、390、400中的单个图像注入设备可以与波导270、280、290、300、310中的多个(例如,三个)相关联并将光注入到其中。
82.在一些实施例中,图像注入设备360、370、380、390、400是离散的显示器,其各自产
生图像信息以分别注入到对应的波导270、280、290、300、310中。在一些其它实施例中,图像注入设备360、370、380、390、400是单个多路复用显示器的输出端,该显示器可以例如经由一个或多个光导管(诸如光纤电缆)将图像信息输送到图像注入设备360、370、380、390、400中的每一个图像注入设备。应当理解,图像注入设备360、370、380、390、400提供的图像信息可以包括不同波长或颜的光(例如,如在此所述,不同分量的颜)。
83.在一些实施例中,注入到波导270、280、290、300、310中的光被编码有图像信息并且由光投射系统1010提供,如本文进一步讨论的。在一些实施例中,光投射系统1010可以包括一个或多个发射式像素阵列。应当理解,发射式像素阵列可以各自包括多个发光像素,这些像素可以被配置为发射不同强度和颜的光。应当理解,图像注入设备360、370、380、390、400被示意性地示出,并且在一些实施例中,这些图像注入设备可以在被配置成将光输出到波导270、280、290、300、310中的相关联波导的共同投射系统中呈现不同光路和位置。在一些实施例中,波导组件260的波导可以用作理想透镜,同时将注入波导中的光中继到用户的眼睛。在这个概念中,对象可以是光投射系统1010的像素阵列,并且图像可以是深度平面上的图像。
84.控制器560控制一个或多个堆叠的波导组件260的操作,包括图像注入设备360、370、380、390、400、光投射系统1010的操作。在一些实施例中,控制器560是本地数据处理模块140的一部分。控制器560包括编程(例如,非暂态介质中的指令),该编程根据例如在此公开的各种方案中的任何方案来调节图像信息到波导270、280、290、300、310的定时和提供。在一些实施例中,控制器可以是单个整体设备,或者是通过有线或无线通信信道连接的分布式系统。在一些实施例中,控制器560可以是处理模块140或150(图9d)的一部分。
85.继续参考图6,可以将波导270、280、290、300、310配置为通过全内反射(tir)在每个相应的波导内传播光。波导270、280、290、300、310每个可以是平面的或具有另一种形状(例如,弯曲的),具有主要的顶部和底部表面以及在那些主要的顶部和底部表面之间延伸的边缘。在所示的配置中,波导270、280、290、300、310可各自包括出耦合光学元件570、580、590、600、610,其被配置为通过将在每个相应波导内传播的光重定向到波导之外以将图像信息输出到眼睛210,从而从波导中提取光。提取的光也可以称为出耦合光,并且出耦合光学元件也可以称为光提取光学元件。所提取的光束可以在波导中传播的光撞击光提取光学元件的位置处由波导输出。如在此进一步讨论的,出耦合光学元件570、580、590、600、610可以例如是包括衍射光学特征的光栅。虽然示出为设置在波导270、280、290、300、310的底部主表面上,但是为了便于描述和清楚作图起见,在一些实施例中,如在此进一步讨论的,出耦合光学元件570、580、590、600、610可以设置在顶部和/或底部主表面上,和/或可以直接设置在波导270、280、290、300、310的体积中。在一些实施例中,出耦合光学元件570、580、590、600、610可以形成为材料层,该材料层附接到透明基板以形成波导270、280、290、300、310。在一些其它实施例中,波导270、280、290、300、310可以是单片材料,并且出耦合光学元件570、580、590、600、610可以形成在该片材料的表面上和/或内部中。
86.继续参考图6,如在此所述,每个波导270、280、290、300、310被配置为输出光以形成与特定深度平面对应的图像。例如,最靠近眼睛的波导270可以被配置为将准直光(其被注入到此类波导270中)传送到眼睛210。准直光可以代表光学无限远焦平面。下一个波导向上280可以被配置为在准直光可到达眼睛210之前发出通过第一透镜350(例如,负透镜)的
准直光;此类第一透镜350可以被配置为产生轻微的凸面的波前曲率,使得眼睛/大脑将来自下一个波导向上280的光解释为来自光学无限远更近地向内朝向眼睛210的第一焦平面。类似地,第三向上波导290在到达眼睛210之前使它的输出光通过第一透镜350和第二透镜340二者;第一350和第二340透镜的组合光焦度(optical power)可以被配置为产生另一增量的波前曲率,使得眼睛/大脑将来自第三波导290的光解释为来自第二焦平面,该第二焦平面比来自下一个波导向上280的光从光学无限远更近地向内朝向人。
87.其它波导层300、310和透镜330、320被类似地配置,其中堆叠中的最高波导310通过其与眼睛之间的所有透镜发送其输出,以代表最接近人的焦平面的总(aggregate)焦度。在观看/解释来自堆叠波导组件260的另一侧上的世界510的光时,为了补偿透镜320、330、340、350的堆叠,可以在堆叠的顶部设置补偿透镜层620,以补偿下面的透镜堆叠320、330、340、350的总焦度。此类配置提供与可用的波导/透镜对一样多的感知焦平面。波导的出耦合光学元件和透镜的聚焦方面二者都可以是静态的(即,不是动态的或电激活的)。在一些替代实施例中,使用电激活特征,上述中的一个或二者可以是动态的。
88.在一些实施例中,波导270、280、290、300、310中的两个或更多个波导可以具有相同的相关联深度平面。例如,多个波导270、280、290、300、310可以被配置为输出设置到相同深度平面的图像,或者波导270、280、290、300、310的多个子集可以被配置为输出设置到相同的多个深度平面的图像,其中对于每个深度平面设置一组。这可以提供用于形成平铺图像以在那些深度平面处提供扩大的视场的优点。
89.继续参考图6,出耦合光学元件570、580、590、600、610可以被配置为既将光重定向到其相应的波导之外,并且针对与波导相关联的特定深度平面以适当的发散或准直量输出该光。结果,具有不同的相关联深度平面的波导可以具有出耦合光学元件570、580、590、600、610的不同配置,其取决于相关联的深度平面以不同的发散量输出光。在一些实施例中,光提取光学元件570、580、590、600、610可以是体积或表面特征,其可以被配置为以特定角度输出光。例如,光提取光学元件570、580、590、600、610可以是体积全息、表面全息和/或衍射光栅。在一些实施例中,特征320、330、340、350可以不是透镜;相反,它们可以简单地是间隔物(例如,用于形成气隙的包层和/或结构)。
90.在一些实施例中,出耦合光学元件570、580、590、600、610是形成衍射图案的衍射特征,或者是“衍射光学元件”(在此也称为“doe”)。优选地,doe具有足够低的衍射效率,使得光束的仅一部分在doe的每个相交处被偏转出朝向眼睛210,而其余的继续经由tir移动通过波导。携带图像信息的光因此被分成多个相关的出射光束,该光束在多个位置处离开波导,并且结果是对于在波导内弹跳(bounce)的该特定准直光束,朝向眼睛210的出射的图案相当均匀。
91.在一些实施例中,一个或多个doe可以在它们主动衍射的“开”状态和它们没有明显衍射的“关”状态之间切换。例如,可切换doe可以包含聚合物分散的液晶层,其中微滴在主体介质中包含衍射图案,并且微滴的折射率可以切换为与主体材料的折射率基本上匹配(在该情况下,该图案不会明显地衍射入射光),或者可以将微滴切换到与主体介质的折射率不匹配的折射率(在该情况下,该图案主动衍射入射光)。
92.在一些实施例中,可以提供相机组件630(例如,包括可见光和红外光相机的数字相机)以捕获眼睛210和/或眼睛210周围的组织的图像,以例如检测用户输入和/或监控用
780nm范围内的一个或多个波长的光,绿光可以包括在约492-577nm范围内的一个或多个波长的光,并且蓝光可以包括在约435-493nm范围内的一个或多个波长的光。
98.在一些实施例中,光投射系统1010(图6)可以被配置为发射观看者的视觉范围之外的一个或多个波长的光,例如,红外和/或紫外波长。另外,显示器250的波导的入耦合、出耦合和其它光重定向结构可以被配置为将该光朝向用户的眼睛210引导并发射出显示器,例如,用于成像和/或用户刺激应用。
99.现在参考图9a,在一些实施例中,可能需要重定向撞击到波导上的光以将该光入耦合到波导中。入耦合光学元件可以用于将光重定向并入耦合到其对应的波导中。图9a示出了多个堆叠波导或堆叠波导组660的示例的横截面侧视图,每个堆叠波导包括入耦合光学元件。波导可以各自被配置为输出一种或多种不同波长或一种或多种不同波长范围的光。应当理解,除了来自图像注入设备360、370、380、390、400中的一个或多个图像注入设备的光从需要将光重定向以入耦合的位置注入到波导中之外,堆叠660可以对应于堆叠260(图6),并且堆叠660的所示波导可以对应于多个波导270、280、290、300、310的一部分。
100.所示的堆叠波导组660包括波导670、680和690。每个波导包括相关联的入耦合光学元件(其也可以称为波导上的光输入区域),例如,设置在波导670的主表面(例如,上主表面)上的入耦合光学元件700、设置在波导680的主表面(例如,上主表面)上的入耦合光学元件710,以及设置在波导690的主表面(例如,上主表面)上的入耦合光学元件720。在一些实施例中,入耦合光学元件700、710、720中的一个或多个可以设置在相应的波导670、680、690(特别是一个或多个入耦合光学元件是反射的偏转光学元件的情况)的底部主表面上。如图所示,入耦合光学元件700、710、720可设置在它们相应的波导670、680、690(或下一个较低的波导的顶部)的上主表面上,特别是那些入耦合光学元件是透射的偏转光学元件的情况。在一些实施例中,入耦合光学元件700、710、720可设置在相应的波导670、680、690的主体中。在一些实施例中,如在此所讨论的,入耦合光学元件700、710、720是波长选择性的,使得它们选择性地重定向一个或多个波长的光,同时透射其它波长的光。虽然在它们相应的波导670、680、690的一侧或角上示出,但是应当理解,在一些实施例中,入耦合光学元件700、710、720可以设置在其相应的波导670、680、690的其它区域中。
101.如图所示,入耦合光学元件700、710、720可以在横向上彼此偏移。在一些实施例中,每个入耦合光学元件可以被偏移,使得其接收光而该光不穿过另一入耦合光学元件。例如,如图6中所示,每个入耦合光学元件700、710、720可被配置为从不同的图像注入设备360、370、380、390和400接收光,并且可以与其它入耦合光学元件700、710、720分离(例如,横向间隔开),使得它基本上不从入耦合光学元件700、710、720中的其它入耦合光学元件接收光。
102.每个波导还包括相关联的光分布元件,例如,设置在波导670的主表面(例如,顶部主表面)上的光分布元件730、设置在波导680的主表面(例如,顶部主表面)上的光分布元件740,以及设置在波导690的主表面(例如,顶部主表面)上的光分布元件750。在一些其它实施例中,光分布元件730、740、750可分别设置在相关联波导670、680、690的底部主表面上。在一些其它实施例中,光分布元件730、740、750可以分别设置在相关联波导670、680、690的顶部主表面和底部主表面二者上;或光分布元件730、740、750可以分别设置在不同的相关联的波导670、680、690中的顶部主表面和底部主表面中的不同主表面上。
103.波导670、680、690可以例如由气体、液体和/或固体材料层间隔开并分离。例如,如图所示,层760a可以分离波导670和680;并且层760b可以分离波导680和690。在一些实施例中,层760a和760b由低折射率材料(也就是说,具有比形成波导670、680、690中的紧邻波导的材料的折射率低的材料)形成。优选地,形成层760a、760b的材料的折射率是形成波导670、680、690的材料的折射率的0.05或更大,或者是0.10或更小。有利地,较低折射率层760a、760b可以用作包层,该包层有助于通过波导670、680、690的光的全内反射(tir)(例如,每个波导的顶部和底部主表面之间的tir)。在一些实施例中,层760a、760b由空气形成。尽管未示出,但是应当理解,所示出的波导组660的顶部和底部可以包括紧邻的包层。
104.优选地,为了易于制造和其它考虑,形成波导670、680、690的材料相似或相同,并且形成层760a、760b的材料相似或相同。在一些实施例中,在一个或多个波导之间,形成波导670、680、690的材料可以是不同的,和/或形成层760a、760b的材料可以是不同的,同时仍保持上述各种折射率关系。
105.继续参考图9a,光线770、780、790入射在该波导组660上。应当理解,可以通过一个或多个图像注入设备360、370、380、390、400(图6)将光线770、780、790注入波导670、680、690中。
106.在一些实施例中,光线770、780、790旨在用于不同的波导(例如,被配置为输出具有不同波前发散量的光和/或被配置为输出具有不同特性(例如不同波长或颜)的光的波导)。因此,在一些实施例中,光线770、780、790可以具有不同的特性,例如,不同的波长或不同的波长范围,其可以对应于不同的颜。入耦合光学元件700、710、720每个使入射光偏转,使得光通过tir传播通过波导670、680、690中的相应波导。在一些实施例中,入耦合光学元件700、710、720每个选择性地偏转一个或多个特定波长的光,同时将其它波长透射到下面的波导和相关联的入耦合光学元件。
107.例如,入耦合光学元件700可以被配置为使具有第一波长或波长范围的光线770偏转,同时透射分别具有不同的第二和第三波长或波长范围的光线780和790。透射光线780撞击到入耦合光学元件710上并由其偏转,该入耦合光学元件710被配置为使第二波长或波长范围的光偏转。光线790由入耦合光学元件720偏转,该入耦合光学元件720被配置为选择性地偏转第三波长或波长范围的光。
108.继续参考图9a,偏转的光线770、780、790被偏转,使得它们传播通过对应的波导670、680、690;也就是说,每个波导的入耦合光学元件700、710、720将光偏转到对应的波导670、680、690中,以将光入耦合到对应的波导中。光线770、780、790以使光通过tir传播通过相应波导670、680、690的一定角度偏转。光线770、780、790通过tir传播通过相应的波导670、680、690,直到撞击到波导的对应的光分布元件730、740、750上。
109.现在参考图9b,示出了图9a的多个堆叠的波导的示例的视角。如上所述,入耦合的光线770、780、790分别由入耦合光学元件700、710、720偏转,并且然后通过tir分别在波导670、680、690内传播。然后,光线770、780、790分别撞击在光分布元件730、740、750上。光分布元件730、740、750使光线770、780、790偏转,使得它们分别朝向出耦合光学元件800、810、820传播。
110.在一些实施例中,光分布元件730、740、750是正交光瞳扩展器(ope)。在一些实施例中,ope将光偏转或分布到出耦合光学元件800、810、820,并且在一些实施例中,当光传播
到出耦合光学元件时,还可以增加该光的光束或光斑大小。在一些实施例中,可以省略光分布元件730、740、750,并且可以将入耦合光学元件700、710、720配置为将光直接偏转到出耦合光学元件800、810、820。例如,参考图9a,光分布元件730、740、750可以分别用出耦合光学元件800、810、820代替。在一些实施例中,出耦合光学元件800、810、820是将光引导到观看者的眼睛210中的出射光瞳(ep)或出射光瞳扩展器(epe)(图7)。应当理解,ope可被配置为在至少一个轴上增加眼箱的尺寸,而epe可被配置为在与ope的轴相交(例如,正交)的轴线上增加眼箱。例如,每个ope可被配置为将撞击ope的光的一部分重定向到相同波导的epe,同时允许光的其余部分继续沿波导向下传播。再次撞击在ope上时,其余光的另一部分被重定向到epe,并且该部分的其余部分继续沿波导向下进一步传播,依此类推。同样,在撞击epe时,撞击的光的一部分从波导朝向用户向外引导,并且该光的其余部分继续传播通过波导,直到再次撞击ep,此时,撞击的光的另一部分被引导出波导,依此类推。因此,每次通过ope或epe重定向该光的一部分时,都可以“复制”单个入耦合光束,从而形成克隆光束的场,如图6中所示。在一些实施例中,ope和/或epe可以被配置为修改光束的大小。
111.相应地,参考图9a和图9b,在一些实施例中,该波导组660包括波导670、680、690;入耦合光学元件700、710、720;光分布元件(例如ope)730、740、750;以及每个分量颜的出耦合光学元件(例如ep)800、810、820。波导670、680、690可以以每个波导之间的气隙/包层堆叠。入耦合光学元件700、710、720将入射光(具有接收不同波长的光的不同的入耦合光学元件)重定向或偏转到其波导中。然后,光以一定角度传播,该角度将导致相应的波导670、680、690内的tir。在所示示例中,光线770(例如,蓝光)由第一入耦合光学元件700偏转,并且然后继续以先前描述的方式沿波导向下反弹,与光分布元件(例如,ope)730以及然后与出耦合光学元件(例如,ep)800相互作用。光线780和790(例如,分别为绿和红)将穿过波导670,光线780撞击在入耦合光学元件710上并由入耦合光学元件710偏转。然后,光线780经由tir沿波导680向下反弹,继续进行到其光分布元件(例如,ope)740,以及然后进行到出耦合光学元件(例如,ep)810。最后,光线790(例如,红光)穿过波导690撞击到波导690的光入耦合光学元件720上。光入耦合光学元件720使光线790偏转,使得光线通过tir传播到光分布元件(例如,ope)750,并且然后通过tir传播到出耦合光学元件(例如,ep)820。然后,出耦合光学元件820最终将光线790出耦合到观看者,该观看者还从其它波导670、680接收出耦合光。
112.图9c示出了图9a和图9b的多个堆叠的波导的示例的俯视平面图。如图所示,波导670、680、690以及每个波导的相关联的光分布元件730、740、750和相关联的出耦合光学元件800、810、820可以垂直对齐。然而,如在此所述,入耦合光学元件700、710、720不是垂直对齐的;相反,入耦合光学元件优选地是非重叠的(例如,如在俯视平面图中所见,横向地间隔开)。如在此进一步讨论的,该非重叠的空间布置有利于将来自不同资源的光一对一地注入到不同的波导中,从而允许将特定的光源唯一地耦合到特定波导。在一些实施例中,包括非重叠的空间分离的入耦合光学元件的布置可以被称为移位光瞳系统,并且这些布置内的入耦合光学元件可以对应于子光瞳。
113.图9d示出了可穿戴显示系统60的示例,可将在此所公开的各种波导和相关系统集成到该显示系统60中。在一些实施例中,显示系统60是图6的系统250,图6示意性地更详细地示出了该系统60的一些部分。例如,图6的波导组件260可以是显示器70的一部分。
114.继续参考图9d,显示系统60包括显示器70,以及支持该显示器70的功能的各种机械和电子模块和系统。显示器70可以耦合至框架80,该框架80可由显示系统用户或观看者90穿戴,并且被配置为将显示器70定位在用户90的眼睛前面。在一些实施例中,显示器70可以被认为是眼镜。在一些实施例中,扬声器100耦合到框架80,并且被配置为定位在用户90的耳道附近(在一些实施例中,未示出的另一扬声器可以可选地定位在用户的另一耳道附近,以提供立体声/整形的声音控制)。显示系统60还可包括一个或多个麦克风110或检测声音的其它设备。在一些实施例中,麦克风被配置为允许用户向系统60提供输入或命令(例如,语音菜单命令的选择、自然语言问题等),和/或可以允许与其他人(例如与相似显示系统的其他用户)的音频通信。麦克风可以进一步被配置为外围传感器以收集音频数据(例如,来自用户和/或环境的声音)。在一些实施例中,显示系统还可以包括外围传感器120a,该外围传感器120a可以与框架80分离并附接到用户90的身体(例如,用户90的头部、躯干、四肢上等)。在一些实施例中,外围传感器120a可以被配置为获得表征用户90的生理状态的数据。例如,传感器120a可以是电极。
115.继续参考图9d,显示器70通过通信链路130(诸如通过有线导线或无线连接)可操作地耦合到本地数据处理模块140,该本地数据处理模块140可以以各种配置安装,诸如固定地附接到框架80,固定地附接到用户佩戴的头盔或帽子,嵌入耳机中,或者以其它方式可移除地附接到用户90(例如,以背包式配置、以皮带耦合式配置)。类似地,传感器120a可以通过通信链路120b(例如,有线导线或无线连接)可操作地耦合到本地处理器和数据模块140。本地处理和数据模块140可以包括硬件处理器以及数字存储器,诸如非易失性存储器(例如,闪存或硬盘驱动器),二者均可以用于辅助数据的处理、缓存和存储。可选地,本地处理器和数据模块140可以包括一个或多个中央处理单元(cpu)、图形处理单元(gpu)、专用处理硬件等。数据可以包括如下数据:a)从传感器(例如,可以可操作地耦合到框架80或以其它方式附接到用户90)捕获的,诸如图像捕获设备(诸如相机)、麦克风、惯性测量单元、加速度计、罗盘、gps单元、无线设备、陀螺仪和/或在此公开的其它传感器;和/或b)使用远程处理模块150和/或远程数据存储库160(包括与虚拟内容有关的数据)获得和/或处理的,可能在此类处理或取得之后传递给显示器70。本地处理和数据模块140可以由通信链路170、180,诸如经由有线或无线通信链路,可操作地耦合到远程处理模块150和远程数据存储库160,使得这些远程模块150、160可操作地彼此耦合,并可用作本地处理和数据模块140的资源。在一些实施例中,本地处理和数据模块140可以包括一个或多个图像捕获设备、麦克风、惯性测量单元、加速度计、罗盘、gps单元、无线设备和/或陀螺仪。在一些其它实施例中,这些传感器中的一个或多个传感器可以附接到框架80,或者可以是通过有线或无线通信路径与本地处理和数据模块140通信的独立结构。
116.继续参考图9d,在一些实施例中,远程处理模块150可以包括被配置为分析和处理数据和/或图像信息的一个或多个处理器,例如包括一个或多个中央处理单元(cpu)、图形处理单元(gpu)、专用处理硬件等。在一些实施例中,远程数据存储库160可以包括数字数据存储设施,该数字数据存储设施可以通过互联网或“云”资源配置中的其它网络配置而可用。在一些实施例中,远程数据存储库160可以包括一个或多个远程服务器,该远程服务器向本地处理和数据模块140和/或远程处理模块150提供信息,例如用于生成增强现实内容的信息。在一些实施例中,所有数据都存储在本地处理和数据模块中,并且所有计算都在本
地处理和数据模块中执行,从而允许从远程模块完全自主地使用。可选地,包括cpu、gpu等的外部系统(例如,一个或多个处理器、一个或多个计算机的系统)可以执行至少一部分处理(例如,生成图像信息、处理数据),并且例如经由无线或有线连接向模块140、150、160提供信息,以及从模块140、150、160接收信息。
117.c.用户输入示例
118.图10a和10b示出了通过控制器按钮或用户输入设备上的输入区域接收的用户输入的示例。特别地,图10a和图10b示出了控制器3900,其可以是本文公开的可穿戴系统的一部分并且可以包括主(home)按钮3902、触发器3904、止动橡胶(bumper)3906、以及触摸板3908。在可穿戴系统的各种实施例中,用户输入设备或图腾可以用作控制器3900。
119.可以通过控制器3900接收的潜在用户输入包括但不限于按下和释放主按钮3902;触发器3904的半按压和全按压(和其他部分按压);释放触发器3904;按压和释放止动橡胶3906;触摸、触摸时移动、释放触摸、增加或减少触摸压力、触摸特定部分(例如,触摸板3908的边缘)、或在触摸板3908上做出手势(gesture)(例如,通过用拇指绘制形状)。
120.图10a和图10b示出了可以由系统接收和识别的用户输入的各种示例。可以通过一种或多种用户输入模式(单独地或组合地,如图所示)接收用户输入。用户输入可以包括通过控制器按钮(例如,主按钮3902、触发器3904、止动橡胶3906、以及触摸板3908)的输入;控制器3900或hmd 3910的物理运动;眼睛注视方向;头部姿势方向;手势;语音输入;等等。
121.如图10a所示,主按钮3902的短按和释放可以指示主敲击动作,而主按钮3902的长按可以指示主按住(press&hold)动作。类似地,触发器3904或止动橡胶3906的短按和释放可以分别指示触发器敲击动作或止动橡胶敲击动作;而长按触发器3904或止动橡胶3906可分别指示触发器按住动作或止动橡胶按住动作。
122.如图10b所示,在触摸板上移动的触摸板3908的触摸可以指示触摸拖动动作。触摸板3908的短暂触摸和释放,其中触摸基本上没有移动,可以指示轻敲动作。如果触摸板3908的这种短触摸和释放是用超过某个阈值水平的力(其可以是预定阈值、动态确定的阈值、学习的阈值、或它们的某种组合)完成的,则输入可以指示用力敲击输入。具有大于阈值水平的力的触摸板3908的触摸可以指示用力(force)按压动作,而具有这种力的长触摸可以指示用力按住输入。触摸板3908边缘附近的触摸可以指示边缘按压动作。在一些实施例中,边缘按压动作还可以涉及超过阈值水平压力的边缘触摸。图10b还示出了在触摸板3908上以弧形移动的触摸可以指示触摸圈(circle)动作。
123.图10c示出了通过控制器或头戴式设备(hmd)的物理移动接收的用户输入的示例。如图10c所示,控制器3900和头戴式显示器3910(hmd)的物理移动可以形成用户对系统的输入。hmd 3910可以包括图9d中所示的头戴式部件70、110。在一些实施例中,控制器3900通过识别控制器3900在任何方向上的旋转来提供三个自由度(3dof)输入。在其他实施例中,控制器3900还通过识别控制器在任何方向上的平移来提供六个自由度(6dof)输入。在其他实施例中,控制器3900可以提供小于6dof或小于3dof的输入。类似地,头戴式显示器3910可以识别和接收3dof、6dof、小于6dof、或小于3dof的输入。
124.图10d示出了用户输入如何具有不同持续时间的示例。如图10d所示,某些用户输入可能具有较短的持续时间(例如,小于几分之一秒的持续时间,例如0.25秒)或可能具有较长的持续时间(例如,大于几分之一秒的持续时间,例如超过0.25秒)。在至少一些实施例
中,输入的持续时间本身可以被系统识别并用作输入。可穿戴系统可以对短的持续时间和长的持续时间输入进行不同的处理。例如,短的持续时间输入可以表示对象的选择,而长的持续时间输入可以表示对象的激活(例如,导致与对象相关联的应用的执行)。
125.图11a和图11b示出了可以由系统接收和识别的用户输入的各种示例。可以通过一种或多种用户输入模式(单独地或组合地,如图所示)接收用户输入。用户输入可以包括通过控制器按钮(例如,主按钮3902、触发器3904、止动橡胶3906、和触摸板3908)的输入;控制器3900或hmd3910的物理运动;眼睛注视方向;头部姿势方向;手势;语音输入;等等
126.如图11a所示,主按钮3902的短按和释放可以指示主敲击动作,而主按钮3902的长按可以指示主按住动作。类似地,触发器3904或止动橡胶3906的短按和释放可以分别指示触发器敲击动作或止动橡胶敲击动作;而长按触发器3904或止动橡胶3906可以分别指示触发器按住动作或止动橡胶按住动作。
127.如图11b所示,在触摸板上移动的触摸板3908的触摸可以指示触摸拖动动作。触摸板3908的短触摸和释放,其中触摸基本上没有移动,可以指示轻敲动作。如果触摸板3908的这种短触摸和释放是用超过某个阈值水平的力(其可以是预定阈值、动态确定的阈值、学习的阈值、或它们的某种组合)完成的,则输入可以指示用力敲击输入。具有大于阈值水平的力的触摸板3908的触摸可以指示用力按压动作,而具有这种力的长触摸可以指示用力按住输入。触摸板3908边缘附近的触摸可以指示边缘按压动作。在一些实施例中,边缘按压动作还可以涉及超过阈值水平压力的边缘触摸。图11b还示出了在触摸板3908上以弧形移动的触摸可以指示触摸圈动作。
128.其他示例用户输入可以包括输入设备(例如,用户的手)或机构,其可以具有六个自由度。有利的是,使用用户的手作为输入可以通过允许用户做出直观的指向或其他输入手势来向ar系统提供信息来改善用户体验。在对象交互和控制的情况下,使用用户的手或其他指向设备可以帮助用户更直观地适应基于用户手(或其他指向设备)的位置或取向来移动对象和瞄准对象的部件。因此,可能不需要离散的按钮激活。然而,在一些示例中,可以使用离散按钮激活和利用六个自由度输入设备进行指向的组合。
129.d.单控制器内容移动和交互
130.由增强现实(ar)或虚拟现实(vr)系统实现的一些应用可以包括通过例如用户头部姿势、身体姿势、眼睛注视、控制器输入等或它们的组合来接受用户输入的可交互和/或可移动虚拟内容。例如,应用可以具有虚拟控制菜单,用户可以在其中选择、突出显示或以其他方式与菜单或与菜单相关联的信息进行交互。在另一个示例中,应用可以具有网络浏览器,其中用户可以在浏览器窗口内输入信息或使用诸如刷新、主、或控制按钮之类的交互特征来控制信息。当用户在他们的环境中移动或通过用户的主动(active)输入时,应用还可以允许可交互的虚拟内容在用户的环境中移动。但是,对于用户而言,使用由vr或ar系统提供的有时有限的控件来与内容交互并在其环境中移动内容可能既困难又笨拙。例如,如果用户想要与可交互内容交互,他们可以提供一组输入,如果用户想要移动可交互内容,他们可以提供第二组输入。组合这两组输入对于用户来说可能是笨拙和不舒服的。本文描述了用于简化可交互虚拟内容的移动和/或简化与可交互虚拟内容的交互的系统和方法,以便减少与可交互虚拟内容交互的负担。
131.促进在用户环境中用户交互和内容移动的一种方式是将交互的动作(例如,在用
户界面内)和(例如,用户界面的)移动分开。例如,ar系统可以将内容放置在用户环境内的固定位置,然后接受来自用户的输入以基于用户手势、控制器、用户注视等或它们的某种组合与放置的内容进行交互。然而,在用户环境内的设定位置放置交互空间(例如,包含交互内容的有界体积的棱柱)在虚拟或增强现实环境中并不总是理想的。例如,在虚拟或增强现实体验中,用户可能会在他们的3d环境中移动。如果交互空间被固定在设定位置,那么用户将不得不返回交互空间的位置以便输入信息。
132.促进用户交互和内容的移动的另一种方式是利用单独的控制器进行交互和移动。例如,ar系统可以为用户的每只手配备控制器。用户第一只手中的第一控制器可以在用户的3d环境中移动交互空间,而用户第二只手中的第二控制器可以在交互空间内选择内容。然而,这样使用两个控制器会导致尴尬和不舒服的用户体验,部分原因是它需要用户通常不习惯的灵巧动作。
133.本文公开了用于交互和移动机制的系统和方法,其允许使用单个控制器进行内容放置和交互。交互和移动机制可以允许控制器进行不同幅度的运动,以影响系统输入的不同方面。例如,交互式内容对象(例如,六自由度的指向设备)内的小移动可用于在交互式内容对象内瞄准或选择内容。交互式内容对象之外的较大移动会导致交互式内容对象的位置跟随(或更新/响应)控制设备。有利地,这样的系统可以允许用户在他们在他们的3d环境中移动时随身携带内容并且使用相同的控制器选择性地与该内容交互。
134.通常,本文描述的系统和方法允许用户在交互式内容对象内(例如在棱柱内)移动光标或指针(例如,响应于手持控制器的移动),以与交互式内容对象进行交互。一旦用户将光标或指针移到交互式内容对象之外(或在交互式内容对象周围的一些附加边界区域之外),控制器移动的功能被更新为移动交互式内容对象的位置以对应于控制器的移动,而不是尝试与交互式内容对象的内容进行交互。因此,控制器的功能可以由用户提供控制器的移动来交替。取决于实施例,控制器的阈值移动可以由控制器姿势相对于交互式内容对象的平面的位置和/或控制器姿势与交互式内容对象的平面之间的角度来定义。
135.图12a示出了根据本文公开的跟随和交互过程的一个示例的示例内容控制环境1200。例如,用户1202可以使用可以允许用户在他们的3d环境中感知虚拟内容的可穿戴设备1204(例如上面参考图9d公开的头戴式显示器)。可穿戴设备1204可以在用户前面的位置处显示虚拟内容1206。用户前面的位置可以由可穿戴设备的控制器1208(例如用户的手或参照图10a至图11b描述的控制器)的位置和/或取向来确定。如下文进一步详细描述的,如果用户移动控制器1208使得控制器的指向向量不与关联于内容1206的有界区域或体积1212相交,则可穿戴设备1204可以朝向控制器的新焦点来更新内容1206的位置。如果用户移动控制器1208,使得控制器的指向向量与有界区域或体积1212相交,则可穿戴设备1204可以允许用户在不移动内容1206的情况下选择和输入与内容1206相关联的信息。有利地,当内容1206连同头部姿势一起移动时,可以调整内容1206的取向以匹配用户1202的当前头部姿势。因此,无论内容1206被放置在用户的3d环境中的什么位置,内容被倾斜(angle)为便于在用户当前的头部姿势下观看。例如,在一些实施方式中,内容1206可以定向为垂直于头部姿势方向1210。
136.有利地,当用户在他们的环境中移动时,这里公开的跟随和交互过程可以允许内容随着用户从一个位置到另一个位置进行移动和重定向。例如,如图12a所示,用户可以具
有第一取向和位置1201a。用户可以移动到新的位置1201b或1201c并且具有新的取向。在用户移动和重定向自己时,通过跟踪用户的头部姿势和与控制器1208相关联的指向向量,ar系统可以移动内容1206的位置和取向,并有效地跟随用户到新位置1201b或1201c。然而,在用户对控制器1206的位置和取向进行较小调整的情况下,ar系统可以保持内容1206的位置并允许用户经由控制器1206的那些较小移动来提供输入或与内容交互。
137.图12b示出了示例过程1303的流程图,该示例过程1303可用于控制控制器的移动是用于更新内容在用户的3d空间中的位置还是允许用户与内容交互。过程1303可以包括方向确定框1350、内容边界确定框1352、边界比较框1354、内容移动框1356、以及输入识别框1358、或更少或更多框的某种组合。
138.在方向确定框1350,ar系统可以确定控制器、设备、手势、或其他能够指示方向的输入机制的指向向量。指向向量可以包括由一个或多个输入设备指示的用户的3d环境内的方向,无论输入设备是机电的(例如,图腾或手持控制器)、机械的、或者对象(例如,用户的手、手指或笔)。在一些示例中,指向向量可以包括由一个或多个用户手势指示的方向。在一些示例中,指向向量可以包括手持控制器的指示方向,例如上面参考图10a至图11b所描述的。在一些示例中,指向向量可以由一个以上的输入来确定,例如控制器取向和用户眼睛注视或输入的其他组合。
139.在内容边界确定框1352,ar系统可以确定虚拟内容的边界。边界可以是包括围绕虚拟内容的边界的一些空间的区域、空间体积的某个子集(例如,如果虚拟内容非常大)、或者与虚拟内容相关联的空间体积的一个或多个边缘。在一些示例中,内容边界可以与多于一条虚拟内容相关联。
140.内容边界可以是任何形状。例如,内容边界可以是矩形棱柱、球体、截锥、或其他形状。在一些实施例中,内容边界可以具有或不具有与虚拟内容的形状相似的形状。例如,如果内容是矩形菜单,则内容边界可以是矩形。如果内容是圆形,则内容边界可以是圆形或矩形。在一些示例中,内容边界可以是与虚拟内容相同或相似的边界。例如,虚拟内容可以是围绕矩形交互式菜单的棱柱。棱柱可以具有矩形棱柱,其长度和高度等于或大于交互式菜单。在一些实施例中,内容边界可以是矩形棱柱的边缘。
141.另外或替代地,内容边界在水平和垂直方向上可以相同或者可以不同。例如,内容边界可以在垂直方向上比在水平方向上更远离虚拟内容的边缘。因此,与在水平方向相比,控制器在垂直方向上移动内容可以更多,其中在方向上改变更少。
142.内容边界可以小于或大于虚拟内容的边界或包含虚拟内容的棱柱。例如,内容边界可以与虚拟内容的交互部分(例如,菜单图块)的边界一致,虚拟内容的交互部分可能小于虚拟内容的全尺寸。在一些示例中,内容边界的大小或形状可以基于内容和/或ar系统的一个或多个方面而变化。例如,对于不同类型的虚拟内容或与虚拟内容相关联的应用,内容边界可能不同。在一些实施例中,内容边界可以扩展到包括用户视野的一部分或百分比。在一些示例中,内容边界可以是具有1/3米、1/2米、一米、或其他值的长方体。在其他示例中,边界可以是用户视野的10%、25%、或其他数量。在一些示例中,可以调整虚拟内容的大小或调整虚拟内容以适合在设置的阈值或边界内。
143.图12c示出了有界体积1212内的示例内容1206,图12d示出了控制器1208的顶视图,控制器1208被定向使得其指向向量大体朝向有界体积1212内的内容1206。在该示例中,
有界体积1212大于内容1206的区域1230。有利地,该额外区域允许填充(padding),其中用户可以将控制器1208的指向向量的方向改变到内容1206的紧邻区域1230之外而不触发内容移动(例如,不导致内容跟随控制器的移动)。该额外区域可以由距内容区域1230的边缘的角距离(angular distance)1232来限定。角距离1232可以是任意数量的度数,例如5度、10度、或20度。角距离1232可以在内容1206的区域1230的不同边缘处不同。例如,角距离1232可以在内容区域1230的左边缘或右边缘处大于在内容区域1230的顶部或底部边缘处。在另一示例中,角距离1232可以基于内容1206而不同。例如,内容1206可以是在左侧比右侧具有更多交互内容的菜单。由于与内容交互的用户更有可能将指向向量移向具有更多交互内容的一侧,因此ar系统可以在左侧提供更大的填充以帮助避免内容1206意外移动到新位置并使其用户更容易与内容1206交互。
144.继续参考图12b,在边界比较框1354,ar系统可以确定控制器的指向向量是否与内容边界相交。例如,控制器的指向向量可以通过内容边界内或内容边界外。如果指向向量与内容边界相交,则ar系统可移动到框1358。如果指向向量不与内容边界相交,则ar系统可移至框1356。
145.在内容移动框1356,ar系统可以将虚拟内容移动到新位置。例如,ar系统可以将内容移向控制器的指向向量。可以基于与ar系统或应用相关联的一个或多个因素来确定该点,如下文进一步详细描述的。ar系统可以移动内容以使指向向量刚开始与内容边界相交,或者可以移动内容以使指向向量与内容内的特定点相交,例如内容的中心。
146.ar系统可以以恒定或可变速度移动内容。例如,ar系统可以以基于当前内容位置和期望内容位置之间的距离计算的速度来移动内容。在一些示例中,对于更远的距离,速度可能更快,而对于更小的距离,速度可能更慢。在一些示例中,速度可以是可变的。例如,内容可能首先缓慢移动,然后加速,然后在靠近目的地时减速。
147.在输入标识框1358,ar系统可以接收与内容相关联的用户输入。例如,用户可以用控制器(和/或手势、语音命令等)指示与交互式内容的交互(而不是与控制器移动相关的交互式内容的继续移动)。ar系统可以接收该指示并基于该指示执行动作。例如,内容可以包括具有可选按钮的虚拟菜单。ar系统可以从用户接收指示以选择一个或多个可选按钮并基于该选择执行一个或多个动作。
148.e.示例内容跟随动作
149.如上所述,ar系统可以通过控制器的操纵来控制虚拟内容在3d环境内的移动,从而导致当用户在他们的空间周围移动时内容有效地跟随用户。图13a、图13b和图13c示出了示例内容移动环境的示例方面,其可以包括利用控制器1302在内容位置1304处移动虚拟内容。
150.控制器1302可以是任何多自由度输入设备。例如,控制器1302可以包括用户的手或其部分、可穿戴设备的控制器,例如上面参考图10a至图11b所描述的、能够提供指向方向的六自由度设备、三自由度触摸输入设备等、或它们的某种组合。控制器1302可以具有允许控制器1302指示方向的传感器、控件或输出部件的某种组合。在一些示例中,指示的方向可以与平行于控制器1302的轴的方向一致。在一些示例中,控制器1302可以使用控制器1302的取向或定位来指示方向。指示的方向然后可以限定控制器1302的指向向量的方向。
151.虚拟内容可以包括一个或多个棱柱,其通常描述与混合现实内容相关联的三维容
器、区域、或体积,其可以包含多个虚拟内容项,例如3d对象的表示。如图13b所示,棱柱可以包括有界体积1318,其可以具有宽度w和高度h以及另一个维度。可以通过控制或放置在其中限制内容的棱柱,棱柱中限制的内容可以被控制或放置在用户的环境中。如本文所使用的,虚拟对象可以是或包括棱柱。棱柱的各种特性、用途和实施方式在2019年6月27日公布的美国专利公开号2019/0197785中进行了描述,该专利通过引用整体并入本文。在一个示例中,棱柱内的内容可以包括与应用相关联的菜单。例如,虚拟内容可以包括能够通过在菜单内的一个或多个位置处的输入来接受用户输入的控制菜单。
152.虚拟内容可以以用户的3d环境内的位置1304为中心。位置1304可以基于与用户、可穿戴设备、或用户环境相关联的一个或多个因素。例如,位置1304可以相对于控制器1302的位置。控制器1302可以限定坐标系,其原点位于控制器1302上的一点。在位置1304相对于控制器1302或其他参考点的情况下,位置1304可以落入到与控制器1302相关联的原点或沿着指向向量1312的其他参考点的距离范围内。例如,向量1322(如图13b中所示)可以限定为从控制器1302的原点到内容位置(或与内容相关联的参考点),并且位置1304可以沿着向量1322。
153.参考图13a,在确定内容位置1304时,ar系统可以计算或确定内容沿着控制器1302的指向向量1312的位置1306。例如,ar系统可以限定在控制器1302处具有原点的坐标系。坐标系可以具有平行于控制器1302的指向向量1312的z轴。内容位置1304可以在控制器1302的坐标系内限定。因此,内容位置1304可能具有z分量(如图13a所示的z1)。z分量可以对应于沿控制器1302的指向向量1312的内容位置1306。如果z分量落在最小距离1307之下,则ar系统可以将内容从位置1304沿指向向量1312移动直到z分量大于或等于最小距离。如果z分量落在最大距离1308之上,则ar系统可以将内容从位置1304沿着指向向量1312移动,直到z分量小于或等于最大距离。
154.内容位置1304可以另外具有关于有界体积1318的宽度w和高度h的参考点。控制器1302的指向向量1312可以与具有高度h和宽度w的有界体积1318相交在交叉点1314。如果点1314的位置落在有界体积1318的宽度w之外,则ar系统可以将内容从位置1304水平移动直到距离在边界内。如果垂直距离超过有界体积1318的边界高度h,则ar系统可以将内容从位置1304垂直移动直到距离在边界内。因此,如果控制器1302在有界体积1318内水平或垂直旋转或移动,则有界体积1318的位置1304可以在空间中保持相对固定。然而,如果控制器1302水平或垂直移动到有界体积1318之外,则ar系统可以将虚拟内容和/或有界体积1318移动到空间1314中的新位置。
155.图13c示出了另一个示例内容移动环境1301。在该示例内容移动环境1301中,ar系统可以将内容1362保持在距控制器1302的最小和最大距离之间。例如,如果内容1362与控制器1302之间的距离小于最小值,则ar系统可以将距离设置为最小值。附加地或替代地,如果内容1262与控制器1302之间的距离大于最大值,则ar系统可以将该距离设置为最大距离。否则,ar系统可以保持内容1362和控制器1302之间的当前距离,而不做任何调整。
156.另外或可替代地,如果内容1362保持在控制器1302的前面,例如因此控制器指向内容1362的边界内的点,则可以提高用户容易定位内容1362并与之交互的能力。为了帮助实现保持的距离并允许用户指向内容1362或棱柱内的点,ar系统可以在不可见球体1364的表面上移动内容(例如,棱柱或其他3d内容项目)。
157.参考图13c,不可见球体1364可以在控制器1302上的点1360(或控制器上的一些其他点)处具有中心1360。ar系统可以将内容1362的位置转换成在点1360处具有原点的球坐标。球坐标可以包括距离、方位角(例如,在水平平面中的旋转)、和极角θ(例如,类似于俯仰)。在其他实施例中,可以使用另一个坐标系。
158.与上面的讨论一样,内容1362(例如,棱柱或其他三维内容)可以具有一组边界。该组边界还可以与参照指定中心1360的球坐标相关联。在这个示例中,ar系统可以参照内容1362的边界确定球体1364的外表面(例如,以便内容的边界保持在球体1364表面附近)。在一个特定示例中,确定球坐标,其中c表示控制器位置,p表示内容(例如棱柱)位置,以便:从控制器1302到内容1362的向量cp定义为:
159.cp=p-c
160.其中控制器1302和内容1362之间的距离是cp的长度,向量的方位角是cp.z/cp.x的反正切,cp的水平距离是向量投射到x-z平面上的距离,可以计算为hypot(cp,x,cp.y),内容位置的高度是高度/水平距离的反正切或arctan(cp.y/水平距离)。在一些实施例中,内容1362的位置可以是与棱柱相关联的锚,例如棱柱体积的中心处的点或棱柱的一侧的中心(或其他位置)处的点,例如,它可以指示棱柱以及因此内容可以附着到其他真实或虚拟对象(例如墙壁、桌子、椅子等)的位置。
161.有利地,在一些实施例中,当控制器移动时,内容1362的位置被调整以保持在球体1364的外表面上。例如,如果控制器指向向量的当前方位角和极角下降在球体的有界区域内,则ar系统可以保持内容1362的位置。如果指向向量的当前方位角和/或极角落在球体的有界区域之外,则ar系统可以更新内容1362的位置。例如,ar系统可以确定有界区域上的最近点与cp的当前方位角之间的方位角差。ar系统然后可以移动内容1362以减少差。附加地或替代地,ar系统可以调整内容的高度以减小内容位置和cp的高度差。
162.在一个特定示例中,内容1360的位置可以针对距离(例如,如上文参照最小和最大距离所指出的)以及参照方位角和高度来调整。为了确定是否需要调整内容的方位角,可以将水平边界转换为角度,例如一半水平边界除以距离再取反正切:arctan((水平边界(horiz_bound)/2)/距离)。如果方位角的差异大于这个角度,那么ar系统可以将方位角的差异减小到这个角度。为了确定是否需要调整内容的高度角,可以将垂直边界转换为角度,例如一半垂直边界除以距离再取反正切:arctan((垂直边界(vert_bound)/2)/距离)。如果高度差大于该角度,则ar系统可以将高度差减小到该角度。
163.在一些示例中,ar系统可以将内容1360的坐标转换成笛卡尔坐标。以前,内容的球坐标参考控制器。有利地,使用笛卡尔坐标可以允许ar系统将内容定位在用户的环境中而无需参考控制器1302。为了从球坐标转换为笛卡尔(矩形)坐标,ar系统可以应用以下公式:
164.x=距离*cos(方位角)*cos(高度)
165.y=距离*sin(高度)
166.z=距离*sin(方位角)*cos(高度)
167.其中x对应x坐标,y对应笛卡尔坐标系中的y坐标,z对应笛卡尔坐标系中的z坐标。
168.f.示例内容取向
169.ar系统可能能够控制虚拟内容在用户的3d环境内的取向。图14a至图14c示出了用于控制虚拟内容1404的取向的示例内容取向环境1400的方面,其包括控制器1302和头戴式
设备1402。
170.参考图14a,内容取向环境1400可以包括用户1406,其佩戴头戴式显示器1402和/或使用控制器1302来操纵和/或观看虚拟内容1404。用户可以在用户1406的3d环境中的位置1412处观看虚拟内容1404。可以相对于与用户的头部姿势相关联的注视向量1405以角度1410来显示内容。在一些示例中,可以优化角度1410,使得用户可以更容易地感知内容1404的表面。在一些示例中,角度1410可以使得内容1404的表面垂直于用户的注视方向。
171.图14b示出了示例内容取向环境1401的俯视图。如图14b所示,内容1420可以被旋转以使其面向控制器1302(例如,保持垂直于控制器姿势)。因此,内容1420的面向头戴式显示器1402的表面可以相对于以用户的头戴式显示器为中心的坐标系的x轴旋转角度1422。角度1422可随着控制器移动而更新,使得内容的表面1420保持锁定在与控制器1302的指向向量垂直的角度。在另一示例中,可根据用户或应用输入来更新角度1422。
172.图14c示出了示例内容取向环境1401的侧视图。如图14c所示,内容1420可以被旋转以使其面向用户的头部或头戴式显示器1402。因此,内容1420的面向头戴式显示器1402或用户的头部的表面可以相对于以用户的头戴式显示器为中心的坐标系的y轴旋转角度1432。当用户移动他们的头部、眼睛注视和/或头戴式显示器时,可以更新角度1432,使得内容1420的表面保持锁定在与与用户头部姿势相关联的注视矢量1405垂直的角度。在另一示例中,可以根据用户或应用输入来更新角度1432。在一些示例中,角度1432可以基于内容1420的高度,使得内容1420的表面可以被定向为面向与用户相关联的原点,例如用户头部上的点。在另一示例中,内容1420的角度1432和/或高度可以是固定的。
173.图14d示出了示例内容取向过程1403的流程图。例如,内容取向过程1403可以包括内容位置确定框1442、头部姿势确定框1444、内容取向框、或更多或更少框。
174.在内容位置确定框1442,ar系统可以确定虚拟内容在用户的3d环境内的位置。例如,虚拟内容可以位于用户前面的点处(例如在由参考图12a至图13b描述的移动规则而确定的位置处)。ar系统可以基于来自虚拟内容、应用和/或ar系统的输入或与虚拟内容、应用和/或ar系统相关联的数据来确定内容位置。
175.在头部姿势确定框1444,ar系统可以确定用户的头部姿势。例如,ar系统可以使用与ar系统相关联的一个或多个传感器来检测与用户的头部姿势相关联的一个或多个参数,例如与用户佩戴的头戴式显示器相关联的一个或多个面向外相机、惯性测量单元、它们的某种组合或其他传感器。用户的头部姿势可用于帮助确定用户的注视方向。
176.在内容取向框1446,ar系统可以利用内容位置和用户的注视方向来重新定向虚拟内容。例如,ar系统可以在确定的内容位置处将内容的表面定向为垂直于用户的注视方向。在一些示例中,ar系统可以另外移动内容的位置,以便在用户以更新的取向观看内容时实现舒适的观看体验。
177.g.示例内容控制机制
178.图15示出了示例内容访问机制,并且图16示出了可以与上述交互和移动机制结合使用的示例内容放置机制。
179.1.菜单打开和关闭
180.在一些示例中,内容可以包括控制菜单。图15示出了用于访问控制菜单的示例菜单访问过程1500。参考图15,菜单访问过程1500可以包括指示框1502、方向确定框1504、打
开位置确定框1506、动画框1508、菜单显示框1510、更少或更多框。虽然参考控制菜单讨论了图15的示例,但是该过程可以与其他内容一起使用,例如包括一个或多个交互式虚拟对象的棱柱。
181.在指示框1502,ar系统可以接收打开或访问菜单或其他内容的指示。该指示可以包括输入、手势或姿势。例如,输入可以包括指向、按下按钮或与ar系统相关联的控制器的其他输入部件。在另一个示例中,输入可以包括与访问菜单或其他内容相关联的手势。在不涉及直接按下按钮的输入或对控制器的其他直接输入的情况下,ar系统可以使用与ar系统相关联的一个或多个传感器(例如头戴式显示器的面向外的成像系统)来感知输入。例如,输入可以包括由用户的手或指向设备的六个自由度指向。在另一示例中,输入可以包括对多自由度触摸板的输入。ar系统然后可以确定是否基于由一个或多个传感器检测到的手势、姿势、或其他间接或直接输入而给出指示。在一些示例中,不同的输入可能会带来不同类型的菜单或不同的内容。在一些示例中,可以使用不同的输入来调出相同的菜单或内容。
182.在方向确定框1504,ar系统可以确定其他能够指示方向的输入机制或控制器、设备、手势的指向向量。指向向量可以包括由一个或多个输入设备指示的用户3d环境内的方向。在一些示例中,指向向量可以包括用六自由度输入设备或用户由一个或多个用户手势的手指示的方向。在另一示例中,指向向量可以包括由三自由度触摸输入指示的方向。在一些示例中,指向向量可以包括手持控制器的指示方向,例如上面参考图10a至图11b所描述的。在一些示例中,指向向量可以由一个以上的输入来确定,例如控制器取向和用户眼睛注视或输入的其他组合。
183.在打开位置确定框1506,ar系统可以确定或识别位置以打开所指示的菜单或以其他方式在用户的3d环境内显示内容。该位置可以基于确定的焦点方向或来自用户、应用或ar系统的其他输入。例如,用户可以在他们的环境中指点控制器。ar系统可以在沿着指向向量的点处显示菜单或其他虚拟内容。可以基于任意数量的因素来确定沿着指向向量的点,包括但不限于与内容位置相关联的一个或多个规则,例如参考图12a至图13b所讨论的。在一些示例中,打开位置可以在沿着指向向量远离控制器的设定距离处。在另一个示例中,打开位置可以位于用户视野的中心。
184.在动画框1508,ar系统可以生成动画、声音、反馈、或其他效果,以向用户指示菜单或其他内容的打开位置。例如,打开位置可以在沿着聚焦光线的方向的点处。聚焦光线的方向可以指向用户的3d环境中当前没有被用户通过其头戴式显示器感知的区域。为了将用户的注意力吸引到菜单或其他内容的打开位置,ar系统可以显示动画、生成触觉反馈、或播放声音,其指示内容将在该位置打开。例如,ar系统可以沿焦点方向朝向打开位置显示从控制器或其他参考点发出的火花或其他内容。因此,用户的注视或注意力可能更可能被吸引到菜单或内容位置。
185.在菜单显示框1510,ar系统可以在打开位置处以用户舒适的取向显示菜单以观看菜单或其他交互式虚拟内容。例如,菜单或其他内容的取向和/或位置可以根据上面参考图12a至图14d描述的一个或多个过程来显示和/或更新。
186.另外或替代地,ar系统可以基于一个或多个关闭指示来关闭或停止显示内容或菜单。关闭指示可以包括对控制器的输入、手势、命令、其他输入、或停止显示菜单的输入的某种组合。在接收到关闭指示时,ar系统可以停止显示菜单或其他内容。
187.2.内容投掷(drop)
188.图16示出了用于停止和开始内容跟随移动的示例菜单访问过程1600,例如上面参考图12a和图12b所描述的。参考图16,内容投掷过程1600可以包括位置确定框1602、跟随决定框1604、显示框1606、跟随决定框1608、和跟随框1610。
189.在位置确定框1602,ar系统可以确定正在被操纵的虚拟内容或菜单的当前位置。例如,可以将虚拟内容或菜单移动到与焦点方向相关联的指定位置,例如上面参考图12a至图13b所描述的。ar系统可以确定更新后的位置或与用户或用户的3d环境相关联的其他位置,以识别内容位于或应该位于的位置。在一些示例中,随着用户在房间周围走动可以更新位置,因为控制器的位置和焦点方向的取向改变。在一些实施例中,可以将内容放置在用户前面的固定距离处。
190.在跟随决定框1604,ar系统可以确定ar系统是否应该继续更新内容的位置。例如,ar系统可以识别停止条件以继续更新内容的位置(或跟随过程或机制)。停止条件可以包括来自用户或其他来源的停止更新内容位置的指示。例如,用户可以做出手势、发出命令、或按下控制器上的按钮或其他输入来阻止内容跟随用户。在另一个示例中,ar系统可以识别用户已经退出有界体积或超过阈值跟随条件。在一些示例中,可以使用停止条件的组合。如果检测到停止条件,ar系统可以移动到框1606。如果没有检测到停止条件,ar系统可以移动到框1610以继续更新内容的位置(换句话说,继续跟随过程或机制),例如上面参考图12a至图14b所描述的。
191.在显示框1606,ar系统可以在用户的3d环境的当前或指定位置显示内容。例如,如果ar系统在框1604接收到停止跟随的指示,则ar系统可以将菜单或其他内容投掷在菜单或内容的当前位置,使得菜单或内容停留在最后更新的位置。在一些示例中,ar系统可以继续更新菜单或内容的取向,例如上面参考图14a至图14b所描述的。在一些示例中,ar系统还可以将菜单或内容的取向冻结为当前取向。在一些示例中,ar系统可以冻结菜单或内容的取向作为检测到冻结条件的结果,例如手势、命令、按下按钮、或以其他方式向ar系统提供输入以向ar系统指示冻结或停止更新内容的取向。在一些示例中,当ar系统在框1610接收到停止条件时,ar系统可以将取向更新为用户的3d环境内的固定或预设取向和/或高度。例如,ar系统可以将内容固定在眼睛高度并且将内容的取向固定为内容的表面垂直于用户的3d环境的地板,使得用户可以轻松地观看内容。
192.在跟随决定框1608,ar系统可以确定ar系统是否应该继续更新内容的位置。例如,ar系统可以识别更新内容位置(或跟随过程或机制)的开始条件。开始条件可以包括来自用户或其他来源的开始更新内容位置的指示。例如,用户可以做手势、发出命令、按下按钮或其他输入以开始让内容跟随用户。在另一个示例中,ar系统可以识别用户已经进入有界体积或通过了阈值跟随条件。在一些示例中,可以使用开始条件的组合。如果检测到开始条件,则ar系统可以移动到框1610以继续更新内容的位置(换言之,继续跟随过程或机制),例如上面参考图12a至图14b所描述的。
193.在一些示例中,当ar系统接收到开始更新内容的位置和/或取向的指示时,ar系统可以将内容召唤到用户的当前位置。例如,ar系统可以将内容的当前位置移动到更靠近用户的新位置。在一些示例中,新位置可以基于关于上面参考图12a至图14b描述的内容的位置的一个或多个规则。在一些示例中,ar系统可能不会更新内容的位置和/或取向以将内容
召唤到用户的当前位置,直到检测到召唤指示。召唤指示可以包括手势、命令、按钮按压、或其他输入。
194.h.内容跟随系统的示例应用
195.图17描绘了用于内容跟随系统的示例应用1700,其中相应的可穿戴系统的两个用户正在进行远程呈现会话。此图中显示了两个用户(在此示例中名为爱丽丝(alice)912和鲍勃(bob)914)。两个用户正佩戴他们各自的可穿戴设备902和904,其可以包括参考图9d描述的hmd(例如,系统60的显示设备70),用于在远程呈现会话中表示另一个用户的虚拟化身。两个用户可以使用可穿戴设备进行远程呈现会话。请注意,图17中分隔两个用户的垂直线旨在说明爱丽丝和鲍勃在通过远程呈现进行通信时可能(但不必)位于两个不同的位置(例如,爱丽丝可能在她位于亚特兰大的办公室内,而鲍勃在在波士顿户外)。
196.可穿戴设备902和904可以彼此通信或与其他用户设备和计算机系统通信。例如,爱丽丝的可穿戴设备902可以与鲍勃的可穿戴设备904通信,例如,通过网络990。可穿戴设备902和904可以跟踪用户的环境和环境中的移动(例如,通过各自的面向外的成像系统464、或一个或多个位置传感器)和语音(例如,通过相应的音频传感器232)。可穿戴设备902和904还可以基于由面向内的成像系统462获取的数据来跟踪用户的眼睛运动或注视。在一些情况下,可穿戴设备还可以捕获或跟踪用户的面部表情或其他身体运动(例如,手臂或腿部运动),其中用户靠近反射表面,并且面向外的成像系统464可以获得用户的反射图像以观察用户的面部表情或其他身体运动。
197.可穿戴设备可以使用从第一用户和环境获取的信息来动画化将由第二用户的可穿戴设备渲染的虚拟化身,以在第二用户的环境中创建第一用户的存在感。例如,可穿戴设备902和904、远程计算系统920可以单独或组合处理爱丽丝的图像或运动以供鲍勃的可穿戴设备904呈现,或者可以处理鲍勃的图像或运动以供爱丽丝的可穿戴设备902呈现。在本文中进一步描述,可以基于上下文信息来渲染化身,例如用户的意图、用户的环境、或渲染化身的环境、或人的其他生物特征。
198.尽管示例仅涉及两个用户,但本文描述的技术不应限于两个用户。使用可穿戴设备(或其他远程呈现设备)的多个用户(例如,两个、三个、四个、五个、六个或更多)可以参与远程呈现会话。特定用户的可穿戴设备可以在远程呈现会话期间向该特定用户呈现其他用户的化身。此外,虽然该图中的示例显示用户站在环境中,但用户不需要站立。在远程呈现会话期间,任何用户都可以站立、坐下、跪下、躺下、行走或奔跑,或者处于任何位置或运动。用户还可以在本文示例中描述的以外的物理环境中。在进行远程呈现会话时,用户可能处于不同的环境中,或者可能处于相同的环境中。并非所有用户都需要在远程呈现会话中佩戴各自的hmd。例如,爱丽丝可以使用其他图像采集和显示设备,例如网络摄像头和计算机屏幕,而鲍勃佩戴可穿戴设备904。
199.鲍勃可以通过例如控制器1704上的按钮按压来提供指示,以在化身聊天会话期间显示聊天菜单或其他内容1702。鲍勃的ar系统可以根据例如上面参考图15描述的访问过程1500来显示内容1702。内容1702可以在鲍勃的环境中沿指向向量1706的位置出现。根据例如上面参考图14d描述的取向过程,内容1702可以被定向以允许鲍勃观看内容1702。内容1702可能对爱丽丝可见或可能不可见。在内容1702对爱丽丝可见的示例中,内容1702可以被定向,也可以不被定向以便爱丽丝可以观看内容1702。当鲍勃在化身聊天期间在他的空
间中移动并在3d环境中重新定向他的控制器或头戴式显示器时,内容1702可以根据上述一个或多个过程跟随鲍勃。在一些示例中,鲍勃可以将聊天菜单或其他内容1702放置在鲍勃环境中的期望位置。另外或替代地,鲍勃可以使用控制器1704的较小移动来选择内容1702的部分或与内容1702的部分交互。鲍勃可以通过对鲍勃的ar系统的一个或多个指示来关闭聊天菜单或其他内容1702。
200.i.其他示例
201.本文公开了ar系统的附加示例。可以组合所公开的任何示例。
202.示例1:一种增强现实ar系统,包括:
203.ar显示器,其被配置为向所述ar系统的用户呈现虚拟内容;
204.面向外的相机,其被配置为捕获所述用户的环境的一个或多个图像;
205.手持控制器,其限定指示所述手持控制器的指向方向的指向向量;
206.与所述ar显示器、所述面向外的相机、以及所述手持控制器通信的硬件处理器,所述硬件处理器被编程为:
207.经由所述ar显示器,显示交互式内容对象;
208.在第一交互模式中,当所述指向向量保持在所述交互式内容对象内时,指示所述手持控制器在所述交互式内容对象内的移动,并允许经由所述手持控制器与所述交互式内容对象交互;
209.监视所述指向向量参考所述交互式内容对象的变化;
210.响应于检测到所述指向向量在所述交互式内容对象之外的移动,将所述系统更新到第二交互模式,其中,所述手持控制器引起所述交互式内容对象的移动,使得所述交互式内容对象跟随所述手持控制器在所述虚拟环境中的移动;以及
211.响应于检测到所述手持控制器的所述指向向量在所述交互式内容对象之内的移动,将所述系统更新到所述第一交互模式。
212.示例2:根据示例1所述的系统,其中,所述交互式内容对象包括包含虚拟对象的棱柱。
213.示例3:根据示例1或2中任一项所述的系统,其中,所述交互式内容对象的至少一个边缘比所述虚拟对象的对应边缘更远离所述虚拟对象的中心10度。
214.示例4:根据示例1至3中任一项所述的系统,其中,所述硬件处理器被配置为:接收在第一内容位置处显示所述交互式内容的指示。
215.示例5:根据示例4所述的系统,其中,所述指示包括按下和释放所述控制器上的按钮。
216.示例6:根据示例4至5中任一项所述的系统,其中,所述硬件处理器被配置为:提醒所述用户所述交互式内容在所述第一内容位置处的显示。
217.示例7:根据示例6所述的系统,其中,所述提醒包括以下中的至少一个:图形、触觉反馈、或声音。
218.示例8:根据示例1至7中任一项所述的系统,其中,所述硬件处理器被配置为:接收停止在所述用户的所述环境中显示所述交互式内容的指示。
219.示例9:根据示例8所述的系统,其中,所述指示包括按下和释放所述控制器上的按钮。
220.示例10:根据示例1至9中任一项所述的系统,其中,所述硬件处理器被配置为:
221.确定第一用户头部姿势;
222.基于所述第一用户头部姿势,识别第一用户注视向量;以及
223.定向所述交互式内容,以使得所述交互式内容对象的表面垂直于所述第一用户注视向量。
224.示例11:根据示例10所述的系统,其中,所述硬件处理器被配置为:
225.确定第二用户头部姿势;
226.基于所述第二用户头部姿势,识别第二用户注视向量;以及
227.定向所述交互式内容对象,以使得所述交互式内容对象的表面垂直于所述第二用户注视向量。
228.示例12:根据示例1至11中任一项所述的系统,其中,所述交互式内容对象的间距相对于所述用户的头部高度是固定的。
229.示例13:根据示例1至12中任一项所述的系统,其中,所述硬件处理器被配置为:
230.接收停止移动所述交互式内容的指示;以及
231.响应于接收到停止移动的所述指示,在所述用户的所述环境内的当前内容位置处维持所述交互式内容的显示。
232.示例14:根据示例13所述的系统,其中,所述硬件处理器被配置为:
233.接收开始移动所述交互式内容的指示;以及
234.响应于接收到开始移动的所述指示,允许所述交互式内容显示在所述用户的所述环境内的新位置。
235.示例15:一种增强现实ar系统,包括:
236.ar显示器,其被配置为向所述ar系统的用户呈现虚拟内容;
237.手持控制器,其具有至少六个自由度;以及
238.与所述ar显示器、面向外的相机、以及所述手持控制器通信的硬件处理器,所述硬件处理器被编程为:
239.在第一内容位置处显示交互式内容;
240.确定包括由所述控制器指示的方向的第一指向向量;
241.确定所述第一指向向量是否与关联于所述交互式内容的有界体积相交;
242.响应于确定所述第一指向向量不与所述有界体积相交,将所述交互式内容移动到与沿着所述第一指向向量的所述方向的点相关联的第二内容位置;以及
243.响应于确定所述第一指向向量与所述有界体积相交,接收在所述第一内容位置处与所述交互式内容进行交互的指示。
244.示例16:根据示例15所述的系统,其中,所述交互式内容包括包含虚拟对象的棱柱。
245.示例17:根据示例15或16中的任一项所述的系统,其中,所述交互式内容的至少一个边缘比所述虚拟对象的对应边缘更远离所述虚拟对象的中心10度。
246.示例18:根据示例15所述的系统,其中,所述硬件处理器被配置为:接收在所述第一内容位置处显示所述交互式内容的指示。
247.示例19:根据示例18所述的系统,其中,所述指示包括所述控制器上的按钮的按下
和释放。
248.示例20:根据示例18至19中任一项所述的系统,其中,所述硬件处理器被配置为:提醒所述用户所述交互式内容在所述第一内容位置处的显示。
249.示例21:根据示例20所述的系统,其中,所述提醒包括以下中的至少一个:图形、触觉反馈、或声音。
250.示例22:根据示例15至21中任一项所述的系统,其中,所述硬件处理器被配置为:接收停止在所述用户的所述环境中显示所述交互式内容的指示。
251.示例23:根据示例22所述的系统,其中,所述指示包括所述控制器上的按钮的按下和释放。
252.示例24:根据示例15至24中任一项所述的系统,其中,所述硬件处理器被配置为:
253.确定第一用户头部姿势;
254.基于所述第一用户头部姿势,识别第一用户注视向量;以及
255.定向所述交互式内容,以使得所述交互式内容的表面垂直于所述第一用户注视向量。
256.示例25:根据示例24所述的系统,其中,所述硬件处理器被配置为:
257.确定第二用户头部姿势;
258.基于所述第二用户头部姿势,识别第二用户注视向量;以及
259.定向所述交互式内容,以使得所述交互式内容的表面垂直于所述第二用户注视向量。
260.示例26:根据示例15至25中任一项所述的系统,其中,所述第一内容位置和所述第二内容位置距地面的高度相同。
261.示例27:根据示例26所述的系统,其中,所述交互式内容的间距相对于所述用户的头部高度是固定的。
262.示例28:根据示例15至27中任一项所述的系统,其中,所述硬件处理器被配置为:
263.接收停止移动所述交互式内容的指示;以及
264.响应于接收到停止移动的所述指示,在所述用户的所述环境内的当前内容位置处维持所述交互式内容的显示。
265.示例29:根据示例28所述的系统,其中,所述硬件处理器被配置为:
266.接收开始移动所述交互式内容的指示;以及
267.响应于接收到开始移动的所述指示,允许所述交互式内容显示在所述用户的所述环境内的新位置。
268.示例30:一种用于显示虚拟内容的方法,所述方法包括:
269.在第一内容位置处显示交互式内容;
270.确定包括由控制器指示的方向的第一指向向量;
271.确定所述第一指向向量是否与与所述交互式内容相关联的有界体积相交;
272.响应于确定所述第一指向向量不与所述有界体积相交,将所述交互式内容移动到与沿着所述第一指向向量的所述方向的点相关联的第二内容位置;以及
273.响应于确定所述第一指向向量与所述有界体积相交,接收在所述第一内容位置处与所述交互式内容交互的指示。
274.示例31:根据示例30所述的方法,包括:接收在所述第一内容位置处显示所述交互式内容的指示。
275.示例32:根据示例31所述的方法,其中,所述指示包括所述控制器上的按钮的按下和释放。
276.示例33:根据示例31至32中任一项所述的方法,包括:向所述用户传达与所述交互式内容在所述第一内容位置处的显示相关联的提醒。
277.示例34:根据示例33所述的方法,其中,所述提醒包括以下中的至少一个:图形、触觉反馈、或声音。
278.示例35:根据示例30至34中任一项所述的方法,包括:接收停止在所述用户的所述环境中显示所述交互式内容的指示。
279.示例36:根据示例35所述的方法,其中,所述指示包括所述控制器上的按钮的按下和释放。
280.示例37:根据示例30-36中任一项所述的方法,包括:
281.确定第一用户头部姿势;
282.基于所述第一用户头部姿势,识别第一用户注视向量;以及
283.定向所述交互式内容,以使得所述交互式内容的表面垂直于所述第一用户注视向量。
284.示例38:根据示例37所述的方法,包括:
285.确定第二用户头部姿势;
286.基于所述第二用户头部姿势,识别第二用户注视向量;以及
287.定向所述交互式内容,以使得所述交互式内容的表面垂直于所述第二用户注视向量。
288.示例39:根据示例30至38中任一项所述的方法,其中,所述第一内容位置和所述第二内容位置距地面的高度相同。
289.示例40:根据示例39所述的方法,其中,所述交互式内容的间距相对于所述用户的头部高度是固定的。
290.示例41:根据示例30至40中任一项所述的方法,包括:
291.接收停止移动所述交互式内容的指示;以及
292.响应于接收到停止移动的所述指示,在所述用户的所述环境内的当前内容位置处维持所述交互式内容的显示。
293.示例42:根据示例41所述的方法,包括:
294.接收开始移动所述交互式内容的指示;以及
295.响应于接收到开始移动的所述指示,允许所述交互式内容显示在所述用户的所述环境内的新位置。
296.示例43:根据上述示例中的任一个示例,其中,所述交互式内容对象包括包含虚拟对象的有界体积。
297.j.其他考虑因素
298.在此描述和/或附图中描绘的过程、方法和算法中的每一个可以在由一个或多个物理计算系统、硬件计算机处理器、专用电路和/或配置为执行具体和特定计算机指令的电
子硬件执行的代码模块中体现,并且完全或部分地由代码模块自动化。例如,计算系统可以包括用特定计算机指令或专用计算机、专用电路等编程的通用计算机(例如服务器)。代码模块可以被编译并链接到可执行程序中,安装在动态链接库中,或者可以用解释的编程语言编写。在一些实施方式中,特定操作和方法可以由特定于给定功能的电路执行。
299.此外,本公开的功能的某些实施方式在数学上、计算上或技术上足够复杂,以使得应用专用硬件或一个或多个物理计算装置(利用适当的专用可执行指令)可能有必要执行功能,例如由于所涉及的计算的量或复杂性或者基本上实时地提供结果。例如,动画或者视频可以包括许多帧,每个帧具有数百万个像素,并且需要专门编程的计算机硬件来处理视频数据以在商业上合理的时间量内提供所需的图像处理任务或应用。
300.代码模块或任何类型的数据可以存储在任何类型的非暂态计算机可读介质上,诸如包括硬盘驱动器、固态存储器、随机存取存储器(ram)、只读存储器(rom)、光盘、易失性或非易失性存储设备,它们的组合等的物理计算机存储设备。方法和模块(或数据)还可以作为生成的数据信号(例如,作为载波或其它模拟或数字传播信号的一部分)在各种计算机可读传输介质(包括基于无线的和有线的/基于电缆的介质)上发送,并且可以采用多种形式(例如,作为单个或多路复用模拟信号的一部分,或者作为多个离散数字分组或帧)。所公开的过程或过程步骤或动作的结果可以持久地或以其它方式存储在任何类型的非暂态有形计算机存储设备中,或者可以经由计算机可读传输介质传送。
301.在此描述和/或附图中描绘的流程图中的任何过程、框、状态、步骤或功能应当理解为可能表示代码模块、代码段或代码部分,其包括用于实施特定功能(例如,逻辑或算术)或过程中的步骤的一个或多个可执行指令。各种过程、块、状态、步骤或功能可以与在此提供的说明性示例组合、重新排列、添加、删除、修改或以其它方式改变。在一些实施例中,附加或不同的计算系统或代码模块可以执行在此描述的一些或全部功能。在此描述的方法和过程也不限于任何特定序列,并且与其相关的块、步骤或状态可以以适当的其它顺序执行,例如,以串行、并行或以一些其它方式。可以向所公开的示例实施例添加任务或事件或从中删除任务或事件。此外,在此描述的实施方式中的各种系统组件的分离是出于说明性目的,并且不应被理解为在所有实施方式中都需要这种分离。应当理解,所描述的程序组件、方法和系统通常可以一起集成在单个计算机产品中或打包成多个计算机产品。许多实施方式变化都是可能的。
302.过程、方法和系统可以在网络(或分布式)计算环境中实施。网络环境包括企业范围的计算机网络、内联网、局域网(lan)、广域网(wan)、个人局域网(pan)、云计算网络、众包计算网络、互联网和万维网。网络可以是有线或无线网络或任何其它类型的通信网络。
303.本公开的系统和方法各自具有若干创新方面,其中没有一个单独地对在此公开的期望属性负责或要求。上述各种特征和过程可以彼此独立地使用,或者可以以各种方式组合。所有可能的组合和子组合都旨在落入本公开的范围内。对本领域技术人员来说,对本公开中描述的实施方式的各种修改是显而易见的,并且在不脱离本公开的精神或范围的情况下,在此定义的一般原理可以应用于其它实施方式。因此,权利要求不旨在限于在此所示的实施方式,而是与符合本公开、在此公开的原理和新颖特征的最宽范围相一致。
304.在单独实施方式的上下文中在本说明书中描述的某些特征也可以在单个实施方式中组合实施。相反,在单个实施方式的上下文中描述的各种特征也可以单独地或以任何
合适的子组合在多个实施方式中实施。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合中切除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变体。对于每个和所有实施例,需要单个特征或特征组并非必需或必不可少。
305.除非另有说明,或者在所使用的上下文中以其它方式理解,否则在此使用的条件语言,诸如“能够”、“可以”、“可能”、“可”、“例如”等通常旨在传达某些实施例包括某些特征、元件和/或步骤,而其它实施例不包括某些特征、元件和/或步骤。因此,这种条件语言通常不旨在暗示一个或多个实施例以任何方式需要特征、元素和/或步骤,或者一个或多个实施例必须包括用于决定是否在任何特定实施例中包括或将要执行这些特征、元件和/或步骤(无论是否有作者输入或提示)的逻辑。术语“包含”、“包括”、“具有”等是同义的并且以开放式方式包含使用,并且不排除附加元件、特征、动作、操作等。此外,术语“或”在其包含意义上使用(而不是在其独有意义上),因此当使用时,例如,为了连接元素列表,术语“或”表示列表中的一个、一些或全部元素。另外,除非另有说明,否则本技术和所附权利要求中使用的冠词“一”、“一个”和“该”应理解为表示“一个或多个”或“至少一个”。
306.如在此所使用的,指代项目列表中的“至少一个”的短语是指那些项目的任何组合,包括单个成员。例如,“a、b或c中的至少一个”旨在涵盖:a、b、c、a和b、a和c、b和c,以及a、b和c。除非另外特别说明,否则诸如短语“x、y和z中的至少一个”的联合语言以其它方式通过上下文理解为通常用于传达项目、术语等可以是x、y或z中的至少一个。因此,这种联合语言通常不旨在暗示某些实施例需要x中的至少一个、y中的至少一个和z中的至少一个各自存在。
307.类似地,虽然可以以特定顺序在附图中描绘操作,但应认识到,不需要以所示的特定顺序或按顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。此外,附图可以以流程图的形式示意性地描绘一个或多个示例过程。然而,未示出的其它操作可以包含在示意性示出的示例方法和过程中。例如,可以在任何所示操作之前、之后、同时或之间执行一个或多个附加操作。另外,可以在其它实施方式中重新排列或重新排序操作。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施方式中的各种系统组件的分离不应被理解为在所有实施方式中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以在单个软件产品中集成在一起或者被打包到多种软件产品。另外,其它实施方式在以下权利要求的范围内。在一些情况下,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。

技术特征:


1.一种增强现实ar系统,包括:ar显示器,其被配置为向所述ar系统的用户呈现虚拟内容;面向外的相机,其被配置为捕获所述用户的环境的一个或多个图像;手持控制器,其限定指示所述手持控制器的指向方向的指向向量;与所述ar显示器、所述面向外的相机、以及所述手持控制器通信的硬件处理器,所述硬件处理器被编程为:经由所述ar显示器,显示交互式内容对象;在第一交互模式中,当所述指向向量保持在所述交互式内容对象内时,指示所述手持控制器在所述交互式内容对象内的移动,并允许经由所述手持控制器与所述交互式内容对象交互;监视所述指向向量参考所述交互式内容对象的变化;响应于检测到所述指向向量在所述交互式内容对象之外的移动,将所述系统更新到第二交互模式,其中,所述手持控制器引起所述交互式内容对象的移动,以使得所述交互式内容对象跟随所述手持控制器在所述虚拟环境中的移动;以及响应于检测到所述手持控制器的所述指向向量在所述交互式内容对象之内的移动,将所述系统更新到所述第一交互模式。2.根据权利要求1所述的系统,其中,所述交互式内容对象包括包含虚拟对象的有界体积。3.根据权利要求1或2中任一项所述的系统,其中,所述交互式内容对象的至少一个边缘比所述虚拟对象的对应边缘更远离所述虚拟对象的中心10度。4.根据权利要求1至3中任一项所述的系统,其中,所述硬件处理器被配置为:接收在第一内容位置处显示所述交互式内容的指示。5.根据权利要求4所述的系统,其中,所述指示包括所述控制器上的按钮的按下和释放。6.根据权利要求4至5中任一项所述的系统,其中,所述硬件处理器被配置为:提醒所述用户所述交互式内容在所述第一内容位置处的显示。7.根据权利要求6所述的系统,其中,所述提醒包括以下中的至少一个:图形、触觉反馈、或声音。8.根据权利要求1至7中任一项所述的系统,其中,所述硬件处理器被配置为:接收停止在所述用户的所述环境中显示所述交互式内容的指示。9.根据权利要求8所述的系统,其中,所述指示包括所述控制器上的按钮的按下和释放。10.根据权利要求1至9中任一项所述的系统,其中,所述硬件处理器被配置为:确定第一用户头部姿势;基于所述第一用户头部姿势,识别第一用户注视向量;以及定向所述交互式内容,以使得所述交互式内容对象的表面垂直于所述第一用户注视向量。11.根据权利要求10所述的系统,其中,所述硬件处理器被配置为:确定第二用户头部姿势;
基于所述第二用户头部姿势,识别第二用户注视向量;以及定向所述交互式内容对象,以使得所述交互式内容对象的表面垂直于所述第二用户注视向量。12.根据权利要求1至11中任一项所述的系统,其中,所述交互式内容对象的间距相对于所述用户的头部高度是固定的。13.根据权利要求1至12中任一项所述的系统,其中,所述硬件处理器被配置为:接收停止移动所述交互式内容的指示;以及响应于接收到停止移动的所述指示,在所述用户的所述环境内的当前内容位置处维持所述交互式内容的显示。14.根据权利要求13所述的系统,其中,所述硬件处理器被配置为:接收开始移动所述交互式内容的指示;以及响应于接收到开始移动的所述指示,允许所述交互式内容被显示在所述用户的所述环境内的新位置。15.一种增强现实ar系统,包括:ar显示器,其被配置为向所述ar系统的用户呈现虚拟内容;手持控制器,其具有至少六个自由度;以及与所述ar显示器、面向外的相机、以及所述手持控制器通信的硬件处理器,所述硬件处理器被编程为:在第一内容位置处显示交互式内容;确定包括由所述控制器指示的方向的第一指向向量;确定所述第一指向向量是否与和所述交互式内容相关联的有界体积相交;响应于确定所述第一指向向量不与所述有界体积相交,将所述交互式内容移动到与沿着所述第一指向向量的所述方向的点相关联的第二内容位置;以及响应于确定所述第一指向向量与所述有界体积相交,接收在所述第一内容位置处与所述交互式内容进行交互的指示。16.根据权利要求15所述的系统,其中,所述交互式内容包括包含虚拟对象的有界体积。17.根据权利要求15或16中的任一项所述的系统,其中,所述交互式内容的至少一个边缘比所述虚拟对象的对应边缘更远离所述虚拟对象的中心10度。18.根据权利要求15所述的系统,其中,所述硬件处理器被配置为:接收在所述第一内容位置处显示所述交互式内容的指示。19.根据权利要求18所述的系统,其中,所述指示包括所述控制器上的按钮的按下和释放。20.根据权利要求18至19中任一项所述的系统,其中,所述硬件处理器被配置为:提醒所述用户所述交互式内容在所述第一内容位置处的显示。

技术总结


用于使用单个控制器与内容交互并且更新该内容的位置和取向的系统和方法的示例。该系统可以允许用户使用相同的控制器在房间周围移动内容并通过跟踪控制器的运动范围与该内容交互。容交互。容交互。


技术研发人员:

K

受保护的技术使用者:

奇跃公司

技术研发日:

2021.01.20

技术公布日:

2022/11/22

本文发布于:2024-09-20 10:47:35,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/761.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   内容   波导   示例
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议