CN117957581A - 用于与三维环境交互的设备、方法和图形用户界面 - Google Patents

用于与三维环境交互的设备、方法和图形用户界面 Download PDF

Info

Publication number
CN117957581A
CN117957581A CN202280063114.3A CN202280063114A CN117957581A CN 117957581 A CN117957581 A CN 117957581A CN 202280063114 A CN202280063114 A CN 202280063114A CN 117957581 A CN117957581 A CN 117957581A
Authority
CN
China
Prior art keywords
user
user interface
interface object
dimensional environment
location
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280063114.3A
Other languages
English (en)
Inventor
E·克日沃卢奇科
I·帕斯特拉纳文森特
S·O·勒梅
C·D·麦肯齐
Z·C·泰勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/948,096 external-priority patent/US20230092874A1/en
Application filed by Apple Inc filed Critical Apple Inc
Priority claimed from PCT/US2022/044117 external-priority patent/WO2023049111A1/en
Publication of CN117957581A publication Critical patent/CN117957581A/zh
Pending legal-status Critical Current

Links

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

一种计算机系统检测用户是否满足关于在三维环境的第一视图中显示的第一用户界面对象的注意力标准。响应于检测到该用户不满足关于该第一用户界面对象的该注意力标准,该计算机系统以修改的外观显示该第一用户界面。该计算机系统检测该用户的视点相对于物理环境的第一移动,并且检测该用户满足关于该第一用户界面对象的该注意力标准。作为响应,该计算机系统在该三维环境的第二视图中显示该第一用户界面对象,包括以与以该修改的外观显示该第一用户界面对象的情况相比更多地强调该第一用户界面对象的外观显示该第一用户界面对象。

Description

用于与三维环境交互的设备、方法和图形用户界面
相关专利申请
本申请是2022年9月19日提交的美国专利申请17/948,096号的继续申请,该专利申请要求2021年9月22日提交的美国临时专利申请63/247,241号的优先权,这些专利申请中的每个专利申请据此全文以引用方式并入。
技术领域
本公开整体涉及具有显示生成部件和一个或多个输入设备的提供计算机生成的扩展现实(XR)体验的计算机系统,这些计算机系统包括但不限于经由显示生成部件提供虚拟现实和混合现实体验的电子设备。
背景技术
近年来,用于虚拟现实、增强现实和扩展现实的计算机系统的发展显著增加。示例增强现实和扩展现实环境包括至少一些替换或增强物理世界的虚拟元素。用于计算机系统和其他电子计算设备的输入设备(诸如相机、控制器、操纵杆、触敏表面和触摸屏显示器)用于与虚拟/增强/扩展现实环境进行交互。示例虚拟元素包括虚拟对象(包括数字图像、视频、文本、图标、控制元素(诸如按钮),以及其他图形)。
但用于与包括至少一些虚拟元素的环境(例如,应用程序、增强现实环境、混合现实环境、虚拟现实环境和扩展现实环境)进行交互的方法和界面麻烦、低效且有限。例如,提供用于执行与虚拟对象相关联的动作的不足反馈的系统、需要一系列输入来在虚拟/增强/扩展现实环境中实现期望结果的系统,以及虚拟对象操纵复杂、繁琐且容易出错的系统,会给用户造成巨大的认知负担,并且减损虚拟/增强/扩展现实环境的体验感。此外,这些方法花费比所需时间更长的时间,从而浪费能量。这后一考虑在电池驱动的设备中是特别重要的。
发明内容
因此,需要具有改进的方法和界面的计算机系统来向用户提供计算机生成的体验,从而使得用户与计算机系统的交互对用户来说更高效且更直观。所公开的系统、方法和用户界面减少或消除了与用于计算机系统的用户界面相关联的上述缺陷和其他问题,这些计算机系统具有显示生成部件和一个或多个输入设备。此类系统、方法和界面任选地补充或替换用于向用户提供扩展现实体验的常规系统、方法和用户界面。此类方法和界面通过帮助用户理解所提供的输入与设备对这些输入的响应之间的联系,减少了来自用户的输入的数量、程度和/或性质,从而形成了更有效的人机界面。
根据一些实施方案,在与第一显示生成部件和一个或多个输入设备通信的计算机系统处执行一种方法。该方法包括:经由该第一显示生成部件在三维环境的第一视图中显示第一用户界面对象。该方法还包括:在显示该第一用户界面对象时,经由该一个或多个输入设备检测用户是否满足关于该第一用户界面对象的注意力标准。该方法还包括:响应于检测到该用户不满足关于该第一用户界面对象的该注意力标准,以修改的外观显示该第一用户界面,其中以该修改的外观显示该第一用户界面对象包括相对于该三维环境中的一个或多个其他对象去强调(deemphasizing)该第一用户界面对象。该方法还包括:在以该修改的外观显示该第一用户界面对象时,经由该一个或多个输入设备检测该用户的视点相对于物理环境的第一移动。该方法还包括:在检测到该用户的该视点相对于该物理环境的该第一移动之后,检测该用户满足关于该第一用户界面对象的该注意力标准。该方法还包括:响应于检测到该用户满足该注意力标准,在该三维环境的与该三维环境的该第一视图不同的第二视图中显示该第一用户界面对象,其中在该三维环境的该第二视图中显示该第一用户界面对象包括以与以该修改的外观显示该第一用户界面对象的情况相比相对于该三维环境中的一个或多个其他对象更多地强调该第一用户界面对象的外观显示该第一用户界面对象。
在一些实施方案中,在与第一显示生成部件和一个或多个输入设备通信的计算机系统处执行一种方法。该方法包括:经由该第一显示生成部件在三维环境的第一视图中在该三维环境中的第一定位和相对于用户的相应部分的第一空间布置下显示第一用户界面对象。该方法还包括:在显示该第一用户界面对象时,经由该一个或多个输入设备检测该用户的视点从物理环境中的第一位置到第二位置的移动。该方法还包括:响应于检测到该用户的该视点从该第一位置到该第二位置的该移动:根据确定该用户的该视点从该第一位置到该第二位置的该移动不满足阈值移动量,维持该第一用户界面对象在该三维环境中的该第一定位处的显示。该方法还包括:响应于检测到该用户的该视点从该第一位置到该第二位置的该移动,根据确定该用户的该视点从该第一位置到该第二位置的该移动满足该阈值移动量:停止在该三维环境中的该第一定位处显示该第一用户界面对象,并且在该三维环境中的第二定位处显示该第一用户界面对象,其中该三维环境中的该第二定位具有相对于该用户的该相应部分的该第一空间布置。
根据一些实施方案,一种计算机系统包括以下各项或者与以下各项通信:显示生成部件(例如,显示器、投影仪或头戴式显示器)、一个或多个输入设备(例如,一个或多个相机、触敏表面、任选地用于检测与触敏表面的接触强度的一个或多个传感器)、任选地一个或多个听觉输出部件、任选地一个或多个触觉输出发生器、一个或多个处理器以及存储一个或多个程序的存储器;一个或多个程序被配置为由一个或多个处理器执行,并且一个或多个程序包括用于执行或引起执行本文所述方法中的任一种方法的操作的指令。根据一些实施方案,非暂态计算机可读存储介质在其中存储有指令,这些指令在被具有显示生成部件、一个或多个输入设备(例如,一个或多个相机、触敏表面、用于检测与触敏表面的接触强度的任选的一个或多个传感器)、任选的一个或多个音频输出部件以及任选的一个或多个触觉输出发生器的计算机系统执行时,使得该设备执行本文所述方法中的任一种方法或使得本文所述方法中的任一种方法的操作被执行。根据一些实施方案,具有显示生成部件、一个或多个输入设备(例如,一个或多个相机、触敏表面、用于检测与触敏表面的接触强度的任选的一个或多个传感器)、任选的一个或多个音频输出部件、任选的一个或多个触觉输出发生器、存储器和用于执行存储在存储器中的一个或多个程序的一个或多个处理器的计算机系统上的图形用户界面包括在本文所述方法中的任一种方法中所显示的元素中的一个或多个元素,该一个或多个元素响应于输入而被更新,如本文所述方法中的任一种方法所描述的。根据一些实施方案,计算机系统包括:显示生成部件、一个或多个输入设备(例如,一个或多个相机、触敏表面、用于检测与触敏表面的接触强度的任选的一个或多个传感器)、任选的一个或多个音频输出部件以及任选的一个或多个触觉输出发生器;以及用于执行或导致执行本文所述的方法中的任一种方法的操作的构件。根据一些实施方案,用于具有显示生成部件、一个或多个输入设备(例如,一个或多个相机、触敏表面、用于检测与触敏表面的接触强度的任选的一个或多个传感器)、任选的一个或多个音频输出部件以及任选的一个或多个触觉输出发生器的计算机系统中的信息处理装置包括用于执行本文所述方法中的任一种方法的操作或使得本文所述方法中的任一种方法的操作被执行的构件。
因此,为具有显示生成部件的计算机系统提供了改进的方法和界面,以用于与三维环境进行交互并且有利于用户在与三维环境进行交互时使用计算机系统,从而提高此类计算机系统的有效性、效率,以及用户安全性和满意度。此类方法和界面可以补充或替换用于与三维环境进行交互并且有利于用户在与三维环境进行交互时使用计算机系统的常规方法。
需注意,上述各种实施方案可与本文所述任何其他实施方案相结合。本说明书中描述的特征和优点并不全面,具体来说,根据附图、说明书和权利要求书,许多另外的特征和优点对本领域的普通技术人员将是显而易见的。此外,应当指出,出于可读性和指导性目的,在原则上选择了本说明书中使用的语言,并且可以不这样选择以描绘或界定本发明的主题。
附图说明
为了更好地理解各种所述实施方案,应结合以下附图参考下面的具体实施方式,其中类似的附图标号在所有附图中指示对应的部分。
图1是示出根据一些实施方案的用于提供扩展现实(XR)体验的计算机系统的操作环境的框图。
图2是示出根据一些实施方案的计算机系统的被配置为管理和协调用户的XR体验的控制器的框图。
图3是示出根据一些实施方案的计算机系统的被配置为向用户提供XR体验的视觉组成部分的显示生成部件的框图。
图4是示出根据一些实施方案的计算机系统的被配置为捕获用户的手势输入的手部跟踪单元的框图。
图5是示出根据一些实施方案的计算机系统的被配置为捕获用户的注视输入的眼睛跟踪单元的框图。
图6是示出根据一些实施方案的闪光辅助的注视跟踪流水线的流程图。
图7A至图7J是示出根据一些实施方案的在三维环境中的相应定位处显示用户界面对象的框图。
图8是根据一些实施方案的在用户未关注三维环境中的用户界面元素时在视觉上去强调该用户界面元素的方法的流程图。
图9是根据一些实施方案的在用户改变用户对三维环境的当前视图时更新三维环境中的用户界面元素的显示以跟随用户的方法的流程图。
具体实施方式
根据一些实施方案,本公开涉及用于向用户提供计算机生成扩展现实(XR)体验的用户界面。
本文所述的系统、方法和GUI以多种方式改进与虚拟/增强现实环境进行的用户界面交互。
在一些实施方案中,计算机系统显示用户界面元素,该用户界面元素在用户未关注该用户界面元素时在视觉上被去强调。当用户在物理环境中四处移动时,用户界面元素保持被去强调,并且根据确定用户正关注用户界面元素,用户界面元素不再在视觉上被去强调,并且基于用户对三维环境的当前视图在三维环境内的定位处为用户显示。
在一些实施方案中,提供了一种在三维环境中显示用户界面元素的计算机系统,其中在用户(例如,通过在物理环境四处移动)改变用户对三维环境的当前视图时更新用户界面元素的显示以跟随用户。用户界面元素最初不在用户的视图改变时移动,直到用户的视图已改变多于阈值量为止。在用户的视图已改变多于阈值量之后,用户界面元素跟随用户(例如,被延迟跟随和/或以比用户的移动慢的移动速率跟随用户)。
图1至图6提供了对用于向用户提供XR体验的示例计算机系统的描述。图7A至图7J中的用户界面分别用于示出图8至图9中的过程。
下文所述的过程通过各种技术增强了设备的可操作性并且使用户-设备界面更有效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),包括通过向用户提供改进的视觉、听觉和/或触觉反馈、减少执行操作所需的输入的数量、提供附加控制选项而不使用户界面因为附加的显示的控件变得杂乱、在一组条件已经被满足时执行操作而无需进一步的用户输入和/或附加的技术。这些技术还通过使用户能够更快且更有效地使用设备而减少了电力使用并延长了设备的电池寿命。
在一些实施方案中,如图1中所示,经由包括计算机系统101的操作环境100向用户提供XR体验。计算机系统101包括控制器110(例如,便携式电子设备的处理器或远程服务器)、显示生成部件120(例如,头戴式设备(HMD)、显示器、投影仪和/或触摸屏)、一个或多个输入设备125(例如,眼睛跟踪设备130、手部跟踪设备140、其他输入设备150)、一个或多个输出设备155(例如,扬声器160、触觉输出发生器170和其他输出设备180)、一个或多个传感器190(例如,图像传感器、光传感器、深度传感器、触觉传感器、取向传感器、接近传感器、温度传感器、位置传感器、运动传感器和/或速度传感器)以及任选地一个或多个外围设备195(例如,家用电器和/或可穿戴设备)。在一些实施方案中,输入设备125、输出设备155、传感器190和外围设备195中的一者或多者与显示生成部件120集成(例如,在头戴式设备或手持式设备中)。
在描述XR体验时,各种术语用于区别地指代用户可以感测并且/或者用户可以与其进行交互(例如,利用由生成XR体验的计算机系统101检测到的输入进行交互,这些输入使得生成XR体验的计算机系统生成与提供给计算机系统101的各种输入对应的音频、视觉和/或触觉反馈)的若干相关但不同的环境。以下是这些术语的子集:
物理环境:物理环境是指人们在没有电子系统帮助的情况下能够感测和/或交互的物理世界。物理环境诸如物理公园包括物理物品,诸如物理树木、物理建筑物和物理人。人们能够诸如通过视觉、触觉、听觉、味觉和嗅觉来直接感测物理环境和/或与物理环境交互。
扩展现实:相比之下,扩展现实(XR)环境是指人们经由电子系统感知和/或与之交互的完全或部分模拟的环境。在XR中,跟踪人的物理运动的子集或其表示,并且作为响应,以符合至少一个物理定律的方式调节在XR环境中模拟的一个或多个虚拟对象的一个或多个特征。例如,XR系统可以检测人的头部转动,并且作为响应,以与此类视图和声音在物理环境中变化的方式类似的方式调节呈现给人的图形内容和声场。在一些情况下(例如,出于可达性原因),对XR环境中虚拟对象的特征的调节可以响应于物理运动的表示(例如,声音命令)来进行。人可以利用其感觉中的任一者来感测XR对象和/或与XR对象交互,包括视觉、听觉、触觉、味觉和嗅觉。例如,人可以感测音频对象和/或与音频对象交互,该音频对象创建3D或空间音频环境,该3D或空间音频环境提供3D空间中点音频源的感知。又如,音频对象可以使能音频透明度,该音频透明度在有或者没有计算机生成的音频的情况下选择性地引入来自物理环境的环境声音。在某些XR环境中,人可以感测和/或只与音频对象交互。
XR的示例包括虚拟现实和混合现实。
虚拟现实:虚拟现实(VR)环境是指被设计成对于一个或多个感官完全基于计算机生成的感官输入的模拟环境。VR环境包括人可以感测和/或交互的多个虚拟对象。例如,树木、建筑物和代表人的化身的计算机生成的图像是虚拟对象的示例。人可以通过在计算机生成的环境内人的存在的模拟和/或通过在计算机生成的环境内人的物理移动的一个子组的模拟来感测和/或与VR环境中的虚拟对象交互。
混合现实:与被设计成完全基于计算机生成的感官输入的VR环境相比,混合现实(MR)环境是指被设计成除了包括计算机生成的感官输入(例如,虚拟对象)之外还引入来自物理环境的感官输入或其表示的模拟环境。在虚拟连续体上,混合现实环境是完全物理环境作为一端和虚拟现实环境作为另一端之间的任何状况,但不包括这两端。在一些MR环境中,计算机生成的感官输入可以对来自物理环境的感官输入的变化进行响应。另外,用于呈现MR环境的一些电子系统可以跟踪相对于物理环境的位置和/或取向,以使虚拟对象能够与真实对象(即,来自物理环境的物理物品或其表示)交互。例如,系统可以导致移动使得虚拟树木相对于物理地面看起来是静止的。
混合现实的示例包括增强现实和增强虚拟。
增强现实:增强现实(AR)环境是指其中一个或多个虚拟对象叠加在物理环境或物理环境的表示上方的模拟环境。例如,用于呈现AR环境的电子系统可具有透明或半透明显示器,人可以透过该显示器直接查看物理环境。该系统可以被配置为在透明或半透明显示器上呈现虚拟对象,使得人利用该系统感知叠加在物理环境之上的虚拟对象。另选地,系统可以具有不透明显示器和一个或多个成像传感器,该成像传感器捕获物理环境的图像或视频,这些图像或视频是物理环境的表示。系统将图像或视频与虚拟对象组合,并在不透明显示器上呈现组合物。人利用系统经由物理环境的图像或视频而间接地查看物理环境,并且感知叠加在物理环境之上的虚拟对象。如本文所用,在不透明显示器上显示的物理环境的视频被称为“透传视频”,意味着系统使用一个或多个图像传感器捕获物理环境的图像,并且在不透明显示器上呈现AR环境时使用那些图像。进一步另选地,系统可以具有投影系统,该投影系统将虚拟对象投射到物理环境中,例如作为全息图或者在物理表面上,使得人利用该系统感知叠加在物理环境之上的虚拟对象。增强现实环境也是指其中物理环境的表示被计算机生成的感官信息进行转换的模拟环境。例如,在提供透传视频中,系统可以对一个或多个传感器图像进行转换以施加与成像传感器所捕获的视角不同的选择视角(例如,视点)。又如,物理环境的表示可以通过图形地修改(例如,放大)其部分而进行转换,使得经修改部分可以是原始捕获图像的代表性的但不是真实的版本。再如,物理环境的表示可以通过以图形方式消除其部分或将其部分进行模糊处理而进行转换。
增强虚拟:增强虚拟(AV)环境是指其中虚拟环境或计算机生成环境结合了来自物理环境的一项或多项感官输入的模拟环境。感官输入可以是物理环境的一个或多个特性的表示。例如,AV公园可以具有虚拟树木和虚拟建筑物,但人的脸部是从对物理人拍摄的图像逼真再现的。又如,虚拟对象可以采用一个或多个成像传感器所成像的物理物品的形状或颜色。再如,虚拟对象可以采用符合太阳在物理环境中的定位的阴影。
硬件:有许多不同类型的电子系统使人能够感测各种XR环境和/或与各种CGR环境进行交互。示例包括头戴式系统、基于投影的系统、平视显示器(HUD)、集成有显示能力的车辆挡风玻璃、集成有显示能力的窗户、被形成为被设计用于放置在人眼睛上的透镜的显示器(例如,类似于隐形眼镜)、耳机/听筒、扬声器阵列、输入系统(例如,具有或没有触觉反馈的可穿戴或手持控制器)、智能电话、平板电脑、和台式/膝上型计算机。头戴式系统可以具有一个或多个扬声器和集成的不透明显示器。另选地,头戴式系统可以被配置成接受外部不透明显示器(例如,智能电话)。头戴式系统可以结合用于捕获物理环境的图像或视频的一个或多个成像传感器、和/或用于捕获物理环境的音频的一个或多个麦克风。头戴式系统可以具有透明或半透明显示器,而不是不透明显示器。透明或半透明显示器可以具有媒介,代表图像的光通过该媒介被引导到人的眼睛。显示器可以利用数字光投影、OLED、LED、uLED、硅基液晶、激光扫描光源或这些技术的任意组合。媒介可以是光学波导、全息图媒介、光学组合器、光学反射器、或它们的任意组合。在一个实施方案中,透明或半透明显示器可被配置为选择性地变得不透明。基于投影的系统可以采用将图形图像投影到人的视网膜上的视网膜投影技术。投影系统还可以被配置为将虚拟对象投影到物理环境中例如作为全息图,或者投影到物理表面上。在一些实施方案中,控制器110被配置为管理和协调用户的XR体验。在一些实施方案中,控制器110包括软件、固件和/或硬件的合适组合。下文相对于图2更详细地描述了控制器110。在一些实施方案中,控制器110是相对于场景105(例如,物理设置/环境)处于本地或远程位置的计算设备。例如,控制器110是位于场景105内的本地服务器。在另一示例中,控制器110是位于场景105之外的远程服务器(例如,云服务器、中央服务器和/或另一服务器)。在一些实施方案中,控制器110经由一个或多个有线或无线通信通道144(例如,蓝牙、IEEE 802.11x、IEEE 802.16x、IEEE 802.3x等)与显示生成部件120(例如,HMD、显示器、投影仪和/或触摸屏)通信地耦接。在另一示例中,控制器110包括在显示生成部件120(例如,HMD或包括显示器和一个或多个处理器的便携式电子设备)、输入设备125中的一个或多个输入设备、输出设备155中的一个或多个输出设备、传感器190中的一个或多个传感器和/或外围设备195中的一个或多个外围设备的壳体(例如,物理外壳)内,或者与上述项中的一者或多者共享同一物理壳体或支撑结构。
在一些实施方案中,显示生成部件120被配置为向用户提供XR体验(例如,至少XR体验的视觉组成部分)。在一些实施方案中,显示生成部件120包括软件、固件和/或硬件的合适组合。下文相对于图3更详细地描述了显示生成部件120。在一些实施方案中,控制器110的功能由显示生成部件120提供和/或与该显示生成部件组合。
根据一些实施方案,当用户虚拟地和/或物理地存在于场景105内时,显示生成部件120向用户提供XR体验。
在一些实施方案中,显示生成部件穿戴在用户的身体的一部分上(例如,他/她的头部上和/或他/她的手部上)。这样,显示生成部件120包括被提供用于显示XR内容的一个或多个XR显示器。例如,在各种实施方案中,显示生成部件120包围用户的视场。在一些实施方案中,显示生成部件120是被配置为呈现XR内容的手持式设备(诸如智能电话或平板电脑),并且用户握持具有朝向用户的视场的显示器和朝向场景105的相机的设备。在一些实施方案中,手持式设备被任选地放置在穿戴在用户的头部上的壳体内。在一些实施方案中,手持式设备被任选地放置在用户前面的支撑件(例如,三脚架)上。在一些实施方案中,显示生成部件120是被配置为呈现XR内容的XR室、壳体或房间,其中用户不穿戴或握持显示生成部件120。参考用于显示XR内容的一种类型的硬件(例如,手持式设备或三脚架上的设备)描述的许多用户界面可以在用于显示XR内容的另一种类型的硬件(例如,HMD或其他可穿戴计算设备)上实现。例如,示出基于发生在手持式设备或三脚架安装的设备前面的空间中的交互而触发的与XR内容的交互的用户界面可以类似地用HMD来实现,其中交互发生在HMD前面的空间中,并且对XR内容的响应经由HMD来显示。类似地,示出基于手持式设备或三脚架安装的设备相对于物理环境(例如,场景105或用户身体的一部分(例如,用户的眼睛、头部或手部))的移动而触发的与XR内容的交互的用户界面可以类似地用HMD来实现,其中移动是由HMD相对于物理环境(例如,场景105或用户身体的一部分(例如,用户的眼睛、头部或手部))的移动引起的。
尽管在图1中示出了操作环境100的相关特征,但本领域的普通技术人员将从本公开中认识到,为了简洁起见并且为了不模糊本文所公开的示例实施方案的更多相关方面,未示出各种其他特征。
图2是根据一些实施方案的控制器110的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不使本文所公开的实施方案的更多相关方面晦涩难懂,未示出各种其他特征。为此,作为非限制性示例,在一些实施方案中,控制器110包括一个或多个处理单元202(例如,微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、中央处理单元(CPU)、处理内核等)、一个或多个输入/输出(I/O)设备206、一个或多个通信接口208(例如,通用串行总线(USB)、IEEE802.3x、IEEE 802.11x、IEEE 802.16x、全球移动通信系统(GSM)、码分多址(CDMA)、时分多址(TDMA)、全球定位系统(GPS)、红外(IR)、蓝牙、ZIGBEE以及/或者类似类型的接口)、一个或多个编程(例如,I/O)接口210、存储器220以及用于互连这些部件和各种其他部件的一条或多条通信总线204。
在一些实施方案中,一条或多条通信总线204包括互连和控制系统部件之间的通信的电路。在一些实施方案中,一个或多个I/O设备206包括键盘、鼠标、触摸板、操纵杆、一个或多个麦克风、一个或多个扬声器、一个或多个图像传感器、一个或多个显示器等中的至少一种。
存储器220包括高速随机存取存储器,诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、双倍数据速率随机存取存储器(DDR RAM)或者其他随机存取固态存储器设备。在一些实施方案中,存储器220包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器220任选地包括远离一个或多个处理单元202定位的一个或多个存储设备。存储器220包括非暂态计算机可读存储介质。在一些实施方案中,存储器220或者存储器220的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作系统230和XR体验模块240。
操作系统230包括用于处理各种基础系统服务和用于执行硬件相关任务的指令。在一些实施方案中,XR体验模块240被配置为管理和协调一个或多个用户的单重或多重XR体验(例如,一个或多个用户的单重XR体验,或一个或多个用户的相应群组的多重XR体验)。为此,在各种实施方案中,XR体验模块240包括数据获取单元242、跟踪单元244、协调单元246和数据传输单元248。
在一些实施方案中,数据获取单元242被配置为从图1的至少显示生成部件120以及任选地从输入设备125、输出设备155、传感器190和/或外围设备195中的一者或多者获取数据(例如,呈现数据、交互数据、传感器数据和/或位置数据)。出于该目的,在各种实施方案中,数据获取单元242包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
在一些实施方案中,跟踪单元244被配置为映射场景105,并且跟踪至少显示生成部件120相对于图1的场景105的定位/位置,以及任选地跟踪输入设备125、输出设备155、传感器190和/或外围设备195中的一者或多者的位置。出于该目的,在各种实施方案中,跟踪单元244包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。在一些实施方案中,跟踪单元244包括手部跟踪单元245和/或眼睛跟踪单元243。在一些实施方案中,手部跟踪单元245被配置为跟踪用户的手部的一个或多个部分的定位/位置,和/或用户的手部的一个或多个部分相对于图1的场景105的、相对于显示生成部件120和/或相对于坐标系(该坐标系是相对于用户的手部定义的)的运动。下文相对于图4更详细地描述了手部跟踪单元245。在一些实施方案中,眼睛跟踪单元243被配置为跟踪用户注视(或更广泛地,用户的眼睛、面部或头部)相对于场景105(例如,相对于物理环境和/或相对于用户(例如,用户的手部))或相对于经由显示生成部件120显示的XR内容的定位或移动。下文相对于图5更详细地描述了眼睛跟踪单元243。
在一些实施方案中,协调单元246被配置为管理和协调由显示生成部件120,以及任选地由输出设备155和/或外围装设备195中的一者或多者呈现给用户的XR体验。出于该目的,在各种实施方案中,协调单元246包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
在一些实施方案中,数据传输单元248被配置为将数据(例如,呈现数据和/或位置数据)传输到至少显示生成部件120,并且任选地传输到输入设备125、输出设备155、传感器190和/或外围设备195中的一者或多者。出于该目的,在各种实施方案中,数据传输单元248包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
尽管数据获取单元242、跟踪单元244(例如,包括眼睛跟踪单元243和手部跟踪单元245)、协调单元246和数据传输单元248被示为驻留在单个设备(例如,控制器110)上,但应当理解,在其他实施方案中,数据获取单元242、跟踪单元244(例如,包括眼睛跟踪单元243和手部跟踪单元245)、协调单元246和数据传输单元248的任何组合可位于单独计算设备中。
此外,图2更多地用作可以存在于特定具体实施中的各种特征的功能描述,与本文所述的实施方案的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图2中单独示出的一些功能模块可在单个模块中实现,并且单个功能块的各种功能可在各种实施方案中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些实施方案中,部分地取决于为特定具体实施选择的硬件、软件和/或固件的特定组合。
图3是根据一些实施方案的显示生成部件120的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不使本文所公开的实施方案的更多相关方面晦涩难懂,未示出各种其他特征。出于所述目的,作为非限制性示例,在一些实施方案中,HMD 120包括一个或多个处理单元302(例如,微处理器、ASIC、FPGA、GPU、CPU、处理核心等)、一个或多个输入/输出(I/O)设备及传感器306、一个或多个通信接口308(例如,USB、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、GSM、CDMA、TDMA、GPS、IR、BLUETOOTH、ZIGBEE以及/或者类似类型的接口)、一个或多个编程(例如,I/O)接口310、一个或多个XR显示器312、一个或多个任选的面向内部并且/或者面向外部的图像传感器314、存储器320以及用于互连这些部件和各种其他部件的一条或多条通信总线304。
在一些实施方案中,一条或多条通信总线304包括用于互连和控制各系统部件之间的通信的电路。在一些实施方案中,一个或多个I/O设备和传感器306包括惯性测量单元(IMU)、加速度计、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测仪、心率监测仪、血液氧传感器和/或血糖传感器)、一个或多个麦克风、一个或多个扬声器、触觉引擎、一个或多个深度传感器(例如,结构光、飞行时间等)等中的至少一者。
在一些实施方案中,一个或多个XR显示器312被配置为向用户提供XR体验。在一些实施方案中,一个或多个XR显示器312对应于全息、数字光处理(DLP)、液晶显示器(LCD)、硅上液晶(LCoS)、有机发光场效应晶体管(OLET)、有机发光二极管(OLED)、表面传导电子发射显示器(SED)、场发射显示器(FED)、量子点发光二极管(QD-LED)、微机电系统(MEMS)以及/或者类似的显示器类型。在一些实施方案中,一个或多个XR显示器312对应于衍射、反射、偏振、全息等波导显示器。例如,HMD 120包括单个XR显示器。在另一示例中,HMD 120包括针对用户的每只眼睛的XR显示器。在一些实施方案中,一个或多个XR显示器312能够呈现MR和VR内容。在一些实施方案中,一个或多个XR显示器312能够呈现MR或VR内容。
在一些实施方案中,一个或多个图像传感器314被配置为获取与用户面部的包括用户的眼睛的至少一部分对应的图像数据(并且可被称为眼睛跟踪相机)。在一些实施方案中,一个或多个图像传感器314被配置为获取与用户的手部以及任选地用户的手臂的至少一部分对应的图像数据(并且可被称为手部跟踪相机)。在一些实施方案中,一个或多个图像传感器314被配置为面向前方,以便获取与在不存在HMD 120的情况下用户将会看到的场景对应的图像数据(并且可被称为场景相机)。一个或多个任选的图像传感器314可包括一个或多个RGB相机(例如,具有互补金属氧化物半导体(CMOS)图像传感器或电荷耦合器件(CCD)图像传感器)、一个或多个红外(IR)相机和/或一个或多个基于事件的相机等。
存储器320包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备。在一些实施方案中,存储器320包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器320任选地包括远离一个或多个处理单元302定位的一个或多个存储设备。存储器320包括非暂态计算机可读存储介质。在一些实施方案中,存储器320或者存储器320的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作系统330和XR呈现模块340。
操作系统330包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。在一些实施方案中,XR呈现模块340被配置为经由一个或多个XR显示器312向用户呈现XR内容。出于所述目的,在各种实施方案中,XR呈现模块340包括数据获取单元342、XR呈现单元344、XR映射生成单元346和数据传输单元348。
在一些实施方案中,数据获取单元342被配置为从图1的至少控制器110获取数据(例如,呈现数据、交互数据、传感器数据和/或位置数据)。出于所述目的,在各种实施方案中,数据获取单元342包括指令以及/或者用于指令的逻辑以及启发法和用于启发法的元数据。
在一些实施方案中,XR呈现单元344被配置为经由一个或多个XR显示器312呈现XR内容。出于所述目的,在各种实施方案中,XR呈现单元344包括指令以及/或者用于指令的逻辑以及启发法和用于启发法的元数据。
在一些实施方案中,XR映射生成单元346被配置为基于媒体内容数据来生成XR映射图(例如,混合现实场景的3D映射图或可以在其中放置计算机生成对象来生成扩展现实的物理环境的映射图)。出于所述目的,在各种实施方案中,XR映射生成单元346包括指令以及/或者用于该指令的逻辑以及启发法和用于该启发法的元数据。
在一些实施方案中,数据传输单元348被配置为将数据(例如,呈现数据和/或位置数据)传输到至少控制器110,以及任选地输入设备125、输出设备155、传感器190和/或外围设备195中的一者或多者。出于所述目的,在各种实施方案中,数据传输单元348包括指令以及/或者用于指令的逻辑以及启发法和用于启发法的元数据。
尽管数据获取单元342、XR呈现单元344、XR映射生成单元346和数据传输单元348被示出为驻留在单个设备(例如,图1的显示生成部件120)上,但应当理解,在其他实施方案中,数据获取单元342、XR呈现单元344、XR映射生成单元346和数据传输单元348的任何组合可位于单独计算设备中。
此外,图3更多地用作可能存在于特定实施方案中的各种特征的功能描述,与本文所述的实施方案的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图3中单独示出的一些功能模块可在单个模块中实现,并且单个功能块的各种功能可在各种实施方案中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些实施方案中,部分地取决于为特定具体实施选择的硬件、软件和/或固件的特定组合。
图4是手部跟踪设备140的示例实施方案的示意性图解。在一些实施方案中,手部跟踪设备140(图1)由手部跟踪单元245控制(图2)来跟踪用户的手部的一个或多个部分的定位/位置,和/或用户的手部的一个或多个部分相对于图1的场景105(例如,相对于用户周围的物理环境的一部分、相对于显示生成部件120,或者相对于用户的一部分(例如,用户的面部、眼睛或头部),和/或相对于坐标系(该坐标系是相对于用户的手部定义的))的运动。在一些实施方案中,手部跟踪设备140是显示生成部件120的一部分(例如,嵌入头戴式设备中或附接到头戴式设备)。在一些实施方案中,手部跟踪设备140与显示生成部件120分开(例如,位于单独的外壳中或者附接到单独的物理支撑结构)。
在一些实施方案中,手部跟踪设备140包括捕获包括至少人类用户的手部406的三维场景信息的图像传感器404(例如,一个或多个IR相机、3D相机、深度相机和/或彩色相机)。图像传感器404以足够的分辨率捕获手部图像,以使手指及其相应位置能够被区分。图像传感器404通常捕获用户身体的其他部分、还或可能捕获身体的所有部分的图像,并且可以具有缩放能力或具有增大放大率的专用传感器以用期望分辨率捕获手部的图像。在一些实施方案中,图像传感器404还捕获手部406的2D彩色视频图像和场景的其他元素。在一些实施方案中,图像传感器404与其他图像传感器结合使用以捕获场景105的物理环境,或者用作捕获场景105的物理环境的图像传感器。在一些实施方案中,以将图像传感器404或其一部分的视场用于限定交互空间的方式相对于用户或用户的环境定位图像传感器,在该交互空间中,由图像传感器捕获的手部移动被视为到控制器110的输入。
在一些实施方案中,图像传感器404将包含3D映射数据(以及此外,可能的彩色图像数据)的帧序列输出到控制器110,该控制器从映射数据提取高级信息。该高级信息通常经由应用程序接口(API)提供给在控制器上运行的应用程序,该应用程序相应地驱动显示生成部件120。例如,用户可以通过移动他的手部408并改变他的手部姿势来与在控制器110上运行的软件交互。
在一些实施方案中,图像传感器404将斑点图案投影到包含手部406的场景上并且捕获所投影图案的图像。在一些实施方案中,控制器110基于图案中斑点的横向偏移来通过三角测量计算场景中的点(包括用户的手部的表面上的点)的3D坐标。这种方法是有利的,因为该方法不需要用户握持或穿戴任何种类的信标、传感器或其他标记。该方法给出了场景中的点在距图像传感器404的特定距离处相对于预先确定的参考平面的深度坐标。在本公开中,假设图像传感器404限定x轴、y轴、z轴的正交集合,使得场景中的点的深度坐标对应于由图像传感器测量的z分量。另选地,手部跟踪设备440可基于单个或多个相机或其他类型的传感器而使用其他3D映射方法,诸如立体成像或飞行时间测量。
在一些实施方案中,手部跟踪设备140在用户移动他的手部(例如,整个手部或一根或多根手指)时捕获并处理包含用户的手部的深度映射图的时间序列。在图像传感器404和/或控制器110中的处理器上运行的软件处理3D映射数据以提取这些深度映射图中手部的图像块描述符。软件可基于先前的学习过程将这些描述符与存储在数据库408中的图像块描述符匹配,以便估计每个帧中手部的位姿。位姿通常包括用户的手部关节和手指尖端的3D位置。
软件还可以分析手部和/或手指在序列中的多个帧上的轨迹以识别手势。本文所述的位姿估计功能可以与运动跟踪功能交替,使得每两个(或更多个)帧仅执行一次基于图像块的位姿估计,而跟踪用于找到在剩余帧上发生的位姿的变化。经由上述API向在控制器110上运行的应用程序提供位姿、运动和手势信息。该程序可以例如响应于位姿和/或手势信息而移动和修改呈现在显示生成部件120上的图像,或者执行其他功能。
在一些实施方案中,手势包括空中手势。空中手势是在用户不触摸作为设备(例如,计算机系统101、一个或多个输入设备125和/或手部跟踪设备140)的一部分的输入元件(或独立于作为设备的一部分的输入元件)的情况下检测到的并且基于检测到的用户身体的一部分(例如,头部、一个或多个手臂、一只或多只手部、一根或多根手指和/或一条或多条腿)穿过空中的运动(包括用户的身体相对于绝对参考的运动(例如,用户的手臂相对于地面的角度或用户的手部相对于地面的距离)、相对于用户身体的另一部分的运动(例如,用户的手部相对于用户的肩部的移动、用户的一只手相对于用户的另一只手的移动、和/或用户的手指相对于用户的另一手指或手部的一部分的移动)、和/或用户身体的一部分的绝对运动(例如,包括手以预定姿势将移动预定量和/或速度的轻击手势、或包括用户身体的一部分的预定速度或旋转量的摇动手势))的手势。
在一些实施方案中,根据一些实施方案,在本文所述的各种示例和实施方案中使用的输入手势包括通过用户的手指相对于用户的手部的其他手指或部分的移动执行的用于与XR环境(例如,虚拟或混合现实环境)交互的空中手势。在一些实施方案中,空中手势是在用户不触摸作为设备的一部分的输入元件(或独立于作为设备的一部分的输入元件)的情况下检测到的并且基于所检测到的用户身体的一部分穿过空中的运动(包括用户的身体相对于绝对参考的运动(例如,用户的手臂相对于地面的角度或用户的手部相对于地面的距离)、相对于用户身体的另一部分的运动(例如,用户的手部相对于用户的肩部的移动、用户的一只手相对于用户的另一只手的移动、和/或用户的手指相对于用户的另一手指或手部的一部分的移动)、和/或用户身体的一部分的绝对运动(例如,包括手以预定姿势将移动预定量和/或速度的轻击手势、或包括用户身体的一部分的预定速度或旋转量的摇动手势))的手势。
在输入手势是空中手势的一些实施方案中(例如,在不存在与输入设备的物理接触的情况下,该输入设备向计算机系统提供关于哪个用户界面元素是用户输入的目标的信息,诸如与显示在触摸屏上的用户界面元素的接触、或与鼠标或触控板的接触以将光标移动到用户界面元素),手势考虑用户的注意力(例如,注视)以确定用户输入的目标(例如,对于直接输入,如下所述)。因此,在涉及空中手势的实施方案中,例如,输入手势与用户的手指和/或手部的移动组合(例如,同时)检测到朝向用户界面元素的注意力(例如,注视)以执行捏合和/或轻击输入,如下所述。
在一些实施方案中,直接或间接地参考用户界面对象来执行指向用户界面对象的输入手势。例如,根据用用户的手部在与三维环境中的用户界面对象的位置相对应的位置(例如,如基于用户的当前视点所确定的)处执行输入,直接在用户界面对象上执行用户输入。在一些实施方案中,在检测到用户对用户界面对象的注意力(例如,注视)时,根据在用户执行输入手势的同时用户的手部的位置不在对应于用户界面对象在三维环境中的位置的该位置处,在用户界面对象上间接执行输入手势。例如,对于直接输入手势,用户能够通过在与用户界面对象的显示位置相对应的位置处或附近(例如,从选项的外边缘或选项的中心部分测量的0.5cm、1cm、5cm内或0cm至5cm之间的距离内)发起手势来将用户的输入引导至用户界面对象。对于间接输入手势,用户能够通过关注用户界面对象(例如,通过注视用户界面对象)来将用户的输入引导至用户界面对象,并且在关注选项的同时,用户发起输入手势(例如,在计算机系统可检测到的任何位置处)(例如,在不对应于用户界面对象的显示位置的位置处)。
在一些实施方案中,根据一些实施方案,在本文所述的各种示例和实施方案中使用的输入手势(例如,空中手势)包括捏合输入和轻击输入,以用于与虚拟或混合现实环境交互。例如,下文所述的捏合输入和轻击输入被执行为空中手势。
在一些实施方案中,捏合输入是空中手势的一部分,该空中手势包括以下各项中的一项或多项:捏合手势、长捏合手势、捏合并拖动手势或双捏合手势。例如,作为空中手势的捏合手势包括手部的两个或更多个手指的移动以彼此接触,即,任选地,随后是彼此立即(例如,在0至1秒内)中断接触。作为空中手势的长捏合手势包括在检测到彼此接触的中断之前手部的两个或更多个手指彼此接触至少阈值时间量(例如,至少1秒)的移动。例如,长捏合手势包括用户保持捏合手势(例如,其中两个或更多个手指进行接触),并且长捏合手势继续直到检测到两个或更多个手指之间的接触中断为止。在一些实施方案中,作为空中手势的双捏合手势包括彼此立即(例如,在预定义时间段内)连续检测到的两个(例如,或更多个)捏合输入(例如,由同一手部执行)。例如,用户执行第一捏合输入(例如,捏合输入或长捏合输入),释放第一捏合输入(例如,中断两个或更多个手指之间的接触),并且在释放第一捏合输入之后的预定义时间段内(例如,在1秒内或在2秒内)执行第二捏合输入。
在一些实施方案中,作为空中手势的捏合并拖动手势包括与将用户的手部的位置从第一位置(例如,拖动的开始位置)改变到第二位置(例如,拖动的结束位置)的拖动输入结合(例如,跟随)执行的捏合手势(例如,捏合手势或长捏合手势)。在一些实施方案中,用户在执行拖动输入的同时保持捏合手势,并且释放捏合手势(例如,打开他们的两个或更多个手指)以结束拖动手势(例如,在第二位置处)。在一些实施方案中,捏合输入和拖动输入由同一手部执行(例如,用户捏合两个或更多个手指以彼此接触并且利用拖动手势将同一手部移动到空中的第二位置)。在一些实施方案中,由用户的第一手部执行捏合输入,并且由用户的第二手部执行拖动输入(例如,在用户用用户的第一手部继续捏合输入的同时,用户的第二手部在空中从第一位置移动到第二位置。在一些实施方案中,作为空中手势的输入手势包括使用用户的两只手部执行的输入(例如,捏合和/或轻击输入)。例如,输入手势包括彼此结合(例如,同时或在预定义时间段内)执行的两个(例如,或更多个)捏合输入。例如,使用用户的第一手部执行第一捏合手势(例如,捏合输入、长捏合输入或捏合并拖动输入),并且结合使用第一手部执行捏合输入,使用另一手部(例如,用户两只手部中的第二手部)执行第二捏合输入。在一些实施方案中,用户两只手部之间的移动(例如,增加和/或减小用户两只手部之间的距离或相对取向)。
在一些实施方案中,作为空中手势执行的轻击输入(例如,指向用户界面元素)包括用户的手指朝向用户界面元素的移动、用户的手部朝向用户界面元素的移动(任选地,用户的手指朝向用户界面元素延伸)、用户的手指的向下运动(例如,模仿鼠标点击运动或触摸屏上的轻击)、或用户的手部的其他预定义移动。在一些实施方案中,基于执行手指或手部的轻击手势移动的手指或手部的移动特性来检测作为空中手势执行的轻击输入,该轻击手势移动是手指或手部远离用户的视点和/或朝向作为轻击输入的目标的对象,随后是移动的结束。在一些实施方案中,基于执行轻击手势的手指或手部的移动特性的变化来检测移动的结束(例如,远离用户的视点和/或朝向作为轻击输入的目标的对象的移动的结束、手指或手部的移动方向的反转和/或手指或手部的移动的加速方向的反转)。
在一些实施方案中,基于对指向三维环境的一部分的注视的检测来确定用户的注意力指向三维环境的该部分(任选地,不需要其他条件)。在一些实施方案中,基于利用一个或多个附加条件检测到指向三维环境的一部分的注视来确定用户的注意力指向三维环境的该部分,附加条件诸如要求注视指向三维环境的该部分达至少阈值持续时间(例如,停留持续时间)和/或要求注视在用户的视点在距三维环境的该部分的距离阈值内时指向三维环境的该部分,以便设备确定用户的注意力指向三维环境的该部分,其中如果这些附加条件中的一者未满足,则设备确定注意力未指向注视指向的三维环境的该部分(例如,直到满足该一个或多个附加条件)。
在一些实施方案中,用户或用户的一部分的就绪状态配置的检测由计算机系统检测。手部的就绪状态配置的检测由计算机系统用作用户可能正准备使用由手部执行的一个或多个空中手势输入(例如,捏合、轻击、捏合并拖动、双捏合、长捏合或本文所述的其他空中手势)与计算机系统交互的指示。例如,基于手部是否具有预先确定的手部形状(例如,拇指和一个或多个手指延伸并间隔开以准备做出捏合或抓取姿势的预捏合形状,或者一个或多个手指延伸并且手掌背对用户的预轻击)、基于手部是否处于相对于用户的视点的预先确定的位置中(例如,在用户的头部下方并且在用户的腰部上方并从身体延伸出至少15cm、20cm、25cm、30cm或50cm)和/或基于手部是否已以特定方式移动(例如,朝向用户的腰部上方并且在用户的头部下方的用户前方的区域移动或远离用户的身体或腿部移动)来确定手部的就绪状态。在一些实施方案中,就绪状态被用来确定用户界面的交互式元素是否对注意力(例如,注视)输入作出响应。
在一些实施方案中,软件可以例如通过网络以电子形式下载到控制器110,或者可以另选地在有形非暂态介质诸如光学、磁性或电子存储器介质上提供。在一些实施方案中,数据库408同样存储在与控制器110相关联的存储器中。另选地或除此之外,计算机的所描述的功能中的一些或全部可以在专用硬件(诸如,定制或半定制集成电路或可编程数字信号处理器(DSP))中实现。尽管在图4中示出了控制器110,但是举例来说,作为与图像传感器440分开的单元,控制器的处理功能中一些或全部可以由合适的微处理器和软件或由手部跟踪设备402的外壳内的专用电路或与图像传感器404相关联的其他设备执行。在一些实施方案中,这些处理功能中的至少一些可由与显示生成部件120(例如,在电视接收机、手持式设备或头戴式设备中)集成或与任何其他合适的计算机化设备(诸如,游戏控制台或媒体播放器)集成的合适处理器执行。图像传感器404的感测功能同样可以集成到将由传感器输出控制的计算机或其他计算机化装置中。
图4还包括根据一些实施方案的由图像传感器404捕获的深度映射图410的示意图。如上所述,深度图包括具有相应深度值的像素的矩阵。与手部406对应的像素412已经从该映射图中的背景和手腕分割出来。深度映射图410内的每个像素的亮度与其深度值(即,测量的距图像传感器404的z距离)成反比,其中灰色阴影随着深度的增加而变得更暗。控制器110处理这些深度值以便识别和分割图像的具有人类手部特征的组成部分(即,一组相邻像素)。这些特征可包括例如总体大小、形状和从深度映射图序列中的帧到帧的运动。
图4还示意性地示出了根据一些实施方案的控制器110最终从手部406的深度映射图410提取的手部骨骼414。在图4中,骨骼414叠加在已经从原始深度映射图分割出来的手部背景416上。在一些实施方案中,识别手部的以及任选地在连接到手部的手腕或手臂上的关键特征点(例如,对应于指关节、手指尖端、手掌中心和/或手部的连接到手腕的端部的点)并且将这些关键特征点定位在手部骨骼414上。在一些实施方案中,控制器110使用这些关键特征点在多个图像帧上的位置和移动来根据一些实施方案确定由手部执行的手势或手部的当前状态。
图5示出了眼睛跟踪设备130(图1)的示例实施方案。在一些实施方案中,眼睛跟踪设备130由眼睛跟踪单元243(图2)控制来跟踪用户注视相对于场景105或相对于经由显示生成部件120显示的XR内容的定位和移动。在一些实施方案中,眼睛跟踪设备130与显示生成部件120集成。例如,在一些实施方案中,当显示生成部件120是头戴式设备(诸如,头戴式耳机、头盔、护目镜或眼镜)或放置在可穿戴框架中的手持式设备时,该头戴式设备包括生成XR内容以供用户观看的部件以及用于跟踪用户相对于XR内容的注视的部件两者。在一些实施方案中,眼睛跟踪设备130与显示生成部件120分开。例如,当显示生成部件是手持式设备或XR室时,眼睛跟踪设备130任选地是与手持式设备或XR室分开的设备。在一些实施方案中,眼睛跟踪设备130是头戴式设备或头戴式设备的一部分。在一些实施方案中,头戴式眼睛跟踪设备130任选地与也是头戴式的显示生成部件或不是头戴式的显示生成部件结合使用。在一些实施方案中,眼睛跟踪设备130不是头戴式设备,并且任选地与头戴式显示生成部件结合使用。在一些实施方案中,眼睛跟踪设备130不是头戴式设备,并且任选地是非头戴式显示生成部件的一部分。
在一些实施方案中,显示生成部件120使用显示机构(例如,左近眼显示面板和右近眼显示面板)来在用户眼睛前面显示包括左图像和右图像的帧,从而向用户提供3D虚拟视图。例如,头戴式显示生成部件可包括位于显示器和用户眼睛之间的左光学透镜和右光学透镜(在本文中被称为眼睛透镜)。在一些实施方案中,显示生成部件可包括或耦接到一个或多个外部摄像机,该一个或多个外部摄像机捕获用户的环境的视频以用于显示。在一些实施方案中,头戴式显示生成部件可具有透明或半透明显示器,并且在该透明或半透明显示器上显示虚拟对象,用户可以透过该透明或半透明显示器直接观看物理环境。在一些实施方案中,显示生成部件将虚拟对象投影到物理环境中。虚拟对象可例如被投影在物理表面上或作为全息图被投影,使得个体使用系统观察叠加在物理环境上方的虚拟对象。在这种情况下,可能不需要用于左眼和右眼的单独的显示面板和图像帧。
如图5中所示,在一些实施方案中,注视跟踪设备130包括至少一个眼睛跟踪相机(例如,红外(IR)或近红外(NIR)相机),以及朝向用户眼睛发射光(例如,IR或NIR光)的照明源(例如,IR或NIR光源,诸如LED的阵列或环)。眼睛跟踪相机可指向用户眼睛以接收光源直接从眼睛反射的IR或NIR光,或者另选地可指向位于用户眼睛和显示面板之间的“热”镜,这些热镜将来自眼睛的IR或NIR光反射到眼睛跟踪相机,同时允许可见光通过。注视跟踪设备130任选地捕获用户眼睛的图像(例如,作为以每秒60帧-120帧(fps)捕获的视频流),分析这些图像以生成注视跟踪信息,并将注视跟踪信息传送到控制器110。在一些实施方案中,用户的两只眼睛通过相应的眼睛跟踪相机和照明源来单独地跟踪。在一些实施方案中,通过相应的眼睛跟踪相机和照明源来跟踪用户的仅一只眼睛。
在一些实施方案中,使用设备特定的校准过程来校准眼睛跟踪设备130以确定用于特定操作环境100的眼睛跟踪设备的参数,例如LED、相机、热镜(如果存在的话)、眼睛透镜和显示屏的3D几何关系和参数。在将AR/VR装备递送给终端用户之前,可以在工厂或另一个设施处执行设备特定的校准过程。设备特定的校准过程可以是自动校准过程或手动校准过程。根据一些实施方案,用户特定的校准过程可以包括对特定用户的眼睛参数的估计,例如瞳孔位置、中央凹位置、光轴、视轴、眼睛间距等。根据一些实施方案,一旦针对眼睛跟踪设备130确定了设备特定参数和用户特定参数,就可以使用闪光辅助方法来处理由眼睛跟踪相机捕获的图像,以确定当前视轴和用户相对于显示器的注视点。
如图5中所示,眼睛跟踪设备130(例如,130A或130B)包括眼睛透镜520和注视跟踪系统,该注视跟踪系统包括定位在用户面部的被执行眼睛跟踪的一侧上的至少一个眼睛跟踪相机540(例如,红外(IR)或近红外(NIR)相机),以及朝向用户眼睛592发射光(例如,IR或NIR光)的照明源530(例如,IR或NIR光源,诸如NIR发光二极管(LED)的阵列或环)。眼睛跟踪相机540可指向位于用户的眼睛592和显示器510(例如,头戴式显示器的左显示器面板或右显示器面板、或者手持式设备的显示器,和/或投影仪)之间反射来自眼睛592的IR或NIR光同时允许可见光通过的反射镜550(例如,如图5的顶部部分所示),或者另选地可指向用户眼睛592以接收来自眼睛592的反射IR或NIR光(例如,如图5的底部部分所示)。
在一些实施方案中,控制器110渲染AR或VR帧562(例如,用于左显示面板和右显示面板的左帧和右帧)并且将帧562提供给显示器510。控制器110将来自眼睛跟踪相机540的注视跟踪输入542用于各种目的,例如用于处理帧562以用于显示。控制器110任选地基于使用闪光辅助方法或其他合适的方法从眼睛跟踪相机540获取的注视跟踪输入542来估计用户在显示器510上的注视点。根据注视跟踪输入542估计的注视点任选地用于确定用户当前正在看向的方向。
以下描述了用户当前注视方向的几种可能的使用案例,并且不旨在进行限制。作为示例使用案例,控制器110可以基于所确定的用户注视的方向不同地渲染虚拟内容。例如,控制器110可以在根据用户当前注视方向确定的中央凹区域中以比在外围区域中的分辨率更高的分辨率生成虚拟内容。作为另一个示例,控制器可至少部分地基于用户当前注视方向来在视图中定位或移动虚拟内容。作为另一个示例,控制器可至少部分地基于用户当前注视方向来在视图中显示特定虚拟内容。作为AR应用程序中的另一个示例使用案例,控制器110可引导用于捕获XR体验的物理环境的外部相机在所确定方向上聚焦。然后,外部相机的自动聚焦机构可以聚焦于显示器510上用户当前正看向的环境中的对象或表面上。作为另一个示例使用案例,眼睛透镜520可以是可聚焦透镜,并且控制器使用注视跟踪信息来调整眼睛透镜520的焦点,使得用户当前正看向的虚拟对象具有适当的聚散度以匹配用户眼睛592的会聚。控制器110可以利用注视跟踪信息来引导眼睛透镜520调整焦点,使得用户正看向的靠近的对象出现在正确距离处。
在一些实施方案中,眼睛跟踪设备是头戴式设备的一部分,该部分包括安装在可穿戴外壳中的显示器(例如,显示器510)、两个眼睛透镜(例如,眼睛透镜520)、眼睛跟踪相机(例如,眼睛跟踪相机540),以及光源(例如,光源530(例如,IR或NIR LED))。光源朝向用户眼睛592发射光(例如,IR或NIR光)。在一些实施方案中,光源可围绕透镜中的每个透镜布置成环或圆圈,如图5中所示。在一些实施方案中,例如,八个光源530(例如,LED)围绕每个透镜520布置。然而,可使用更多或更少的光源530,并且可使用光源530的其他布置和位置。
在一些实施方案中,显示器510发射可见光范围内的光,并且不发射IR或NIR范围内的光,并且因此不会在注视跟踪系统中引入噪声。需注意,眼睛跟踪相机540的位置和角度以举例的方式给出,并且不旨在进行限制。在一些实施方案中,单个眼睛跟踪相机540位于用户面部的每一侧上。在一些实施方案中,可在用户面部的每一侧上使用两个或更多个NIR相机540。在一些实施方案中,可在用户面部的每一侧上使用具有较宽视场(FOV)的相机540和具有较窄FOV的相机540。在一些实施方案中,可在用户面部的每一侧上使用以一个波长(例如,850nm)操作的相机540和以不同波长(例如,940nm)操作的相机540。
如图5中所示的注视跟踪系统的实施方案可以例如用于扩展现实(例如,包括虚拟现实和/或混合现实)应用程序,以向用户提供扩展现实(例如,包括虚拟现实、增强现实和/或增强虚拟)体验。
图6示出了根据一些实施方案的闪光辅助的注视跟踪流水线。在一些实施方案中,注视跟踪流水线通过闪光辅助的注视跟踪系统(例如,如图1和图5中所示的眼睛跟踪设备130)来实现。闪光辅助的注视跟踪系统可维持跟踪状态。最初,跟踪状态为关闭或“否”。当处于跟踪状态时,当分析当前帧以跟踪当前帧中的瞳孔轮廓和闪光时,闪光辅助的注视跟踪系统使用来自先前帧的先前信息。当未处于跟踪状态时,闪光辅助的注视跟踪系统尝试检测当前帧中的瞳孔和闪光,并且如果成功,则将跟踪状态初始化为“是”并且在跟踪状态下继续下一个帧。
如图6中所示,注视跟踪相机可捕获用户左眼和右眼的左图像和右图像。然后将所捕获的图像输入到注视跟踪流水线以用于在610处开始处理。如返回到元素600的箭头所指示的,注视跟踪系统可例如以每秒60至120帧的速率继续捕获用户眼睛的图像。在一些实施方案中,可以将每组所捕获的图像输入到流水线以用于处理。然而,在一些实施方案中或在一些条件下,不是所有所捕获的帧都由流水线处理。
在610处,对于当前所捕获的图像,如果跟踪状态为是,则方法前进到元素640。在610处,如果跟踪状态为否,则如620处所指示的,分析图像以检测图像中的用户瞳孔和闪光。在630处,如果成功检测到瞳孔和闪光,则方法前进到元素640。否则,方法返回到元素610以处理用户眼睛的下一个图像。
在640处,如果从元素410前进,则分析当前帧以部分地基于来自先前帧的先前信息来跟踪瞳孔和闪光。在640处,如果从元素630前进,则基于当前帧中检测到的瞳孔和闪光来初始化跟踪状态。检查元素640处的处理结果以验证跟踪或检测的结果可以是可信的。例如,可检查结果以确定是否在当前帧中成功跟踪或检测到用于执行注视估计的瞳孔和足够数量的闪光。在650处,如果结果不可能是可信的,则跟踪状态被设置为否,并且方法返回到元素610以处理用户眼睛的下一个图像。在650处,如果结果是可信的,则方法前进到元素670。在670处,跟踪状态被设置为YES(如果尚未为是),并且瞳孔和闪光信息被传递到元素680以估计用户的注视点。
图6旨在用作可用于特定具体实施的眼睛跟踪技术的一个示例。如本领域普通技术人员所认识到的,根据各种实施方案,在用于向用户提供XR体验的计算机系统101中,当前存在或未来开发的其他眼睛跟踪技术可用于取代本文所述的闪光辅助的眼睛跟踪技术或与该闪光辅助的眼睛跟踪技术组合使用。
在本公开中,相对于与计算机系统的交互来描述各种输入方法。当使用一个输入设备或输入方法来提供示例,并且使用另一个输入设备或输入方法来提供另一个示例时,应当理解,每个示例可与相对于另一个示例描述的输入设备或输入方法兼容并且任选地利用该输入设备或输入方法。类似地,相对于与计算机系统的交互来描述各种输出方法。当使用一个输出设备或输出方法来提供示例,并且使用另一个输出设备或输出方法来提供另一个示例时,应当理解,每个示例可与相对于另一个示例描述的输出设备或输出方法兼容并且任选地利用该输出设备或输出方法。类似地,相对于通过计算机系统与虚拟环境或混合现实环境进行的交互来描述各种方法。当使用与虚拟环境的交互来提供示例时,并且使用混合现实环境来提供另一个示例时,应当理解,每个示例可与相对于另一个示例描述的方法兼容并且任选地利用这些方法。因此,本公开公开了作为多个示例的特征的组合的实施方案,而无需在每个示例实施方案的描述中详尽地列出实施方案的所有特征。
用户界面和相关联的过程
现在将注意力转向可在具有显示生成部件、一个或多个输入设备以及(任选)一个或多个相机的计算机系统(诸如,便携式多功能设备或头戴式设备)上实现的用户界面(“UI”)和相关联过程的实施方案。
图7A至图7J示出经由显示生成部件(例如,显示生成部件7100或显示生成部件120)显示的三维环境以及在三维环境中发生的由指向三维环境的用户输入和/或从其他计算机系统和/或传感器接收的输入引起的交互。在一些实施方案中,输入通过在由虚拟对象占据的区域中检测到的用户的注视和/或通过在物理环境中的对应于该虚拟对象的区域的位置处执行的手部手势指向三维环境内的该虚拟对象。在一些实施方案中,输入通过在虚拟对象具有输入焦点时(例如,在虚拟对象已由并发和/或先前检测到的注视输入选择、由并发或先前检测到的指针输入选择、由并发和/或先前检测到的手势输入选择时)执行(例如,任选地在物理环境中的与三维环境中的虚拟对象的区域无关的位置处)的手部手势指向三维环境内的该虚拟对象。在一些实施方案中,输入通过已将焦点选择器对象(例如,指针对象或选择器对象)定位在虚拟对象的位置处的输入设备指向三维环境内的该虚拟对象。在一些实施方案中,输入经由其他构件(例如,语音和/或控制按钮)指向三维环境内的虚拟对象。在一些实施方案中,输入通过用户的手部移动(例如,整个手部移动、相应姿势中的整个手部移动、手部的一部分相对于手部的另一部分的移动和/或双手之间的相对移动)和/或相对于物理对象的操纵(例如,触摸、轻扫、轻击、打开、朝向移动和/或相对于移动)指向物理对象的表示或对应于物理对象的虚拟对象。在一些实施方案中,计算机系统根据来自传感器(例如,图像传感器、温度传感器、生物计量传感器、运动传感器和/或接近传感器)的输入和上下文条件(例如,位置、时间和/或环境中其他人的存在)来显示三维环境的一些改变(例如,显示附加虚拟内容、停止显示现有虚拟内容和/或在显示视觉内容的不同沉浸水平之间转变)。在一些实施方案中,计算机系统根据来自与计算机系统的用户共享计算机生成的环境(例如,在共享计算机生成体验中、在共享虚拟环境中或在通信会话的共享虚拟现实或增强现实环境中)的其他用户所使用的其他计算机的输入来显示三维环境的一些改变(例如,显示附加虚拟内容、停止显示现有虚拟内容或在显示视觉内容的不同沉浸水平之间转变)。在一些实施方案中,计算机系统根据来自传感器的输入来显示三维环境的一些改变(例如,显示用户界面、虚拟表面、用户界面对象和/或虚拟风景的移动、变形、视觉特征的改变等),该传感器检测其他人和对象的移动以及用户的可能不符合作为用于触发计算机系统的相关联操作的识别手势输入的标准的移动。
在一些实施方案中,经由本文所述的显示生成部件显示的三维环境是在没有物理环境的表示的情况下在三维环境中的不同虚拟位置处包括虚拟对象和内容的虚拟三维环境。在一些实施方案中,三维环境是混合现实环境,该混合现实环境在三维环境中的受物理环境的一个或多个物理方面(例如,墙壁、地板、表面的定位和取向、重力的方向、日时和/或物理对象之间的空间关系)约束的不同虚拟定位处显示虚拟对象。在一些实施方案中,三维环境是包括物理环境的表示的增强现实环境。在一些实施方案中,物理环境的表示包括三维环境中的不同位置处的物理对象和表面的相应表示,使得物理环境中的不同物理对象和表面之间的空间关系由三维环境中的物理对象和表面的表示之间的空间关系来反映。在一些实施方案中,当相对于三维环境中的物理对象和表面的表示的位置来放置虚拟对象时,该虚拟对象看起来与物理环境中的物理对象和表面具有对应的空间关系。在一些实施方案中,计算机系统基于用户输入和/或上下文条件在显示不同类型的环境之间转变(例如,在以不同沉浸水平呈现计算机生成的环境或体验或者调整来自虚拟内容和来自物理环境的表示的听觉/视觉感官输入的相对突显性之间转变)。
在一些实施方案中,显示生成部件包括其中显示物理环境的表示的透传部分。在一些实施方案中,显示生成部件的透传部分是显示生成部件的展示用户周围或用户的视场内的物理环境的至少一部分的透明或半透明(例如,透视)部分。例如,透传部分是头戴式显示器或平视显示器的被制成半透明(例如,小于50%、40%、30%、20%、15%、10%或5%的不透明度)或透明的一部分,使得用户可以透过它来查看用户周围的真实世界,而无需移除头戴式显示器或远离平视显示器移动。在一些实施方案中,当显示虚拟或混合现实环境时,透传部分逐渐从半透明或透明过渡到完全不透明。在一些实施方案中,显示生成部件的透传部分显示由一个或多个相机(例如,移动设备的或与头戴式显示器相关联的后向相机,或者将图像数据馈送到计算机系统的其他相机)捕获的物理环境的至少一部分的图像或视频的实时馈送。在一些实施方案中,该一个或多个相机指向物理环境的在用户眼睛的正前方(例如,相对于显示生成部件的用户在显示生成部件后方)的一部分。在一些实施方案中,该一个或多个相机指向物理环境的不在用户眼睛的正前方(例如,在不同物理环境中,或者在用户的侧面或后方)的一部分。
在一些实施方案中,当在对应于一个或多个物理对象在物理环境中的位置的定位处(例如,在虚拟现实环境、混合现实环境或增强现实环境中的定位处)显示虚拟对象时,显示虚拟对象中的至少一些虚拟对象来代替相机的实况视图的一部分(例如,在实况视图中捕获的物理环境的一部分)(例如,虚拟对象中的至少一些虚拟对象替换该实况视图的一部分的显示)。在一些实施方案中,虚拟对象和虚拟内容中的至少一些虚拟对象和虚拟内容被投影到物理环境中的物理表面或空白空间上,并且透过显示生成部件的透传部分可见(例如,能够作为物理环境的相机视图的一部分或者透过显示生成部件的透明或半透明部分进行查看)。在一些实施方案中,虚拟对象和虚拟内容中的至少一些虚拟对象和虚拟内容被显示为覆盖显示器的一部分并且遮挡透过显示生成部件的透明或半透明部分可见的物理环境的至少一部分的视线。
在一些实施方案中,显示生成部件根据改变三维环境的当前显示视图的视点相对于三维环境的虚拟位置的用户输入或移动来显示三维环境的不同视图。在一些实施方案中,当三维环境是虚拟环境时,视点根据浏览或运动请求(例如,空中手部手势和/或通过手部的一部分相对于手部的另一部分的移动执行的手势)移动,而无需用户的头部、躯干和/或显示生成部件在物理环境中的移动。在一些实施方案中,用户的头部和/或躯干相对于物理环境的移动和/或显示生成部件或计算机系统的其他位置感测元件相对于物理环境的移动(例如,由于用户握住显示生成部件或者穿戴HMD)等引起视点相对于三维环境的对应移动(例如,以对应移动方向、移动距离、移动速度,和/或取向的改变),从而导致三维环境的当前显示视图的对应改变。在一些实施方案中,当虚拟对象具有相对于视点的预设空间关系(例如,锚定或固定到视点)时,视点相对于三维环境的移动将引起虚拟对象相对于三维环境的移动,同时保持虚拟对象在视场中的位置(例如,虚拟对象被称为是头部锁定的)。在一些实施方案中,虚拟对象被身体锁定到用户,并且在用户作为整体在物理环境中移动(例如,携带或佩戴显示生成部件和/或计算机系统的其他位置感测部件)时相对于三维环境移动,但是将不会响应于单独的用户头部移动而在三维环境中移动(例如,显示生成部件和/或计算机系统的其他位置感测部件围绕用户在物理环境中的固定位置旋转)。在一些实施方案中,虚拟对象任选地被锁定到用户的另一部分,诸如用户的手部或用户的手腕,并且根据用户的该部分在物理环境中的移动而在三维环境中移动,以保持虚拟对象的位置与用户的该部分在三维环境中的虚拟位置之间的预设空间关系。在一些实施方案中,虚拟对象被锁定到由显示生成部件提供的视场的预设部分,并且根据视场的移动而在三维环境中移动,而与不引起视场变化的用户的移动无关。
在一些实施方案中,如图7B至图7J所示,三维环境的视图有时不包括用户的手部、手臂和/或手腕的表示。在一些实施方案中,用户的手部、手臂和/或手腕的表示包括在三维环境的视图中。在一些实施方案中,用户的手部、手臂和/或手腕的表示被包括在三维环境的视图中,作为经由显示生成部件提供的物理环境的表示的一部分。在一些实施方案中,这些表示不是物理环境的表示的一部分,并且在独立于三维环境的当前显示视图的三维环境中被分别捕获(例如,通过一个或多个相机指向用户的手部、手臂和手腕)并显示。在一些实施方案中,这些表示包括由计算机系统的一个或多个相机捕获的相机图像或基于由各种传感器捕获的信息的手臂、手腕和/或手部的程式化版本。在一些实施方案中,这些表示替换物理环境的表示的部分的显示、被覆盖在物理环境的表示的部分上或阻挡物理环境的表示的部分的视图。在一些实施方案中,当显示生成部件不提供物理环境的视图并且提供完全虚拟的环境(例如,无相机视图并且无透明透传部分)时,任选地仍在虚拟环境中显示用户的一只或两只手臂、手腕和/或手部的实时视觉表示(例如,程式化的表示或分段的相机图像)。在一些实施方案中,如果在三维环境的视图中未提供用户的手部的表示,则任选地在三维环境中指示对应于用户的手部的定位,例如通过虚拟内容在三维环境中的对应于用户的手部在物理环境中的位置的定位处的变化外观(例如,通过半透明度和/或模拟的反射率的改变)。在一些实施方案中,在三维环境中的对应于用户的手部或手腕的位置的虚拟定位在经由显示生成部件提供的当前视场之外时,用户的手部或手腕的表示在三维环境的当前显示视图之外;并且响应于对应于用户的手部或手腕的位置的虚拟定位由于显示生成部件、用户的手部或手腕、用户的头部和/或用户作为整体等的移动而在当前视场内移动时,用户的手部或手腕的表示在三维环境的视图中变得可见。
图7A至图7J是示出根据一些实施方案的用户与在三维环境中显示的用户界面对象的交互的框图。在一些实施方案中,用户界面对象中的一个或多个用户界面对象在三维环境中的预定义区内提供,使得放置在预定义区中的用户界面对象在三维环境中跟随用户,而放置在预定义区之外的用户界面对象在三维环境中不跟随用户(例如,放置在预定义区之外的用户界面对象被锚定到三维环境)。根据各种实施方案,图7A至图7J(以及图8至图9)中相对于一些示例中的用户界面对象所述的行为适用于其他示例中的用户界面对象,除非在描述中另外陈述。
图7A至图7J示出与第一显示生成部件(例如,显示生成部件7100或另一显示生成部件)通信的示例性计算机系统(例如,设备101或另一计算机系统)。在一些实施方案中,第一显示生成部件是平视显示器。在一些实施方案中,第一显示生成部件是头戴式显示器(HMD)。在一些实施方案中,第一显示生成部件是独立显示器、触摸屏、投影仪或另一类型的显示器。在一些实施方案中,计算机系统与一个或多个输入设备通信,该一个或多个输入设备包括检测物理环境中用户的手部的移动、用户的整个身体的移动和/或用户的头部的移动的相机或其他传感器和输入设备。在一些实施方案中,一个或多个输入设备检测用户的手部、面部和用户的整个身体等的移动及当前姿势、取向和位置。在一些实施方案中,一个或多个输入设备包括检测用户注视的位置和移动的眼睛跟踪部件。在一些实施方案中,第一显示生成部件以及任选地一个或多个输入设备和计算机系统是头戴式设备(例如,HMD或一对护目镜)的部分,该头戴式设备在物理环境中随用户的头部而移动和旋转,并且将用户的视点改变到经由第一显示生成部件提供的三维环境中。在一些实施方案中,第一显示生成部件是平视显示器,其不随用户的头部或用户的整个身体而移动或旋转,而是任选地根据用户的头部或身体相对于第一显示生成部件的移动来将用户的视点改变到三维环境中。在一些实施方案中,第一显示生成部件任选地由用户的手部相对于物理环境或相对于用户的头部移动和旋转,并且根据第一显示生成部件相对于用户的头部或面部或相对于物理环境的移动来将用户的视点改变到三维环境中。
图7A至图7E是示出在三维环境中的对应于相对于物理环境7000中的用户7002(例如,用户的视点)的位置的相应定位处显示用户界面对象7104(例如,用户界面对象7104-1至7104-3是用户界面对象7104的实例)的框图。
例如,图7A示出包括与显示生成部件7100进行交互的用户7002的物理环境7000。在下文所述的示例中,用户7002使用其两只手部(手部7020和手部7022)中的一只或两只手部来向计算机系统提供输入或指令。在下文所述的示例中的一些示例中,计算机系统还将用户的手臂诸如连接到用户的左手7020的用户的左臂7028的定位或移动用作由用户向计算机系统提供的输入的一部分。物理环境7000包括物理对象7014以及物理墙壁7004和7006。物理环境7000还包括物理地板7008。
如图7B所示,计算机系统(例如,显示生成部件7100)显示三维环境的视图(例如,环境7000'、虚拟三维环境、增强现实环境、物理环境的透传视图或物理环境的相机视图)。在一些实施方案中,三维环境是没有物理环境7000的表示的虚拟三维环境。在一些实施方案中,三维环境是混合现实环境,该混合现实环境是通过对应于物理环境7000的传感器数据增强的虚拟环境。在一些实施方案中,三维环境是增强现实环境,该增强现实环境包括一个或多个虚拟对象(例如,用户界面对象7104)和围绕显示生成部件7100的物理环境的至少一部分的表示(例如,墙壁的表示7004'、7006'、地板的表示7008'和物理对象的表示7014')。在一些实施方案中,物理环境的表示包括物理环境的相机视图。在一些实施方案中,物理环境的表示包括物理环境透过显示生成部件的透明或半透明部分的视图。在一些实施方案中,物理对象的表示7014'被锁定(例如,锚定)到三维环境,使得当用户在物理环境中移动时,表示7014'被维持在其在三维环境内的定位处(例如,并且仅在用户的当前视图包括三维环境的锚定物理对象的表示7014'的三维环境的部分时显示)。
图7C至图7E示出用户关注使用显示生成部件7100来显示的三维环境7000'中的各种对象(例如,物理环境中的物理对象和/或虚拟对象)的示例。例如,图7C示出在用户正关注(例如,注视)用户界面对象7104-1时来自用户的视点的第一视图。例如,用户的注意力由从用户的眼睛起的虚线表示。在一些实施方案中,计算机系统基于确定用户的注视和/或用户的头部定位的传感器数据来确定用户正关注三维环境的相应部分(例如,对象)。应当理解,计算机系统能够使用多种传感器数据来确定用户当前正关注的三维环境的部分。
在一些实施方案中,用户界面对象7104-1包括面板,该面板包括可由用户经由用户的注视和/或利用用户的手部中的一只或多只手部的手势(例如,空中手势)来选择的多个可选择用户界面选项(例如,按钮)。在一些实施方案中,用户控制(例如,修改)将哪些可选择用户界面选项包括在面板(例如,用户界面对象7104-1)中。例如,用户选择要在面板内显示的某些应用程序图标、设置、控件和/或其他选项,使得用户可容易地访问包括在面板中的所选择的应用程序图标、设置、控件和/或其他选项(例如,使得即使当用户在物理环境中移动时,用户也能够与面板进行交互,因为面板在用户在物理环境中移动时跟随用户,如下文更详细地描述)。
图7D示出用户正关注对象7014'(例如,其是物理环境7000中的物理对象7014的表示)。响应于用户未关注用户界面对象7104-1(例如,如图7C所示),用户界面对象7104-1被更新为用户界面对象7104-2,该用户界面对象被显示为用户界面对象7104-1的视觉上去强调版本(例如,如阴影填充部分所指示)。在一些实施方案中,相对于在用户正关注用户界面对象7104-1时以未修改的视觉特性(例如,未淡化)来显示的用户界面对象7104-1的视觉特性,用户界面对象7104-2以淡化的视觉特性来显示。在一些实施方案中,相对于在三维环境7000'中显示的其他对象(例如,虚拟对象和/或物理对象),用户界面对象7104-2以淡化的视觉特性来显示。例如,物理对象的表示7014'未在视觉上被去强调(例如,未被修改),而用户界面对象7104-2在视觉上被去强调。在一些实施方案中,通过模糊用户界面对象7104-2、减小用户界面对象7104-2的大小、减小用户界面对象7104-2的不透明度、增大用户界面对象7104-2的半透明度、完全停止用户界面对象7104-2的显示或视觉效果的组合(例如,同时淡化和模糊)以去强调用户界面对象7104-2来在视觉上去强调用户界面对象。
在一些实施方案中,如图7E至图7G所示,当用户未关注用户界面对象7104(例如,用户界面对象7104-3、用户界面对象7104-4和用户界面对象7104-5)时,用户界面对象7104继续以视觉去强调来显示(例如,如图7E至图7F中的阴影填充部分所指示)。在一些实施方案中,当用户未关注用户界面对象时(例如,当用户尚未关注用户界面对象的时间量增加时),用户界面对象7104的视觉去强调增加。例如,响应于用户最初将用户的注意力从用户界面对象7104-1移开,用户界面对象7104-2被显示为以第一量淡化(例如,用户界面对象的不透明度以第一量减少和/或用户界面对象的半透明度以第一量增加)。在一些实施方案中,在预定义时间量(例如,0.1秒、0.2秒、0.5秒、1秒、2秒或5秒)之后,用户界面对象7104-3(图7E)被显示为以大于第一量的第二量淡化(例如,用户界面对象7104-3以比用户界面对象7104-2大的视觉去强调量来显示)。
在一些实施方案中,至少部分地基于用户将用户的注意力从对象转开的速率和/或量(例如,角度的改变量和/或距离量)来确定视觉去强调量。例如,响应于用户快速地(例如,以第一速率)将目光从用户界面对象7104-1移开,用户界面对象7104-2以第一量在视觉被去强调。响应于用户不太快速地(例如,以比第一速率慢的第二速率)将目光从用户界面对象7104-1移开(例如,和/或转开),用户界面对象7104-2以小于第一量的第二量在视觉上被去强调。在一些实施方案中,视觉去强调量基于用户界面对象7104-1和用户的当前注意力在三维环境内的位置之间的改变(例如,距离的改变和/或角度的改变)的量(例如,作为基于用户的移动/注意力的改变的速率的补充或替代)。例如,如果用户将用户的注意力转移到靠近(例如,5cm内或10cm内、或满足预定义接近标准)用户界面对象7104-1的区域,则用户界面对象以与用户将用户的注意力转移到离用户界面对象7104-1更远(例如,超过5cm或超过10cm)的区域的情况相比更小的量在视觉上被去强调。因此,当用户将用户的注意力从用户界面对象7104-1转移开时,用户界面对象7104-2的显示根据用户的移动和/或用户的注意力的改变的一个或多个特性来更新。
在一些实施方案中,当用户在三维环境7000'内移动(例如,对应于用户在物理环境7000四处移动)时,如图7E至图7H所示,在用户继续不关注用户界面对象7104的情况下,用户界面对象7104继续以视觉去强调来显示(或不显示)。在一些实施方案中,当用户在物理环境中移动时,用户界面对象7104在三维环境内的各种定位处显示(例如,用户界面对象7104跟随用户),如下文更详细地描述。
在一些实施方案中,用户界面对象7104继续以视觉去强调来显示,直到计算机系统检测到用户正关注用户界面对象7104为止,如图7H所示。例如,响应于检测到用户正关注用户界面对象7104-6,用户界面对象无视觉去强调地显示(例如,用户界面对象7104-6以与图7C中的用户界面对象7104-1相同的视觉特性来显示)。在一些实施方案中,响应于检测到用户正关注用户界面对象7104-6,用户界面对象7104-6在三维环境内的定位处显示,使得用户界面对象7104-6具有与用户界面对象7104-1的相对于用户的(例如,先前)定位相同的相对于用户的定位(例如,在用户在物理环境中移动之前用户界面对象相对于用户的初始定位)。
图7E至图7H是示出当用户7002在物理环境7000内移动时用户界面对象7104在三维环境内的各种定位处显示的框图。应当理解,用户界面对象7104在三维环境中的定位的改变能够结合上文所述的用户界面对象7104的视觉去强调(例如,与之并发地)来执行。
在一些实施方案中,如图7E所示,用户(例如,和用户的当前视点)在物理环境中移动(例如,用户向右移动第一距离量),并且响应于用户在物理环境中移动,显示生成部件7100上显示的视图被(例如,实时地)更新以包括三维环境的反映用户在物理环境中的移动的当前视图。例如,当用户在图7E中向右移动(例如,相对于图7D中的视图)时,物理对象的表示7014'被显示为在图7E中的用户的当前视图中更居中(与物理对象的表示7014'在图7D中的用户的视图的右边缘上显示相比)。
在一些实施方案中,当用户正在物理环境中移动时,用户界面对象7104-3最初被维持在三维环境内的相同定位处(例如,相对于三维环境中的其他显示对象)。例如,在图7D中,用户界面对象7104-2被显示为其右边缘与对象7014'的表示的左边缘(例如,竖直地)对准。响应于用户在图7E中移动第一量,用户界面对象7104-3继续在三维环境内的相对于对象7014'的表示的相同定位处显示。例如,用户界面对象7104-3最初看起来被锚定到三维环境。在一些实施方案中,根据用户在物理环境中移动小于阈值量(例如,阈值距离量、取向和/或定位的阈值改变量)(例如,用户的移动的第一量小于阈值量),用户界面对象7104-2(例如,和用户界面对象7104-3)被维持在三维环境内的相对于三维环境中的其他对象的相同定位处。在一些实施方案中,用户界面对象7104-2(例如,和用户界面对象7104-3)被维持在三维环境内的相对于三维环境中的其他对象的相同定位处达用户的移动的第一预定义时间段。例如,用户界面对象7104-2在用户在物理环境中移动的前2秒(例如,或0.5秒、或4秒)内在三维环境中的相同定位处显示。
在一些实施方案中,在用户已移动多于阈值量(例如,多于阈值距离、多于取向和/或定位的阈值改变量、和/或达比第一预定义时间段长的时间段)之后,用户界面对象7104-4被更新为在三维环境中的与其初始定位(例如,在用户开始移动之前)不同的定位处显示。例如,用户界面对象7104-3在未被更新的情况下将从图7F中的用户的当前视图中消失。因此,用户界面对象7104-4相对于在三维环境中显示的其他对象移动以保持在用户的当前视图内(例如,当用户在物理环境中移动时,用户界面对象7104-4整体保持显示)。因此,用户界面对象7104-4不被锚定到三维环境,而是被锚定到用户的当前视点。
在一些实施方案中,显示生成部件7100以到图7F所示的用户界面对象7104-4的定位中的动画移动(例如,逐渐且连续的移动)显示用户界面对象7104-3。在一些实施方案中,当移动用户界面对象7104-3时,用户界面对象7104-3在视觉上被去强调,如上所述。在一些实施方案中,当用户在物理环境中移动时,用户界面对象7104-3至7104-4被显示为好像用户界面对象正跟随用户(例如,使得用户界面对象7104整体保持显示在用户的每个相应当前视图中)。在一些实施方案中,当用户界面对象7104-3更新到用户界面对象7104-4的定位时,用户界面对象7104-3到用户界面对象7104-4的定位的移动速率被显示为比用户在物理环境中的移动速率慢的移动速率。例如,用户界面对象被延迟跟随用户(例如,在2秒之后才开始跟随用户),并且被显示为与用户在物理环境中的移动速率(例如,和用户的当前视点的改变速率)相比在三维环境内更慢地移动。因此,当用户在物理环境中移动时,用户界面对象看起来滞后于用户。
图7G示出用户继续在物理环境内移动(例如,相对于图7D至图7F)。图7G示出当用户在物理环境中继续向右(例如,在与上文所述相同的方向上)移动时用户(例如,和显示生成部件7100)在物理环境中的附加侧向移动(例如,左右移动)。图7G进一步示出用户的位姿(例如,取向)在竖直方向上的移动(例如,如图7G中的向下箭头所示)。例如,用户在物理环境中向右移动,同时还向下移动用户的当前视点(例如,并发地)(例如,以包括图7G中的地板7008'的表示的更多部分)。在一些实施方案中,用户界面对象7104-5(例如,以比用户慢的速率)被更新为随用户在物理环境中移动而移动。例如,用户在图7G中相对于图7E更加向右移动,并且用户界面对象7104还被显示为在图7E至图7G之间以比用户的移动速率慢的速率(例如,随用户)向右移动。例如,替代用户界面对象7104继续在图7E至7G中的用户的当前视点的顶部中心部分处显示(例如,这将指示用户界面对象7104以与用户相同的速率移动),用户界面对象7104在用户正移动时看起来移动滞后。
在一些实施方案中,在用户已移动多于阈值移动量(例如,并且用户界面对象7104已从其初始定位移动到更新的定位以保持在用户的当前视图内)之后,当用户在物理环境中继续移动时,用户界面对象7104在三维环境中继续跟随用户。在一些实施方案中,用户界面对象7104移动到三维环境内的不同定位(例如,当用户在物理环境中移动时),以便维持相对于用户(例如,相对于用户的身体的一部分和/或相对于用户的当前视点)的相同空间关系。例如,用户界面对象7104继续跟随用户以保持在用户的当前视图的预定义部分内(例如,在用户的当前视图的左上角中)和/或远离用户的当前视图的预定义距离处(例如,在远离用户的手臂长度内)。
用户的视点任选地通过以下各项的任何组合来更新:在物理环境内侧向地移动显示生成部件7100、改变显示生成部件7100的相对角度(例如,位姿)和/或改变用户的头部的位姿(例如,取向)(例如,在用户向下看向地板7008时,诸如显示生成部件是由用户穿戴的HMD的情况)。本文所述的用户在物理环境中在特定方向和/或取向上(例如,向右和/或向下)的移动的示例是用户在物理环境内的移动的非限制性示例。例如,用户的其他移动(例如,向左、向上和/或不同方向和/或位姿的组合)致使用户界面对象以类似行为来显示(例如,其中用户界面对象在用户对三维环境的当前视点内移动以跟随用户的移动(任选地,以一定延迟和/或滞后))。
在一些实施方案中,如图7H所示,在用户已在物理环境中移动多于阈值量(例如,阈值距离量、位姿和/或取向的阈值量)之后,用户界面对象7104-6在用户对三维环境的当前视点内的相对于用户(例如,用户的身体和/或用户的视点)限定的定位处重新显示。例如,在图7C中,用户界面对象7104-1最初在三维环境内的相对于用户的当前视点限定的定位处显示。例如,用户界面对象7104-1在距用户的预定义距离(例如,在感知深度上)处并且在相对于用户的高度处(例如,在用户的当前视点的顶部处或在高于用户正直视前方时的用户的视点的预定义角度(例如,45度)处)显示。在一些实施方案中,当用户正在物理环境内移动时,在用户已移动阈值量之前,用户界面对象在用户的当前视图内移动以看起来具有参考图7E至图7G所述的缓慢跟随行为,并且在用户已移动至少阈值量之后(例如,如图7H所示),用户界面对象7104-6以相对于图7C所述的用户的当前视点限定的相同定位重新显示。在一些实施方案中,相对于用户的当前视点限定的相同定位对应于用户的舒适查看距离内的预定义区。
在一些实施方案中,上文描述的用户界面对象7104的延迟和滞后行为(例如,在本文中也称为缓慢跟随行为)根据用户界面对象7104被添加到多个预定义区中的一个预定义区来执行。例如,用户界面对象7104-1的初始定位被设置在多个预定义区中的第一区内,其中放置在该多个预定义区中的一个预定义区内(例如,锚定到该一个预定义区)的用户界面对象根据本文所述的缓慢跟随行为来更新。在一些实施方案中,用户7002能够将用户界面对象移动到各种区中,并且还将那些对象从这些区移出(例如,使得当相应用户界面对象未放置在预定义区中的一个预定义区内时,缓慢跟随行为不再适用)。在一些实施方案中,当用户选择用户界面对象时,多个预定义区被突出显示(例如,利用每个相应区的轮廓)以向用户指示用户能够放置用户界面对象以致使用户界面对象具有缓慢跟随行为的位置。
在一些实施方案中,预定义区(例如,以预定义形状)覆盖三维环境的预定义部分。例如,预定义区占据三维环境中的由该预定义区的长度、宽度、深度和/或形状(例如,边界)限定的定位。例如,第一预定义区定位在(例如,占据)第一深度(例如,或深度范围),并且具有第一宽度、第一长度和/或第一高度。在一些实施方案中,第一预定义区占据三维环境的对应于三维形状或任选地二维形状(例如,二维窗口或任务栏)的一部分。例如,第一预定义区是在三维环境中的预定义定位处的立方体(例如,并且将用户界面对象移动到预定义定位处的立方体中是将用户界面对象移动到第一预定义区中)。
在一些实施方案中,当用户在物理环境中移动用户的头部而不移动用户的身体时,用户界面对象7104消失。在一些实施方案中,当用户移动用户的身体(例如,躯干和头部)时,用户界面对象(例如,以视觉上去强调特性)继续显示。例如,如果用户在用户未改变用户的位置(例如,从物理环境中的第一位置移动到第二位置)和/或用户未移动用户的躯干(例如,以改变用户的身体的取向)的情况下转动用户的头部(例如,这更新用户对三维环境的当前视图),则用户界面对象7104不被动画化为从三维环境中的第一定位移动到第二定位。相反,用户界面对象7104在用户的移动期间不显示,并且响应于用户的头部移动停止(例如,并且保持在用户的头部的新定位处达预定义时间段)而重新显示(例如,当用户在第二定位处静止达预定义时间段时)。
在一些实施方案中,用户进一步能够与用户界面对象7104-4进行交互,如图7I所示。例如,用户界面对象7104-7是包括多个可选择对象(例如,应用程序图标、控制中心中的控件、设置和/或按钮)的面板。响应于检测到指向多个可选择对象中的第一可选择对象的用户输入(例如,用户的注视和/或空中手势),在一些实施方案中,第一可选择对象被强调(例如,突出显示、勾勒、放大或相对于其他可选择对象以其他方式进行区分)。
在一些实施方案中,多个可选择对象包括用于三维环境中的沉浸式体验的一个或多个控件。例如,用户界面对象7104-7包括用于使三维环境中的用户沉浸到完全虚拟体验中的播放控件和/或暂停控件,并且向用户提供用于改变沉浸水平(例如,在三维环境中显示来自物理环境的更多或更少透传内容)的选项。例如,显示用于播放和/或暂停三维环境中的沉浸式体验的控件。在一些实施方案中,三维环境中的更高沉浸水平包括附加虚拟特征,诸如虚拟对象的显示、虚拟壁纸的显示、虚拟照明的显示等。因此,用户能够相对于在三维环境中显示的虚拟内容的量控制在三维环境中显示多少物理环境作为透传内容。
例如,如图7J所示,响应于用户输入(例如,使用用户的手部7020的手部手势,或组合手部和注视的手势),用户能够将用户界面对象移动到三维环境内的相对于用户的当前视图的不同定位(例如,用户界面对象7104-8在图7J中的用户的当前视图的左下方中显示)。在一些实施方案中,用户界面对象7104-8的新定位在多个预定义区中的预定义区内(例如,并且当用户在物理环境中移动时,用户界面对象7104-8将继续具有缓慢跟随行为)。例如,用户将用户界面对象7104-8从第一预定义区重新定位到第二预定义区。在一些实施方案中,在用户界面对象移动到第二预定义区之后,在用户在物理环境中移动(例如,多于阈值移动量)之后,用户界面对象在三维环境中移动以保持显示在用户的当前视图中相对于第二预定义区的用户的定位处。
在一些实施方案中,响应于用户将用户界面对象定位在预定义区附近(例如,在预定义区的阈值距离内)(例如,同时该区在用户选择用户界面对象并在三维环境中四处移动用户界面对象时被突出显示),用户界面对象7104(例如,根据用户确认将用户界面对象放置在预定义区中)迅速移动(snap)到预定义区。例如,响应于用户将用户界面对象重新定位成足够靠近预定义区,计算机系统自动地显示迅速移动到预定义区的用户界面对象(例如,并且用户释放捏合手势和/或拖动手势以将用户界面对象扑落(例如,并且迅速移动)到适当位置,而无需用户将用户界面对象与预定义区完全对准)。在一些实施方案中,根据用户界面对象在预定义区中迅速移动到适当位置,计算机系统输出听觉和/或触觉指示。
在一些实施方案中或在一些情况下,用户界面对象7104-8的新定位不在多个预定义区中的预定义区内。在一些实施方案中,如果用户界面对象7104未放置在预定义区内(例如,用户将用户界面对象重新定位到三维环境中的不对应于预定义区的定位),则当用户在物理环境中移动时,用户界面对象7104-8不继续具有缓慢跟随行为(例如,当用户移动时,用户界面对象7104-8被锚定到三维环境以被世界锁定,而不是改变定位以保持在用户的当前视图内)。
在一些实施方案中,用户仅能够将用户界面对象重新定位在距用户的预定义距离内。例如,将用户界面对象放置在用户的手臂可及范围内的定位处。在一些实施方案中,用户界面对象不能放置在距用户的预定义距离之外(例如,距用户多于手臂的距离)的定位处。例如,响应于用户将用户界面对象重新定位到三维环境中的与距用户的预定义距离相比距用户更远的定位,计算机系统向用户提供错误警告(例如,并且不允许用户将用户界面对象放置在比距用户的预定义距离远的定位处)。在一些实施方案中,响应于用户将用户界面对象重新定位到三维环境中的与距用户的预定义距离相比距用户更远的定位,计算机系统允许用户将对象放置在该定位处,但提供用户界面对象在放置在该定位处时将不在三维环境中跟随用户(例如,将对象放置在比距用户的预定义距离远的定位处将该对象锚定到三维环境,使得当用户在物理环境中移动时,用户界面对象不移动以维持与用户的相同相对空间关系)的警告(例如,文本指示)。
在一些实施方案中,如图7J所示,用户还能够对用户界面对象7104-8进行大小调整。例如,用户输入(例如,利用第一手部的捏合手势)指向用户界面对象7104-8(例如,在用户界面对象7104-8的大小调整示能表示上),并且用户界面对象7104-8的大小根据用户将大小调整示能表示从用户界面对象向外拖动(例如,以放大用户界面对象)或将大小调整示能表示朝向用户界面对象的中心向内拖动(例如,以减小用户界面对象的大小)而放大和/或减小。在一些实施方案中,用户能够执行双手手势(例如,使用两只手部来执行手势)。例如,在利用用户的第一手部(例如,利用捏合手势)选择用户界面对象之后,用户可将用户的另一手部移动成更靠近和/或离用户的第一手部(例如,正捏合用户界面对象)更远以分别减小和/或增大用户界面对象的大小。在一些实施方案中,根据一些实施方案,在本文(例如,相对于图7A至图7J和图8至图9)所述的各种示例和实施方案中使用的输入手势任选地包括通过将用户的手指相对于用户手部的其他手指或部分移动来执行的离散的小运动手势,任选地,而不需要用户的整个手部或手臂远离其自然位置和姿势的较大移动来紧接在用于与虚拟或混合现实环境进行交互的手势之前或在该手势期间执行操作。
在一些实施方案中,输入手势通过分析由传感器系统(例如,传感器190,图1;图像传感器314,图3)捕获的数据或信号来检测。在一些实施方案中,传感器系统包括一个或多个成像传感器(例如,一个或多个相机,诸如运动RGB相机、红外相机和/或深度相机)。例如,该一个或多个成像传感器是计算机系统(例如,图1中的计算机系统101(例如,便携式电子设备或HMD))的部件或者向该计算机系统提供数据,该计算机系统包括显示生成部件(例如,图1、图3和图4中的显示生成部件120或7100(例如,用作显示器和触敏表面的触摸屏显示器、立体显示器和/或具有透传部分的显示器))。在一些实施方案中,该一个或多个成像传感器在设备的与设备的显示器相反的一侧上包括一个或多个后向相机。在一些实施方案中,由头戴式系统的传感器系统(例如,包括立体显示器的VR头戴式耳机,该立体显示器为用户的左眼提供左图像并为用户的右眼提供右图像)检测输入手势。例如,为头戴式系统的部件的一个或多个相机安装在该头戴式系统的前部和/或下侧上。在一些实施方案中,一个或多个成像传感器位于其中使用头戴式系统的空间中(例如,在房间中的各个位置中围绕头戴式系统排列),使得成像传感器捕获该头戴式系统和/或该头戴式系统的用户的图像。在一些实施方案中,由平视设备(诸如,平视显示器、具有显示图形的能力的汽车挡风玻璃、具有显示图形的能力的窗户、具有显示图形的能力的透镜)的传感器系统检测输入手势。例如,一个或多个成像传感器附接到汽车的内部表面。在一些实施方案中,传感器系统包括一个或多个深度传感器(例如,传感器阵列)。例如,该一个或多个深度传感器包括一个或多个基于光的(例如,红外)传感器和/或一个或多个基于声音的(例如,超声)传感器。在一些实施方案中,传感器系统包括一个或多个信号发射器,诸如光发射器(例如,红外发射器)和/或声音发射器(例如,超声发射器)。例如,在光(例如,来自具有预先确定图案的红外光发射器阵列的光)被投影到手部(例如,手部7102)上时,由该一个或多个相机捕获在光的照明下的手部的图像,并且所捕获的图像被分析以确定手部的位置和/或构造。使用来自指向手部的图像传感器的信号来确定输入手势,而不是使用触敏表面或其他直接接触机构或基于接近的机构的信号,允许用户自由选择在利用他/她的手部提供输入手势时是执行大幅运动还是保持相对静止,而不经受由特定输入设备或输入区域施加的限制。
在一些实施方案中,轻击输入任选地是用户的手部的拇指在食指上方(例如,在与拇指相邻的食指的一侧上)的轻击输入。在一些实施方案中,在不需要将拇指从食指的该侧面抬起的情况下检测轻击输入。在一些实施方案中,根据确定拇指的向下移动之后是拇指的向上移动来检测轻击输入,其中拇指与食指的该侧接触小于阈值量的时间。在一些实施方案中,根据确定拇指从抬起位置移动到触压位置并且保持在触压位置至少第一阈值量的时间(例如,轻击时间阈值或长于轻击时间阈值的另一个时间阈值)来检测轻击-保持输入。在一些实施方案中,计算机系统要求手部作为整体在位置中保持基本上静止达至少第一阈值量的时间,以便检测拇指在食指上进行的轻击-保持输入。在一些实施方案中,在不需要手部作为整体保持基本上静止(例如,手部作为整体可以在拇指搁置在食指的该侧上时移动)的情况下检测触摸保持输入。在一些实施方案中,当拇指触压食指的该侧并且手部作为整体在拇指搁置在食指的该侧上时移动时检测轻击-保持-拖动输入。
在一些实施方案中,轻弹手势任选地是通过拇指跨食指(例如,从食指的手掌侧到背侧)的移动进行的推动或轻弹输入。在一些实施方案中,拇指的伸展移动伴随着远离食指的该侧的向上移动,例如,如在由拇指进行的向上轻弹输入中。在一些实施方案中,在拇指的向前移动和向上移动期间,食指在与拇指的方向相反的方向上移动。在一些实施方案中,通过拇指从伸展位置移动到回缩位置来执行反向轻弹输入。在一些实施方案中,在拇指的向后移动和向下移动期间,食指在与拇指的方向相反的方向上移动。
在一些实施方案中,轻扫手势任选地是通过拇指沿着食指(例如,沿着与拇指相邻或手掌的该侧上的食指的一侧)的移动进行的轻扫输入。在一些实施方案中,食指任选地处于伸展状态(例如,基本上笔直)或卷曲状态。在一些实施方案中,在轻扫输入手势中拇指的移动期间,食指在伸展状态和卷曲状态之间移动。
在一些实施方案中,各种手指的不同的指骨对应于不同的输入。拇指在各种手指(例如,食指、中指、无名指,以及任选地,小拇指)的各种指骨上方的轻击输入任选地映射到不同操作。类似地,在一些实施方案中,不同的推动或点击输入可由拇指跨不同手指和/或手指的不同部分执行,以在相应用户界面上下文中触发不同操作。类似地,在一些实施方案中,由拇指沿着不同手指和/或在不同方向上(例如,朝向手指的远侧端部或近侧端部)执行的不同轻扫输入在相应用户界面上下文中触发不同操作。
在一些实施方案中,计算机系统基于拇指的移动类型而将轻击输入、轻弹输入和轻扫输入视为不同类型的输入。在一些实施方案中,计算机系统将具有被拇指轻击、触摸或轻扫的不同手指位置的输入视为给定输入类型(例如,轻击输入类型、轻弹输入类型和/或轻扫输入类型)的不同子输入类型(例如,近侧、中间、远侧子类型,或者食指、中指、无名指或小拇指子类型)。在一些实施方案中,通过移动手指(例如,拇指)执行的移动量和/或与手指的移动相关联的其他移动量度(例如,速度、初始速度、结束速度、持续时间、方向和/或移动模式)用于定量地影响通过手指输入触发的操作。
在一些实施方案中,计算机系统识别组合输入类型,这些组合输入类型组合由拇指进行的一系列移动,诸如轻击-轻扫输入(例如,拇指在手指上的触压,然后是沿着手指的该侧的轻扫)、轻击-轻弹输入(例如,拇指在手指上方的触压,紧接着是跨手指从手指的手掌侧到背侧的轻弹)、双击输入(例如,在大约相同位置处在手指的该侧上的两次连续轻击)等。
在一些实施方案中,手势输入由食指而不是拇指执行(例如,食指在拇指上执行轻击或轻扫,或者拇指和食指朝向彼此移动以执行捏合手势)。在一些实施方案中,与不具有通过手腕移动进行的修改输入的手指移动输入相比,手腕移动(例如,手腕在水平方向或竖直方向上的轻弹)紧接在手指移动输入之前执行,紧接在手指移动输入之后(例如,在阈值量的时间内)执行或与手指移动输入同时执行,以在当前用户界面上下文中触发附加操作、不同操作或经修改操作。在一些实施方案中,用面向用户面部的用户手掌执行的手指输入手势被视为与用背对用户面部的用户手掌执行的手指输入手势不同类型的手势。例如,与响应于用背对用户面部的用户手掌执行的轻击手势而执行的操作(例如,相同操作)相比,用面向用户的用户手掌执行的轻击手势执行的操作具有增加(或减少)的隐私保护。
尽管在本公开中提供的示例中,可以使用一种类型的手指输入来触发某种类型的操作,但是在其他实施方案中,其他类型的手指输入任选地用于触发相同类型的操作。
下文参考相对于下面图8至图9所述的方法800和900提供关于图7A至图7J的附加描述。
图8是根据一些实施方案的在用户未关注三维环境中的用户界面元素时在视觉上去强调该用户界面元素的方法800的流程图。
在一些实施方案中,方法800在计算机系统(例如,图1中的计算机系统101)处执行,该计算机系统包括第一显示生成部件(例如,图1、图3和图4中的显示生成部件120)(例如,平视显示器、显示器、触摸屏和/或投影仪)和一个或多个输入设备,诸如一个或多个传感器(例如,向下指向用户的手部的相机(例如,颜色传感器、红外传感器和其他深度感测相机)或从用户的头部向前指向的相机)。在一些实施方案中,方法800通过存储在非暂态计算机可读存储介质中并由计算机系统的一个或多个处理器诸如计算机系统101的一个或多个处理器202(例如,图1A中的控制单元110)执行的指令来管理。方法800中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
在一些实施方案中,计算机系统与第一显示生成部件(例如,第一显示生成部件是平视显示器、头戴式显示器(HMD)、显示器、触摸屏和/或投影仪)和一个或多个输入设备(例如,相机、控制器、触敏表面、操纵杆、按钮、手套、手表、运动传感器和/或取向传感器)通信。在一些实施方案中,第一显示生成部件是相对于图7A至图7J所述的第一显示生成部件7100。在一些实施方案中,计算机系统是集成设备,该集成设备具有封闭在与第一显示生成部件相同的外壳中的一个或多个处理器和存储器以及一个或多个输入设备中的至少一些输入设备。在一些实施方案中,计算机系统包括计算部件(例如,服务器、移动电子设备诸如智能电话或平板设备、可穿戴设备诸如手表、腕带或听筒、台式计算机和/或膝上型计算机),该计算部件包括一个或多个处理器和与第一显示生成部件和/或一个或多个输入设备分开的存储器。在一些实施方案中,第一显示生成部件以及一个或多个输入设备被集成并包围在相同外壳中。根据一些实施方案,相对于图7A至图7J描述了方法800的特征中的许多特征。
方法800涉及显示用户界面元素,该用户界面元素在用户未关注该用户界面元素时在视觉上被去强调。当用户在物理环境中四处移动时,用户界面元素保持被去强调,并且当用户关注用户界面元素时,用户界面元素不再被去强调,并且基于用户对三维环境的当前视图在三维环境内的定位处为用户显示。基于用户是否正关注用户界面对象并且基于用户的当前视点来自动地去强调和改变用户界面对象的显示位置在用户将其注意力转移到三维环境的不同部分时提供了实时视觉反馈。为用户提供改进的视觉反馈增强了该系统的可操作性并且使用户-系统界面更有效(例如,通过帮助用户提供合适的输入并且减少操作该系统/与该系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用该系统而减少了电力使用并且延长了该系统的电池寿命。
计算机系统经由第一显示生成部件在三维环境的第一视图中显示(802)第一用户界面对象。在一些实施方案中,第一用户界面对象包括预定布局中的一个或多个用户界面对象(例如,用户界面对象7104-1包括在用户界面对象7104-1内显示的一个或多个用户界面对象)。
当显示第一用户界面对象时,计算机系统经由一个或多个输入设备检测(804)用户是否满足关于第一用户界面对象的注意力标准(例如,用户是否正关注第一用户界面对象,诸如通过确定用户是否满足注视检测标准和/或头部定位标准)。例如,如上文参考图7C和图7D所述,在一些实施方案中,计算机系统检测用户是否正关注用户界面对象7104-1(例如,如从用户的眼睛到用户界面对象7104-1的虚线所指示),或者用户是否未关注用户界面对象7104-2(例如,如从用户的眼睛到物理对象的表示7014'的虚线所指示)。
响应于检测到用户不满足关于第一用户界面对象的注意力标准(例如,用户未关注第一用户界面对象),计算机系统以修改的外观显示(806)第一用户界面,其中以修改的外观显示第一用户界面对象包括相对于三维环境中的一个或多个其他对象(例如,真实对象或虚拟对象)去强调第一用户界面对象。例如,如上文参考图7D所述,当用户未关注第一用户界面对象时,计算机系统在视觉上去强调第一用户界面对象7104-2(例如,减少该第一用户界面对象的不透明度和/或增加其模糊度)。
当以修改的外观显示第一用户界面对象时,计算机系统经由一个或多个输入设备检测(808)用户的视点相对于物理环境的第一移动。例如,如参考图7D至图7H所述,用户在物理环境中移动用户的位置。在一些实施方案中,用户的位置(和当前视点)任选地包括用户在物理环境中(例如,在三维空间中)的定位和用户在物理环境内的位姿/取向两者。在一些实施方案中,物理环境对应于三维环境(例如,物理环境的至少一部分被显示为透传内容),使得用户在物理环境中的取向和/或定位的改变更新用户对三维环境的当前视图。在一些实施方案中,在计算机系统确定用户是否满足注意力标准(例如,或者作出新确定)之前,第一移动必须满足移动标准(例如,用户必须从物理环境中的先前定位移动至少阈值量和/或用户必须在物理环境中移动用户的躯干(例如,不仅是用户的头部))。任选地,用户在物理环境中的位姿和/或取向的改变可满足移动标准。
在检测到用户的视点相对于物理环境的第一移动之后(例如,根据或响应于检测到视点的第一移动),计算机系统检测(810)用户满足关于第一用户界面对象的注意力标准(例如,用户正关注第一用户界面对象),如参考图7H所述。
响应于检测到用户满足注意力标准,计算机系统在三维环境的与三维环境的第一视图不同的第二视图中显示(812)第一用户界面对象,其中在三维环境的第二视图中显示第一用户界面对象包括以与以修改的外观显示第一用户界面对象的情况相比相对于三维环境中的一个或多个其他对象(例如,真实对象或虚拟对象)更多地强调第一用户界面对象的外观显示第一用户界面对象。例如,如参考图7H所述,第一用户界面对象在三维环境中的不同定位(例如,与图7D中其在三维环境中的定位相比)处显示,但继续具有相对于对应于用户在物理环境中的当前视点(例如,位置和/或定位)的第一锚定定位的第一空间关系。另外,如图7H所示,响应于用户看着用户界面对象7104-6,用户界面对象7104-6不再在视觉上被去强调(因为这是用户未关注用户界面对象时的情况)。因此,在一些实施方案中,第一用户界面对象被显示为在用户在物理环境中移动时跟随用户。
在一些实施方案中,第一用户界面对象具有相对于三维环境中的对应于用户的身体在物理环境中的位置的第一锚定定位的第一空间关系。例如,第一用户界面对象相对于用户的躯干、手部、头部或用户的身体的其他部分被维持在相同大致位置中(例如,或者被锁定到用户的这些部分)。在一些实施方案中,第一空间关系在用户的视点的移动之前和之后维持。例如,如参考图7C和图7H所述,用户的视点和用户界面对象7104-1和7104-6的实例之间的第一空间关系在用户已在物理环境中移动之前和之后维持。在即使当用户的视角改变(例如,通过在用户在物理环境四处移动时改变用户的当前视点)时也相对于用户的身体的一部分维持在相同大致位置中(例如,或者相对于用户的身体的一部分锁定)的定位处自动地显示某些用户界面对象,在用户在物理环境四处移动时提供了实时视觉反馈,从而向用户提供改进的视觉反馈。
在一些实施方案中,在检测到用户的视点相对于物理环境的第一移动之后,计算机系统维持第一用户界面对象在三维环境中的相同锚定定位处的显示(例如,直到满足时间阈值为止)。在一些实施方案中,在用户的视点移动时,第一用户界面对象最初被维持在三维环境内的相同位置处。在一些实施方案中,在用户的视点移动多于阈值距离时和/或在用户的视点移动达阈值量的时间(例如,用户移动并停止,但未返回到初始视点)时,用户界面对象在三维环境中移动,如参考图7E至图7H所述。在一些实施方案中,用户界面对象的移动速率比用户的视点的移动速率慢。在即使当用户的视角改变(例如,通过在用户在物理环境四处移动时改变用户的当前视点)时也相对于三维环境维持在相同大致位置中(例如,或者相对于三维环境锁定)的定位处自动地显示某些用户界面对象,在用户在物理环境四处移动时提供了实时视觉反馈,从而向用户提供改进的视觉反馈。
在一些实施方案中,在检测到用户的视点相对于物理环境的第一移动之后,根据确定第一移动满足时间阈值(例如,用户移动达至少时间阈值或者用户已移动并停留在第二视点中达时间阈值),计算机系统在三维环境中将第一用户界面对象移动到相对于用户的视点的相同定位(例如,与用户的视点的移动之前相同的定位),如上文参考图7H所述。在用户已在物理环境四处移动达比预定义时间量长的时间(例如,和/或已保持在三维环境内的不同定位中达预定义时间量)之后自动地将某些用户界面对象显示为在三维环境内移动,在用户在物理环境四处移动时提供了实时视觉反馈,从而向用户提供改进的视觉反馈。
在一些实施方案中,计算机系统接收用于在三维环境中重新定位(例如,锚定)第一用户界面对象的用户输入。在一些实施方案中,响应于接收到用于在三维环境中重新定位第一用户界面对象的输入,计算机系统根据该输入将第一用户界面对象重新定位到三维环境中的相应定位,例如,如上文参考图7J所述。在一些实施方案中,在根据该输入将第一用户界面对象重新定位到三维环境中的相应定位之后,计算机系统检测用于改变用户的视点的输入,并且响应于检测到用于改变用户的视点的输入,计算机系统根据用于改变用户的视点的输入来改变用户的视点,并且从用户的当前视点在三维环境中显示第一用户界面对象,包括:根据确定第一用户界面对象定位在第一预定义区内,在具有相对于三维环境中的对应于用户的视点在物理环境中的位置的第一锚定定位的第一空间关系的相应定位处显示第一用户界面对象(例如,并且当第一用户界面对象定位在第一预定义区内时,在检测到用户的视点相对于物理环境的移动之后在相应定位处显示第一用户界面对象),并且根据确定第一用户界面对象未定位在第一预定义区(例如,或多个预定义区中的任何预定义区)内,维持第一用户界面对象在三维环境中的不对应于用户的身体在物理环境中的位置的相同锚定定位处的显示。例如,如上文参考图7C至图7H所述,第一预定义区是在用户在物理环境中移动时跟随用户的视点的区。在一些实施方案中,第一预定义区以一定延迟跟随用户的视点(例如,第一预定义区以比用户的移动速率慢的速率移动)。例如,第一预定义区最初不随用户的视点移动,直到用户的视点已移动阈值量(例如,至少阈值量)和/或用户的视点已移动达阈值时间量(例如,达至少阈值时间量)为止。在一些实施方案中,第一预定义区在本文中称为缓慢跟随区。允许用户将某些用户界面对象锚定到区(其中放置在该区内的用户界面对象在三维环境中自动地跟随用户,即使当用户在物理环境四处移动时也是如此)并且将放置在该区中的用户界面对象与放置在该区之外的用户界面对象(其替代地被锚定到三维环境使得它们不在三维环境中自动地跟随用户)区别开,在用户在物理环境中移动时提供了实时视觉反馈,从而向用户提供改进的视觉反馈。
在一些实施方案中,第一预定义区选自三维环境中的多个预定义区,其中第一预定义区具有相对于三维环境中的对应于用户的视点的位置的第一锚定定位的第一空间关系,并且多个预定义区中的第二预定义区具有相对于三维环境中的对应于用户的视点的位置的第二锚定定位的第二空间关系(例如,与第一预定义区的第一空间关系不同)。例如,如参考图7J所述,用户能够将用户界面元素重新定位到多个预定义区中的任何预定义区,其中每个预定义区具有相对于用户的当前视点的不同空间布置。在一些实施方案中,放置在预定义区内的用户界面对象(例如,以缓慢跟随行为)跟随用户的视点的移动。在一些实施方案中,第一预定义区在用户对三维环境的当前视图中在相对于用户的第一定位处显示,其中该第一定位在用户的移动之前和之后维持,并且第二预定义区在用户对三维环境的当前视图中在相对于用户的第二定位处显示,其中该第二定位在用户的移动之前和之后维持。向用户提供用于改变要放置在三维环境内的多个区(每个区具有相对于用户的当前视图的不同定位)中的任何区内的某些用户界面对象的锚定的选项使用户容易地将某些用户界面对象放置在对于用户查看最舒适或方便的定位中,并且在用户选择放置用户界面对象的位置时以及在用户在物理环境中移动时提供了实时视觉反馈,从而向用户提供改进的视觉反馈。
在一些实施方案中,响应于检测到用户发起用于重新定位第一用户界面对象的用户输入,计算机系统显示第一预定义区的视觉指示,并且在检测到用于将第一用户界面对象重新定位到第一预定义区的用户输入时,维持第一预定义区的视觉指示的显示。在一些实施方案中,计算机系统任选地响应于不再检测到用于重新定位第一用户界面对象的用户输入(例如,响应于该用户输入的结束)而停止显示第一预定义区的视觉指示。在一些实施方案中,计算机系统显示多个预定义区中的每个预定义区的视觉指示。在一些实施方案中,计算机系统提供缓慢跟随区的轮廓,使得用户知道他们可放置(例如,拖放或扑落)第一用户界面对象使得第一用户界面对象将具有缓慢跟随行为的位置(例如,其中当第一用户界面对象位于缓慢跟随区中时,第一用户界面对象(例如,以一定延迟)跟随用户的视点)。例如,如参考图7J所述,计算机系统任选地提供预定义区的轮廓。自动地显示三维环境内的多个区(每个区具有相对于用户的当前视图的不同定位)的轮廓使用户容易地选择其中锚定某些用户界面对象使得当用户界面对象放置在区内时用户界面对象将在用户在物理环境中移动时跟随用户的区,并且允许用户更容易地确定将用户界面对象定位在三维环境内对于用户查看最舒适或方便的位置,从而向用户提供改进的视觉反馈。
在一些实施方案中,关于第一用户界面对象的注意力标准包括注视标准。例如,计算机系统使用一个或多个相机和/或其他传感器来确定用户是否正注视(例如,看着和/或关注)第一用户界面对象,如上文参考图7C所述。通过检测用户是否正注视某个用户界面对象自动地确定用户是否正关注用户界面对象并在用户正注视用户界面对象时在无需来自用户的附加输入的情况下自动地更新用户界面对象的显示,为用户提供了附加控制而无需用户浏览复杂菜单分级结构,从而在无需附加用户输入的情况下向用户提供改进的视觉反馈。
在一些实施方案中,关于第一用户界面对象的注意力标准包括用户的头部在物理环境中的定位的标准。例如,当用户的头部在物理环境内(例如,在位姿、取向和/或定位方面)移动时,计算机系统确定用户的头部相对于第一用户界面对象是否处于特定位姿、取向和/或定位,如上文参考图7C所述。通过检测用户的头部是否在特定定位处(诸如转向用户界面对象)自动地确定用户是否正关注某个用户界面对象并在用户的头部在特定定位处时在无需来自用户的附加输入的情况下自动地更新用户界面对象的显示,为用户提供了附加控制而无需用户浏览复杂菜单分级结构,从而在无需附加用户输入的情况下向用户提供改进的视觉反馈。
在一些实施方案中,计算机系统检测(例如,接收)指向在第一用户界面对象的至少一部分上显示的第一示能表示的捏合输入(例如,包括手部的两个或更多个手指彼此接触或彼此断开接触的移动的捏合输入)后跟执行该捏合输入的手部的移动,并且响应于该手部的移动而根据该手部的移动来改变第一用户界面对象的大小。例如,用户能够对第一用户界面对象进行大小调整,如参考图7J所述。在一些实施方案中,执行捏合输入的手部的移动是拖动手势(例如,捏合并拖动手势利用一只手部来执行)。例如,包括手部的两个或更多个手指彼此接触或彼此断开接触的移动的捏合手势结合(例如,后跟)将用户的手部的定位从第一定位(例如,拖动的开始定位)改变到第二定位(例如,拖动的结束定位)的拖动输入。在一些实施方案中,用户在执行拖动输入的同时保持捏合手势,并且释放捏合手势(例如,打开他们的两个或更多个手指)以结束拖动手势(例如,在第二位置处)。例如,捏合输入选择第一示能表示,并且第一示能表示一旦被选择,用户就能够将示能表示远离第一用户界面对象的中心部分拖动(例如,以增大第一用户界面对象的大小)和/或将示能表示朝向第一用户界面对象的中心部分拖动(例如,以减小第一用户界面对象的大小)。在一些实施方案中,第一示能表示在第一用户界面对象的角部上显示(例如,第一示能表示是大小调整示能表示)。在一些实施方案中,用户捏合第一示能表示(例如,以选择示能表示),并且利用捏合第一示能表示的同一手部将第一用户界面对象的角部从三维环境中的第一定位拖动到第二定位。例如,用户向外拖动示能表示以放大第一用户界面对象,或者向内拖动第一用户界面对象的角部以减小第一用户界面对象的大小。在一些实施方案中,手部的移动包括用户改变正执行捏合输入的两个或更多个手指之间的距离。例如,用户将用户的拇指和食指靠拢以致使用户界面对象的大小减小,并且用户打开捏合手势(例如,增加两个手指(例如,用户的拇指和食指)之间的距离)以致使用户界面对象的大小增大。在另一示例中,用户的整个手部的移动致使用户界面对象的大小增大或减小,这取决于用户的手部的移动方向。在一些实施方案中,捏合输入直接指向第一示能表示(例如,用户在对应于第一示能表示的定位处执行捏合输入),或者捏合输入间接指向第一示能表示(例如,用户在注视第一示能表示的同时执行捏合输入,其中在执行捏合输入时用户的手部的定位不在对应于第一示能表示的定位处)。例如,用户能够通过在第一示能表示处或附近(例如,在0.5cm、1cm、5cm内或介于0cm至5cm之间的距离内,如从第一示能表示的外边缘或第一示能表示的中心部分测量)发起手势来将用户的输入指向第一示能表示。在一些实施方案中,用户还能够通过关注第一示能表示(例如,注视第一示能表示)并且在关注第一示能表示的同时用户(例如,在可由计算机系统检测到的任何定位处)发起手势来将用户的输入指向第一示能表示。例如,如果用户正关注第一示能表示,则手势不需要在第一示能表示处或附近的定位处发起。通过允许用户执行捏合输入(诸如通过捏合用户界面对象的角部或者在注视用户界面对象的同时执行捏合输入)并且利用用户的同一手部相对于用户界面对象拖动用户的手部(例如,同时继续执行捏合输入)以放大或缩小对象的大小来自动地更新用户界面对象的大小为用户提供了附加控制而无需用户浏览复杂菜单分级结构,并且允许用户通过选择用户界面对象(例如,利用捏合输入)并将用户的手部拖动到三维环境中的不同定位以相应地改变大小来直观地对用户界面对象进行大小调整,从而向用户提供改进的视觉反馈。
在一些实施方案中,计算机系统接收(例如,检测)指向第一用户界面对象的利用第一手部的捏合输入和利用第二手部的捏合输入后跟第一手部和第二手部之间的距离的改变。在一些实施方案中,响应于第一手部和第二手部之间的距离的改变,计算机系统根据第一手部和第二手部之间的距离的改变来改变第一用户界面对象的大小。例如,用户执行为双手手势的输入(例如,捏合并拖动输入)。用户利用用户的第一手部捏合用户界面对象,并且(例如,在维持利用用户的第一手部的捏合输入的同时),用户利用用户的第二手部执行捏合输入并(例如,使用拖动输入)将用户的第二手部移动成更靠近用户的第一手部以减小用户界面对象的大小,并且将用户的第二手部移动成离用户的第一手部更远以增大用户界面对象的大小。在一些实施方案中,捏合并拖动输入还致使第一用户界面对象在三维环境内移动(例如,当第一用户界面对象被拖动到不同预定义区时,如参考图7J所述)。在一些实施方案中,利用第一手部执行的捏合输入直接指向第一用户界面对象(例如,用户在对应于第一用户界面对象的定位处执行捏合输入),或者捏合输入间接指向第一用户界面对象(例如,用户在注视第一用户界面对象的同时执行捏合输入,其中在执行捏合输入时用户的手部的定位不在对应于第一用户界面对象的定位处)。例如,用户能够通过在第一用户界面对象处或附近(例如,在0.5cm、1cm、5cm内或介于0cm至5cm之间的距离内,如从第一用户界面对象的外边缘或第一用户界面对象的中心部分测量)发起手势来将用户的输入指向第一用户界面对象。在一些实施方案中,用户还能够通过关注第一用户界面对象(例如,注视第一用户界面对象)并且在关注第一用户界面对象的同时用户(例如,在可由计算机系统检测到的任何定位处)发起手势来将用户的输入指向第一用户界面对象。例如,如果用户正关注第一用户界面对象,则手势不需要在第一用户界面对象处或附近的定位处发起。在一些实施方案中,利用第二手部的捏合输入也可被直接或间接检测(例如,捏合输入在第一用户界面对象处或附近的定位处发起,或者捏合输入在用户正关注第一用户界面对象时在任何定位处发起)。在一些实施方案中,在已检测到利用第一手部的捏合输入之后,在维持利用第一手部的捏合输入时在任何定位处检测利用第二手部的捏合输入。例如,当(例如,使用利用第一手部的捏合输入)选择第一用户界面对象时,在任何定位处检测第二手部的捏合输入(例如,不管用户是否正关注第一用户界面对象)。在一些实施方案中,用户(例如,使用手势的组合)并发地对第一用户界面对象进行大小调整以及在三维环境中重新定位(例如,移动)第一用户界面对象。例如,用户提供上文所述的捏合输入以对第一用户界面对象进行大小调整,同时提供拖动输入(例如,利用用户的第二手部)以重新定位用户界面对象(例如,通过将用户界面对象拖动到三维环境中的另一定位)。通过允许用户使用两只手部(每只手部选择(例如,捏合)用户界面对象的一部分诸如角部)并且在选择用户界面对象的部分时基于用户的两只手部之间的距离的改变对用户界面对象进行大小调整来自动地更新用户界面对象的大小为用户提供了附加控制而无需用户浏览复杂菜单分级结构,使得用户可直观地对用户界面对象进行大小调整,以通过增加用户的手部之间的距离来增大大小或者通过减少用户的手部之间的距离来减小大小,从而向用户提供改进的视觉反馈。
在一些实施方案中,相对于三维环境中的一个或多个其他对象去强调第一用户界面对象包括相对于三维环境中的一个或多个其他虚拟对象去强调第一用户界面对象。例如,包括应用程序(例如,应用程序窗口、应用程序对象)、用户界面对象(例如,示能表示和/或控件)、虚拟环境(例如,沉浸式体验)等的一个或多个虚拟对象不在视觉上被去强调(例如,保持未修改),而第一用户界面对象在视觉上被去强调,如参考图7D所述。通过在用户未关注某些用户界面对象时相对于其他显示虚拟内容在视觉上去强调某些用户界面对象来自动地更新某些用户界面对象的显示,在用户关注三维环境中的不同虚拟内容时提供了实时视觉反馈,从而向用户提供改进的视觉反馈。
在一些实施方案中,相对于三维环境中的一个或多个其他对象去强调第一用户界面对象包括相对于物理环境中的一个或多个物理对象的表示去强调第一用户界面对象。例如,物理环境中的一个或多个物理对象在三维环境中被显示为透传内容(例如,物理对象的表示7014')而不在视觉上被去强调,而第一用户界面对象7104-2在视觉上被去强调,如参考图7D所述。通过在用户未关注某些用户界面对象时相对于在三维环境内显示的来自物理环境的其他真实世界内容在视觉上去强调某些用户界面对象来自动地更新某些用户界面对象的显示,在用户关注在三维环境中显示的真实内容和/或虚拟内容时提供了实时视觉反馈,从而向用户提供改进的视觉反馈。
在一些实施方案中,第一用户界面对象包括多个可选择用户界面对象。例如,如参考图7I所述,用户能够与在用户界面对象7104-7内显示的一个或多个可选择用户界面对象进行交互。在一些实施方案中,可选择用户界面对象是可使用注视和/或空中手势来选择的示能表示。在一些实施方案中,第一用户界面对象包括具有多个可选择对象的面板(例如,菜单)。在一些实施方案中,来自多个可选择用户界面对象的第一可选择用户界面对象是应用程序图标,并且响应于用户选择应用程序图标,计算机系统打开(例如,启动)对应于该应用程序图标的应用程序的应用程序窗口。在一些实施方案中,来自多个可选择用户界面对象的第一可选择用户界面对象是用于调整三维环境的设置(例如,音量水平、亮度水平和/或沉浸水平)的控件,并且响应于用户选择用于调整三维环境的设置的控件,计算机系统根据用户选择来调整设置。自动地显示用户可通过注视和/或执行指向多个控件的手势选择的多个控件为用户提供了由用户在所显示的用户界面对象(例如,即使当用户在物理环境中移动时也跟随用户)内容易地访问的附加控制而无需用户浏览复杂菜单分级结构,从而在无需附加用户输入的情况下向用户提供改进的视觉反馈。
在一些实施方案中,计算机系统显示用于控制三维环境的沉浸水平的一个或多个用户界面对象,并且响应于指向一个或多个用户界面对象中的用于增加三维环境的沉浸水平的第一用户界面对象的用户输入,在三维环境中显示附加虚拟内容(例如,并且任选地停止透传内容的显示)。在一些实施方案中,响应于检测到指向一个或多个用户界面对象中的用于减少三维环境的沉浸水平的第二用户界面对象的用户输入,计算机系统显示对应于物理环境的附加内容(例如,并且任选地停止虚拟内容(例如,一个或多个虚拟对象)的显示)。例如,用户能够控制在三维环境中显示多少物理环境作为透传内容(例如,在完全沉浸式体验期间,没有物理环境被显示(例如,在三维环境中表示))。在一些实施方案中,参考图7I所述的一个或多个用户界面对象包括用于播放和/或暂停三维环境中的沉浸式体验的控件。在一些实施方案中,一个或多个用户界面对象在第一用户界面对象内(例如,在缓慢跟随区中)显示,使得一个或多个用户界面对象在用户在物理环境四处移动时跟随用户。自动地显示允许用户相对于物理环境控制三维环境的沉浸式体验的多个控件为用户提供了附加控制而无需用户浏览复杂菜单分级结构,使得用户可容易地控制在三维环境中显示多少来自物理环境的内容,并且在用户请求改变三维环境中的沉浸水平时向用户提供了实时视觉反馈,从而在无需附加用户输入的情况下向用户提供改进的视觉反馈。
在一些实施方案中,相对于三维环境中的一个或多个其他对象去强调第一用户界面对象的量(例如,至少部分地)基于用户的所检测到的注视和第一用户界面对象之间的角度。例如,当用户的视点在用户的正前方时,该角度被定义为“0”,并且当用户的视点相对于第一用户界面对象(向左、向右、向上或向下)移动时,该角度随用户的视点远离第一用户界面对象移动而增大。例如,当用户的注视跟踪离第一用户界面对象越远时,第一用户界面对象就越淡化/模糊。在一些实施方案中,第一用户界面对象的去强调量与用户的视点和第一用户界面对象之间的角度的改变量(例如,线性地或以其他方式)成比例(例如,当用户的视点增加角度时,去强调增加)。通过基于用户的当前视图和用户界面对象之间的感知角度以变化的量在视觉上去强调某些用户界面对象以使得当用户的当前视图角度离用户界面对象越远时用户界面对象看起来就越不清晰来自动地更新某些用户界面对象的显示,在用户对三维环境的当前视图改变时提供了实时视觉反馈,并且向用户提供了对用户相对于用户界面对象的移动的更深入认识,从而向用户提供改进的视觉反馈。
在一些实施方案中,相对于三维环境中的一个或多个其他对象去强调第一用户界面对象的量(例如,至少部分地)基于用户的视点的第一移动的速率。例如,用户的视点移动得越快(例如,头部的快速转动),导致对第一用户界面对象的去强调就越多。在一些实施方案中,第一用户界面对象的去强调量与用户的视点的移动速率和/或移动方向(例如,线性地或非线性地)成比例(例如,更快的移动导致更多的去强调、更慢的移动导致更少的去强调,如上文参考图7D至图7G所述)。通过基于用户在物理环境中移动的快速程度在视觉上去强调某些用户界面对象以使得用户在物理环境中移动得越快则对象看起来就越淡化来自动地更新某些用户界面对象的显示,在用户在三维环境中以不同速度移动时提供了实时视觉反馈,从而向用户提供改进的视觉反馈。
在一些实施方案中,第一用户界面对象根据用户的移动来在三维环境内移动。例如,第一用户界面对象被锚定到相对于用户的视点的定位,使得当用户移动时,第一用户界面对象看起来在相对于用户的视点的相同定位中,如参考图7C和图7H所述。在用户在物理环境中移动时自动地移动三维环境中的某些用户界面对象以跟随用户的当前视点,同时维持某些用户界面对象和用户的视点之间的相同相对空间关系,在用户在物理环境四处移动时提供了实时视觉反馈,并且在方便的定位处显示用户界面对象,使得即使当用户在物理环境中移动时,用户也能够查看用户界面对象并且与其进行交互,从而向用户提供改进的视觉反馈。
在一些实施方案中,紧接在用户的视点相对于物理环境的第一移动之前和之后,第一用户界面对象在三维环境中的相应特征定位具有相对于三维环境中的对应于用户的视点在物理环境中的位置的第一锚定定位的第一空间关系。例如,如参考图7C所述,用户界面对象7104-1在用户移动(图7E至图7G中)之前在相应特征定位(例如,相对于用户的视点)处显示,并且在与图7H中的用户界面对象7104-6相同的相应特征定位处重新显示(例如,在用户已停止在物理环境中移动之后)。即使当用户在物理环境中移动并改变用户的视点时也自动地将三维环境中的某些用户界面对象维持在相对于用户的当前视点的相同定位处,在用户在物理环境四处移动时提供了实时视觉反馈,使得即使当用户在物理环境中移动时,用户也能够查看用户界面对象并且与其进行交互,从而向用户提供改进的视觉反馈。
应当理解,对图8中的操作进行描述的具体次序仅仅是示例,并非旨在表明所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出,本文相对于本文所述的其他方法(例如,方法900)描述的其他过程的细节同样以类似的方式适用于上文相对于图8描述的方法800。例如,上文参考方法800所述的手势、输入、物理对象、用户界面对象、移动、标准、三维环境、显示生成部件、物理对象的表示、虚拟对象和/或动画任选地具有本文参考本文所述的其他方法(例如,方法900)所述的手势、输入、物理对象、用户界面对象、移动、标准、三维环境、显示生成部件、物理对象的表示、虚拟对象和/或动画的特征中的一个或多个特征。为了简明起见,此处不再重复这些细节。
图9是根据一些实施方案的在用户改变用户对三维环境的当前视图时更新三维环境中的用户界面元素的显示以跟随用户的方法900的流程图。
在一些实施方案中,方法900在计算机系统(例如,图1中的计算机系统101)处执行,该计算机系统包括第一显示生成部件(例如,图1、图3和图4中的显示生成部件120)(例如,平视显示器、显示器、触摸屏和/或投影仪)和一个或多个输入设备,诸如一个或多个传感器(例如,向下指向用户的手部的相机(例如,颜色传感器、红外传感器和其他深度感测相机)或从用户的头部向前指向的相机)。在一些实施方案中,方法900通过存储在非暂态计算机可读存储介质中并由计算机系统的一个或多个处理器诸如计算机系统101的一个或多个处理器202(例如,图1A中的控制单元110)执行的指令来管理。方法900中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
在一些实施方案中,计算机系统与第一显示生成部件(例如,第一显示生成部件是平视显示器、头戴式显示器(HMD)、显示器、触摸屏和/或投影仪)和一个或多个输入设备(例如,相机、控制器、触敏表面、操纵杆、按钮、手套、手表、运动传感器和/或取向传感器)通信。在一些实施方案中,第一显示生成部件是相对于图7A至图7J所述的第一显示生成部件7100。在一些实施方案中,计算机系统是集成设备,该集成设备具有封闭在与第一显示生成部件相同的外壳中的一个或多个处理器和存储器以及一个或多个输入设备中的至少一些输入设备。在一些实施方案中,计算机系统包括计算部件(例如,服务器、移动电子设备诸如智能电话或平板设备、可穿戴设备诸如手表、腕带或听筒、台式计算机和/或膝上型计算机),该计算部件包括一个或多个处理器和与第一显示生成部件和/或一个或多个输入设备分开的存储器。在一些实施方案中,第一显示生成部件以及一个或多个输入设备被集成并包围在相同外壳中。根据一些实施方案,相对于图7A至图7J描述了方法900的特征中的许多特征。
方法900涉及在三维环境中显示用户界面元素的计算机系统,其中在用户(例如,通过在物理环境四处移动)改变用户对三维环境的当前视图时更新用户界面元素的显示以跟随用户。用户界面元素最初不在用户的视图改变时移动,直到用户的视图已改变多于阈值量为止。在用户的视图已改变多于阈值量之后,用户界面元素跟随用户(例如,被延迟跟随和/或以比用户的移动慢的移动速率跟随用户)。在用户的当前视点根据用户在物理环境中移动而改变时自动地改变用户界面对象的显示位置以跟随用户,在用户在物理环境四处移动时提供了实时视觉反馈。为用户提供改进的视觉反馈增强了该系统的可操作性并且使用户-系统界面更有效(例如,通过帮助用户提供合适的输入并且减少操作该系统/与该系统进行交互时的用户错误),这又通过使用户能够更快速且有效地使用该系统而减少了电力使用并且延长了该系统的电池寿命。
计算机系统经由第一显示生成部件在三维环境的第一视图中在三维环境中的第一定位处并且以相对于用户的相应部分(例如,相对于用户对三维环境的当前视点)的第一空间布置显示(902)第一用户界面对象。例如,如参考图7C所述,用户界面对象7104-1最初以相对于用户在物理环境中的当前定位的第一空间布置来显示。
在显示第一用户界面对象时,计算机系统经由一个或多个输入设备检测(904)用户的视点从物理环境中的第一位置到第二位置的移动。例如,用户的位置任选地包括与用户在物理环境中的三维定位(例如,坐标)相关的信息和与用户在物理环境中的位姿和/或取向相关的信息。在一些实施方案中,检测用户的视点的移动包括检测躯干在物理环境内的移动(例如,其中第一用户界面对象被维持在相对于用户的身体的相同大致定位处)。例如,如参考图7E至图7G所述,用户在物理环境中移动,这致使用户对三维环境的当前视图改变。
响应于检测到用户的视点从第一位置到第二位置的移动(906),根据确定用户的视点从第一位置到第二位置的移动不满足阈值移动量(例如,用户的角度(取向)的阈值改变量和/或阈值距离量),计算机系统维持第一用户界面对象在三维环境中的第一定位处的显示(908)(例如,即使第一用户界面不再具有相对于用户的相应部分的第一空间布置也是如此)。例如,如图7E所示,当用户最初在物理环境中移动(例如,但不满足阈值移动量)时,用户界面对象7104-3保持锚定(例如,锁定)到三维环境中的相同定位。
响应于检测到用户的视点从第一位置到第二位置的移动(906),根据确定用户的视点从第一位置到第二位置的移动满足(910)阈值移动量,计算机系统停止(912)在三维环境中的第一定位处显示第一用户界面对象,并且在三维环境中的第二定位处显示(914)第一用户界面对象,其中三维环境中的第二定位具有相对于用户的相应部分的第一空间布置。例如,用户界面对象的定位在三维环境内改变(例如,用户界面对象未被锚定到三维环境内的定位),但在用户已移动至少阈值量之后保持在相对于用户的相同相对定位处。例如,如参考图7C和图7H所述,在图7H中满足阈值移动量之后,恢复第一用户界面对象相对于用户的默认定位(例如,图7C所示)。
在一些实施方案中,在维持第一用户界面对象在三维环境中的第一定位处的显示(例如,其中第一定位是三维环境中的固定定位)时,计算机系统检测用户的视点的移动满足阈值移动量。在一些实施方案中,响应于用户的视点的移动满足阈值移动量,计算机系统将第一用户界面对象从三维环境中的第一定位移动到第二定位(例如,对该移动进行动画化)。例如,如参考图7D所述,最初,用户移动小于阈值移动量,并且在用户满足阈值移动量(例如,如图7H所示)之前,用户界面对象被维持在固定在物理环境中的相同第一定位处;然后(例如,根据确定移动量满足阈值移动量),计算机系统将用户界面对象移动到三维环境中的第二定位。在用户已移动超过阈值量之后显示用户界面对象随用户移动之前,即使当用户在物理环境四处移动时也自动地在最初相对于三维环境锁定的定位处显示用户界面对象,在用户在物理环境四处移动时提供了实时视觉反馈,使得用户界面对象被维持为离用户小于阈值距离(例如,因为在用户已远离用户界面对象的初始定位移动至少阈值量之后和/或在用户的视点已改变阈值量之后,用户界面对象将跟随用户),从而向用户提供改进的视觉反馈。
在一些实施方案中,当在三维环境中的第二定位处显示第一用户界面对象时,计算机系统经由一个或多个输入设备检测用户的视点从物理环境中的第二位置到第三位置的移动。在一些实施方案中,响应于检测到用户的视点从第二位置到第三位置的移动,根据确定用户的视点从第二位置到第三位置的移动不满足第二阈值移动量(例如,与从第一位置到第二位置相同和/或不同的阈值移动量),计算机系统维持第一用户界面对象在三维环境中的第二定位处的显示(例如,即使第一用户界面不再具有相对于用户的相应部分的第一空间布置也是如此)。在一些实施方案中,根据确定用户的视点从第二位置到第三位置的移动满足第二阈值移动量,计算机系统停止在三维环境中的第二定位处显示第一用户界面对象,并且在三维环境中的第三定位处显示第一用户界面对象,其中三维环境中的第三定位具有相对于用户的相应部分的第一空间布置(例如,在第三位置处)。例如,即使当用户随后在物理环境中移动(例如,或者继续移动,连续地或偶尔地)时,用户界面对象也继续具有参考图7D至图7H所述的缓慢跟随行为。在用户的当前视点根据用户在物理环境中移动而改变时自动地改变用户界面对象的显示位置以跟随用户在用户在物理环境四处移动时提供了实时视觉反馈。
在一些实施方案中,当将第一用户界面对象从三维环境中的第一定位移动到第二定位时,计算机系统相对于三维环境中的一个或多个其他对象在视觉上去强调第一用户界面对象。例如,如图7E至图7G所示,当用户正移动时,用户界面对象7104-3至7104-5在三维环境中在视觉上被去强调。通过在用户正在物理环境四处移动时相对于其他显示内容在视觉上去强调某些用户界面对象来自动地更新某些用户界面对象的显示,在用户在三维环境四处移动时提供了实时视觉反馈并且通过在用户正移动(并且不与用户界面对象进行交互)时以较少的突显性显示用户界面对象减少了用户的视觉负荷量(例如,或分心水平),从而向用户提供改进的视觉反馈。
在一些实施方案中,在视觉上去强调第一用户界面对象包括以减少的不透明度显示第一用户界面对象,如上文参考图7D至图7E所述。例如,当在视觉上去强调第一用户界面对象时(例如,当用户正移动时),第一用户界面对象相对于在三维环境中显示的其他对象看起来更加半透明(例如,淡化)。通过在用户正在物理环境四处移动时相对于其他显示内容减少某些用户界面对象的不透明度来自动地更新某些用户界面对象的显示,在用户在三维环境四处移动时提供了实时视觉反馈并且通过在用户正移动(例如,并且不与用户界面对象进行交互)时以较少的突显性显示用户界面对象减少了用户的视觉负荷量(例如,或分心水平),从而向用户提供改进的视觉反馈。
在一些实施方案中,在视觉上去强调第一用户界面对象包括以模糊的视觉效果显示第一用户界面对象,如上文参考图7D至图7E所述。例如,第一用户界面对象相对于在三维环境中显示的其他对象看起来模糊(例如,当用户正移动时)。通过在用户正在物理环境四处移动时相对于其他显示内容模糊某些用户界面对象来自动地更新某些用户界面对象的显示,在用户在三维环境四处移动时提供了实时视觉反馈并且通过在用户正移动(例如,并且不与用户界面对象进行交互)时以较少的突显性显示用户界面对象减少了用户的视觉负荷量(例如,或分心水平),从而向用户提供改进的视觉反馈。
在一些实施方案中,根据确定用户不满足关于第一用户界面对象的注意力标准,计算机系统相对于三维环境中的一个或多个其他对象在视觉上去强调第一用户界面对象,如参考图7D所述。通过在用户未关注某些用户界面对象时相对于其他显示内容在视觉上去强调某些用户界面对象来自动地更新某些用户界面对象的显示,在用户关注三维环境中的不同虚拟内容时提供了实时视觉反馈并且通过在用户未关注用户界面对象时相对于其他内容以较少的突显性显示用户界面对象减少了用户的视觉负荷量(例如,或分心水平),从而向用户提供改进的视觉反馈。
在一些实施方案中,关于第一用户界面对象的注意力标准包括注视标准,如上文参考图7D所述。例如,根据确定用户已注视(例如,看着)第一用户界面对象达至少阈值时间量,用户满足注视标准。通过检测用户是否正注视某个用户界面对象自动地确定用户是否正关注用户界面对象并在用户正注视用户界面对象时在无需来自用户的附加输入的情况下自动地更新用户界面对象的显示,为用户提供了附加控制而无需用户浏览复杂菜单分级结构,从而在无需附加用户输入的情况下向用户提供改进的视觉反馈。
在一些实施方案中,关于第一用户界面对象的注意力标准包括用户的头部在物理环境中的定位的标准,如上文参考图7D所述。例如,根据确定用户的当前头部定位与预定义头部定位匹配和/或用户的头部定位已保持在预定义头部定位处达至少阈值时间量,满足用户的头部的定位的标准。通过检测用户的头部是否在特定定位处(诸如转向用户界面对象)自动地确定用户是否正关注某个用户界面对象并在用户的头部在特定定位处时在无需来自用户的附加输入的情况下自动地更新用户界面对象的显示,为用户提供了附加控制而无需用户浏览复杂菜单分级结构,从而在无需附加用户输入的情况下向用户提供改进的视觉反馈。
在一些实施方案中,第一用户界面对象的视觉去强调量(例如,至少部分地)基于用户的视点的移动速率。例如,当用户在物理环境内更快地移动时,第一用户界面对象看起来淡化(例如,以减少的不透明度显示)和/或看起来更加模糊。在一些实施方案中,视觉去强调是逐渐的(例如,第一用户界面对象在一定时间段内看起来更加淡化),使得当用户移动达更长的时间段时,视觉去强调量增加。在一些实施方案中,在逐渐去强调期间视觉去强调量的速率基于用户的视点的移动速率(例如,视觉去强调量的速率与用户的移动速率成比例)。例如,用户的视点的移动速率增加导致淡化量和/或模糊量增加。通过在用户在物理环境四处移动时相对于其他显示内容以基于用户的移动的速度确定的视觉去强调量在视觉上去强调某些用户界面对象以使得用户移动得越快则某些用户界面对象看起来就去强调得越多来自动地更新某些用户界面对象的显示,在用户以不同速度在三维环境中四处移动时提供了实时视觉反馈,从而向用户提供改进的视觉反馈。
在一些实施方案中,当显示第一用户界面对象时,计算机系统在三维环境的第一视图中的第四定位处显示第二用户界面对象(例如,虚拟对象、应用程序或物理对象的表示诸如物理对象的表示7014'),该第四定位具有相对于三维环境内的位置的第二空间布置。例如,第二用户界面对象被锚定到三维环境的对象或一部分,使得第二用户界面对象在用户的视点移动时不移动(例如,被维持在三维环境内的相同定位处)。在即使当用户在三维环境四处移动时也相对于三维环境锁定的定位处自动地显示一个或多个用户界面对象,而不锁定在用户移动时跟随用户的某些其他用户界面对象,在用户在物理环境四处移动时提供了实时视觉反馈,使得用户知道锁定的用户界面元素相对于三维环境位于三维环境内何处,并且使得用户能够通过返回到三维环境中的锚定位置来查看锁定的用户界面元素或与其进行交互,从而向用户提供改进的视觉反馈。
在一些实施方案中,当显示第一用户界面对象时,计算机系统在三维环境的第一视图中的第五定位处显示第三用户界面对象,该第三用户界面对象具有相对于用户的相应部分(例如,相对于用户的身体的一部分(例如,头部、躯干)或相对于用户的视点)的第三空间布置。例如,第三用户界面对象被锚定到用户的手部,使得当用户在物理环境中移动时,第三用户界面对象在被锚定到用户的手部的定位处显示(例如,响应于用户抬升用户的手部以位于用户对三维环境的当前视图内而显示)。在即使当用户在三维环境四处移动时也相对于用户的身体的一部分维持在相同大致位置中(例如,或者相对于用户的身体的一部分锁定)的定位处自动地显示一个或多个用户界面对象,而在用户移动时不将某些其他用户界面对象锁定到用户的身体部分,在用户在物理环境四处移动时提供了实时视觉反馈,从而向用户提供改进的视觉反馈。
在一些实施方案中,响应于检测到用于将第一用户界面对象重新定位到三维环境中的第六定位的用户输入,计算机系统将第一用户界面对象移动到三维环境中的第六定位,该第六定位具有相对于用户的相应部分的第四空间布置,并且该计算机系统针对第一用户界面对象将第一用户界面对象的相对于用户的相应部分的第一空间布置更新为相对于用户的相应部分的第四空间布置。例如,如参考图7J所述,第一用户界面对象7104-8放置在(例如,重新定位并锚定到)具有相对于用户的不同空间布置的不同区中(例如,而不是相对于用户(例如,用户的躯干、用户的头部、用户的视点)(例如,在其正前方)以第一距离和第一角度定位),新区位于左手边角中,以与用户的部分成不同的角度和/或相距不同的距离限定(例如,第四空间布置)。在一些实施方案中,在将第一用户界面对象更新为具有第四空间布置之后,响应于用户的视点的移动满足阈值移动量,第一用户界面对象以相对于用户的相应部分的第四空间布置来维持(例如,并且继续具有上文所述的缓慢跟随行为)。允许用户将某些用户界面对象的锚定定位改变为具有相对于用户的当前视图的不同空间关系以使得即使当用户的当前视图改变时,某些用户界面对象也被维持在相对于用户的当前视图的相同定位处,在用户在物理环境中移动时提供了实时视觉反馈,并且使用户容易地将某些用户界面对象放置在对于用户查看最舒适或方便的定位处,从而向用户提供改进的视觉反馈。
在一些实施方案中,三维环境中的第六定位在距用户的预定义距离内,并且响应于检测到用于将第一用户界面对象重新定位到三维环境中的第七定位的用户输入,三维环境中的第七定位超出距用户的预定义距离,计算机系统将第一用户界面对象移动到第七定位,其中在第七定位处,第一用户界面对象被锚定到三维环境的一部分。例如,用户能够将第一用户界面对象放置在三维空间中预定义区中的任何预定义区之外的定位处。在一些实施方案中,根据确定用户已将第一用户界面对象放置在三维环境中的定位处(例如,第七定位处)使得第一用户界面对象被锚定到三维环境(例如,并且其定位与用户的当前视点无关,使得当用户移动用户对三维环境的当前视点时,第一用户界面对象不维持相对于用户的相应部分的相应空间关系),第一用户界面对象不再具有缓慢跟随行为。在一些实施方案中,响应于用户将第一用户界面对象放置在距用户的预定义距离之外(例如,在用户的手臂可及范围之外)的第七定位处,显示文本指示以指示第一用户界面对象在该对象放置在第七定位处时将不具有缓慢跟随行为。在一些实施方案中,第六定位不能在超出预定义距离的距离处。例如,第六定位在用户的手臂可及范围内(例如,预定义区在用户的手臂可及范围内),以使用户界面对象在该用户界面对象放置在第六定位处时继续具有缓慢跟随行为。自动地向用户提供用于将某些用户界面对象的在距用户的预定义距离内(例如,手臂可及范围内)的锚定点改变为具有相对于用户的当前视图的不同空间关系的选项,同时允许用户将其他用户界面对象定位(例如,或重新定位)到被锚定到三维环境的定位(例如,超出预定义距离),允许用户将对象放置在对于用户最舒适或方便的区域中,并且在用户在物理环境中移动时提供了实时视觉反馈,从而向用户提供改进的视觉反馈。
在一些实施方案中,在检测到用于将第一用户界面对象重新定位到三维环境中的第八定位的用户输入时,计算机系统显示一个或多个预定义区的视觉指示。在一些实施方案中,根据确定第八定位在一个或多个预定义区中的预定义区内,该第八定位具有相对于用户的相应部分的第五空间布置,响应于检测到用户的视点的移动,计算机系统在三维环境中的第九定位处显示第一用户界面对象,该第九定位具有相对于用户的相应部分的第五空间布置。在一些实施方案中,根据确定第八定位不在一个或多个预定义区中的预定义区内,响应于检测到用户的视点的移动,计算机系统维持第一用户界面对象在三维环境中的第八定位处的显示。例如,如参考图7J所述,如果用户将第一用户界面对象重新定位在预定义区之外,则第一用户界面对象不再具有缓慢跟随行为(例如,用户界面对象变成锚定到三维环境,并且不再将第一用户界面对象维持为具有相对于用户的相应部分的第一空间布置)。例如,当用户的视点移动时,放置在预定义区中的任何预定义区之外的用户界面对象将不跟随用户的视点(例如,放置在预定义区之外的用户界面对象被锚定到三维环境)。在一些实施方案中,如参考图7J所述,计算机系统显示预定义区(例如,缓慢跟随区)的轮廓(例如,或其他视觉指示)。在一些实施方案中,当用户的视点移动时,放置在预定义区中的任何预定义区中的用户界面对象将跟随用户的视点。在一些实施方案中,预定义区的视觉指示在用户正移动第一用户界面对象时显示(例如,响应于用户发起用于重新定位第一用户界面对象的手势)。自动地显示三维环境内的多个区(每个区具有相对于用户的当前视图的不同定位)的轮廓使用户容易地选择其中锚定某些用户界面对象使得当用户界面对象放置在区内时用户界面对象将在用户在物理环境中移动时跟随用户的区,并且允许用户更容易地确定将用户界面对象定位在三维环境内对于用户查看最舒适或方便的位置,从而向用户提供改进的视觉反馈。
在一些实施方案中,响应于检测到用于将第一用户界面对象重新定位到第六定位的用户输入,第一用户界面对象迅速移动到三维环境中的第六定位。例如,如参考图7J所述,将用户界面对象迅速移动到第六定位包括:在检测到用于将第一用户界面对象重新定位到第六定位的用户输入时,根据确定第一用户界面对象在距第六定位的预定义阈值距离内移动,自动地将用户界面对象移动到第六定位(例如,而无需用户继续将第一用户界面对象朝向第六定位拖动)。在一些实施方案中,响应于用于将第一用户界面对象从第六定位(例如,从预定义区)移出的用户输入,第一用户界面对象保持在第六定位处显示,直到用户输入远离第六定位移动多于阈值移动量为止。在一些实施方案中,响应于第一用户界面对象迅速移动到第六定位,(例如,在第六定位处显示第一用户界面对象时并发地)提供触觉和/或听觉指示。例如,用户输入是包括手部的两个或更多个手指彼此接触或彼此断开接触的移动的捏合手势(例如,或捏合并拖动手势)(例如,并且任选地结合(例如,后跟)将用户的手部的定位从第一定位(例如,拖动的开始定位)改变到第二定位(例如,拖动的结束定位)的拖动输入)。在一些实施方案中,用户在执行拖动输入的同时保持捏合手势,并且释放捏合手势(例如,打开他们的两个或更多个手指)以结束拖动手势(例如,在第二位置处)。例如,捏合输入选择第一用户界面对象,并且第一用户界面对象一旦被选择,用户就能够拖动第一用户界面对象以将第一用户界面对象重新定位到第六定位(例如,或者重新定位到第六定位附近,之后将用户界面对象迅速移动到第六定位)。在一些实施方案中,捏合输入直接指向第一用户界面对象(例如,用户在对应于第一用户界面对象的定位处执行捏合输入),或者捏合输入间接指向第一用户界面对象(例如,用户在注视第一示能表示的同时执行捏合输入,其中在执行捏合输入时用户的手部的定位不在对应于第一用户界面对象的定位处)。例如,用户能够通过在第一用户界面对象处或附近(例如,在0.5cm、1cm、5cm内或介于0cm至5cm之间的距离内,如从第一用户界面对象的外边缘或第一用户界面对象的中心部分测量)发起手势来将用户的输入指向第一用户界面对象。在一些实施方案中,用户还能够通过关注第一用户界面对象(例如,注视第一用户界面对象)并且在关注第一用户界面对象的同时用户(例如,在可由计算机系统检测到的任何定位处)发起手势来将用户的输入指向第一用户界面对象。例如,如果用户正关注第一用户界面对象,则手势不需要在第一用户界面对象处或附近的定位处发起(例如,用户在注视第一用户界面对象的同时执行拖动手势)。响应于用户将用户界面对象重新定位在捕捉定位的预定义距离内以使得用户界面对象移动到预定义捕捉定位中来自动地捕捉用户界面对象,而无需用户将用户界面对象精确地对准在捕捉定位之上,在用户重新定位用户界面对象时向用户提供了实时视觉反馈,并且提供确认用户界面对象已成功地重新定位到捕捉定位中的视觉指示,从而向用户提供改进的视觉反馈。
在一些实施方案中,计算机系统显示用于控制三维环境的沉浸水平的一个或多个用户界面对象。在一些实施方案中,响应于指向一个或多个用户界面对象中的第一用户界面对象的用于增加三维环境的沉浸水平的用户输入,计算机系统在三维环境中显示附加虚拟内容(例如,并且任选地停止或减少透传内容的显示)。在一些实施方案中,响应于检测到指向一个或多个用户界面对象中的用于减少三维环境的沉浸水平的第二用户界面对象的用户输入,计算机系统显示对应于物理环境的附加内容(例如,显示附加透传内容,并且任选地停止或减少虚拟内容(例如,一个或多个虚拟对象)的显示)。在一些实施方案中,一个或多个用户界面对象包括用于播放和/或暂停三维环境中的沉浸式体验的控件。例如,用户能够控制在三维环境中显示多少物理环境作为透传内容(例如,在完全沉浸式体验期间,没有物理环境被显示(例如,或以其他方式在三维环境中表示))。例如,用户输入是轻击输入(例如,空中手势或捏合手势),该轻击输入任选地是拇指在用户的手部的食指之上(例如,在食指的与拇指相邻的一侧之上)的轻击输入。在一些实施方案中,在不需要将拇指从食指的该侧面抬起的情况下检测轻击输入。例如,用户执行指向第一用户界面对象的轻击输入以增加三维环境的沉浸水平。在一些实施方案中,用户输入直接指向第一用户界面对象(例如,用户在对应于第一用户界面对象的定位处执行轻击输入),或者用户输入间接指向第一用户界面对象(例如,用户在注视第一示能表示的同时执行轻击输入,其中在执行轻击输入时用户的手部的定位不在对应于第一用户界面对象的定位处)。例如,用户能够通过在第一用户界面对象处或附近(例如,在0.5cm、1cm、5cm内或介于0cm至5cm之间的距离内,如从第一用户界面对象的外边缘或第一用户界面对象的中心部分测量)发起手势来将用户的输入指向第一用户界面对象。在一些实施方案中,用户还能够通过关注第一用户界面对象(例如,注视第一用户界面对象)并且在关注第一用户界面对象的同时用户(例如,在可由计算机系统检测到的任何定位处)发起手势来将用户的输入指向第一用户界面对象。例如,如果用户正关注第一用户界面对象,则手势不需要在第一用户界面对象处或附近的定位处发起。自动地显示允许用户相对于物理环境控制三维环境的沉浸式体验的多个控件为用户提供了附加控制而无需用户浏览复杂菜单分级结构,使得用户可容易地控制在三维环境中显示多少来自物理环境的内容,并且在用户请求改变三维环境中的沉浸水平时向用户提供了实时视觉反馈,从而在无需附加用户输入的情况下向用户提供改进的视觉反馈。
在一些实施方案中,计算机系统显示用于控制三维环境中的体验的一个或多个用户界面对象。在一些实施方案中,响应于指向一个或多个用户界面对象中的第一用户界面对象的用户输入,计算机系统在三维环境中执行改变内容(例如,播放或暂停第一内容)的第一操作。在一些实施方案中,响应于检测到指向一个或多个用户界面对象中的第二用户界面对象的用户输入,计算机系统在三维环境中执行与第一操作不同的第二操作(例如,暂停或播放第二内容)。在一些实施方案中,一个或多个用户界面对象包括用于播放和/或暂停三维环境中的沉浸式体验的控件。例如,计算机系统响应于用户选择第一用户界面对象而向三维环境显示第一类型的虚拟壁纸(对应于第一类型的虚拟体验)。响应于用户选择第二用户界面对象,计算机系统以虚拟照明效果显示三维环境。例如,用户输入是轻击输入(例如,空中手势或捏合手势),该轻击输入任选地是拇指在用户的手部的食指之上(例如,在食指的与拇指相邻的一侧之上)的轻击输入。在一些实施方案中,在不需要将拇指从食指的该侧面抬起的情况下检测轻击输入。例如,用户执行指向第一用户界面对象的轻击输入以播放(例如,或暂停)在三维环境中显示的虚拟内容。在一些实施方案中,用户输入直接指向第一用户界面对象(例如,用户在对应于第一用户界面对象的定位处执行轻击手势),或者用户输入间接指向第一用户界面对象(例如,用户在注视第一示能表示的同时执行轻击输入,其中在执行轻击输入时用户的手部的定位不在对应于第一用户界面对象的定位处)。例如,用户能够通过在第一用户界面对象处或附近(例如,在0.5cm、1cm、5cm内或介于0cm至5cm之间的距离内,如从第一用户界面对象的外边缘或第一用户界面对象的中心部分测量)发起手势来将用户的输入指向第一用户界面对象。在一些实施方案中,用户还能够通过关注第一用户界面对象(例如,注视第一用户界面对象)并且在关注第一用户界面对象的同时用户(例如,在可由计算机系统检测到的任何定位处)发起手势来将用户的输入指向第一用户界面对象。例如,如果用户正关注第一用户界面对象,则手势不需要在第一用户界面对象处或附近的定位处发起。因此,用户界面对象对应于用于改变(例如,显示或停止显示)三维环境中的虚拟体验的各种虚拟内容的控件。在一些实施方案中,响应于选择播放控件用户界面对象,显示虚拟体验的虚拟内容,并且响应于选择暂停控件用户界面对象,停止显示虚拟体验的虚拟内容。自动地显示允许用户相对于物理环境控制三维环境的沉浸式体验的多个控件为用户提供了附加控制而无需用户浏览复杂菜单分级结构,使得用户可容易地控制在三维环境中显示多少来自物理环境的内容,并且在用户请求改变三维环境中的沉浸水平时向用户提供了实时视觉反馈,从而在无需附加用户输入的情况下向用户提供改进的视觉反馈。
在一些实施方案中,响应于用户的视点的移动满足阈值移动量,根据确定用户的身体(例如,躯干、头部或手部)在物理环境中移动,计算机系统将第一用户界面对象从三维环境中的第一定位移动到第二定位。在一些实施方案中,根据确定用户的头部从物理环境中的第一头部定位移动到第二头部定位(例如,未检测到用户的身体的移动(例如,仅检测到头部转动)),计算机系统停止在三维环境中的第一定位处显示第一用户界面对象,并且(例如,在停止在第一定位处显示第一用户界面对象之后)在三维环境中的第二定位处显示第一用户界面对象(例如,而不对该移动进行动画化)。在一些实施方案中,在三维环境中的第二定位处显示第一用户界面对象之前,用户的头部还必须停留在第二头部定位处达至少阈值时间量(例如,1秒、2秒、10秒或介于0.5秒和10秒之间的时间量)。在一些实施方案中,响应于用户在物理环境中移动用户的身体(例如,躯干、头部或手部),第一用户界面对象继续被显示并动画化以随用户的身体的移动而移动,而响应于检测到改变用户的视点的用户的头部的转动(例如,而不移动用户的身体),用户界面对象消失并且在新视点处重新显示(当头部已保持转向新视点时)。在一些实施方案中,如上文参考方法800以及图7C至图7H所述,确定用户的头部从第一头部定位移动到第二头部定位包括:检测用户不满足关于第一用户界面对象的注意力标准,并且响应于检测到用户不满足关于第一用户界面对象的注意力标准,以修改的外观(例如,淡化、不再显示或以其他方式在视觉上被去强调)显示第一用户界面对象。在一些实施方案中,在三维环境中的第二定位处显示第一用户界面对象响应于检测到用户满足关于第一用户界面对象的注意力标准(例如,如参考图7H所述)而执行。在用户的躯干在物理环境中移动的情况下在移动时自动地在三维环境中显示某些用户界面对象,而当在未移动用户的躯干的情况下用户的头部移动时不在三维环境中显示某些用户界面对象,在用户在物理环境内移动时提供了实时视觉反馈,从而向用户提供改进的视觉反馈。
在一些实施方案中,在确定移动满足阈值量之后,在用户的视点相对于物理环境移动时,第一用户界面对象在三维环境中的多个相应定位处显示,其中在多个相应定位中的第一定位处,第一用户界面对象具有(例如,继续具有)相对于用户的相应部分的第一空间布置,并且在多个相应定位中的第二定位处,第一用户界面对象具有(例如,继续具有)相对于用户的相应部分的第一空间布置。例如,三维环境中的多个相应定位适用于三维环境内任何数量的位置(例如,第一用户界面对象能够在三维环境的在用户的当前视点内的任何部分处显示,以维持相对于用户的相应部分的第一空间布置)。因此,当用户在物理环境中移动时,第一用户界面对象能够在三维环境中的多种定位处显示,以看起来好像第一用户界面对象在用户移动时在三维环境中连续地移动。例如,在图7E至图7G中,当用户继续在物理环境中移动时,用户界面对象在附加定位处显示。在用户在物理环境中移动时自动地移动三维环境中的某些用户界面对象以跟随用户的当前视点,同时维持某些用户界面对象和用户的视点之间的相同空间关系,在用户在物理环境四处移动时提供了实时视觉反馈,从而向用户提供改进的视觉反馈。
应当理解,对图9中的操作进行描述的具体次序仅仅是示例,并非旨在表明所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出,本文相对于本文所述的其他方法(例如,方法800)描述的其他过程的细节同样以类似的方式适用于上文相对于图9描述的方法900。例如,上文参考方法900所述的手势、输入、物理对象、用户界面对象、移动、标准、三维环境、显示生成部件、物理对象的表示、虚拟对象和/或动画任选地具有本文参考本文所述的其他方法(例如,方法800)所述的手势、输入、物理对象、用户界面对象、移动、标准、三维环境、显示生成部件、物理对象的表示、虚拟对象和/或动画的特征中的一个或多个特征。为了简明起见,此处不再重复这些细节。
上文参考图8和图9所述的操作任选地由图1至图6所描绘的部件来实现。在一些实施方案中,方法800和900的方面/操作可在这些方法之间互换、替换和/或添加。为了简明起见,此处不再重复这些细节。
此外,在本文所述的其中一个或多个步骤取决于已满足一个或多个条件的方法中,应当理解,所述方法可在多次重复中重复,使得在重复的过程中,在方法的不同重复中已满足决定方法中的步骤的所有条件。例如,如果方法需要执行第一步骤(如果满足条件),以及执行第二步骤(如果不满足条件),则普通技术人员将会知道,重复所声明的步骤,直到满足条件和不满足条件两者(不分先后)。因此,可将被描述为具有取决于已满足一个或多个条件的一个或多个步骤的方法重写为重复直到已满足该方法中所述的每个条件的方法。然而,这不需要系统或计算机可读介质声明该系统或计算机可读介质包含用于基于对应的一个或多个条件的满足来执行视情况而定的操作的指令,并且因此能够确定是否已满足可能的情况,而无需明确地重复方法的步骤直到已满足决定方法中的步骤的所有条件。本领域的普通技术人员还将理解,类似于具有视情况而定的步骤的方法,系统或计算机可读存储介质可根据需要多次重复方法的步骤,以确保已执行所有视情况而定的步骤。
出于解释的目的,前面的描述是通过参考具体实施方案来描述的。然而,上面的例示性论述并非旨在是穷尽的或将本发明限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择和描述实施方案是为了最佳地阐明本发明的原理及其实际应用,以便由此使得本领域的其他技术人员能够最佳地使用具有适合于所构想的特定用途的各种修改的本发明以及各种所描述的实施方案。

Claims (49)

1.一种方法,包括:
在与第一显示生成部件和一个或多个第一输入设备通信的第一计算机系统处:
经由所述第一显示生成部件在三维环境的第一视图中显示第一用户界面对象;
在显示所述第一用户界面对象时,经由所述一个或多个输入设备检测用户是否满足关于所述第一用户界面对象的注意力标准;以及
响应于检测到所述用户不满足关于所述第一用户界面对象的所述注意力标准,以修改的外观显示所述第一用户界面,其中以所述修改的外观显示所述第一用户界面对象包括相对于所述三维环境中的一个或多个其他对象去强调所述第一用户界面对象;
在以所述修改的外观显示所述第一用户界面对象时,经由所述一个或多个输入设备检测所述用户的视点相对于物理环境的第一移动;以及
在检测到所述用户的所述视点相对于所述物理环境的所述第一移动之后,检测所述用户满足关于所述第一用户界面对象的所述注意力标准;以及
响应于检测到所述用户满足所述注意力标准,在所述三维环境的与所述三维环境的所述第一视图不同的第二视图中显示所述第一用户界面对象,其中在所述三维环境的所述第二视图中显示所述第一用户界面对象包括以与以所述修改的外观显示所述第一用户界面对象的情况相比相对于所述三维环境中的一个或多个其他对象更多地强调所述第一用户界面对象的外观显示所述第一用户界面对象。
2.根据权利要求1所述的方法,其中所述第一用户界面对象具有相对于所述三维环境中的对应于所述用户的身体在所述物理环境中的位置的第一锚定定位的第一空间关系。
3.根据权利要求1所述的方法,还包括:在检测到所述用户的所述视点相对于所述物理环境的所述第一移动之后,维持所述第一用户界面对象在所述三维环境中的相同锚定定位处的显示。
4.根据权利要求1或2中任一项所述的方法,还包括:
在检测到所述用户的所述视点相对于所述物理环境的所述第一移动之后:
根据确定所述第一移动满足时间阈值,在所述三维环境中将所述第一用户界面对象移动到相对于所述用户的所述视点的相同定位。
5.根据权利要求1至4中任一项所述的方法,还包括:
接收用于在所述三维环境中重新定位所述第一用户界面对象的用户输入;
响应于接收到用于在所述三维环境中重新定位所述第一用户界面对象的所述输入,根据所述输入将所述第一用户界面对象重新定位到所述三维环境中的相应定位;以及
在根据所述输入将所述第一用户界面对象重新定位到所述三维环境中的所述相应定位之后,检测用于改变所述用户的视点的输入;以及
响应于检测到用于改变所述用户的所述视点的所述输入,根据用于改变所述用户的所述视点的所述输入来改变所述用户的所述视点,并且从所述用户的当前视点在所述三维环境中显示所述第一用户界面对象,包括:
根据确定所述第一用户界面对象被定位在第一预定义区内,在具有相对于所述三维环境中的对应于所述用户的所述视点在所述物理环境中的位置的第一锚定定位的第一空间关系的相应定位处显示所述第一用户界面对象;以及
根据确定所述第一用户界面对象未被定位在所述第一预定义区内,维持所述第一用户界面对象在所述三维环境中的不对应于所述用户的所述身体在所述物理环境中的位置的相同锚定定位处的显示。
6.根据权利要求5所述的方法,其中所述第一预定义区选自所述三维环境中的多个预定义区,其中:
所述第一预定义区具有相对于所述三维环境中的对应于所述用户的所述视点的位置的第一锚定定位的第一空间关系,并且
所述多个预定义区中的第二预定义区具有相对于所述三维环境中的对应于所述用户的所述视点的位置的第二锚定定位的第二空间关系。
7.根据权利要求5至6中任一项所述的方法,还包括:
响应于检测到所述用户发起用于重新定位所述第一用户界面对象的所述用户输入,显示所述第一预定义区的视觉指示;以及
在检测到用于将所述第一用户界面对象重新定位到所述第一预定义区的所述用户输入时,维持所述第一预定义区的所述视觉指示的显示。
8.根据权利要求1至7中任一项所述的方法,其中关于所述第一用户界面对象的所述注意力标准包括注视标准。
9.根据权利要求1至8中任一项所述的方法,其中关于所述第一用户界面对象的所述注意力标准包括所述用户的头部在所述物理环境中的定位的标准。
10.根据权利要求1至9中任一项所述的方法,还包括:
检测指向在所述第一用户界面对象的至少一部分上显示的第一示能表示的捏合输入后跟执行所述捏合输入的手部的移动;以及
响应于所述手部的所述移动,根据所述手部的所述移动改变所述第一用户界面对象的大小。
11.根据权利要求1至10中任一项所述的方法,还包括:
接收指向所述第一用户界面对象的利用第一手部的捏合输入和利用第二手部的捏合输入后跟所述第一手部和所述第二手部之间的距离的改变;以及
响应于所述第一手部和所述第二手部之间的所述距离的改变,根据所述第一手部和所述第二手部之间的所述距离的改变来改变所述第一用户界面对象的大小。
12.根据权利要求1至11中任一项所述的方法,其中相对于所述三维环境中的所述一个或多个其他对象去强调所述第一用户界面对象包括相对于所述三维环境中的一个或多个其他虚拟对象去强调所述第一用户界面对象。
13.根据权利要求1至12中任一项所述的方法,其中相对于所述三维环境中的所述一个或多个其他对象去强调所述第一用户界面对象包括相对于所述物理环境中的一个或多个物理对象的表示去强调所述第一用户界面对象。
14.根据权利要求1至13中任一项所述的方法,其中所述第一用户界面对象包括多个可选择用户界面对象。
15.根据权利要求1至14中任一项所述的方法,还包括:
显示用于控制所述三维环境的沉浸水平的一个或多个用户界面对象;
响应于指向所述一个或多个用户界面对象中的第一用户界面对象的用于增加所述三维环境的沉浸水平的用户输入,在所述三维环境中显示附加虚拟内容;以及
响应于检测到指向所述一个或多个用户界面对象中的第二用户界面对象的用于减少所述三维环境的沉浸水平的用户输入,显示对应于所述物理环境的附加内容。
16.根据权利要求1至15中任一项所述的方法,其中相对于所述三维环境中的所述一个或多个其他对象去强调所述第一用户界面对象的量基于所述用户的所检测的注视和所述第一用户界面对象之间的角度。
17.根据权利要求1至16中任一项所述的方法,其中相对于所述三维环境中的所述一个或多个其他对象去强调所述第一用户界面对象的量基于所述用户的所述视点的所述第一移动的速率。
18.根据权利要求4至17中任一项所述的方法,其中所述第一用户界面对象根据所述用户的移动来在所述三维环境内移动。
19.根据权利要求1所述的方法,其中紧接在所述用户的所述视点相对于所述物理环境的所述第一移动之前和之后,所述第一用户界面对象在所述三维环境中的相应特征定位具有相对于所述三维环境中的对应于所述用户的所述视点在所述物理环境中的位置的第一锚定定位的第一空间关系。
20.一种计算机系统,包括:
第一显示生成部件;
一个或多个输入设备;
一个或多个处理器;和
存储器,所述存储器存储一个或多个程序,其中所述一个或多个程序被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1至19中任一项所述的方法的指令。
21.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令在由包括第一显示生成部件和一个或多个输入设备的计算机系统执行时致使所述计算机系统执行根据权利要求1至19中任一项所述的方法。
22.一种计算机系统上的图形用户界面,所述计算机系统包括第一显示生成部件、一个或多个输入设备、存储器以及用于执行存储在所述存储器中的一个或多个程序的一个或多个处理器,所述图形用户界面包括根据权利要求1至19中任一项所述的方法显示的用户界面。
23.一种计算机系统,包括:
第一显示生成部件;
一个或多个输入设备;和
用于执行根据权利要求1至19中任一项所述的方法的构件。
24.一种在包括第一显示生成部件和一个或多个输入设备的计算机系统中使用的信息处理装置,所述信息处理装置包括:
用于执行根据权利要求1至19所述的方法中的任一种方法的构件。
25.一种方法,包括:
在与第一显示生成部件和一个或多个第一输入设备通信的第一计算机系统处:
经由所述第一显示生成部件在三维环境的第一视图中在所述三维环境中的第一定位处并且以相对于用户的相应部分的第一空间布置显示第一用户界面对象;
在显示所述第一用户界面对象时,经由所述一个或多个输入设备检测所述用户的视点从物理环境中的第一位置到第二位置的移动;以及
响应于检测到所述用户的所述视点从所述第一位置到所述第二位置的所述移动:
根据确定所述用户的所述视点从所述第一位置到所述第二位置的所述移动不满足阈值移动量,维持所述第一用户界面对象在所述三维环境中的所述第一定位处的显示;以及
根据确定所述用户的所述视点从所述第一位置到所述第二位置的所述移动满足所述阈值移动量:
停止在所述三维环境中的所述第一定位处显示所述第一用户界面对象;以及
在所述三维环境中的第二定位处显示所述第一用户界面对象,其中所述三维环境中的所述第二定位具有相对于所述用户的所述相应部分的所述第一空间布置。
26.根据权利要求25所述的方法,还包括:
在维持所述第一用户界面对象在所述三维环境中的所述第一定位处的显示时,检测所述用户的所述视点的所述移动满足所述阈值移动量;以及
响应于所述用户的所述视点的所述移动满足所述阈值移动量,将所述第一用户界面对象从所述三维环境中的所述第一定位移动到所述第二定位。
27.根据权利要求25至26中任一项所述的方法,还包括:
当在所述三维环境中的所述第二定位处显示所述第一用户界面对象时,经由所述一个或多个输入设备检测所述用户的所述视点从所述物理环境中的所述第二位置到第三位置的移动;以及
响应于检测到所述用户的所述视点从所述第二位置到所述第三位置的所述移动:
根据确定所述用户的所述视点从所述第二位置到所述第三位置的所述移动不满足第二阈值移动量,维持所述第一用户界面对象在所述三维环境中的所述第二定位处的显示;以及
根据确定所述用户的所述视点从所述第二位置到所述第三位置的所述移动满足所述第二阈值移动量:
停止在所述三维环境中的所述第二定位处显示所述第一用户界面对象;以及
在所述三维环境中的第三定位处显示所述第一用户界面对象,其中所述三维环境中的所述第三定位具有相对于所述用户的所述相应部分的所述第一空间布置。
28.根据权利要求26至27中任一项所述的方法,还包括:在将所述第一用户界面对象从所述三维环境中的所述第一定位移动到所述第二定位时,相对于所述三维环境中的一个或多个其他对象在视觉上去强调所述第一用户界面对象。
29.根据权利要求28所述的方法,其中在视觉上去强调所述第一用户界面对象包括以减少的不透明度显示所述第一用户界面对象。
30.根据权利要求28至29中任一项所述的方法,其中在视觉上去强调所述第一用户界面对象包括以模糊的视觉效果显示所述第一用户界面对象。
31.根据权利要求25至30中任一项所述的方法,还包括:根据确定所述用户不满足关于所述第一用户界面对象的注意力标准,相对于所述三维环境中的一个或多个其他对象在视觉上去强调所述第一用户界面对象。
32.根据权利要求31所述的方法,其中关于所述第一用户界面对象的所述注意力标准包括注视标准。
33.根据权利要求31所述的方法,其中关于所述第一用户界面对象的所述注意力标准包括所述用户的头部在所述物理环境中的定位的标准。
34.根据权利要求28至33中任一项所述的方法,其中所述第一用户界面对象的视觉去强调量基于所述用户的所述视点的所述移动的速率。
35.根据权利要求25至34中任一项所述的方法,还包括:在显示所述第一用户界面对象时,在所述三维环境的所述第一视图中的第四定位处显示第二用户界面对象,所述第四定位具有相对于所述三维环境内的位置的第二空间布置。
36.根据权利要求25至35中任一项所述的方法,还包括:在显示所述第一用户界面对象时,在所述三维环境的所述第一视图中的第五定位处显示第三用户界面对象,所述第三用户界面对象具有相对于所述用户的相应部分的第三空间布置。
37.根据权利要求25至36中任一项所述的方法,还包括:
响应于检测到用于将所述第一用户界面对象重新定位到所述三维环境中的第六定位的用户输入:
将所述第一用户界面对象移动到所述三维环境中的所述第六定位,所述第六定位具有相对于所述用户的所述相应部分的第四空间布置;以及
针对所述第一用户界面对象将所述第一用户界面对象的相对于所述用户的所述相应部分的所述第一空间布置更新为相对于所述用户的所述相应部分的所述第四空间布置。
38.根据权利要求37所述的方法,其中所述三维环境中的所述第六定位在距所述用户的预定义距离内;以及
所述方法还包括:响应于检测到用于将所述第一用户界面对象重新定位到所述三维环境中的第七定位的用户输入,所述三维环境中的所述第七定位超出距所述用户的所述预定义距离,将所述第一用户界面对象移动到所述第七定位,其中在所述第七定位处,所述第一用户界面对象被锚定到所述三维环境的一部分。
39.根据权利要求25至38中任一项所述的方法,还包括:在检测到用于将所述第一用户界面对象重新定位到所述三维环境中的第八定位的用户输入时,显示一个或多个预定义区的视觉指示,其中:
根据确定所述第八定位在所述一个或多个预定义区中的预定义区内,所述第八定位具有相对于所述用户的所述相应部分的第五空间布置,响应于检测到所述用户的所述视点的移动,在所述三维环境中的第九定位处显示所述第一用户界面对象,所述第九定位具有相对于所述用户的所述相应部分的所述第五空间布置;以及
根据确定第八定位不在所述一个或多个预定义区中的预定义区内,响应于检测到所述用户的所述视点的移动,维持所述第一用户界面对象在所述三维环境中的所述第八定位处的显示。
40.根据权利要求37至38中任一项所述的方法,其中响应于检测到用于将所述第一用户界面对象重新定位到所述第六定位的所述用户输入,所述第一用户界面对象快速移动到所述三维环境中的所述第六定位。
41.根据权利要求25至40中任一项所述的方法,还包括:
显示用于控制所述三维环境的沉浸水平的一个或多个用户界面对象;
响应于指向所述一个或多个用户界面对象中的第一用户界面对象的用于增加所述三维环境的沉浸水平的用户输入,在所述三维环境中显示附加虚拟内容;以及
响应于检测到指向所述一个或多个用户界面对象中的第二用户界面对象的用于减少所述三维环境的沉浸水平的用户输入,显示对应于所述物理环境的附加内容。
42.根据权利要求25至41中任一项所述的方法,还包括:
显示用于控制所述三维环境中的体验的一个或多个用户界面对象;
响应于指向所述一个或多个用户界面对象中的第一用户界面对象的用户输入,在所述三维环境中执行改变内容的第一操作;以及
响应于检测到指向所述一个或多个用户界面对象中的第二用户界面对象的用户输入,在所述三维环境中执行与所述第一操作不同的第二操作。
43.根据权利要求25至42中任一项所述的方法,还包括:
响应于所述用户的所述视点的所述移动满足所述阈值移动量:
根据确定所述用户的身体在所述物理环境中移动,将所述第一用户界面对象从所述三维环境中的所述第一定位移动到所述第二定位;以及
根据确定所述用户的头部从所述物理环境中的第一头部定位移动到第二头部定位:
停止在所述三维环境中的所述第一定位处显示所述第一用户界面对象;以及
在所述三维环境中的所述第二定位处显示所述第一用户界面对象。
44.根据权利要求25至43中任一项所述的方法,其中在确定所述移动满足所述阈值量之后,在所述用户的所述视点相对于所述物理环境移动时,所述第一用户界面对象在所述三维环境中的多个相应定位处被显示,其中在所述多个相应定位中的第一定位处,所述第一用户界面对象具有相对于所述用户的所述相应部分的所述第一空间布置,并且在所述多个相应定位中的第二定位处,所述第一用户界面对象具有相对于所述用户的所述相应部分的所述第一空间布置。
45.一种计算机系统,包括:
第一显示生成部件;
一个或多个输入设备;
一个或多个处理器;和
存储器,所述存储器存储一个或多个程序,其中所述一个或多个程序被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求25至44中任一项所述的方法的指令。
46.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令在由包括第一显示生成部件和一个或多个输入设备的计算机系统执行时致使所述计算机系统执行根据权利要求25至44中任一项所述的方法。
47.一种计算机系统上的图形用户界面,所述计算机系统包括第一显示生成部件、一个或多个输入设备、存储器以及用于执行存储在所述存储器中的一个或多个程序的一个或多个处理器,所述图形用户界面包括根据权利要求25至44中任一项所述的方法显示的用户界面。
48.一种计算机系统,包括:
第一显示生成部件;
一个或多个输入设备;以及
用于执行根据权利要求25至44中任一项所述的方法的构件。
49.一种在包括第一显示生成部件和一个或多个输入设备的计算机系统中使用的信息处理装置,所述信息处理装置包括:
用于执行根据权利要求25至44中任一项所述的方法的构件。
CN202280063114.3A 2021-09-22 2022-09-20 用于与三维环境交互的设备、方法和图形用户界面 Pending CN117957581A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US63/247,241 2021-09-22
US17/948,096 2022-09-19
US17/948,096 US20230092874A1 (en) 2021-09-22 2022-09-19 Devices, Methods, and Graphical User Interfaces for Interacting with Three-Dimensional Environments
PCT/US2022/044117 WO2023049111A1 (en) 2021-09-22 2022-09-20 Devices, methods, and graphical user interfaces for interacting with three-dimensional environments

Publications (1)

Publication Number Publication Date
CN117957581A true CN117957581A (zh) 2024-04-30

Family

ID=90800401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280063114.3A Pending CN117957581A (zh) 2021-09-22 2022-09-20 用于与三维环境交互的设备、方法和图形用户界面

Country Status (1)

Country Link
CN (1) CN117957581A (zh)

Similar Documents

Publication Publication Date Title
US11340756B2 (en) Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
CN116719452A (zh) 用于与用于移动虚拟环境中的虚拟对象的虚拟控件和/或示能表示交互的方法
US11853527B2 (en) Devices, methods, and graphical user interfaces for providing computer-generated experiences
CN117008720A (zh) 用于与三维环境进行交互的设备、方法和图形用户界面
US11720171B2 (en) Methods for navigating user interfaces
US11934569B2 (en) Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
JP7459375B2 (ja) ユーザの身体に対するデバイスの表示を更新するためのシステム、方法、及びグラフィカルユーザインターフェース
US20230092874A1 (en) Devices, Methods, and Graphical User Interfaces for Interacting with Three-Dimensional Environments
US20230114043A1 (en) Devices, Methods, and Graphical User Interfaces for Interacting with Three-Dimensional Environments
CN117957581A (zh) 用于与三维环境交互的设备、方法和图形用户界面
US20240094862A1 (en) Devices, Methods, and Graphical User Interfaces for Displaying Shadow and Light Effects in Three-Dimensional Environments
US20230152935A1 (en) Devices, methods, and graphical user interfaces for presenting virtual objects in virtual environments
WO2023049111A1 (en) Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
JP2024069187A (ja) 三次元環境と相互作用するためのデバイス、方法、及びグラフィカルユーザインタフェース
CN117999534A (zh) 用于与三维环境进行交互的设备、方法和图形用户界面
WO2024063786A1 (en) Devices, methods, and graphical user interfaces for displaying shadow and light effects in three-dimensional environments
CN118043766A (zh) 用于与三维环境进行交互的设备、方法和图形用户界面
CN118056173A (zh) 用于与三维环境进行交互的设备、方法和图形用户界面

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication