CN117032519A - 用于与三维环境进行交互的设备、方法和图形用户界面 - Google Patents
用于与三维环境进行交互的设备、方法和图形用户界面 Download PDFInfo
- Publication number
- CN117032519A CN117032519A CN202310822033.3A CN202310822033A CN117032519A CN 117032519 A CN117032519 A CN 117032519A CN 202310822033 A CN202310822033 A CN 202310822033A CN 117032519 A CN117032519 A CN 117032519A
- Authority
- CN
- China
- Prior art keywords
- user
- hand
- movement
- environment
- virtual
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 189
- 230000033001 locomotion Effects 0.000 claims abstract description 594
- 230000004044 response Effects 0.000 claims abstract description 210
- 238000004891 communication Methods 0.000 claims description 45
- 230000003213 activating effect Effects 0.000 claims description 12
- 230000004913 activation Effects 0.000 claims description 10
- 230000000903 blocking effect Effects 0.000 claims description 6
- 210000003811 finger Anatomy 0.000 description 156
- 210000001508 eye Anatomy 0.000 description 113
- 210000003813 thumb Anatomy 0.000 description 89
- 230000003993 interaction Effects 0.000 description 79
- 230000000007 visual effect Effects 0.000 description 79
- 210000003128 head Anatomy 0.000 description 75
- 230000003190 augmentative effect Effects 0.000 description 55
- 230000006870 function Effects 0.000 description 48
- 230000001976 improved effect Effects 0.000 description 44
- 230000008569 process Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 29
- 210000000707 wrist Anatomy 0.000 description 27
- 230000008859 change Effects 0.000 description 23
- 238000003384 imaging method Methods 0.000 description 20
- 230000000284 resting effect Effects 0.000 description 18
- 230000002093 peripheral effect Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 15
- 230000007704 transition Effects 0.000 description 14
- 210000004247 hand Anatomy 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 10
- 210000001747 pupil Anatomy 0.000 description 9
- 230000001953 sensory effect Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 8
- 230000002452 interceptive effect Effects 0.000 description 7
- -1 802.3x Chemical compound 0.000 description 6
- 230000006399 behavior Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 6
- 230000005057 finger movement Effects 0.000 description 6
- 238000005286 illumination Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 239000003550 marker Substances 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 238000010079 rubber tapping Methods 0.000 description 5
- 230000007958 sleep Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000007654 immersion Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 210000003127 knee Anatomy 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000001339 gustatory effect Effects 0.000 description 2
- 210000002411 hand bone Anatomy 0.000 description 2
- 230000006266 hibernation Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 210000004932 little finger Anatomy 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000010399 physical interaction Effects 0.000 description 2
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000005252 bulbus oculi Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 239000002772 conduction electron Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 210000000245 forearm Anatomy 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 210000002478 hand joint Anatomy 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000005293 physical law Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 230000004270 retinal projection Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04806—Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开涉及用于与三维环境进行交互的设备、方法和图形用户界面。一种计算机***显示三维环境的第一视图。当正在显示第一视图时,计算机***检测第一手部的满足第一标准的第一移动,并且,作为响应,在第一视图中的第一位置处显示包括第一多个可选控件的第一虚拟对象,其中第一位置对应于第一手部在物理环境中的第一移动之后的定位。当在第一位置处显示第一虚拟对象时,计算机***检测第一手部的第二移动,并且,作为响应,根据相对于第一虚拟对象在第一视图中的位置的第一手部的第二移动,显示第一手部的表示在第一视图中的移动。
Description
本申请是国际申请号为PCT/US2021/051498,国际申请日为2021年9月22日,进入中国国家阶段日期为2023年3月23日,国家申请号为202180065147.7,发明名称为“用于与三维环境进行交互的设备、方法和图形用户界面”的申请的分案申请。
相关专利申请
本申请是2021年9月21日提交的美国专利申请17/481,187的继续申请,该继续申请要求2020年9月23日提交的美国临时专利申请63/082,354的优先权,该专利申请中的每个专利申请通过引用整体并入。
技术领域
本公开整体涉及具有显示生成部件和提供计算机生成的现实(CGR)体验的一个或多个输入设备(包括但不限于经由显示器提供虚拟现实和混合现实体验的电子设备)的计算机***。
背景技术
近年来,用于增强现实的计算机***的发展显著增加。示例增强现实环境包括至少一些替换或增强物理世界的虚拟元素。用于计算机***和其他电子计算设备的输入设备(诸如相机、控制器、操纵杆、触敏表面和触摸屏显示器)用于与虚拟/增强现实环境进行交互。示例性虚拟元素包括虚拟对象(包括数字图像、视频、文本、图标、控制元素(诸如按钮),以及其他图形)。
但用于与包括至少一些虚拟元素的环境(例如,应用程序、增强现实环境、混合现实环境和虚拟现实环境)进行交互的方法和界面麻烦、低效且受限。例如,提供用于执行与虚拟对象相关联的动作的不足反馈的***、需要一系列输入来在增强现实环境中实现期望结果的***,以及虚拟对象操纵复杂、繁琐且容易出错的***,会给用户造成巨大的认知负担,并且减损虚拟/增强现实环境的体验感。此外,这些方法花费比所需时间更长的时间,从而浪费能量。这后一考虑在电池驱动的设备中是特别重要的。
发明内容
因此,需要具有改进的方法和界面的计算机***来向用户提供计算机生成的体验,从而使得用户与计算机***的交互对用户来说更高效且更直观。所公开的***、方法和用户界面减少或消除了与用于计算机***的用户界面相关联的上述缺陷和其他问题,这些计算机***具有显示生成部件和一个或多个输入设备。此类***、方法和界面任选地补充或替换用于向用户提供计算机生成的现实体验的常规***、方法和用户界面。此类方法和界面通过帮助用户理解所提供的输入与设备对这些输入的响应之间的联系,减少了来自用户的输入的数量、程度和/或性质,从而形成了更有效的人机界面。
根据一些实施方案,一种方法在与显示生成部件和一个或多个相机通信的计算机***处执行,所述方法包括:经由所述显示生成部件显示用户界面对象,其中显示所述用户界面对象包括同时显示:第一区域,所述第一区域显示一组项中的多个项中的一个或多个项的相应表示,以及第二区域,所述第二区域对应于所述一组项的索引,其中所述索引中的相应索引项对应于所述一组项中的所述多个项的少于全部项的相应子集;当显示所述用户界面对象时,由所述一个或多个输入设备检测第一类型的第一输入;并且响应于检测到所述第一类型的所述第一输入:根据确定检测到的注视指向所述第一区域,执行第一导航操作,所述第一导航操作包括以第一量在所述多个项的所述相应表示中导航;并且根据确定所述检测到的注视指向所述第二区域,执行第二导航操作,所述第二导航操作包括以大于所述第一量的第二量在所述多个项的所述相应表示中导航。
根据一些实施方案,一种方法在与显示生成部件和一个或多个输入设备通信的设备计算***处执行,所述方法包括:经由所述显示生成部件显示三维环境的至少一部分的第一视图;当正在显示所述三维环境的至少所述部分的所述第一视图时,检测第一手部的满足第一标准的第一移动;响应于检测到所述第一手部的满足所述第一标准的所述第一移动,经由所述显示生成部件在所述三维环境的至少所述部分的所述第一视图中的第一位置处显示包括第一多个可选控件的第一虚拟对象,其中所述第一位置对应于所述第一手部在物理环境中的所述第一移动之后的定位;当经由所述显示生成部件在所述第一位置处显示所述第一虚拟对象时,检测所述第一手部的第二移动;并且响应于检测到所述第一手部的所述第二移动,根据相对于所述第一虚拟对象在所述三维环境的至少所述部分的所述第一视图中的位置的所述第一手部的所述第二移动来显示所述第一手部的表示在所述三维环境的至少所述部分的所述第一视图中的移动。
根据一些实施方案,一种方法在与显示生成部件和一个或多个输入设备通信的设备计算***处执行,所述方法包括:接收经由所述显示生成部件显示对应于所述显示生成部件的视场中的物理环境的三维环境的视图的请求;并且响应于检测到显示所述三维环境的所述视图的所述请求:根据确定所述物理环境的预设第一部分与虚拟菜单相关联并且所述显示生成部件的所述视场包括所述物理环境的所述预设第一部分,在所述三维环境中对应于所述物理环境的所述预设第一部分的位置处显示所述虚拟菜单;并且根据确定所述物理环境的所述预设第一部分与所述虚拟菜单相关联并且所述显示生成部件的所述视场不包括所述物理环境的所述预设第一部分,放弃在所述三维环境的所述视图中显示所述虚拟菜单。
根据一些实施方案,一种方法在与显示生成部件和一个或多个输入设备通信的设备计算***处执行,所述方法包括:由所述显示生成部件在三维环境的至少一部分的视图中的第一位置处显示第一对象,其中所述第一位置对应于所述三维环境中的第一定位;当注视指向所述三维环境中的所述第一定位时,在所述三维环境的至少所述部分的所述视图中的第二位置处显示至少第一控件,其中所述第一控件在被激活时执行对应于所述第一对象的第一操作,并且其中所述第二位置对应于所述三维环境中与所述第一定位相距第一距离的第二定位;当在所述三维环境的至少所述部分的所述视图中的所述第二位置处显示至少所述第一控件时,检测所述注视远离所述三维环境的所述视图中的所述第一定位的移动;并且响应于检测到所述注视远离所述三维环境的所述视图中的所述第一定位的所述移动,根据确定所述注视已经移动到所述三维环境的对应于所述第一对象和所述第一控件的区域之外,将至少所述第一控件从所述第二位置移动到所述三维环境的至少所述部分的所述视图中的第三位置,其中所述第三位置对应于所述三维环境中与所述第一定位相距小于所述第一距离的第二距离的第三定位。
根据一些实施方案,一种方法在与显示生成部件和一个或多个输入设备通信的设备计算***处执行,所述方法包括:经由所述显示生成部件显示三维环境的第一部分的视图以及对应于第一计算机生成的体验的至少第一可选虚拟对象;当显示所述三维环境的所述第一部分的所述视图时,由所述一个或多个输入设备检测指向满足第一标准的第一虚拟对象的第一输入;响应于检测到指向满足所述第一标准的所述第一虚拟对象的所述第一输入,开始所述第一计算机生成的体验的预览,其中所述第一计算机生成的体验的所述预览的空间范围包括所述第一计算机生成的体验的所述预览的在所述三维环境的所述第一部分的所述视图内的第一部分以及所述第一计算机生成的体验的所述预览的在所述三维环境的所述第一部分的所述视图外的至少第二部分;当显示所述第一计算机生成的体验的所述预览的在所述三维环境的所述第一部分的所述视图内的所述第一部分时,检测所述计算机***的至少一部分与物理环境的围绕所述计算机***的所述部分的至少一部分的相对移动;响应于检测到所述计算机***的所述部分与所述物理环境的至少所述部分的所述相对移动:根据所述计算机***的至少所述部分与所述物理环境的至少所述部分的所述相对移动来显示所述三维环境的第二部分的视图;并且在所述三维环境的所述第二部分的所述视图中显示所述第一计算机生成的体验的所述预览的所述第二部分,所述预览的所述第二部分在检测到所述计算机***的至少所述部分与所述物理环境的至少所述部分的所述相对移动之前尚未被显示;当显示所述第一计算机生成的体验的所述预览的至少一部分时,检测满足第二标准的第二输入,以及响应于检测到满足所述第二标准的所述第二输入,显示所述第一计算机生成的体验的视图,所述视图占据比由所述第一计算机生成的体验的所述预览占据的所述三维环境的所述视图的空间范围更大的空间范围。
根据一些实施方案,一种方法在与显示生成部件和一个或多个输入设备通信的设备计算***处执行,所述方法包括:由所述显示生成部件显示三维环境的至少一部分的视图以及在所述三维环境的至少所述部分的所述视图中的位置处的电子设备的表示,所述位置是基于所述电子设备在对应于所述三维环境的物理环境中的定位来确定的;当显示包括所述电子设备的所述表示的三维环境的至少所述部分的所述视图时,接收已经在所述电子设备处生成通知的指示;并且响应于接收到所述指示,在所述三维环境的至少所述部分的所述视图内显示所述通知的第一表示,包括:根据确定所述电子设备位于所述物理环境中的第一定位处,在所述三维环境的所述部分中的第一位置处显示所述通知的所述第一表示,其中所述第一位置被选择为具有相对于所述电子设备的所述表示的预定定位;以及根据确定所述电子设备位于所述物理环境中与所述第一定位不同的第二定位处,在所述三维环境的所述部分中与所述第一位置不同的第二位置处显示所述通知的所述第一表示,其中所述第二位置被选择为具有相对于所述电子设备的所述表示的所述预定定位。
根据一些实施方案,计算机***包括以下者或与以下者通信:显示生成部件(例如,显示器、投影仪、头戴式显示器等)、一个或多个输入设备(例如,一个或多个相机、触敏表面、任选地用于检测与触敏表面的接触强度的一个或多个传感器)、任选地一个或多个触觉输出发生器、一个或多个处理器,以及存储一个或多个程序的存储器;一个或多个程序被配置为由一个或多个处理器执行,并且一个或多个程序包括用于执行或引起执行本文所述方法中的任一种方法的操作的指令。根据一些实施方案,一种非暂态计算机可读存储介质在其中存储有指令,这些指令在被具有显示生成部件、一个或多个输入设备(例如,一个或多个相机、触敏表面、用于检测与触敏表面的接触强度的任选的一个或多个传感器)以及任选的一个或多个触觉输出发生器的计算机***执行时,使该设备执行本文所述方法中的任一种方法或使本文所述方法中的任一种方法的操作的执行。根据一些实施方案,具有显示生成部件、一个或多个输入设备(例如,一个或多个相机、触敏表面、用于检测与触敏表面的接触强度的任选的一个或多个传感器)、任选的一个或多个触觉输出发生器、存储器和用于执行存储在存储器中的一个或多个程序的一个或多个处理器的计算机***上的图形用户界面包括在本文所述方法中的任一种方法中所显示的元素中的一个或多个元素,该一个或多个元素响应于输入而被更新,如本文所述方法中的任一种方法所描述的。根据一些实施方案,计算机***包括:显示生成部件、一个或多个输入设备(例如,一个或多个相机、触敏表面、任选地用于检测与触敏表面的接触强度的一个或多个传感器)以及任选地一个或多个触觉输出发生器;以及用于执行或导致执行本文所述的方法中的任一种方法的操作的装置。根据一些实施方案,用于具有显示生成部件、一个或多个输入设备(例如,一个或多个相机、触敏表面、用于检测与触敏表面的接触强度的任选的一个或多个传感器)以及任选的一个或多个触觉输出发生器的计算机***中的信息处理设备包括用于执行本文所述方法中的任一种方法的操作或导致本文所述方法中的任一种方法的操作被执行的装置。
因此,为具有显示生成部件的计算机***提供了改进的方法和界面,以用于与三维环境进行交互并且有利于用户在与三维环境进行交互时使用计算机***,从而提高此类计算机***的有效性、效率,以及用户安全性和满意度。此类方法和界面可以补充或替换用于与三维环境进行交互并且有利于用户在与三维环境进行交互时使用计算机***的常规方法。
需注意,上述各种实施方案可与本文所述任何其他实施方案相结合。本说明书中描述的特征和优点并不全面,具体来说,根据附图、说明书和权利要求书,许多另外的特征和优点对本领域的普通技术人员将是显而易见的。此外,应当指出,出于可读性和指导性目的,在原则上选择了本说明书中使用的语言,并且可以不这样选择以描绘或界定本发明的主题。
附图说明
为了更好地理解各种所述实施方案,应结合以下附图参考下面的具体实施方式,其中类似的附图标号在所有附图中指示对应的部分。
图1是示出根据一些实施方案的用于提供CGR体验的计算机***的操作环境的框图。
图2是示出根据一些实施方案的计算机***的被配置为管理和协调用户的CGR体验的控制器的框图。
图3是示出根据一些实施方案的计算机***的被配置为向用户提供CGR体验的视觉组成部分的显示生成部件的框图。
图4是示出根据一些实施方案的计算机***的被配置为捕获用户的手势输入的手部跟踪单元的框图。
图5是示出根据一些实施方案的计算机***的被配置为捕获用户的注视输入的眼睛跟踪单元的框图。
图6是示出根据一些实施方案的闪光辅助的注视跟踪管道的流程图。
图7A至图7D是示出根据一些实施方案的用于在用户界面中的一组索引项(例如,联系人列表、媒体对象的集合、一组文档等)中导航的用户交互的框图。
图7E至图7J是示出根据一些实施方案的响应于涉及用户手部的移动的输入的在三维环境中显示用户界面对象(例如,停靠栏、菜单、应用程序托盘、控制面板、虚拟三维对象等)和与该用户界面对象的交互的框图。
图7K至图7N是示出根据一些实施方案的基于物理环境的预设部分是否在由显示生成部件提供的视场内(例如,当显示生成部件首次打开或放置在用户眼睛前方时,或当显示生成部件在物理环境中四处移动时等)在三维环境中在对应于物理环境的预设部分的位置(例如,主定位、停靠栏定位等)处显示虚拟菜单(例如,主用户界面、发射台、命令中心用户界面等)的框图。
图7O至图7T是示出根据一些实施方案的在三维环境中在对象(例如,虚拟对象、物理对象的表示等)处或附近远离控件对象的初始位置的不同距离处显示与对象相关联的控件对象(例如,包括一个或多个控件的控制面板、包括一个或多个交互式元素的用户界面对象等)的框图,该显示取决于对象是否被用户输入选择和/或指向对象或该对象相关联的控件对象的用户注视是否已经移动远离对应于该对象及其相关联的控件对象的区域。
图7U至图7Z是示出根据一些实施方案的在响应于附加输入而转变为显示计算机生成的体验之前响应于与对象(例如,虚拟对象、物理对象的表示、物理对象等)的第一次交互而显示计算机生成的体验的三维预览(例如,具有比预览的显示部分更大的空间范围的预览)的框图。
图7AA至图7AD是示出根据一些实施方案的在三维环境中在相对于电子设备(例如,生成或接收通知的电子设备)的表示具有预定空间关系(例如,定位、取向、距离等)的位置处显示通知的表示的框图。
图8是根据一些实施方案的在根据一些实施方案的用户界面中的一组索引项中导航的方法的流程图。
图9是根据一些实施方案的响应于涉及用户手部的移动的用户输入而在三维环境中显示用户界面对象并与该用户界面对象交互的方法的流程图。
图10是根据一些实施方案的基于物理环境的预设部分是否在视场内而在三维环境中在对应于物理环境的预设部分的位置处显示虚拟菜单的方法的流程图。
图11是根据一些实施方案的显示包括与在三维环境中的对象处或附近的控件对象的初始位置相距不同距离处的对象相关联的一个或多个控件的控件对象的方法的流程图,该显示取决于对象是否被用户输入选择和/或指向对象或该对象相关联的控件对象的用户注视是否已经移动远离对应于该对象及其相关联的控件对象的区域。
图12A至图12B是根据一些实施方案的在转变为响应于附加输入而显示计算机生成的体验之前响应于与对象的第一次交互而显示计算机生成的体验的三维预览的方法的流程图。
图13是根据一些实施方案的在三维环境中在相对于电子设备的表示具有预定空间关系的位置处显示通知的表示的方法的流程图。
具体实施方式
根据一些实施方案,本公开涉及用于向用户提供计算机生成的现实(CGR)体验的用户界面。
本文所述的***、方法和GUI以多种方式改进与虚拟/增强现实环境进行的用户界面交互。
在一些实施方案中,计算机***在三维环境中的用户界面中显示一组索引项,并且允许用户使用一个或多个导航输入(例如,滚动手势、触摸手势等)在用户界面中的该组索引项中导航。计算机***允许用户通过在三维环境中相对于用户界面移动他们的注视(例如,从显示并滚动个别索引项的表示的数据区域移动到与索引项的索引相关联的索引区域)来控制导航量。在一些实施方案中,当用户注视指向索引区域时,与当用户注视指向数据区域时所实现的导航(例如,在小于第一数量的项的第二数量的项中导航)相比,通过导航输入实现了在数据区域中的索引项中的更大量导航(例如,在第一数量的项中导航)。在一些实施方案中,导航输入不涉及用户将他的整个手部举到对应于用户界面在三维环境中的位置的定位。例如,在一些实施方案中,导航输入涉及当整个手部没有抬起(例如,搁置在桌子上、垂在用户身体的侧面、搁置在用户的膝盖上等)时手部的一部分相对于手部的另一部分的小移动。在一些实施方案中,通过指向用户界面的与索引相关联的一部分的用户注视来选择并且任选地激活用户界面的索引区域以显示索引。在一些实施方案中,所实现的导航量进一步基于导航输入的特性。使用用户注视结合导航输入来调整用户界面中的一组索引项的导航量提供了一种在一组索引项中导航的高效并轻量的方式,并且减少了来自用户的输入的数量、范围和/或性质以实现期望的结果,由此创建更高效的人机界面。
在一些实施方案中,计算机***响应于包括满足预设标准(例如,停靠栏显示标准、菜单显示标准等)的用户手部的移动的用户输入,在三维环境(例如,虚拟环境、增强现实环境等)中显示包括多个可选控件(例如,用于启动应用程序的应用程序图标、用于显示子菜单或执行操作的菜单选项、用于触发执行应用程序功能、设备功能、设备设置的调整等的可选对象)的虚拟对象。计算机***基于在满足预设标准的移动结束时用户手部的位置来选择虚拟对象的初始位置。因此,用户可通过在提供手部的所需移动以触发虚拟对象的显示时选择他/她的手部的定位来影响虚拟对象在三维环境中的初始位置。随后,计算机***将虚拟对象的位置与用户手部的定位解耦,使得用户可使用同一只手(并且任选地,使用不同的手或两只手的组合等)来提供手势以与虚拟对象和包含在该虚拟对象中的控件交互。在一些实施方案中,涉及手部的一部分相对于手部的另一部分的小移动的不同类型的手势(例如,轻扫、轻弹、轻击、推动等)(例如,当整个手没有抬起(例如,搁置在桌子上、垂在用户身体的侧面、搁置在用户的膝盖上等)时、当手被抬起到对应于虚拟对象的当前位置的定位时等)用来与虚拟对象和包含在该虚拟对象中的控件交互(例如,滚动、切换输入焦点、进行选择、调整值等)。在一些实施方案中,在处于各种手部姿势时手部作为整体的移动引起相对于虚拟对象执行与由同一只手内的不同类型的小移动所引起的操作集合不同的操作集合。在一些实施方案中,在计算机***遵循虚拟对象在三维环境中的初始显示(例如,响应于满足预设标准的用户手部的移动而显示)将虚拟对象的位置从用户手部的定位解耦之后,计算机***任选地将虚拟对象的位置耦合到三维环境的当前显示的视图的视点,使得虚拟对象在(例如,如由携带显示生成部件的用户的移动、佩戴HMD的用户头部的移动等引起的)视点相对于三维环境的移动期间保持虚拟对象与三维环境的当前显示的视图的视点之间的空间关系。当通过用户手部的预设移动来调用虚拟对象的显示时,允许包含可选控件的虚拟对象被显示在对应于用户手部的定位的位置处,并且随后将虚拟对象的位置与用户手部的定位解耦,使得用户有可能影响虚拟对象的显示位置(例如,选择应当在视场的哪个部分中显示虚拟对象、选择应当距视点多远显示虚拟对象、选择应当相对于视点显示虚拟对象的哪个取向等),但不会不必要地将虚拟对象绑到用户手部上,以防止用户利用同一只手来提供手势以与虚拟对象交互。这使得用户与虚拟对象的交互更高效,并且减少了来自用户的输入的数量、范围和/或性质以实现期望的结果,由此创建更高效的人机界面。
在一些实施方案中,计算机***指定(例如,根据用户输入、在没有用户输入的情况下等)物理环境中的定位或区域作为用于显示频繁使用的用户界面对象的“主定位”(或“停靠栏定位”),使得当用户通过由显示生成部件提供的视场查看物理环境时,用户可以通过相对于物理环境调整由显示生成部件提供的视场来容易并可预测地定位用户界面对象,使得对应于指定定位或区域的位置在视场内。计算机***在显示包括物理环境的表示的三维环境时,根据确定对应于指定定位或区域的位置在由显示生成部件提供的视场内,在对应于用户界面对象的“主定位”的位置处显示用户界面对象。当显示生成部件被放置在允许用户通过显示生成部件来查看物理环境的状态或位置(例如,HMD被打开、HMD被放置在用户的头上、显示器被放置在用户的眼睛前方、用户在平视显示器前方行走等)时,和/或当视场由于显示生成部件(和/或捕获物理环境的视图的相机)相对于物理环境的移动(例如,由用户携带显示生成部件四处走动、在佩戴HMD的同时转动他/她的头等引起的移动)而改变时,这种情况可能发生。在一些实施方案中,用户界面对象是包括应用程序、体验和/或用户的图标的主用户界面,用户可从该主用户界面开始对应的应用程序、计算机生成的体验,并与其他用户共享体验或通信。另一示例性用户界面对象是用于控制计算机***的设备功能的控制面板,诸如显示生成部件、网络连接部件、音频输出部件、手电筒、相机、音频和视频输出路由等的功能和设置。另一示例性用户界面对象是上下文菜单,该上下文菜单基于当前上下文(诸如当前时间、当前显示的应用程序、当前定位、当前时间表、日历上即将到来的事件、用户与计算机***的先前交互等)来自动改变其组成控件和元素。在一些实施方案中,用户界面对象是上述中的一者或多者的组合。在一些实施方案中,被指定为用户界面对象的“主定位”的定位或区域是物理表面(诸如墙、家具、电器、桌面、工作台面、窗户、海报、TV屏幕、相框等的表面)的全部或一部分。在一些实施方案中,被指定为用户界面对象的“主定位”的定位或区域未由任何物理对象或表面占据。例如,所指定的“主定位”任选地在工作台面上方的空区域中、在房间的中间、在台式计算机的计算机屏幕上方等。通过利用用户对物理环境的熟悉以及用户对物理环境中的位置和取向的直观感觉,计算机***为计算机***的频繁使用的功能提供可预测的访问点,但不会通过在用户的视场中持续地显示用户界面对象而不必要地混乱用户的视场(例如,当“主定位”不在视场中时不显示用户界面对象)。此外,在由处于关闭状态、睡眠状态或显示生成部件的其他低功率状态的显示生成部件分开的多个使用会话中持久地存储主定位。这提供了一种直观并可预测的方式来提供对频繁使用的功能的访问,而不会使可用于查看虚拟内容和物理环境的有限视场混乱,这减少了用户在与计算机***交互时的用户错误和混淆,从而创建了更高效的人机界面。在一些实施方案中,当计算机***接收到显示尚未与用户界面对象相关联的物理环境的请求时(例如,当显示生成部件在处于新的物理环境中时被打开或戴在用户头上时),计算机***自动开始配置过程以提示用户选择“主定位”。在一些实施方案中,计算机***扫描并突出显示新物理环境的视图中的可用表面或区域,以允许用户从突出显示的表面或区域中选择新物理环境中的定位或区域作为用户界面对象的“主定位”。
在一些实施方案中,计算机***显示虚拟菜单(也称为“控件对象”),该虚拟菜单包括用于触发对应于三维环境中的对象(例如,虚拟对象、物理对象的表示、物理对象等)的相应操作的执行的一个或多个控件。在一些实施方案中,虚拟菜单被显示在对应于三维环境中的对象的定位的位置处(例如,在虚拟对象的位置处或附近,或物理对象的表示等)。响应于用户对对象的选择,虚拟菜单从其在三维环境中的原始位置朝向更靠近用户的虚拟位置(例如,当前显示的三维环境的视图的视点、用户手部在用户的视场中的虚拟位置等)的位置弹出。在一些实施方案中,对象的选择是基于与三维环境中的对象或该对象的表示的交互。在一些实施方案中,选择对象包括使用指向虚拟对象或物理对象的表示的用户注视来选择虚拟对象或物理对象的表示、在虚拟对象或物理对象的表示的位置处提供预设手势、在虚拟对象或物理对象的表示具有输入焦点时提供远离虚拟对象或物理对象的表示的位置的手势、在通过用户注视选择虚拟对象或物理对象的表示时提供远离虚拟对象或物理对象的表示的位置的手势等。在一些实施方案中,对象的选择是基于与物理环境中的对象的交互(例如,触摸、操纵、拾取、打开、以其他方式改变物理对象的状态等),从而引起对三维环境中的对象的表示的选择。在一些实施方案中,对象是虚拟菜单,该虚拟菜单包括用于执行对应于三维环境(例如,虚拟环境、增强现实环境等)中的对象的操作(例如,启动用户界面、显示对应的虚拟体验、显示子菜单、执行相应的应用程序功能、激活计算机***的相应的设备功能、调整计算机***的相应的设备设置等)的一个或多个可选控件。在一些实施方案中,对象是在三维环境(例如,增强现实环境等)中具有该对象的表示的物理对象,并且虚拟菜单包括用于执行对应于三维环境中的物理对象的操作(例如,显示相关的虚拟内容或体验、启动用户界面、显示子菜单、激活相应的设备功能、调整相应的设备设置等)的一个或多个可选控件。在一些实施方案中,当用户将其注视移动远离对象的位置并且用户注视不再指向与虚拟菜单和对象相关联的区域时,计算机将虚拟菜单移动远离靠近用户的虚拟位置的位置(例如,视点或用户手部的位置等)并且朝向该虚拟菜单对应于三维环境中的对象的位置的原始位置返回。在通过用户注视从虚拟菜单和对象离开而释放虚拟菜单之后,就好像该虚拟菜单快速跳回到其原始位置。在一些实施方案中,视觉链接(例如,虚拟橡皮筋、虚线等)显示在虚拟菜单与其原始位置之间,而虚拟菜单由于对象的选择而显示在远离该虚拟菜单的原始位置的距离处。在一些实施方案中,当虚拟菜单远离其原始位置并且更靠近用户的虚拟位置(例如,靠近视点、靠近用户视场中的用户手部等)显示时,该虚拟菜单可充当其中所含有的个别控件的开始位置以在注视指向个别控件时或在控件以其他方式被选择但未被激活时进一步移动更靠近用户的虚拟位置。在一些实施方案中,当用户注视移动远离个别控件时,个别控件退回到它们在虚拟菜单中的原始位置。在一些实施方案中,虚拟菜单和包含在其中的个别控件的移动是基于用户注视朝向和远离虚拟菜单和/或对象的移动。在一些实施方案中,当虚拟菜单仍耦合到用户注视时,该虚拟菜单以取决于用户注视的移动(例如,用户注视的移动的速度、方向、距离等)的方式(例如,以速度、方向、距离等)朝向和远离视点移动;并且一旦用户注视在对应于对象和虚拟菜单的区域之外,虚拟菜单就快速跳回到其原始位置。响应于对象的选择而将与对象相关联的虚拟菜单移动得更靠近用户的虚拟位置(例如,更靠近视点、更靠近视场中的用户手部等),并且随后当用户注视移动远离虚拟菜单和对象时将虚拟菜单移动回到该虚拟菜单在三维环境中的原始位置允许用户容易地检查包括在虚拟菜单中的选项,和/或在三维环境中的更可接近的位置处(例如,在伸手可及的范围内,或靠近用户手部等)与虚拟菜单交互。这使得用户与对象的交互更高效,并且减少了来自用户的执行与对象相关联的操作的输入的数量、范围和/或性质,由此创建更高效的人机界面。
在一些实施方案中,当对应于计算机生成的体验的虚拟对象被三维环境中的用户输入调用时,计算机***在三维环境中显示计算机生成的体验的预览。预览具有大于预览的在由显示生成部件提供的三维环境的视图中显示的部分的空间范围。计算机***根据显示生成部件(和/或任选地,捕获三维环境中示出的物理环境的表示的相机,和/或计算机***的其他定位感测部件等)与物理环境之间的相对移动来显示与预览的先前显示的部分相邻的预览的不同空间部分。在一些实施方案中,由于预览占据三维环境的视图的一部分,因此还根据显示生成部件(和/或任选地,捕获三维环境中示出的物理环境的表示的相机,和/或计算机***的其他定位感测部件等)与物理环境之间的相对移动来更新三维环境的视图。在一些实施方案中,响应于在显示预览时检测到用于触发计算机生成的体验的显示的预设用户输入,计算机***显示具有比预览更大的空间范围的计算机生成的体验。在一些实施方案中,预览扩展成为计算机生成的体验的初始视图。显示具有与计算机生成的体验的空间特性和导航属性类似的空间特性和导航属性的计算机生成的体验的预览向用户提供了体验计算机生成的体验的环境并且在该环境内进行探索(例如,通过交互、运动和导航)而不实际启动三维环境的机会。这允许用户做出关于是否继续开始计算机生成的体验的更明智的决定,减少了意外触发计算机生成的体验的用户错误,并且简化了从当前显示的环境到计算机生成的体验的完全沉浸式版本的转变等,从而创建了更高效的人机界面。在一些实施方案中,预览还用作当用户退出计算机生成的体验并返回到原始三维环境时的转变点。
在一些实施方案中,计算机***在对应于电子设备在物理环境中的定位的位置处显示三维环境中的电子设备的表示。当计算机***接收到在电子设备处生成或接收到通知的指示时,计算机***在三维环境中相对于电子设备的表示的预设定位处显示通知的表示。计算机***根据与通知的表示交互的用户输入,在三维环境中执行关于通知的表示的操作(例如,显示该通知的更大版本、解除通知的表示、回放通知的内容、编写对对应于通知的消息的回复等)(并且任选地,还使得在电子设备处执行关于通知的对应操作)。在相对于电子设备的表示的预设定位处显示电子设备的表示允许用户容易地发现三维环境中的通知的表示和/或在物理环境中定位电子设备,使得当电子设备处于使电子设备的显示器上的通知难以经由显示生成部件看见的定位处或具有使电子设备的显示器上的通知难以经由显示生成部件看见的取向时,用户不会错过通知。此外,在一些实施方案中,计算机***允许用户通过使用所提供的手势通过三维环境中的通知的表示与通知交互,而不需要用户与电子设备的物理接触或接近。这使得用户与通知的交互更高效,并且减少了来自用户的执行与通知相关联的操作的输入的数量、范围和/或性质,由此创建更高效的人机界面。这还意味着用户不必中断正在进行的计算机生成的体验来到达并抓取电子设备以使用电子设备与通知交互。此外,在一些实施方案中,计算机***允许用户通过利用在三维环境中提供的视觉辅助(例如,视觉提示、视觉增强、虚拟键盘和虚拟控件等)对电子设备的物理操纵(例如,触摸、转动、旋转、轻击、轻扫等)来与通知交互。这样,用户不必仅使用电子设备的小显示器来看到通知,并且任选地,仍然可以利用位于电子设备上的更准确的触摸传感器来检测更精细的输入(例如,键入、微调等)以与通知交互。例如,计算机***将用户在电子设备的触摸屏上的触摸的定位映射到在三维环境中显示的虚拟键的位置(例如,在视场的中心区域中显示的虚拟键盘上、在对应于电子设备的触摸屏的位置处等)以输出对触发通知的消息的回复文本。在不同交互模态之间进行选择的灵活性以及由不同交互模态提供的优点的整合减少了在与通知交互时的用户错误,并且减少了来自用户的执行与通知相关联的操作的输入的数量、范围和/或性质,从而创建更高效的人机界面。
图1至图6提供了对用于向用户提供CGR体验的示例性计算机***的描述。图7A至图7D是示出根据一些实施方案的用于在用户界面中的一组索引项中导航的用户交互的框图。图7E至图7J是示出根据一些实施方案的响应于涉及用户手部的移动的输入而在三维环境中显示用户界面对象并与该用户界面对象交互的框图。图7K至图7N是示出根据一些实施方案的基于物理环境的预设部分是否在视场内而在三维环境中在对应于物理环境的预设部分的位置处显示虚拟菜单的框图。图7O至图7T是示出根据一些实施方案的在三维环境中在远离控件对象的初始位置的不同距离处显示与对象相关联的控件对象的框图,该显示取决于对象是否被用户输入选择和/或指向对象或该对象相关联的控件对象的用户注视是否已经移动远离对应于该对象及其相关联的控制对象的区域。图7U至图7Z是示出根据一些实施方案的在转变为响应于附加输入而显示计算机生成的体验之前响应于与对象的第一次交互而显示计算机生成的体验的三维预览的框图。图7AA至图7AD是示出根据一些实施方案的在三维环境中在相对于电子设备的表示具有预定空间关系(例如,位置、距离等)的位置处显示通知的表示的框图。图8至图13是根据各种实施方案的与三维环境交互的方法的流程图。图7A至图7AD中的用户界面分别用于示出图8至图13中的过程。
在一些实施方案中,如图1中所示,经由包括计算机***101的操作环境100向用户提供CGR体验。计算机***101包括控制器110(例如,便携式电子设备的处理器或远程服务器)、显示生成部件120(例如,头戴式设备(HMD)、显示器、投影仪、触摸屏等)、一个或多个输入设备125(例如,眼睛跟踪设备130、手部跟踪设备140、其他输入设备150)、一个或多个输出设备155(例如,扬声器160、触觉输出发生器170和其他输出设备180)、一个或多个传感器190(例如,图像传感器、光传感器、深度传感器、触觉传感器、取向传感器、接近传感器、温度传感器、位置传感器、运动传感器、速度传感器等),以及任选地一个或多个***设备195(例如,家用电器、可穿戴设备等)。在一些实施方案中,输入设备125、输出设备155、传感器190和***设备195中的一者或多者与显示生成部件120集成(例如,在头戴式设备或手持式设备中)。
在描述CGR体验时,各种术语用于区别地指代用户可以感测并且/或者用户可以与其进行交互(例如,利用由生成CGR体验的计算机***101检测到的输入进行交互,这些输入使得生成CGR体验的计算机***生成与提供给计算机***101的各种输入对应的音频、视觉和/或触觉反馈)的若干相关但不同的环境。以下是这些术语的子集:
物理环境:物理环境是指人们在没有电子***帮助的情况下能够感测和/或交互的物理世界。物理环境诸如物理公园包括物理物品,诸如物理树木、物理建筑物和物理人。人们能够诸如通过视觉、触觉、听觉、味觉和嗅觉来直接感测物理环境和/或与物理环境交互。
计算机生成的现实:相反地,计算机生成的现实(CGR)环境是指人们经由电子***进行感测和/或交互的完全或部分模拟环境。在CGR中,跟踪人的物理运动的子集或其表示,并且作为响应,以符合至少一个物理定律的方式调节在CGR环境中模拟的一个或多个虚拟对象的一个或多个特征。例如,CGR***可以检测人的头部转动,并且作为响应,以与此类视图和声音在物理环境中变化的方式类似的方式调节呈现给人的图形内容和声场。在一些情况下(例如,出于可达性原因),对CGR环境中虚拟对象的特征的调节可以响应于物理运动的表示(例如,声音命令)来进行。人可以利用其感觉中的任一者来感测CGR对象和/或与之交互,包括视觉、听觉、触觉、味觉和嗅觉。例如,人可以感测音频对象和/或与音频对象交互,该音频对象创建3D或空间音频环境,该3D或空间音频环境提供3D空间中点音频源的感知。又如,音频对象可以使能音频透明度,该音频透明度在有或者没有计算机生成的音频的情况下选择性地引入来自物理环境的环境声音。在某些CGR环境中,人可以感测和/或只与音频对象交互。
CGR的示例包括虚拟现实和混合现实。
虚拟现实:虚拟现实(VR)环境是指被设计成对于一个或多个感官完全基于计算机生成的感官输入的模拟环境。VR环境包括人可以感测和/或交互的多个虚拟对象。例如,树木、建筑物和代表人的化身的计算机生成的图像是虚拟对象的示例。人可以通过在计算机生成的环境内人的存在的模拟和/或通过在计算机生成的环境内人的物理移动的一个子组的模拟来感测和/或与VR环境中的虚拟对象交互。
混合现实:与被设计成完全基于计算机生成的感官输入的VR环境相比,混合现实(MR)环境是指被设计成除了包括计算机生成的感官输入(例如,虚拟对象)之外还引入来自物理环境的感官输入或其表示的模拟环境。在虚拟连续体上,混合现实环境是完全物理环境作为一端和虚拟现实环境作为另一端之间的任何状况,但不包括这两端。在一些MR环境中,计算机生成的感官输入可以对来自物理环境的感官输入的变化进行响应。另外,用于呈现MR环境的一些电子***可以跟踪相对于物理环境的位置和/或取向,以使虚拟对象能够与真实对象(即,来自物理环境的物理物品或其表示)交互。例如,***可以导致移动使得虚拟树木相对于物理地面看起来是静止的。
混合现实的示例包括增强现实和增强虚拟。
增强现实:增强现实(AR)环境是指其中一个或多个虚拟对象叠加在物理环境或物理环境的表示上方的模拟环境。例如,用于呈现AR环境的电子***可具有透明或半透明显示器,人可以透过该显示器直接查看物理环境。该***可以被配置为在透明或半透明显示器上呈现虚拟对象,使得人利用该***感知叠加在物理环境之上的虚拟对象。另选地,***可以具有不透明显示器和一个或多个成像传感器,该成像传感器捕获物理环境的图像或视频,这些图像或视频是物理环境的表示。***将图像或视频与虚拟对象组合,并在不透明显示器上呈现组合物。人利用***经由物理环境的图像或视频而间接地查看物理环境,并且感知叠加在物理环境之上的虚拟对象。如本文所用,在不透明显示器上显示的物理环境的视频被称为“透传视频”,意味着***使用一个或多个图像传感器捕获物理环境的图像,并且在不透明显示器上呈现AR环境时使用那些图像。进一步另选地,***可以具有投影***,该投影***将虚拟对象投射到物理环境中,例如作为全息图或者在物理表面上,使得人利用该***感知叠加在物理环境之上的虚拟对象。增强现实环境也是指其中物理环境的表示被计算机生成的感官信息进行转换的模拟环境。例如,在提供透传视频中,***可以对一个或多个传感器图像进行转换以施加与成像传感器所捕获的视角不同的选择视角(例如,视点)。又如,物理环境的表示可以通过图形地修改(例如,放大)其部分而进行转换,使得经修改部分可以是原始捕获图像的代表性的但不是真实的版本。再如,物理环境的表示可以通过以图形方式消除其部分或将其部分进行模糊处理而进行转换。
增强虚拟:增强虚拟(AV)环境是指其中虚拟环境或计算机生成环境结合了来自物理环境的一项或多项感官输入的模拟环境。感官输入可以是物理环境的一个或多个特性的表示。例如,AV公园可以具有虚拟树木和虚拟建筑物,但人的脸部是从对物理人拍摄的图像逼真再现的。又如,虚拟对象可以采用一个或多个成像传感器所成像的物理物品的形状或颜色。再如,虚拟对象可以采用符合太阳在物理环境中的定位的阴影。
硬件:有许多不同类型的电子***使人能够感测各种CGR环境和/或与各种CGR环境进行交互。示例包括头戴式***、基于投影的***、平视显示器(HUD)、集成有显示能力的车辆挡风玻璃、集成有显示能力的窗户、被形成为被设计用于放置在人眼睛上的透镜的显示器(例如,类似于隐形眼镜)、耳机/听筒、扬声器阵列、输入***(例如,具有或没有触觉反馈的可穿戴或手持控制器)、智能电话、平板电脑、和台式/膝上型计算机。头戴式***可以具有一个或多个扬声器和集成的不透明显示器。另选地,头戴式***可以被配置成接受外部不透明显示器(例如,智能电话)。头戴式***可以结合用于捕获物理环境的图像或视频的一个或多个成像传感器、和/或用于捕获物理环境的音频的一个或多个麦克风。头戴式***可以具有透明或半透明显示器,而不是不透明显示器。透明或半透明显示器可以具有媒介,代表图像的光通过该媒介被引导到人的眼睛。显示器可以利用数字光投影、OLED、LED、uLED、硅基液晶、激光扫描光源或这些技术的任意组合。媒介可以是光学波导、全息图媒介、光学组合器、光学反射器、或它们的任意组合。在一个实施方案中,透明或半透明显示器可被配置为选择性地变得不透明。基于投影的***可以采用将图形图像投影到人的视网膜上的视网膜投影技术。投影***还可以被配置为将虚拟对象投影到物理环境中例如作为全息图,或者投影到物理表面上。在一些实施方案中,控制器110被配置为管理和协调用户的CGR体验。在一些实施方案中,控制器110包括软件、固件和/或硬件的合适组合。下文相对于2更详细地描述控制器110。在一些实施方案中,控制器110是相对于场景105(例如,物理设置/环境)处于本地或远程位置的计算设备。例如,控制器110是位于场景105内的本地服务器。又如,控制器110是位于场景105之外的远程服务器(例如,云服务器、中央服务器等)。在一些实施方案中,控制器110经由一个或多个有线或无线通信通道144(例如,蓝牙、IEEE802.11x、IEEE 802.16x、IEEE 802.3x等)与显示生成部件120(例如,HMD、显示器、投影仪、触摸屏等)通信地耦接。在另一个示例中,控制器110包括在显示生成部件120(例如,HMD或包括显示器和一个或多个处理器的便携式电子设备等)、输入设备125中的一个或多个输入设备、输出设备155中的一个或多个输出设备、传感器190中的一个或多个传感器和/或***装设备195中的一个或多个***装设备的壳体(例如,物理外壳)内,或者与上述设备中的一者或多者共享相同的物理壳体或支撑结构。
在一些实施方案中,显示生成部件120被配置为向用户提供CGR体验(例如,至少CGR体验的视觉组成部分)。在一些实施方案中,显示生成部件120包括软件、固件和/或硬件的合适组合。下文相对于图3更详细地描述了显示生成部件120。在一些实施方案中,控制器110的功能由显示生成部件120提供和/或与该显示生成部件组合。
根据一些实施方案,当用户虚拟地和/或物理地存在于场景105内时,显示生成部件120向用户提供CGR体验。
在一些实施方案中,显示生成部件穿戴在用户身体的一部分上(例如,他/她的头部上、他/她的手部上等)。这样,显示生成部件120包括被提供用于显示CGR内容的一个或多个CGR显示器。例如,在各种实施方案中,显示生成部件120包围用户的视场。在一些实施方案中,显示生成部件120是被配置为呈现CGR内容的手持式设备(诸如智能电话或平板电脑),并且用户握持具有朝向用户的视场的显示器和朝向场景105的相机的设备。在一些实施方案中,手持式设备被任选地放置在穿戴在用户的头部上的壳体内。在一些实施方案中,手持式设备被任选地放置在用户前面的支撑件(例如,三脚架)上。在一些实施方案中,显示生成部件120是被配置为呈现CGR内容的CGR室、壳体或房间,其中用户不穿戴或握持显示生成部件120。参考用于显示CGR内容的一种类型的硬件(例如,手持式设备或三脚架上的设备)描述的许多用户界面可以在用于显示CGR内容的另一种类型的硬件(例如,HMD或其他可穿戴计算设备)上实现。例如,示出基于发生在手持式设备或三脚架安装的设备前面的空间中的交互而触发的与CGR内容的交互的用户界面可以类似地用HMD来实现,其中交互发生在HMD前面的空间中,并且对CGR内容的响应经由HMD来显示。类似地,示出基于手持式设备或三脚架安装的设备相对于物理环境(例如,场景105或用户身体的一部分(例如,用户的眼睛、头部或手部))的移动而触发的与CGR内容的交互的用户界面可以类似地用HMD来实现,其中移动是由HMD相对于物理环境(例如,场景105或用户身体的一部分(例如,用户的眼睛、头部或手部))的移动引起的。
尽管在图1中示出了操作环境100的相关特征,但本领域的普通技术人员将从本公开中认识到,为了简洁起见并且为了不模糊本文所公开的示例性实施方案的更多相关方面,未示出各种其他特征。
图2是根据一些实施方案的控制器110的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不使本文所公开的实施方案的更多相关方面晦涩难懂,未示出各种其他特征。为此,作为非限制性示例,在一些实施方案中,控制器110包括一个或多个处理单元202(例如,微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、中央处理单元(CPU)、处理内核等)、一个或多个输入/输出(I/O)设备206、一个或多个通信接口208(例如,通用串行总线(USB)、FIREWIRE、THUNDERBOLT、IEEE 802.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和CGR体验模块240。
操作***230包括用于处理各种基础***服务和用于执行硬件相关任务的指令。在一些实施方案中,CGR体验模块240被配置为管理和协调一个或多个用户的单重或多重CGR体验(例如,一个或多个用户的单重CGR体验,或一个或多个用户的相应群组的多重CGR体验)。为此,在各种实施方案中,CGR体验模块240包括数据获取单元242、跟踪单元244、协调单元246和数据传输单元248。
在一些实施方案中,数据获取单元242被配置为从图1的至少显示生成部件120,以及任选地从输入设备125、输出设备155、传感器190和/或***设备195中的一者或多者获取数据(例如,呈现数据、交互数据、传感器数据、位置数据等)。出于该目的,在各种实施方案中,数据获取单元242包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
在一些实施方案中,跟踪单元244被配置为映射场景105,并且跟踪至少显示生成部件120相对于图1的场景105的位置,以及任选地跟踪输入设备125、输出设备155、传感器190和/或***设备195中的一者或多者的位置。出于该目的,在各种实施方案中,跟踪单元244包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。在一些实施方案中,跟踪单元244包括手部跟踪单元243和/或眼睛跟踪单元245。在一些实施方案中,手部跟踪单元243被配置为跟踪用户的手部的一个或多个部分的位置,以及/或者用户的手部的一个或多个部分相对于图1的场景105的、相对于显示生成部件120和/或相对于坐标系(该坐标系是相对于用户的手部定义的)的运动。下文相对于图4更详细地描述了手部跟踪单元243。在一些实施方案中,眼睛跟踪单元245被配置为跟踪用户注视(或更广泛地,用户的眼睛、面部或头部)相对于场景105(例如,相对于物理环境和/或相对于用户(例如,用户的手部))或相对于经由显示生成部件120显示的CGR内容的位置或移动。下文相对于图5更详细地描述了眼睛跟踪单元245。
在一些实施方案中,协调单元246被配置为管理和协调由显示生成部件120,以及任选地由输出设备155和/或***装设备195中的一者或多者呈现给用户的CGR体验。出于该目的,在各种实施方案中,协调单元246包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
在一些实施方案中,数据传输单元248被配置为将数据(例如,呈现数据、位置数据等)传输到至少显示生成部件120,并且任选地传输到输入设备125、输出设备155、传感器190和/或***设备195中的一者或多者。出于该目的,在各种实施方案中,数据传输单元248包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
尽管数据获取单元242、跟踪单元244(例如,包括眼睛跟踪单元243和手部跟踪单元244)、协调单元246和数据传输单元248被示为驻留在单个设备(例如,控制器110)上,但应当理解,在其他实施方案中,数据获取单元242、跟踪单元244(例如,包括眼睛跟踪单元243和手部跟踪单元244)、协调单元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、一个或多个CGR显示器312、一个或多个任选的面向内部并且/或者面向外部的图像传感器314、存储器320以及用于互连这些部件和各种其他部件的一条或多条通信总线304。
在一些实施方案中,一条或多条通信总线304包括用于互连和控制各***部件之间的通信的电路。在一些实施方案中,一个或多个I/O设备及传感器306包括惯性测量单元(IMU)、加速度计、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测仪、心率监测仪、血液氧传感器、血糖传感器等)、一个或多个传声器、一个或多个扬声器、触觉引擎以及/或者一个或多个深度传感器(例如,结构光、飞行时间等)等。
在一些实施方案中,一个或多个CGR显示器312被配置为向用户提供CGR体验。在一些实施方案中,一个或多个CGR显示器312对应于全息、数字光处理(DLP)、液晶显示器(LCD)、硅上液晶(LCoS)、有机发光场效应晶体管(OLET)、有机发光二极管(OLED)、表面传导电子发射显示器(SED)、场发射显示器(FED)、量子点发光二极管(QD-LED)、微机电***(MEMS)以及/或者类似的显示器类型。在一些实施方案中,一个或多个CGR显示器312对应于衍射、反射、偏振、全息等波导显示器。例如,HMD 120包括单个CGR显示器。又如,HMD 120包括针对用户的每只眼睛的CGR显示器。在一些实施方案中,一个或多个CGR显示器312能够呈现MR和VR内容。在一些实施方案中,一个或多个CGR显示器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和CGR呈现模块340。
操作***330包括用于处理各种基础***服务和用于执行硬件相关任务的过程。在一些实施方案中,CGR呈现模块340被配置为经由一个或多个CGR显示器312向用户呈现CGR内容。出于该目的,在各种实施方案中,CGR呈现模块340包括数据获取单元342、CGR呈现单元344、CGR映射生成单元346和数据传输单元348。
在一些实施方案中,数据获取单元342被配置为至少从图1的控制器110获取数据(例如,呈现数据、交互数据、传感器数据、位置数据等)。出于所述目的,在各种实施方案中,数据获取单元342包括指令以及/或者用于指令的逻辑以及启发法和用于启发法的元数据。
在一些实施方案中,CGR呈现单元344被配置为经由一个或多个CGR显示器312呈现CGR内容。出于所述目的,在各种实施方案中,CGR呈现单元344包括指令以及/或者用于指令的逻辑以及启发法和用于启发法的元数据。
在一些实施方案中,CGR映射生成单元346被配置为基于媒体内容数据生成CGR映射图(例如,混合现实场景的3D映射图或可以在其中放置计算机生成对象的物理环境以生成计算机生成现实的映射图)。出于所述目的,在各种实施方案中,CGR映射生成单元346包括指令以及/或者用于该指令的逻辑以及启发法和用于该启发法的元数据。
在一些实施方案中,数据传输单元348被配置为将数据(例如,呈现数据、位置数据等)传输到至少控制器110,以及任选地输入设备125、输出设备155、传感器190和/或***设备195中的一者或多者。出于所述目的,在各种实施方案中,数据传输单元348包括指令以及/或者用于指令的逻辑以及启发法和用于启发法的元数据。
尽管数据获取单元342、CGR呈现单元344、CGR映射生成单元346和数据传输单元348被示出为驻留在单个设备(例如,图1的显示生成部件120)上,但应当理解,在其他实施方案中,数据获取单元342、CGR呈现单元344、CGR映射生成单元346和数据传输单元348的任何组合可位于单独计算设备中。
此外,图3更多地用作可能存在于特定实施方案中的各种特征的功能描述,与本文所述的实施方案的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图3中单独示出的一些功能模块可在单个模块中实现,并且单个功能块的各种功能可在各种实施方案中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些实施方案中,部分地取决于为特定具体实施选择的硬件、软件和/或固件的特定组合。
图4是手部跟踪设备140的示例性实施方案的示意性图解。在一些实施方案中,手部跟踪设备140(图1)由手部跟踪单元243控制(图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上的图像,或者执行其他功能。
在一些实施方案中,软件可以例如通过网络以电子形式下载到控制器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由眼睛跟踪单元245(图2)控制来跟踪用户注视相对于场景105或相对于经由显示生成部件120显示的CGR内容的位置和移动。在一些实施方案中,眼睛跟踪设备130与显示生成部件120集成。例如,在一些实施方案中,当显示生成部件120是头戴式设备(诸如,头戴式耳机、头盔、护目镜或眼镜)或放置在可穿戴框架中的手持式设备时,该头戴式设备包括生成CGR内容以供用户观看的部件以及用于跟踪用户相对于CGR内容的注视的部件两者。在一些实施方案中,眼睛跟踪设备130与显示生成部件120分开。例如,当显示生成部件是手持式设备或CGR室时,眼睛跟踪设备130任选地是与手持式设备或CGR室分开的设备。在一些实施方案中,眼睛跟踪设备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(例如,头戴式显示器的左显示器面板或右显示器面板,或者手持式设备的显示器、投影仪等)之间的镜子550(这些镜子反射来自眼睛592的IR或NIR光,同时允许可见光通过)(例如,如图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可引导用于捕获CGR体验的物理环境的外部相机在所确定方向上聚焦。然后,外部相机的自动聚焦机构可以聚焦于显示器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旨在用作可用于特定具体实施的眼睛跟踪技术的一个示例。如本领域普通技术人员所认识到的,根据各种实施方案,在用于向用户提供CGR体验的计算机***101中,当前存在或未来开发的其他眼睛跟踪技术可用于取代本文所述的闪光辅助的眼睛跟踪技术或与该闪光辅助的眼睛跟踪技术组合使用。
在本公开中,相对于与计算机***的交互来描述各种输入方法。当使用一个输入设备或输入方法来提供示例,并且使用另一个输入设备或输入方法来提供另一个示例时,应当理解,每个示例可与相对于另一个示例描述的输入设备或输入方法兼容并且任选地利用该输入设备或输入方法。类似地,相对于与计算机***的交互来描述各种输出方法。当使用一个输出设备或输出方法来提供示例,并且使用另一个输出设备或输出方法来提供另一个示例时,应当理解,每个示例可与相对于另一个示例描述的输出设备或输出方法兼容并且任选地利用该输出设备或输出方法。类似地,相对于通过计算机***与虚拟环境或混合现实环境进行的交互来描述各种方法。当使用与虚拟环境的交互来提供示例时,并且使用混合现实环境来提供另一个示例时,应当理解,每个示例可与相对于另一个示例描述的方法兼容并且任选地利用这些方法。因此,本公开公开了作为多个示例的特征的组合的实施方案,而无需在每个示例性实施方案的描述中详尽地列出实施方案的所有特征。
用户界面和相关联的过程
现在将注意力转向可在具有显示生成部件、一个或多个输入设备以及(任选)一个或多个相机的计算机***(诸如,便携式多功能设备或头戴式设备)上实现的用户界面(“UI”)和相关联过程的实施方案。
图7A至图7AD示出经由显示生成部件(例如,显示生成部件7100、显示生成部件120等)显示的三维环境以及由指向该三维环境的用户输入引起的在该三维环境中发生的交互。在一些实施方案中,通过在虚拟对象的位置处检测到的用户注视、通过在物理环境中对应于虚拟对象的位置的定位处执行的手势、通过在物理环境中独立于虚拟对象的位置的定位处执行的手势(同时虚拟对象具有输入焦点(例如,通过注视选择、通过指针选择、通过先前手势输入选择等)),将输入指向三维环境内的虚拟对象。在一些实施方案中,通过用户手部移动(例如,整个手部移动、在相应姿势中的整个手部移动、手部的一部分相对于手部的另一部分的移动、双手之间的相对移动等)和/或相对于物理对象的操纵(例如,触摸、轻扫、轻击、打开、朝向移动、相对于移动等),将输入指向物理对象或对应于物理对象的虚拟对象的表示。
在一些实施方案中,经由显示生成部件显示的三维环境是在没有物理环境的表示的情况下在三维环境中的不同虚拟位置处包括虚拟对象和内容的虚拟三维环境。在一些实施方案中,三维环境是混合现实环境,其在三维环境中的受物理环境的一个或多个物理方面(例如,墙、地板、表面的位置和取向、重力方向、一天中的时间等)约束的不同虚拟位置处显示虚拟对象。在一些实施方案中,三维环境是包括物理环境的表示的增强现实环境。物理环境的表示包括三维环境中的不同位置处的物理对象和表面的相应表示,使得物理环境中的不同物理对象和表面之间的空间关系由三维环境中的物理对象和表面的表示之间的空间关系来反映。当相对于三维环境中的物理对象和表面的表示的位置来放置虚拟对象时,该虚拟对象看起来与物理环境中的物理对象和表面具有对应的空间关系。
在一些实施方案中,显示生成部件包括其中显示物理环境的表示的透传部分。在一些实施方案中,透传部分是显示生成部件的展示用户周围或用户的视场内的物理环境的至少一部分的透明或半透明(例如,透视)部分。例如,透传部分是头戴式显示器或平视显示器的被制成半透明(例如,小于50%、40%、30%、20%、15%、10%或5%的不透明度)或透明的一部分,使得用户可以透过它来查看用户周围的真实世界,而无需移除头戴式显示器或远离平视显示器移动。在一些实施方案中,当显示虚拟或混合现实环境时,透传部分逐渐从半透明或透明过渡到完全不透明。在一些实施方案中,显示生成部件的透传部分显示由一个或多个相机(例如,移动设备的与头戴式显示器相关联的后向相机,或者将图像数据馈送到电子设备的其他相机)捕获的物理环境的至少一部分的图像或视频的实时馈送。在一些实施方案中,该一个或多个相机指向物理环境的在用户眼睛的正前方(例如,在显示生成部件后方)的一部分。在一些实施方案中,该一个或多个相机指向物理环境的不在用户眼睛的正前方(例如,在不同物理环境中,或者在用户的侧面或后方)的一部分。
在一些实施方案中,当在对应于物理环境中的一个或多个物理对象的定位的位置处显示虚拟对象时,虚拟对象中的至少一些虚拟对象被显示以替换相机的实况视图的一部分(例如,在实况视图中捕获的物理环境的一部分)(例如,替换该部分的显示)。在一些实施方案中,虚拟对象和内容中的至少一些者被投影到物理环境中的物理表面或空白空间上,并且通过显示生成部件的透传部分是可见的(例如,作为物理环境的相机视图的一部分可见,或者通过显示生成部件的透明或半透明部分可见等)。在一些实施方案中,虚拟对象和内容中的至少一些者被显示为覆盖显示器的一部分并且遮挡通过显示生成部件的透明或半透明部分可见的物理环境的至少一部分而非全部的视图。在一些实施方案中,
在一些实施方案中,显示生成部件根据改变三维环境的当前显示的视图的视点相对于三维环境的虚拟位置的用户输入或移动来显示三维环境的不同视图。在一些实施方案中,当三维环境是虚拟环境时,视点根据导航或运动请求(例如,空中手势、通过手部的一部分相对于手部的另一部分的移动而执行的手势等)移动,而不要求用户的头部、躯干和/或显示生成部件在物理环境中的移动。在一些实施方案中,用户的头部和/或躯干的移动和/或显示生成部件或计算机***的其他位置感测元件的移动(例如,由于用户握住显示生成部件或佩戴HMD等)等相对于物理环境引起视点相对于三维环境的对应移动(例如,具有对应的移动方向、移动距离、移动速度和/或取向变化等),从而引起三维环境的当前显示的视图的对应变化。在一些实施方案中,当虚拟对象具有相对于视点的预设空间关系时,视点相对于三维环境的移动将引起虚拟对象相对于三维环境的移动,同时保持虚拟对象在视场中的位置(例如,虚拟对象被称为是头部锁定的)。在一些实施方案中,虚拟对象被身体锁定到用户,并且当用户作为整体在物理环境中移动(例如,携带或佩戴显示生成部件和/或计算机***的其他定位感测部件)时相对于三维环境移动,但是将不会响应于用户的头部移动而在三维环境中移动(例如,显示生成部件和/或计算机***的其他定位感测部件围绕用户在物理环境中的固定定位旋转)。
在一些实施方案中,图7A至图7AD中示出的三维环境的视图包括用户的手部、手臂和/或手腕的表示。在一些实施方案中,该表示是经由显示生成部件提供的物理环境的表示的一部分。在一些实施方案中,该表示不是物理环境的表示的一部分,并且独立于三维环境的视图被单独地捕获(例如,通过一个或多个相机指向用户的手部、手臂和手腕)并显示在三维环境中。在一些实施方案中,该表示包括由计算机***的一个或多个相机捕获的相机图像,或基于由各种传感器捕获的信息的手臂、手腕和/或手部的程式化版本。在一些实施方案中,该表示替换物理环境的表示的一部分的显示、覆盖在该部分上或阻挡该部分的视图。在一些实施方案中,当显示生成部件不提供物理环境的视图并且提供完全虚拟环境(例如,无相机视图或透明透传部分)时,仍可在虚拟环境中显示用户的一个或两个手臂、手腕和/或手部的实时视觉表示(例如,使表示或分段相机图像程式化)。在一些实施方案中,尽管在附图中示出了用户手部的表示,但是应当理解,除非通过对应描述另有清楚说明,否则当提供与三维环境交互所需的输入时,用户手部的表示不一定总是被显示,和/或可以不需要被显示或不需要在用户的视场中。
图7A至图7D是示出根据一些实施方案的用于在用户界面中的一组索引项(例如,联系人列表、媒体对象的集合、一组文档等)中导航的用户交互的框图。
在一些实施方案中,计算机***在三维环境(例如,环境7104)中的用户界面(例如,用户界面对象7300、虚拟表面、虚拟区域等)中显示一组索引项(例如,通过联系人姓名来索引的联系人;通过标题、艺术家姓名、专辑名、流派来索引的媒体对象;通过文件名、文档类型等来索引的文档)并且允许用户使用一个或多个导航输入(例如,滚动手势、触摸手势等)在用户界面中的该组索引项中导航。计算机***允许用户通过在三维环境中相对于用户界面移动注视(例如,从显示并滚动个别索引项的表示(例如,在此示例中是第一区域7310中的表示7302)的数据区域(例如,在此示例中是第一区域7310)移动到与索引项的索引(例如,联系人姓名的首字母的有序序列、其他索引项的有序序列等)相关联的索引区域(例如,第二区域7304))来控制导航量。在一些实施方案中,当用户注视指向索引区域时,与当用户注视指向数据区域时所实现的导航(例如,在小于第一数量的项的第二数量的项中导航)相比,通过导航输入实现了在数据区域中的索引项中的更大量导航(例如,在第一数量的项中导航)。在一些实施方案中,导航输入不涉及用户将他的整个手部举到对应于用户界面在三维环境中的位置的定位。例如,在一些实施方案中,导航输入涉及当整个手部没有抬起(例如,搁置在桌子上、垂在用户身体的侧面、搁置在用户的膝盖上等)时手部的一部分相对于手部的另一部分的小移动。在一些实施方案中,通过指向用户界面的与索引相关联的一部分(例如,在此示例中是第二区域7304;空白或当前不显示索引的另一区域等)的用户注视来选择并且任选地激活用户界面的索引区域以显示索引(例如,在此示例中,字母表的顺序列表)。在一些实施方案中,所实现的导航量进一步基于导航输入的特性(例如,手势或其他类型的输入的量值、范围、距离、速度、频率等)。使用用户注视结合导航输入来调整用户界面中的一组索引项的导航量提供了一种在一组索引项中导航的高效并轻量的方式,并且减少了来自用户的输入的数量、范围和/或性质以实现期望的结果,由此创建更高效的人机界面。
在示例中,用户界面对象(例如,具有被分成对应于不同周的子集的活动的日程规划器、被分成对应于不同选项分组(例如,对应于应用程序功能的类型、设备类型等的分组)的子集的可选选项的菜单、联系人列表(例如,通过联系人姓名的首字母被分成子集)等)具有显示来自一组项(例如,活动、可选选项、联系人等)的项的表示的项区域(也被称为“数据区域”或“第一区域”)以及对应于该组项的索引(例如,基于周、功能类型、联系人姓名等的索引)的索引区域。根据一些实施方案,取决于用户注视是指向项区域还是索引区域(例如,当前空白而没有对应于项集合的相应子集的索引项的区域,或当前正在显示索引项(例如,周、功能类型、联系人姓名等的表示)的区域),用户输入(或具有相同量值和其他特性的单独输入)引起在项区域中的项的表示中的不同量的导航。
在一些实施方案中,当数据项显示在项区域中时,根据预设的顺序显示数据项;并且当响应于用户输入在数据项中导航时,也以相同的预设顺序显示数据项。在一些实施方案中,对应于不同索引项的数据项的子集根据它们的对应索引项的预设顺序次序来排序,并且当在项区域中的数据项中导航时,数据项的不同子集以它们的对应索引项的次序出现在项区域中。在一些实施方案中,如果通过用户输入在索引区域中选择数据项的相应索引项,则可将数据项的相应子集直接调用到项区域中。在一些实施方案中,通过数据项的导航方向和通过索引项的导航方向在用户界面中彼此平行。在一些实施方案中,通过数据项的导航方向和通过索引项的导航方向在用户界面中彼此垂直。在一些实施方案中,项区域和索引区域并排显示在用户界面中。在一些实施方案中,项区域直接在用户界面中的索引区域上方和/或下方。在一些实施方案中,响应于指向显示数据项的用户界面对象中的项区域的边缘区域的用户输入,显示或扩展索引区域以示出索引项。
在一些实施方案中,显示来自数据项集合的数据项的用户界面对象在三维环境(例如,虚拟三维环境、混合现实环境、增强现实环境等)中显示。在一些实施方案中,根据一些实施方案,用户输入是由用户手部执行的用于与虚拟或混合现实环境交互的输入手势。在一些实施方案中,手部的移动包括通过用户手指相对于用户手部的其他手指或部分移动来执行的离散的小运动手势,任选地,不需要用户的整个手部或手臂远离其自然定位和姿势的大移动来在小运动手势之前或期间立即执行操作。在一些实施方案中,用户输入包括由用户的一只或多只手执行的空中手势,该空中手势涉及整个手从物理环境中的一个位置到另一位置的移动(例如,平移和/或旋转)。在一些实施方案中,用户输入是语音命令。在一些实施方案中,用户输入是在触敏表面上检测到的触摸输入。在一些实施方案中,任选地使用其他类型的用户输入来使得在用户界面对象中的数据项中导航。
如图7A所示,第一显示生成部件(例如,显示器7100,或其他类型的显示生成部件)显示其中显示用户界面对象(例如,用户界面对象7300,或另一用户界面对象、表面等)的三维环境(例如,虚拟三维环境,或混合现实环境,或增强现实环境7104等)。在一些实施方案中,对应于三维环境的当前显示的视图的视点是指虚拟三维环境中的虚拟位置、有利位置和/或观看视角,位于虚拟位置、有利位置和/或观看视角处的虚拟观看者将从该虚拟位置、有利位置和/或观看视角看到当前显示的视图(例如,他/她的眼睛或头部在虚拟位置处、站在虚拟位置处、坐在虚拟位置处等)。在一些实施方案中,对应于虚拟三维环境的当前显示的视图的视点根据处于查看经由第一显示生成部件显示的内容的位置的用户的头部的移动(例如,旋转和/或平移等)(例如,头部相对于躯干的移动、由于躯干的移动引起的头部的移动等)在虚拟三维环境中移动。在一些实施方案中,用户或其一部分(例如,头部、眼睛、面部、躯干等)在物理环境中的位置具有虚拟三维环境中的对应位置(例如,对应于虚拟三维环境的当前显示的视图的视点的虚拟位置),并且用户作为整体或其该部分在物理环境中的移动(例如,旋转和/或平移等)任选地引起虚拟三维环境的当前显示的视图的视点的对应移动(例如,旋转和/或平移等)。在一些实施方案中,用户作为整体或其该部分在物理环境中的移动与视点的移动之间的对应允许用户以更物理和现实的方式体验虚拟三维环境和/或增强现实环境中的空间关系。
在一些实施方案中,如图7A中所示,第一显示生成部件是放置在用户前方并且任选地由用户手部7204支撑的显示器。在一些实施方案中,显示器是头戴式显示器,该头戴式显示器具有面向用户的面部和眼睛的显示器侧,并且当用户在物理环境中移动他/她的头部或身体时不相对于用户的面部或眼睛移动。在一些实施方案中,当头戴式显示器被用作显示生成部件时,物理环境的当前显示的视图的视点的虚拟位置对应于用户的眼睛或头部在虚拟三维环境中的虚拟位置(例如,与该虚拟位置具有预设空间关系、与该虚拟位置具有恒定空间关系、与该虚拟位置重叠、接近该虚拟位置等)。在图7A至图7D所示的示例中,根据一些实施方案,用户作为整体相对于物理环境是静止的。在一些实施方案中,用户作为整体可以在物理环境中移动,但是不基于用户作为整体在物理环境中的移动来更新视点。在一些实施方案中,用户作为整体或用户的头部可以在物理环境中移动,这引起视点在三维环境中的移动,从而引起用户界面对象7300从相对于视点的不同视角或位置被显示。
在一些实施方案中,如图7A中所示,计算机***检测到指向三维环境的相应部分的用户注视输入(例如,注视输入7320)。在一些实施方案中,当用户的眼睛四处移动同时用户面向第一显示生成部件的显示器侧时,计算机***跟踪用户的眼睛的移动并且确定用户的视线和用户的焦点在三维环境中的位置。例如,在一些实施方案中,根据确定用户的视线和焦点已经定位在三维环境中的第一位置的阈值区域内达到至少阈值时间量,检测到注视输入;并且任选地,存在于第一位置处的虚拟对象被识别为用户注视输入的目标。在一些实施方案中,被选择为用户注视输入的目标的对象获得从用户接收的后续输入的输入焦点,直到输入焦点移动远离该对象(例如,当另一对象由用户注视或其他选择输入选择为目标时)。在一些实施方案中,计算机***显示视觉标记以示出用户注视输入的当前定位。在一些实施方案中,根据确定用户注视输入已满足预设标准(例如,在虚拟位置的阈值区域内保持至少阈值时间量(例如,用于检测注视输入的阈值时间量(例如,注视检测阈值)、在检测到注视输入之后的另一阈值时间量(例如,停留时间阈值)等)来显示视觉标记。
在一些实施方案中,关于图7A至图7D描述的输入手势通过分析由传感器***(例如,传感器190,图1;图像传感器314,图3)捕获的数据或信号来检测。在一些实施方案中,传感器***包括一个或多个成像传感器(例如,一个或多个相机,诸如运动RGB相机、红外相机、深度相机等)。例如,该一个或多个成像传感器是计算机***(例如,图1中的计算机***101(例如,如图7A中所示的便携式电子设备7100或HMD))的部件或者向该计算机***提供数据,该计算机***包括显示生成部件(例如,图1、图3和图4中的显示生成部件120(例如,用作显示器和触敏表面的触摸屏显示器、立体显示器、具有透传部分的显示器等))。在一些实施方案中,该一个或多个成像传感器在设备的与设备的显示器相反的一侧上包括一个或多个后向相机。在一些实施方案中,由头戴式***的传感器***(例如,包括立体显示器的VR头戴式耳机,该立体显示器为用户的左眼提供左图像并为用户的右眼提供右图像)检测输入手势。例如,为头戴式***的部件的一个或多个相机安装在该头戴式***的前部和/或下侧上。在一些实施方案中,一个或多个成像传感器位于其中使用头戴式***的空间中(例如,在房间中的各个位置中围绕头戴式***排列),使得成像传感器捕获该头戴式***和/或该头戴式***的用户的图像。在一些实施方案中,由平视设备(诸如,平视显示器、具有显示图形的能力的汽车挡风玻璃、具有显示图形的能力的窗户、具有显示图形的能力的透镜)的传感器***检测输入手势。例如,一个或多个成像传感器附接到汽车的内部表面。在一些实施方案中,传感器***包括一个或多个深度传感器(例如,传感器阵列)。例如,该一个或多个深度传感器包括一个或多个基于光的(例如,红外)传感器和/或一个或多个基于声音的(例如,超声)传感器。在一些实施方案中,传感器***包括一个或多个信号发射器,诸如光发射器(例如,红外发射器)和/或声音发射器(例如,超声发射器)。例如,在光(例如,来自具有预先确定图案的红外光发射器阵列的光)被投影到手部(例如,手部7202)上时,由该一个或多个相机捕获在光的照明下的手部的图像,并且所捕获的图像被分析以确定手部的位置和/或构造。使用来自指向手部的图像传感器的信号来确定输入手势,而不是使用触敏表面或其他直接接触机构或基于接近的机构的信号,允许用户自由选择在利用他/她的手部提供输入手势时是执行大幅运动还是保持相对静止,而不经受由特定输入设备或输入区域施加的限制。
图7A示出了示例性用户界面上下文(例如,二维环境、三维环境7104等),其示出了对应于被分成具有相应索引项的子集的数据项集合的示例性用户界面对象7300(例如,列表、菜单、联系人列表等)。如图7A中所示,用户界面对象7300(例如,在此示例中是联系人列表)包括显示来自数据项集合的数据项中的一些数据项(例如,在此示例中是显示来自联系人列表的字母A下的联系人姓名中的一些联系人姓名)的第一区域7310(例如,项区域或数据区域)以及显示对应于来自数据项集合的数据项的不同子集的索引项(例如,对应于具有不同首字母的联系人姓名的不同子集的字母A-Z)的第二区域7304(例如,索引区域)。在一些实施方案中,当初始显示用户界面对象7300时,第二区域7304任选地是空白的而没有索引项,并且索引项稍后响应于在用户界面对象7300的第二区域7304上检测到用户注视而显示在第二区域7304中。在一些实施方案中,当在三维环境7104中显示用户界面对象7300时,第二区域7304一直显示索引项。在一些实施方案中,第二区域7304响应于检测到指向用户界面对象7300(例如,指向第一区域7310和/或第二区域7304等)的预设用户输入(例如,用户注视和/或预设手势输入)而显示索引项。
在图7A至图7D所示的示例中,联系人列表被用作用户界面对象的示例。应当理解,显示被分组到对应于不同索引的子集中的多个项的表示的其他类型的可浏览或可滚动对象可实现如本文所述的类似行为。在一些实施方案中,用户界面对象7300表示通信应用程序的用户界面对象,数据项是远程设备的用户的相应表示(例如,化身),该表示在被选择时任选地使得执行用以起始与远程设备的相应用户的通信的操作。在一些实施方案中,用户界面对象7300表示媒体查看器应用程序的用户界面对象,并且数据项是媒体项(例如,图像、虚拟对象、音频文件,和/或视频文件),该媒体项在被选择时可任选地使得媒体项在三维环境中显示或回放(例如,在对应于物理环境中的表面的位置处或在对应于虚拟空间中显示的表面的位置处等)。
在图7A至图7D中示出的示例中,根据一些实施方案,在三维环境7104的当前显示的视图中示出用户手部7202的表示7202'。在一些实施方案中,用户手部的表示不显示为包括用户界面对象7300的环境的一部分。
如图7A中所示,在一些实施方案中,用户界面对象7300显示在混合现实环境中(例如,漂浮在空中或在对应于物理环境中的物理对象或表面的位置处)。在此示例中,用户界面对象7300直立地显示在地板表面的表示7120'上、在三维环境的当前显示的视图的视点与物理环境中的墙的表示7124'之间的位置处,并且在物理环境中的另一墙的表示7122'的右侧。在一些实施方案中,用户界面对象7300显示在覆盖混合现实环境中的物理表面的表示、替换该表示的显示或阻挡该表示的视图的位置处。在一些实施方案中,计算机***响应于对应于在三维环境中显示用户界面对象7300的用户请求的用户输入而显示用户界面对象7300。
当显示包括第一区域7310和第二区域7304的用户界面对象7300时,计算机***检测到第一类型的用户输入。在一些实施方案中,第一类型的用户输入对应于在用户界面对象7300的第一区域7310中示出的数据项中滚动或导航的请求。在此示例中,第一类型的用户输入是用户手部7202在物理环境中沿第一方向(例如,向上、向下、向左、向右等)的移动,该第一方向对应于通过项集合的第一导航方向(例如,按字母顺序增加、按字母顺序减少、向前通过项集合中的默认序列、向后通过项集合中的默认序列、向前通过索引、向后通过索引等))。在一些实施方案中,第一类型的用户输入包括用户手部作为整体的移动,同时手部保持预设的手部姿势(例如,预定义的导航姿势、拇指停留在食指的侧面、食指朝向用户界面对象伸出等)。在一些实施方案中,第一类型的用户输入包括用户手部的第一部分相对于用户手部的另一部分以预设方式的移动(例如,拇指向前推过同一只手的食指的侧面、拇指在同一只手的食指的侧面上轻击、拇指沿着同一只手的食指的侧面轻扫、拇指和中指彼此摩擦等)。在一些实施方案中,第一类型的用户输入是结合指向用户界面对象7300(例如,指向数据区域、指向中央区域等)的用户注视输入检测到的预设手势。
在图7A至图7B所示的示例性场景中,在来自数据项集合的第一多个数据项(例如,在此示例中是字母A下的八个联系人姓名的序列)正显示在第一区域7310中的同时,结合用户在用户界面对象7300的第一区域7310内的位置处的注视输入7320来检测第一类型的第一输入。在一些实施方案中,当前显示的数据项的索引项(例如,在此示例中是字母A)的表示也在第一区域7310中被示为所显示的项的子集的标题和/或所显示的项的相邻子集之间的分隔符(例如,在此示例中,以字母A开始的联系人姓名的标题7306被示出在以字母A开始的联系人姓名上方)。响应于检测到第一类型的第一输入,根据第一输入的一个或多个特性(例如,手部或手指移动的特性,诸如速度、距离、方向、加速度等;按压输入的特性(例如,强度、持续时间等)等),并且根据确定用户注视输入7320的位置在用户界面对象7300的第一区域7310中(例如,在第一区域7310中当前示出的数据项(例如,在此示例中是联系人姓名7322)上或附近、远离用户界面对象7300的***区域等),计算机***以第一量执行通过数据项集合的第一导航操作(例如,以第一数量的姓名、第一数量的页面、不依赖于索引项的数量的第一数量的量等滚动联系人姓名的列表)。如图7A至图7B中所示,对于用户手部7202在物理环境中的第一向上移动量7316(例如,表示为三维环境7104中的“表示7202”的第一移动量7316),计算机***以第一量7318滚动第一区域7310中的联系人姓名。第一导航量7318对应于用户手部的第一移动量7316(例如,手部移动使得计算机***滚动前七个联系人姓名并且在此示例中在用户界面对象7300的顶部显示第八个联系人姓名(例如,在此示例中是Alex))。在一些实施方案中,第一类型的第一输入是手势输入,该手势输入涉及用户手部的第一部分(例如,拇指、食指、一个或多个手指等)相对于用户手部的另一部分(例如,食指的侧面、食指的中间凸缘、手掌等)以预设方式(例如,向前轻扫、侧向轻扫、向上轻弹、向下轻击、轻击并保持等)移动的移动,并且手势输入的特性(例如,移动速度、移动持续时间、移动距离、加速度等)用于确定要被执行以在第一区域7310中的数据项中导航的导航量。例如,根据一些实施方案,更大量的移动、更快的速度等将引起通过第一区域7310中的数据项的相应更大量的导航。
与图7A至图7B中示出的示例性场景相反,图7C至图7D示出结合用户界面对象7300的第二区域7304中(例如,在第二区域7304中当前示出的索引项(例如,在此示例中是字母7326)上或附近、在用户界面对象7300的***区域中等)的用户注视输入7324检测到的相同的第一类型的第一输入。响应于检测到第一类型的第一输入,根据第一输入的一个或多个特性(例如,诸如速度、距离、方向、加速度等的手部或手指移动的特性、按压输入的特性(例如,强度、持续时间等)等),并且根据确定用户注视输入7324的位置在用户界面对象7300的第二区域7304中(例如,在第二区域7304中当前示出的索引项(例如,在此示例中是字母7326)上或附近、远离项区域7310、在用户界面对象7300的***区域内等),计算机***以第二量执行通过数据项集合的第二导航操作(例如,以第二数量的姓名、第二数量的页面、基于索引项的数量的第二数量的数量等滚动联系人姓名的列表)。如图7C至图7D中所示,对于用户手部7202在物理环境中的第一向上移动量7316(例如,表示为三维环境7104中的“表示7202”的第一移动量7316),计算机***以第二量7328滚动第一区域7310中的联系人姓名。第二导航量7328对应于用户手部的第一移动量7316(例如,在索引字母A-C下滚动所有联系人姓名并且在此示例中在用户界面对象7300的顶部处的字母D下显示联系人(例如,在此示例中是David Kennedy))。索引项“D”表示在用户界面对象7300的顶部处的标题7308中。图7C至图7D中的示例中示出的第二导航量7328大于图7A至图7B中示出的示例中的第一导航量7318,因为用户注视输入指向与用户界面对象7300的索引区域而不是数据区域。
在此示例中,根据一些实施方案,手势输入的特性(例如,移动速度、移动持续时间、移动距离、加速度等)还用于确定要被执行以在第一区域7310中的项中导航的导航量,如在图7A至图7B中的示例中所做的。例如,根据一些实施方案,更大量的移动、更快的速度等将引起通过第一区域7310中的数据项的相应更大量的导航。在第二区域7304中检测到用户注视的情况下,与图7A到图7B中的示例所示的相比,导航量甚至更大(例如,基于索引项的数量,而不是基于数据项的数量)。
在一些实施方案中,用户界面对象7300显示在混合现实环境中对应于用户手部的预定义部分(例如,拇指的指尖、手掌等)并且具有对应于用户手部的取向(例如,拇指的取向、手掌的取向等)的取向的定位处。在一些实施方案中,当用户手部相对于物理环境(和/或相对于捕获用户手部或用户眼睛或用户周围的物理对象或墙的相机)移动(例如,横向移动或旋转)时,用户界面对象7300显示为在混合现实环境中与用户手部一起移动。在一些实施方案中,用户界面对象7300根据用户身体的移动而移动,而不是随着用户头部的移动或指向混合现实环境的用户注视而移动。在一些实施方案中,用户界面对象7300被显示在显示器上的固定定位处,而不管显示器上示出的物理环境的视图如何(例如,当视图随着用户的头部或躯干的移动而改变时)。
在一些实施方案中,第一类型的第一输入包括结合指向用户界面对象(例如,在此示例中是用户界面对象7300)的用户注视输入检测到的预定义手势(例如,空中手指轻扫手势、触敏表面上的接触的移动,或包括第一手指沿着同一只手的第二手指的侧面的移动的轻扫手势等)。在用户注视输入没有在预定义手势的阈值时间量内指向用户界面对象的情况下,手势不引起关于用户界面对象中的数据项执行导航操作。
在一些实施方案中,索引显示在基于项区域外部的用户注视输入的定位而选择的定位处。例如,存在用户界面对象7300的多于一个***边缘区域(例如,所有这些***边缘区域都是索引区域7304的子区域),在该***边缘区域中可以显示项的索引,并且取决于用户注视输入在用户界面对象7300内的定位,在多个***边缘区域的相应***边缘区域中显示索引。例如,根据确定用户注视输入在用户界面对象7300的底部边缘区域中,索引项被显示在用户界面对象7300的底部边缘部分处或被移动到该底部边缘部分;并且根据确定用户注视输入在用户界面对象7300的右边缘部分中,索引项被显示在用户界面对象7300的右边缘部分处或被移动到该右边缘部分。在一些实施方案中,索引项在索引区域中(例如,在单个索引区域中、在索引区域的多个子区域中的相应子区域中等)的显示任选地在用户手部处于用于执行预定义导航手势的就绪状态时由在索引区域中检测到用户注视输入来触发。在一些实施方案中,在根据在索引区域中检测到用户注视输入而在索引区域中显示索引项的相应表示之后,如果在索引区域上不再检测到用户注视输入或者如果在预定时间段内不存在与用户界面对象的交互,则将停止显示索引项的相应表示。
在一些实施方案中,在索引项的表示响应于用户注视输入而显示在索引区域中之前,索引区域可被当前显示在用户界面对象中的数据项中的一些数据项占据。换句话说,在一些实施方案中,在第一时间(例如,当索引区域显示索引时的时间)由索引区域占据的环境的部分任选地与在第二时间(例如,当索引区域不显示索引,并且任选地显示数据项时的时间)由项区域占据的环境的部分重叠或者是该部分的子部分。例如,在图7A中,当索引未显示在用户界面对象7300中(例如,在右边缘区域7304中)时,特别长的联系人姓名(例如,联系人姓名7322)可延伸到用户界面对象7300的右边缘区域中;并且当在右边缘区域7304中检测到用户注视时,这触发了索引在用户注视的位置处(例如,在右边缘区域7304中)的显示,超长联系人姓名将被新显示的索引遮蔽。在一些实施方案中,不管项是否延伸到用户界面对象的索引区域(例如,右边缘区域7304,或用户界面对象的另一区域中的索引区域等)中并且不管索引是否曾经显示在索引区域中,计算机***都根据确定在索引区域中检测到用户注视输入来响应于第一类型的第一输入而执行更大的第二导航量。
在一些实施方案中,使用第二类型的用户输入来选择和/或激活当前显示在用户界面对象的数据区域中的相应项。在一些实施方案中,第二类型的第二输入在输入类型方面不同于第一类型的第一输入。在一些实施方案中,第二类型的第二输入包括结合指向当前显示在数据区域中的相应数据项的用户注视输入而检测到的手势输入。在一些实施方案中,选择或激活相应数据项包括触发与相应数据项相关联的操作的执行(例如,在保持相应数据项的相应表示的显示的同时显示与相应数据项相关联的信息的预览、启动对应于相应数据项的应用程序和/或在应用程序内执行专用于相应数据项的操作(例如,显示媒体项、开始通信会话、显示联系人卡等)(例如,而不是执行专用于项集合中的其他项的操作)等)。
在一些实施方案中,当用户界面对象显示来自一组索引数据项的数据项时,计算机***任选地显示显示来自其他组索引数据项(例如,其他不同类型的项或具有不同类型索引的项等)的数据项的一个或多个附加用户界面对象。在一些实施方案中,当显示用户界面对象7300时,计算机检测检测到的注视从用户界面对象7300到对应于不同于用户界面对象7300的第二用户界面对象的定位的移动,其中第二用户界面对象显示其他索引数据项(例如,与用户界面对象7300中示出的数据项不同类型的数据项、与用户界面对象7300中示出的数据项相同类型的不同数据项集合等)或具有不同索引的相同数据项集合(例如,由定位而不是姓氏的首字母来索引的联系人、由流派而不是文件名来索引的媒体项等)。在一些实施方案中,响应于检测到用户注视到第二用户界面对象的移动,计算机***显示第二用户界面对象的外观变化以指示输入焦点已从用户界面对象偏移到第二用户界面对象。在一些实施方案中,第一类型的后续用户输入(例如,结合第二用户界面对象的不同部分处的用户注视输入)将以与关于用户界面对象7300所描述的方式类似的方式引起第二用户界面对象的项区域中的导航。在一些实施方案中,第二用户界面对象仅包括数据区域,该数据区域包括数据项的表示而不包括索引区域;并且不管检测到的注视在第二用户界面对象中的定位如何,都实现相同导航量。在一些实施方案中,第二用户界面对象包括数据区域和索引区域两者,该数据区域包括数据项的表示,该索引区域包括对应于与第二用户界面对象相关联的数据项的不同子集的索引项的表示;并且当检测到的注视指向索引区域时比当检测到的注视指向第二用户界面对象的数据区域时实现更大导航量。在一些实施方案中,第二用户界面对象包括同一数据项集合的不同级别的索引,诸如包括具有对应索引的索引项的子集的附加索引区域,并且当检测到的注视指向附加的更高级别索引区域时实现甚至更大导航量。如本文所述,关于第二用户界面对象所述的行为不是关于用户界面对象7300的存在的断言。在一些实施方案中,用户界面对象7300具有关于第二用户界面对象所述的行为。
在一些实施方案中,用户界面对象7300是身体锁定的而不是头部锁定的。例如,响应于检测到用户相对于物理环境的移动:根据确定用户的移动包括用户躯干的至少一部分(例如,除用户的头部和手部之外的部分)相对于物理环境的移动,计算机***根据用户躯干的至少一部分的移动来移动用户界面对象7300(例如,第一区域7310和第二区域7304相对于彼此保持静止)。例如,当用户在物理环境中四处移动时,整个用户界面对象7300在三维环境7104内移动以保持与对应于三维环境的当前显示视图的视点的固定空间关系。根据确定用户的移动包括用户头部相对于用户躯干的移动而没有躯干的至少一部分的移动(例如,用户转动他/她的头部,同时作为整体在物理环境中保持固定在位置和/或取向上),计算机***不根据用户头部的移动来移动用户界面对象7300。例如,根据一些实施方案,当用户移动他/她的头部而没有附加的全身移动时,第一和第二区域可以在用户的视场中移动和/或在用户的视场之外移动。
在一些实施方案中,当已到达导航方向上的最后项(例如,由于导航或如所显示等)并且当前显示在用户界面对象中时,用户界面对象(例如,用户界面对象7300或显示索引项的另一用户界面对象等)跟随用户注视的移动,并且如果用户界面对象中显示的项不是导航方向上的最后项,则用户界面对象不跟随用户注视的移动。在一些实施方案中,当用户注视指向用户界面对象时,第一类型的多个输入的重复引起在用户界面对象的第一区域中导航到数据项集合的末尾(例如,如果导航方向是通过数据项序列的向前方向)或项集合的开头(例如,如果导航方向是通过数据项序列的向后方向)。根据一些实施方案,在项的末尾被显示在用户界面对象的第一区域中时用户注视输入的随后移动使得计算机***根据用户注视输入在三维环境中的移动来整体移动用户界面对象。在一些实施方案中,使用预定义类型的另一输入(例如,结合用户在用户界面对象(例如,用户界面对象7300或显示索引项的另一用户界面对象等)上的注视、用户在用户界面对象上的抓握杆或拐角上的注视输入等检测到的捏合和移动手势)来在三维环境中移动用户界面对象。在一些实施方案中,用户界面对象作为整体跟随用户手部7202的移动(例如,用户界面对象7300看起来与用户手部7202的表示7202'具有固定的空间关系,其中手部7202任选地也是提供用于在数据项中导航的手势输入的手部)。在一些实施方案中,根据手部作为整体的移动以及根据手部在作为整体移动时所执行的手势,在用户界面对象中的数据项中导航与用户界面对象作为整体的移动同时发生。在一些实施方案中,一旦导航已开始和/或响应于用户的手势输入的重复而继续,用户注视就不需要保持在用户界面对象上。
图7E至图7J是示出根据一些实施方案的响应于涉及用户手部的移动的输入的在三维环境中显示用户界面对象(例如,停靠栏、菜单、应用程序托盘、控制面板、虚拟三维对象等)和与该用户界面对象的交互的框图。
在一些实施方案中,计算机***响应于包括满足预设标准(例如,停靠栏显示标准、菜单显示标准等)的用户手部的移动的用户输入,在三维环境(例如,环境7106或另一三维环境)(例如,虚拟环境、增强现实环境等)中显示包括多个可选控件(例如,控件7336、7338、7340、7342、7344或其他控件等)(例如,用于启动应用程序的应用程序图标、用于显示子菜单或执行操作的菜单选项、用于触发执行应用程序功能、设备功能、设备设置的调整等的可选对象)的虚拟对象(例如,用户界面对象7334或另一虚拟对象等)。计算机***基于在满足预设标准的移动结束时用户手部(例如,手部7202或另一只手等)的位置来选择虚拟对象的初始位置。因此,用户可通过在提供手部的所需移动以触发虚拟对象的显示时选择他/她的手部的定位来影响虚拟对象在三维环境中的初始位置。随后,计算机***将虚拟对象的位置与用户手部的定位解耦,使得用户可使用同一只手(并且任选地,使用不同的手或两只手的组合等)来提供手势以与虚拟对象和包含在该虚拟对象中的控件交互。在一些实施方案中,涉及手部的一部分相对于手部的另一部分的小移动的不同类型的手势(例如,轻扫、轻弹、轻击、推动等)(例如,当整个手没有抬起(例如,搁置在桌子上、垂在用户身体的侧面、搁置在用户的膝盖上等)时、当手被抬起到对应于虚拟对象的当前位置的位置时等)用来与虚拟对象和包含在该虚拟对象中的控件交互(例如,滚动、切换输入焦点、进行选择、调整值等)。在一些实施方案中,在处于各种预设手部姿势时手部作为整体的移动引起相对于虚拟对象执行与由同一只手内的不同类型的小移动所引起的操作集合不同的操作集合。在一些实施方案中,在计算机***遵循虚拟对象在三维环境中的初始显示(例如,响应于满足预设标准的用户手部的移动而显示,如图7F中所示)将虚拟对象的位置从用户手部的定位解耦之后,计算机***任选地将虚拟对象的位置耦合到三维环境的当前显示的视图的视点(例如,如图7G中所示),使得虚拟对象在(例如,如由携带显示生成部件的用户的移动、佩戴HMD的用户头部的移动等引起的)视点相对于三维环境的移动期间保持虚拟对象与三维环境的当前显示的视图的视点之间的空间关系。当通过用户手部的预设移动来调用虚拟对象的显示时,允许包含可选控件的虚拟对象被显示在对应于用户手部的定位的位置处,并且随后将虚拟对象的位置与用户手部的定位解耦,使得用户有可能影响虚拟对象的显示位置(例如,选择应当在视场的哪个部分中显示虚拟对象、选择应当距视点多远显示虚拟对象、选择应当相对于视点显示虚拟对象的哪个取向等),而不会不必要地将虚拟对象绑到用户手部上,以防止用户利用同一只手来提供手势以与虚拟对象交互。这使得用户与虚拟对象的交互更高效,并且减少了来自用户的输入的数量、范围和/或性质以实现期望的结果,由此创建更高效的人机界面。
具体来说,在一些实施方案中,用户界面对象的显示以及在用户界面对象的显示之后与用户界面对象的交互是由用户的同一只手(例如,在此示例中是手部7202)在物理环境中的移动引起的。在一些实施方案中,用户界面对象(例如,用户界面对象7334或具有此处所述的行为的另一用户界面对象等)是包括对应于不同操作的可选对象(例如,应用程序图标、用户的化身、不同计算机生成体验的表示等)的停靠栏或菜单。在一些实施方案中,操作包括***级操作,诸如启动应用程序、配置设备功能、显示示出多个活动的或最近显示的应用程序或体验的表示的多任务用户界面、显示示出具有不同类型的通信能力的不同用户的化身的通信用户界面等。在一些实施方案中,操作包括应用程序级操作,诸如导航到当前显示的应用程序内的另一用户界面、在当前显示的应用程序内执行应用程序特定操作(例如,在电子邮件应用程序中开始新电子邮件、在媒体播放器应用程序中回放歌曲、在当前显示的聊天程序中启动与用户的聊天等)。在一些实施方案中,用户界面对象显示在三维环境中对应于执行触发用户界面对象的显示的手势的用户手部的定位的位置处,并且不跟随用户手部的后续移动,使得用户可以使用同一只手来与用户界面对象交互。在一些实施方案中,用户界面对象显示在三维环境中对应于执行触发用户界面对象的显示的预定义手势的用户手部的定位的位置处,并且跟随用户手部的后续移动直到用户手部停止保持预定义姿势(例如,预定义手势结束时的姿势、用于执行***级操作的就绪状态姿势等)。一旦用户手部停止保持预定姿势,用户界面对象就相对于三维环境固定在适当位置,并且不再根据用户手部作为整体在物理环境中的移动而移动。在一些实施方案中,用户界面对象任选地甚至在位置退出之后仍保持显示在相同位置处,并且接着归因于用户作为整体的移动或归因于用户头部在物理环境中的移动而返回到由显示生成部件提供的三维环境的视场。在一些实施方案中,计算机根据随后检测到的由用户手部提供的指向可选选项的输入来执行对应于用户界面对象中的可选选项的操作。
在一些实施方案中,用户界面对象(例如,用户界面对象7334、具有本文所述的行为的另一用户界面对象等)显示在包括虚拟内容而没有物理环境的表示的虚拟三维环境中。在一些实施方案中,在混合现实环境中显示用户界面对象,该混合现实环境包括具有对应于物理环境中的物理对象的空间关系的空间关系的虚拟对象(例如,在物理墙的表示上具有虚拟壁纸和虚拟窗户的房间的视图),而没有在三维环境中可见的物理环境的表示(例如,没有从显示生成部件的透明部分观看的物理环境的透传视图,并且没有物理环境的相机视图等)。在一些实施方案中,用户界面对象被显示在增强现实环境中,该增强现实环境包括物理环境的表示以及在对应于物理环境的各个部分的定位的位置处的虚拟对象(例如,半空中、墙表面上、桌面上等)。
在一些实施方案中,用户手部(例如,手部7202或另一只手等)的表示在与用户界面对象(例如,用户界面对象7334或具有本文所述的类似行为的另一用户界面对象等)相同的三维环境中是可见的。在一些实施方案中,在三维环境中,在显示用户界面对象之前、在显示用户界面对象时,和/或在显示用户界面对象之后,手部的表示在三维环境的视图中是可见的。在一些实施方案中,用户手部的表示是用户手部的程式化版本、来自不具有周围物理环境的用户手部的相机视图的分段图像,或作为物理环境的相机视图或透传视图的一部分的用户手部的图像等,其显示在三维环境中对应于用户手部在物理环境中的定位的位置处,并且任选地阻挡用于在三维环境中的该位置处显示或可见的虚拟内容或物理环境的一部分、替换该部分的显示、覆盖该部分等。
在图7E至图7J所示的示例中,计算机***显示三维环境7106的视图。在一些实施方案中,三维环境的视图是增强现实环境,该增强现实环境包括用户的物理环境中的两个相邻墙的表示7122'和7124'、用户的物理环境中的地板的表示7120'以及用户的物理环境中的物理对象的表示7330'。在一些实施方案中,三维环境7106的视图表示具有虚拟墙、虚拟地板和一个或多个虚拟对象的虚拟环境。
如图7E中所示,在用户手部进行移动以满足第一预设标准(例如,移动到预设姿势或进入用于提供手势以与三维环境交互的就绪状态(例如,用户手部7202'处于放松状态、不处于预设姿势或就绪状态、不移动或改变姿势、不面向所需方向等)、作为整体进行所需移动等)之前,不存在显示在用户手部7202的表示7202'上或旁边的用户界面对象。实际上,在一些实施方案中,表示7202'此时可以在经由显示生成部件7100提供的视场之外。在此阶段,根据一些实施方案,如果显示生成部件7100(例如,在手部7204中,或在用户的头上等)相对于物理环境移动,则计算机***将移动对应于三维环境7106的当前显示的视图的视点,使得可从三维环境中的不同有利位置观看三维环境。根据一些实施方案,如果检测到用户手部7202的移动,但是该移动不满足第一预设标准,则计算机***也不在用户手部的表示7202'处或旁边显示具有可选选项的交互式用户界面对象(例如,在此示例中是用户界面对象7334)。
图7F跟随图7E,并且图示了用户手部7202已经在物理环境中做出了满足第一预设标准的要求移动7332(例如,整个手部移动,和/或手部的一部分相对于手部的另一部分的移动等)。在一些实施方案中,第一预设标准要求用户手部7202形成预设的就绪状态姿势(例如,手掌面向用户的面部打开,手部在拇指搁在食指的侧面上并面向用户面部的情况下闭合和定向等)。在一些实施方案中,第一预设标准要求用户手部作为整体以预设方式移动(例如,任选地在手部处于预设姿势的情况下向上、朝向用户面部等)。在一些实施方案中,第一预设标准要求用户手部以预设方式移动,同时用户注视输入指向用户手部。根据各种实施方案,关于图9描述第一预设标准的附加变化。
在图7F中,响应于检测到用户手部7202进行满足第一预设标准的所需移动,计算机***在对应于用户手部7202的定位的位置处(例如,在用户手部7202的表示7202'上或旁边的位置处)显示用户界面对象7334。在一些实施方案中,取决于物理环境的虚拟内容和表示(例如,使用相机视图、使用透明显示器等)经由显示生成部件7100被显示或变得可见的特定方式,用户界面对象7334覆盖用户手部7202的表示7202'的至少一部分、替换该部分的显示或阻挡该部分的视图。在一些实施方案中,用户界面对象7334包括一个或多个交互元素(例如,对应于计算机***或当前显示的应用程序或体验的不同功能或操作的可选对象7336、7338、7340、7342、7344等)。
在一些实施方案中,在根据用户手部7202的移动所满足的第一预设标准显示用户界面对象7334之后,计算机***不根据该用户手部的进一步移动来移动用户界面对象7334。在一些实施方案中,当仍然满足第一预设标准时(例如,用户注视仍然在用户手部7202上,同时用户手部保持所要求的姿势,或者用户手部仍然处于第一预设标准所要求的预设姿势等),计算机***保持用户界面对象7334的显示,并且任选地,根据用户手部作为整体在物理环境中的移动来作为整体移动用户界面对象7334。例如,在一些实施方案中,第一预设标准要求用户手部是打开的,其中手掌侧面向用户并且用户注视指向手掌;响应于确定通过用户打开他的手部而满足第一预设标准并经由显示生成部件看到手部的表示,计算机***在用户的打开的手部的表示7202'上或旁边的位置处显示用户界面对象7334。随后,只要用户手部保持打开并且手掌面向用户面部,计算机***就根据用户手部7202的表示7202'的移动来移动用户界面对象7334。根据一些实施方案,当用户闭合他的手部或转动他的手部使得手掌不再面向用户面部时,计算机***停止移动用户界面对象7334。
在另一示例中,在一些实施方案中,第一预设标准要求用户手部形成预设的就绪状态姿势,其中拇指搁置在同一只手的食指的侧面上;响应于确定通过用户形成所需手部姿势而满足第一预设标准,计算机***在预设就绪状态下在用户手部的表示7202'上或旁边的位置处显示用户界面对象7334。随后,只要用户手部保持在预设就绪状态姿势,计算机***就根据用户手部7202的表示7202'的移动来移动用户界面对象7334。当用户改变他的手部姿势使得手部不再处于预设的就绪状态姿势时,计算机***停止移动用户界面对象7334。在一些实施方案中,在计算机***根据用户手部7202的移动停止移动用户界面对象7334之后,用户界面对象7334任选地显示在三维环境中的预设位置处(例如,在没有进一步移动的情况下显示,或者移动到该预设位置等)。在一些实施方案中,预设位置是根据用户手部作为整体的移动在该用户手部移动结束时用户界面对象7334的位置。在一些实施方案中,预设位置是用户的视场的预设部分(例如,用户视场的中心、视场的左下角等),该预设部分是基于用户手部在手部停止满足第一预设标准(例如,手部改变离开预设姿势、手部停止保持就绪状态姿势、注视不再指向手部等)之前的最后位置而选择的。
在一些实施方案中,在手部的移动满足第一预设标准之后,只要第一用户界面对象7334显示在对应于用户手部的定位的位置处,计算机***就将第一用户界面对象7334的位置与用户手部的定位解耦。因此,手部在物理环境中的后续移动不改变第一用户界面对象7334的位置,并且手部的表示可被视为在三维环境的视图中相对于第一用户界面对象7334自由移动。
在图7G中,在用户界面对象7334在三维环境中显示在根据用户手部7202的表示7202'的位置(例如,根据确定手部7202的移动满足第一预设标准)选择的位置处之后,用户界面对象7334保持显示在该位置处,同时用户手部7202在物理环境中移开或改变姿势。此时,用户界面对象7334相对于三维环境7106(或任选地,相对于视点或视场)是固定的,并且不根据用户手部7202作为整体的移动而移动。
在图7H中,由于用户界面对象7334相对于三维环境(或任选地,相对于视点或视场)是固定的时,用户手部朝向对应于用户界面对象7334的位置的定位的移动在三维环境7106的视图中被表示为表示7202'朝向用户界面对象7334的移动。用户手部7202在物理环境中的移动可被调整以使得该用户手部朝向对应于用户界面对象7334内的相应可选对象的位置的定位移动。在一些实施方案中,与用户界面对象7334或用户界面对象7334内的可选对象的交互要求用户手部满足预设交互标准。例如,根据一些实施方案,交互标准要求手部的移动需要满足在对应于用户界面对象7334或可选选项的位置的定位处的空中轻击手势的标准。在一些实施方案中,交互标准要求当用户注视指向用户界面对象7334或用户界面对象7334内的可选对象时或当可选选项具有输入焦点时,手部的移动满足用于检测微轻击手势(例如,食指侧上的拇指轻击)的标准。
如图7H中所示,用户手部7202已做出与用户界面对象7334交互所需的移动(例如,满足选择用户界面对象7334的可选选项7342的要求、满足以其他方式与用户界面对象7334交互的要求等)。响应于检测到用户手部7202已做出用于与用户界面对象7334交互的所需移动,计算机***在三维环境7106中执行对应操作。例如,如图7I中所示,对应于所选择的选项7342的虚拟对象7348(例如,另一用户界面对象、应用程序的用户界面或窗口、控制面板、用于选择联系人以开始通信会话的选择用户界面等)被添加到三维环境7106。在一些实施方案中,计算机***执行对应于可选选项的操作,并且用另一环境(例如,应用程序环境、计算机生成的体验、通信会话的虚拟房间等)替换当前显示的三维环境。在一些实施方案中,在用户与用户界面对象7334交互之后,用户界面对象7334保持显示在三维环境中(例如,在相同位置处,或在不同位置处等)。
在一些实施方案中,当用户界面对象7334被显示在三维环境中不随用户手部的移动而改变(例如,因为不再满足第一预设标准)的相应位置处时(例如,显示在没有移动的初始显示位置处,或根据用户手部的移动而选择的另一位置处等),计算机***根据显示生成部件(例如,显示生成部件7100、由用户佩戴的HMD等)在物理环境中的移动来移动用户界面对象7334,使得用户界面对象7334具有相对于由显示生成部件提供的视场的固定位置。例如,在一些实施方案中,用户界面对象7334被头部锁定到用户的头部,并且当计算机***检测到用户的头部相对于物理环境的移动时,计算机***移动三维环境的当前显示的视图的视点并且相对于三维环境移动用户界面对象7334,使得用户界面对象7334与视点而不是与三维环境具有固定空间关系。
在一些实施方案中,用户界面对象7334被固定到三维环境,并且任选地在固定到三维环境的位置处保持显示,即使该位置离开并返回到由显示生成部件提供的视场也是如此。
在一些实施方案中,计算机***响应于检测到显示生成部件(例如,显示生成部件7334、用户佩戴的HMD等)在物理环境中的超过阈值量的移动而停止显示用户界面对象7334。在一些实施方案中,仅在用户已与用户界面对象7334交互之后,计算机***才响应于检测到显示生成部件(例如,显示生成部件7334、用户佩戴的HMD等)在物理环境中的超过阈值量的移动而停止显示用户界面对象7334。
在一些实施方案中,计算机***响应于检测到对应于解除用户界面对象的请求的用户手部移动(例如,移动用户手部7202以使得表示7202离开显示生成部件的视场、具有既不处于就绪状态姿势(例如,拇指停留在食指的侧面上、手掌打开等)又不处于交互姿势(例如,食指伸出、拇指停留在食指的侧面上等)的姿势的手部移动、轻扫离开用户界面对象的挥手等)而停止显示用户界面对象7334。
如图7J中所示,在一些实施方案中,在手部不满足保持用户界面对象的显示的要求时显示生成部件的移动使得计算机***停止用户界面对象7334在三维环境中的显示。
在一些实施方案中,当用户界面对象7334显示在三维环境中对应于用户手部7202的定位的位置处时,计算机***检测到用户手部7202的轻扫手势,并且计算机***根据该轻扫手势将输入焦点从第一可选选项偏移到第二可选选项。例如,在一些实施方案中,计算机***根据确定用户手部7202已移动到预设就绪状态姿势(例如,将拇指搁置在闭合或半闭合的手部的食指侧上、使手部的手掌面向用户的面部等)而在用户手部7202的表示7202'处或附近的位置处显示用户界面对象7334。当用户界面对象7334显示在用户手部7202的表示7202'处或附近的位置处时,计算机***检测到用户的拇指沿着用户的食指的侧面轻扫的移动(例如,同时保持预设的就绪状态姿势);并且响应于检测到用户的拇指沿着用户的食指的侧面轻扫的移动,计算机***将输入焦点从用户界面对象7334内的一个可选对象(例如,控件7336、控件7342等)偏移到另一可选对象(例如,控件7338、控件7344等)。
在一些实施方案中,响应于检测到用户已经使用手部7202的食指直接在对应于具有输入焦点的可选选项的位置处或使用手部7202的食指侧上的拇指提供选择输入(例如,轻击、双击、轻击并保持、轻弹、推动等),计算机***执行对应于具有输入焦点的可选选项的操作。在一些实施方案中,在手部7202不处于用于使得显示用户接口对象7334的预设姿势,而是处于与用户接口对象7334交互所需的姿势时,执行改变输入焦点的轻扫输入。例如,根据一些实施方案,与用户界面对象7334交互所需的姿势是食指伸出并且其他手指朝向手掌卷曲的手部姿势。根据一些实施方案,响应于此姿势中的食指的轻扫移动(例如,侧向移动),计算机***在用户界面对象7334内逐个对象地偏移输入焦点;并且响应于此姿势中的食指的空中轻击移动(例如,上下移动),计算机***执行对应于具有输入焦点的对象的操作。
在一些实施方案中,用户界面对象7334是多页用户界面对象或多部分用户界面对象,其中用户界面对象的多个页面或部分并非全部同时显示。例如,在一些实施方案中,当根据确定用户手部7202满足第一预设标准来初始显示用户界面对象7334时,计算机***仅显示用户界面对象7334的第一页面或第一部分,而不显示用户界面对象7334的第二页面或第二部分。稍后,当用户界面对象7334被显示时,计算机***检测到用户手部7202的轻扫手势(例如,整个手部的轻扫手势,而不是用于改变用户界面对象7334的当前显示的可选对象内的输入焦点的轻扫手势);并且根据用户手部7202的轻扫手势,计算机***切换到显示用户界面对象的第二页面或第二部分,其中用户界面对象的第二页面或第二部分包括与包括在用户界面对象7334的第一页面或第一部分中的可选对象不同的可选对象集合。在一些实施方案中,通过伸出的手指或拇指触摸食指侧面的轻扫手势使得输入焦点在当前显示在用户界面对象7334内的可选对象之间偏移;并且通过整个手部的轻扫手势使得用户界面对象7334的一个页面或部分的显示替换用户界面对象7334的另一个页面或部分的显示。在一些实施方案中,当响应于用户手部7202的轻扫移动而在用户界面对象7334的页面或部分之间切换时,用户界面对象7334的总***置不根据用户手部7334的移动而改变(例如,不同的页面或部分可以具有不同的大小和/或包括不同数量的可选对象,但是不同的页面或部分观察到三维环境中的相同的对准原点(例如,相同的顶部边缘、相同的左侧边缘、相同的中心位置等)。在一些实施方案中,用户界面对象7334包括在三维环境中同时显示但具有不同视觉显著水平的多个页面或部分。例如,具有最大视觉显著性的页面或部分具有输入焦点;而其他页面或部分尽管以较低的视觉显著水平可见,但不具有输入焦点,直到它们响应于由用户手部7202提供的用户的轻扫手势而获得输入焦点为止。例如,当用户界面对象7334的第一页面或部分显示为具有更多视觉显著性(例如,在用户界面对象7334的中心区域中,任选地具有更多视觉细节、更多颜色饱和度、不模糊、更亮等),而用户界面对象7334的一个或多个第二页面或部分被显示为具有更少视觉显著性(例如,在用户界面对象的***区域中,并且任选地具有更少细节、更少颜色饱和度或分辨率、更暗淡、更暗等)时,用户界面对象7334的第一页面或部分具有一般输入焦点,并且用户使用食指或手部7202的食指侧上的拇指的轻扫输入使得特定输入焦点在用户界面对象7334的第一页面或部分中的可选对象内偏移。响应于用户的整个手部的轻扫输入,计算机停止显示具有较大视觉显著性的用户界面对象7334的第一页面或部分,并且切换到显示具有较大视觉显著性的第二页面或部分中的一个第二页面或部分(例如,通过旋转用户界面对象7334内的页面或部分的显示位置、改变页面或部分的视觉属性等)。用户界面对象7334的第二页面或部分中的一个第二页面或部分现在具有一般输入焦点,并且用户使用手部7202的食指侧上的食指或拇指的轻扫输入使得特定输入焦点在用户界面对象7334的当前具有一般输入焦点和较大视觉显著性的第二页面或部分中的对象内偏移。在一些实施方案中,计算机***允许用户以与上述方式类似的方式与用户界面对象7334的第二页面或部分交互,并且为了简洁起见,不重复其细节。
在一些实施方案中,当用户界面对象7334显示在三维环境中对应于用户手部7202的定位的位置处时,并且任选地在手部已经移动远离该定位之后,计算机***检测到用户手部7202的推动手势,并且计算机***根据确定推动手势满足预设交互标准来选择用户界面对象7334内的可选对象(例如,控件7342、控件7344等),并且执行对应于可选对象的操作。例如,在一些实施方案中,计算机***根据确定用户手部7202已移动到预设就绪状态姿势(例如,将拇指搁置在闭合或半闭合的手部的食指侧上、使手部的手掌面向用户的面部等)而在用户手部7202的表示7202'处或附近的位置处显示用户界面对象7334。当用户界面对象7334显示在用户手部7202的表示7202'处或附近的位置处时,并且任选地在手部已经移动远离该定位之后,计算机***检测到用户的拇指跨用户的食指的侧面朝向用户界面对象7334向前推动(例如,同时保持预设的就绪状态姿势)的移动,并且响应于检测到用户的拇指跨用户的食指的侧面向前推动的移动,计算机***选择或激活具有输入焦点的可选选项(例如,已经根据用户注视输入或通过食指的空中轻扫输入、通过拇指沿着食指的侧面的侧向轻扫等选择了输入焦点)。在一些实施方案中,计算机***检测到用户的食指向对应于用户界面对象7334中的可选选项的相应位置的位置伸出和推动的移动,并且响应于检测到食指推动经过对应于三维环境中的可选选项的相应位置处或附近的阈值位置的定位的移动来选择或激活可选选项。
在一些实施方案中,响应于检测到用户手部7202的对应于用以激活用户界面对象7334中的选定对象的推动手势的移动,计算机***显示用户界面对象作为整体的移动和/或可选对象在推动手势的方向上的移动(例如,在用户手部7202的表示7202'的移动的方向上远离视点移动用户界面对象7334或可选对象)。如同用户界面对象7334或可选选项被用户手部向后推动,而可选选项通过用户的推动手势选择。在一些实施方案中,由用户手部的推动手势引起的用户界面对象7334或可选选项远离视点的移动在推动手势满足预设激活标准之前开始,并且任选地在根据确定推动手势满足预设激活标准而由推动手势选择可选对象之后反转。
如上所述,在一些实施方案中,用户手部在处于不同手部姿势时作为整体的移动(例如,用伸出的食指推动相对于用伸出的全部手指推动、用伸出的食指轻扫、用伸出的全部手指轻扫等)任选地使得计算机***执行关于用户界面对象或具有输入焦点的可选对象的不同类型的操作(例如,切换页面或部分、在当前显示的可选对象之间切换输入焦点、将用户界面对象放大和发送到远离初始显示位置的三维环境中、选择具有输入焦点的可选对象等)。在一些实施方案中,用户手部进入不同姿势(例如,食指伸出并且其他手指朝向手掌卷曲的姿势、拇指搁置在食指侧面上的姿势、手掌背对用户的放松的手部、手掌朝向用户的放松的手部等)的***执行关于用户界面对象或具有输入焦点的可选对象的不同操作(例如,在手部的表示附近显示用户界面对象、将输入焦点放置在可选选项上、停止显示用户界面对象、将输入焦点作为整体放置在用户界面对象上以移动或调整用户界面对象等)。
在一些实施方案中,用户界面对象7334是可以在各种上下文中显示的***级用户界面对象,诸如当计算机***同时显示多个不同应用程序和/或体验中的任一者时。在一些实施方案中,三维环境是包括虚拟内容和物理环境的表示的第一应用程序的混合现实环境。当用户界面对象显示在三维环境中的不同位置处时,例如,由于在用户手部的移动满足第一预设标准时用户手部的表示7202'的不同位置,或者由于用户界面对象根据用户的输入(例如,对应于将用户界面对象推到环境中远离视点的请求的输入、拖动用户界面对象的输入、用户手部在继续满足第一预设标准的同时的移动等)的后续移动等,用户界面对象任选地覆盖先前在三维环境的视图中显示或使得可见的物理环境的虚拟内容和/或表示的不同部分、替换该部分的显示,或阻挡该部分的视图。在一些实施方案中,当三维环境根据显示生成部件相对于物理环境的移动和/或由于混合现实体验的预设进展而引起的虚拟内容的改变而改变时,用户界面对象7334被任选地显示。
在一些实施方案中,根据与用户界面对象7334一起显示的三维环境来选择或定制用户界面对象7334和用户界面对象7334中可用的可选选项。例如,对应于不同应用程序或计算机生成的体验的三维环境使得计算机***选择要被包括在用户界面对象7334中的可选对象的不同集合,并且任选地定制用户界面对象7334的外观和感觉以在当前显示的三维环境中提供用户界面对象7334的一致并且不分散注意力的外观。在一些实施方案中,当在三维环境中显示用户界面对象7334时,计算机***检测到对应于停止显示三维环境的请求的用户输入,计算机***停止显示三维环境并显示包括用户的物理环境的表示和主菜单的用户的物理环境的增强现实视图(例如,如果用户界面对象是仅包括针对应用程序和体验的所选择的应用程序图标的停靠栏,则显示用户界面对象7334的更完整版本,如果用户界面对象7334是包括对应于三维环境(例如,特定应用程序或体验)的可选选项的停靠栏,则显示包括用于应用程序和体验的应用程序图标的用户界面对象)。
图7K至图7N是示出根据一些实施方案的基于物理环境的预设部分是否在由显示生成部件提供的视场内(例如,当显示生成部件首次打开或放置在用户眼睛前方时,或当显示生成部件在物理环境中四处移动时等)在三维环境中在对应于物理环境的预设部分的位置(例如,主定位、停靠栏定位等)处显示虚拟菜单(例如,主用户界面、发射台、命令中心用户界面等)的框图。
在一些实施方案中,计算机***指定(例如,根据用户输入、在没有用户输入的情况下等)将物理环境中的定位或区域作为用于显示频繁使用的用户界面对象(例如,虚拟菜单7352,或具有本文所述的类似特征的另一用户界面对象等)的“主定位”(或“停靠栏定位”),使得当用户通过由显示生成部件(例如,显示生成部件7100,或另一类型的显示生成部件等)提供的视场查看物理环境时,用户可通过相对于物理环境调整由显示生成部件提供的视场来容易地并且可预测地定位用户界面对象以使得对应于指定定位或区域的位置在视场内。计算机***在显示包括物理环境的表示的三维环境(例如,环境7108或另一三维环境等)时,根据确定对应于指定定位或区域的位置在由显示生成部件提供的视场内,在对应于用户界面对象的“主定位”的位置处显示用户界面对象。在一些实施方案中,当显示生成部件被放置在允许用户通过显示生成部件查看物理环境的状态或位置时(例如,当HMD被打开时、当HMD被放置在用户的头上时、当显示器被放置在用户的眼睛前方时、当用户在平视显示器前方行走时等),这种情况发生。在一些实施方案中,这也在视场由于显示生成部件(和/或捕获物理环境的视图的相机)相对于物理环境的移动(例如,由携带显示生成部件走来走去的用户、在佩戴HMD时转动他/她的头部等引起的移动)而改变时发生。在一些实施方案中,用户界面对象是包括应用程序、体验和/或用户的图标和化身(例如,由可选对象7354、7356、7358、7360等表示)的主用户界面,用户可使用该主用户界面开始对应的应用程序、计算机生成的体验,并与其他用户共享体验或通信。另一示例性用户界面对象(例如,在此示例中由用户界面对象7352表示)是用于控制计算机***的设备功能(诸如显示生成部件、网络连接部件、音频输出部件、闪光灯、相机、音频和视频输出路由等的功能和设置)的控制板。另一示例性用户界面对象(例如,在此示例中由用户界面对象7352表示)是上下文菜单,该上下文菜单基于当前上下文(诸如当前时间、当前显示的应用程序、当前位置、当前时间表、日历上即将到来的事件、用户与计算机***的先前交互等)来自动改变其组成控件和元素(例如,由可选对象7354、7356、7358、7360等表示)。在一些实施方案中,用户界面对象是上述中的一者或多者的组合。在一些实施方案中,被指定为用户界面对象的“主定位”的定位或区域(例如,在此示例中由用户界面对象7352表示)是物理表面(诸如墙、家具、电器、桌面、工作台面、窗户、海报、TV屏幕或相框等的表面)的全部或一部分。在一些实施方案中,被指定为用户界面对象的“主定位”的定位或区域未由任何物理对象或表面占据。例如,指定的“主定位”任选地在工作台面上方的空区域中、在房间的中间、在台式计算机的计算机屏幕上方等。
通过利用用户对物理环境的熟悉以及用户对物理环境中的位置和取向的直观感觉,计算机***为计算机***的频繁使用的功能提供可预测的访问点,但不会通过在用户的视场中持续地显示用户界面对象而不必要地混乱用户的视场(例如,当“主定位”不在视场中时不显示用户界面对象)。此外,在由处于关闭状态、睡眠状态、休眠状态和/或显示生成部件的其他低功率状态(例如,低功率常开状态、屏幕锁定状态、屏幕保护状态等)的显示生成部件分开的多个使用会话中持久地存储主定位。这提供了一种直观并可预测的方式来提供对频繁使用的功能的访问,而不会使可用于查看虚拟内容和物理环境的有限视场混乱,这减少了用户在与计算机***交互时的用户错误和混淆,从而创建了更高效的人机界面。
在一些实施方案中,当计算机***接收到显示尚未与用户界面对象(例如,在此示例中是用户界面对象7352)相关联的物理环境的请求时(例如,当显示生成部件在处于新的物理环境中时被打开或戴在用户头上时),计算机***自动开始配置过程以提示用户选择“主定位”。在一些实施方案中,计算机***扫描并突出显示新物理环境的视图中的可用表面或区域,以允许用户从突出显示的表面或区域中选择新物理环境中的定位或区域作为用户界面对象的“主定位”。
如本文所公开的,在一些实施方案中,计算机***显示包括虚拟内容和用户周围的物理环境的表示的三维环境;并且在虚拟内容中是包括对应于计算机***的不同功能、不同应用程序和/或不同体验的可选对象(例如,可选对象7354、7356、7358、7360等)的虚拟菜单(例如,在此示例中是虚拟菜单7352)。在一些实施方案中,虚拟菜单(例如,在此示例中是虚拟菜单7352)包括对应于不同功能、应用程序和/或体验的可选对象(例如,可选对象7354、7356、7358、7360等),该可选对象被用户选择为在对应于物理环境的预设部分的三维环境中的预设位置处可容易地访问。在一些实施方案中,虚拟菜单包括对应于不同功能、应用程序和/或体验的可选对象,该可选对象被计算机***选择为在对应于物理环境的预设部分的三维环境中的预设位置处可容易地访问。在一些实施方案中,物理环境的预设部分是用户选择的定位。在一些实施方案中,物理环境的预设部分完全由计算机***选择或至少部分由计算机***选择(例如,通过对物理环境的哪些部分有资格被用户选择为与虚拟菜单相关联的部分施加限制)。在一些实施方案中,在虚拟菜单与物理环境的相应部分相关联之后,响应于显示三维环境的视图的请求,根据确定物理环境的相应部分在由与计算机***通信的显示生成部件提供的视场内,在对应于物理环境的相应部分的位置处显示虚拟菜单。例如,当用户相对于物理环境移动显示生成部件时,物理环境的不同部分可进入由显示生成部件提供的视场中;并且一旦物理环境的相应部分进入视场中(例如,基于物理环境的相应部分的虚拟位置在三维环境的包括在视场中的区域内),虚拟菜单就显示在视场中,覆盖三维环境中的物理环境的相应部分、替换该部分的显示,或阻挡该部分的视图。在一些实施方案中,如果由于显示生成部件的移动而物理环境的相应部分的仅一部分已进入视场中(例如,基于物理环境的相应部分的一部分的虚拟位置在三维环境的包括在视场中的区内),那么虚拟菜单的仅一部分在由显示生成部件提供的视场中可见。在一些实施方案中,显示生成部件相对于物理环境的移动是握住显示生成部件的用户手部的移动或佩戴显示生成部件(例如,显示生成部件是HMD)的用户的头部的移动等的结果。在一些实施方案中,当用户开启显示生成部件或使显示生成部件从睡眠状态、休眠状态、屏幕锁定状态、一种或多种类型的低功率状态(例如,显示器关闭状态、常开变暗状态、锁定状态、屏幕锁定状态等)醒来时,物理环境的相应部分的虚拟位置进入由显示生成部件提供的视场中。在一些实施方案中,显示三维环境的视图的请求对应于用户输入,该用户输入开启或唤醒显示生成部件或将显示生成部件置于经由显示生成部件示出的内容可被用户看到的状态或空间位置。在一些实施方案中,物理环境的与虚拟菜单(例如,在此示例中是虚拟菜单7352)相关联的相应部分是物理环境中的较大物理表面(例如,(例如,由表示7124表示的墙的整个空部分)整个桌面、整个窗户等)的一部分,并且根据确定较大物理表面在由显示生成部件提供的视场内而在对应于物理环境的相应部分的虚拟区域处显示虚拟菜单。在一些实施方案中,当显示生成部件的视场中包括全新物理环境时,计算机***向用户提供将虚拟菜单与新物理环境的相应部分相关联的机会,(任选地)而不将虚拟菜单与先前物理环境的相应部分解除关联(例如,因此当先前物理环境显示在显示生成部件的视场中时,计算机***仍可在先前位置处显示虚拟菜单)。
图7K至图7L示出了用于将虚拟菜单7352与物理环境的相应部分相关联的示例性过程。在一些实施方案中,当显示生成部件7100被放置在先前未被计算机***扫描和校准的物理环境中时,此过程发生。在一些实施方案中,此过程在用户希望添加用于在已知物理环境中显示虚拟菜单的附加地点和/或重置用于在已知物理环境中显示虚拟菜单的定位时发生。
如图7K中所示,在虚拟菜单7352与在三维环境7108中表示的物理环境相关联之前,计算机***经由显示生成部件7100显示三维环境7108的视图。三维环境7108的视图包括从物理环境的对应于物理环境中的显示生成部件7100的定位(例如,当显示生成部件7100是HMD时还对应于用户的眼睛或头部的定位)的视点的查看角度来看的一部分中的物理表面和对象的表示。在图7K中,三维环境7108的视图包括用户和显示生成部件的物理环境中的两个相邻墙的表示7122'和7124'、楼层的表示7102'以及物理环境中的两个物理对象(例如,家具、对象、电器等)的表示7330'和7350'。根据一些实施方案,物理环境中的物理表面与物理对象之间的空间关系在三维环境中由三维环境中的物理表面和物理对象的表示之间的空间关系来表示。当用户相对于物理环境移动显示生成部件时,当前显示的视图的视点在三维环境中移动,从而产生从不同的观看角度对三维环境7108的不同视图。在一些实施方案中,当物理环境是计算机***的未知环境时,计算机***执行对环境的扫描以识别表面和平面并为物理环境建立三维模型。根据一些实施方案,计算机***定义虚拟对象相对于三维模型的位置,使得虚拟对象可以以与三维环境中的物理表面和对象的表示的各种空间关系被定位在三维环境中。例如,虚拟对象任选地被给予相对于三维环境的直立取向,并且可以在模拟与物理表面或对象的表示的特定空间关系(例如,覆盖、站立、平行于、垂直于等)的位置处和/或以模拟该位置的取向来显示。在一些实施方案中,计算机***显示指示跨物理环境的物理表面和对象的扫描的进度的视觉反馈。在一些实施方案中,计算机***任选地在三维环境的视图中突出显示可用于例如在扫描过程期间或之后放置虚拟菜单的一个或多个区域(例如,在视点前方的墙的表示7124'、物理对象的表示7330'的表面等)。
在一些实施方案中,计算机***检测到指向三维环境的一部分的用户注视输入(例如,在此示例中是注视输入7362)。在一些实施方案中,当计算机***检测到表面或位置处的用户注视时,计算机***突出显示用于放置虚拟菜单(例如,在此示例中是虚拟菜单7352)的符合条件的表面或位置。在一些实施方案中,在设置阶段期间,当用户在物理环境周围移动显示生成部件并通过显示生成部件查看不同表面或对象以搜索放置虚拟菜单的适当位置时,计算机提供实时反馈以向用户指示当前在由显示生成部件提供的视场内的物理环境的哪个部分是用于放置虚拟菜单的合格表面或位置。在一些实施方案中,计算机***基于各种要求来确定检测到的表面或对象是否合格,诸如该表面或其部分是否具有大于阈值的大小或面积、该表面或其部分是否被存在于视点与该表面之间的其他对象阻挡、该表面或其部分是具有随时间变化的视觉内容(例如,窗户、TV屏幕、门口等)还是大多数时候静态的(例如,墙、冰箱门等)、该表面或其部分是否已被指定用于计算机***的其他功能等。
在图7K至图7L中,当用户注视7362指向视点前方的墙的表示7124'时,计算机***检测到用户提供了对应于用于将虚拟菜单(例如,在此示例中是虚拟菜单7352)与物理环境的当前由用户注视所选择的部分相关联的请求的输入。响应于检测到对应于将虚拟菜单与物理环境的当前由用户注视选择的部分相关联的请求的用户输入(例如,由手部7202'执行的预设手势,或另一预设输入等),计算机***在三维环境中对应于物理环境的该部分的定位的位置处显示虚拟菜单(例如,包括可选对象7354-7356、7358和7360等的虚拟菜单7352)。在此示例中,虚拟菜单7352以平行于墙的表示7124'的表面的取向和在墙的表示7124'的位置上或位置处的位置来显示。因此,虚拟菜单7352看起来被粘贴或覆盖在墙的表示7122'上。
在一些实施方案中,墙的表示7124'由物理环境的相机视图提供,并且虚拟菜单替换经由显示生成部件显示的三维环境的视图中的墙的表示7124'的至少一部分的显示。在一些实施方案中,墙的表示7124'由物理环境的相机视图提供,并且虚拟菜单被投影到墙上并覆盖物理环境中的墙的一部分并被视为物理环境的相机视图的一部分。在一些实施方案中,墙的表示7124'是物理环境的视图的通过显示生成部件的透明或半透明部分可见的一部分,并且虚拟菜单由显示生成部件在阻挡墙的表示7124'的至少一部分的视图的位置处显示。在一些实施方案中,墙的表示7124'是物理环境的视图的通过显示生成部件的透明或半透明部分可见的一部分,并且虚拟菜单被投影到墙上并且覆盖物理环境中的墙的一部分,并且通过显示生成部件的透明或半透明部分被视为物理环境的一部分。
在一些实施方案中,对应于将虚拟菜单与物理环境的相应部分相关联的请求的用户输入包括移动显示生成部件,使得放置在物理环境的相应部分中的标记对象在由显示生成部件提供的视场中被捕获。计算机***在辨识出视场中的标记对象后即刻将标记对象的定位或该定位处的表面与虚拟菜单相关联,并且在三维环境中对应于由标记对象标记的定位或表面的位置处显示虚拟菜单。
在一些实施方案中,计算机***自动识别物理环境的在物理环境的当前显示的部分内的部分以与虚拟菜单相关联。在此类实施方案中,对应于将虚拟菜单与物理环境的相应部分相关联的请求的用户输入任选地是手势输入或语音命令(“寻找主定位”、“建立菜单定位”等),而没有诸如用户注视或指向物理环境的相应部分的指向手势的选择输入。在一些实施方案中,在接收到用户的输入之后并且当用户相对于物理环境移动显示生成部件时,计算机选择物理环境的相应部分以与虚拟菜单相关联,使得计算机***可评估当前显示的视图中的表面或对象以查看任何表面或对象是否合适。一旦识别出合适的表面或物体,计算机***就提供输出以发信号通知计算机***已识别出虚拟菜单的位置,并且在该位置处显示虚拟菜单。在一些实施方案中,计算机***等待用户对选择的确认(例如,语音确认、手势确认等),或等待用户对显示生成部件的移动以继续搜索视场中的更合意位置。
在一些实施方案中,一旦虚拟菜单被显示在物理环境的与虚拟菜单相关联的相应部分的定位的位置处,计算机***就监视指向可选对象的用户输入(例如,注视、在对应于用户界面对象的可选对象的位置的定位处的空中手势、涉及手部的一部分相对于手部的另一部分的移动的手势(例如,当手部任选地保持远离可选对象或在视场外部时,或当手部正搁置在用户的侧面上、桌面上、膝上等而不是在用户前方举起时)等),并且基于与可选对象的交互来执行对应操作。
图7M示出了在虚拟菜单与物理环境的相应部分(例如,由表示7330'表示的物理对象左侧的墙的部分)相关联之后(例如,在此示例中,虚拟菜单被分配有表示7124'上的在表示7330'左侧的虚拟位置),物理环境的相应部分停止在由显示生成部件提供的视场中显示(例如,因为显示生成部件已关闭或进入低功率状态,和/或移动远离先前位置等)。图7M和图7N示出了计算机***已经接收到显示三维环境的视图的请求。例如,在一些实施方案中,图7M和图7N表示计算机***响应于接收到显示三维环境的视图的请求而显示三维环境7108的视图。在一些实施方案中,接收到请求包括检测到开启显示生成部件的用户输入、将头戴式显示器放在用户的眼睛前面、将头戴式设备放在用户的头上、将显示生成部件从休眠状态、睡眠状态或另一低功率状态唤醒、检测到用户走到平视显示器前面的位置以查看显示器的内容等。图7M和图7N示出了两个对比场景,其中如果分配给虚拟菜单的“主定位”的虚拟位置不在三维环境的视图内(例如,如图7M中所示),则虚拟菜单7352不显示在三维环境的视图中;并且如果分配给虚拟菜单的“主定位”的虚拟位置在三维环境的视图内,则在三维环境的视图中在“主定位”的位置处显示虚拟菜单7352。
在一些实施方案中,显示生成部件已相对于物理环境移动(例如,如图7M中所示),使得物理环境的不同部分移动到显示生成部件的视场中或展示在显示生成部件的视场中。在此示例中,在表示7124'前方的物理对象的表示7330'和7350'仍在由显示生成部件提供的视场中,并且先前不在视场中的表示7124'的一部分被移动到显示生成部件的视场中或展示在显示生成部件的视场中。物理环境的与虚拟菜单7352相关联的部分的表示7124'的相应部分在由显示生成部件提供的视场中不再可见。因此,在图7M中,虚拟菜单7352不由显示生成部件在三维环境7108的视图中与物理环境的表示一起显示。
在一些实施方案中,物理环境的相应部分在由显示生成部件提供的视场中不可见的原因是因为显示生成部件正在显示虚拟环境,并且显示三维环境的视图的请求是使得计算机***停止显示虚拟环境的用户输入。在一些实施方案中,物理环境的相应部分在由显示生成部件提供的视场中是不可见的,这是因为显示生成部件被关闭或处于低功率状态,使得物理环境的表示通过显示生成部件不是完全可见的(例如,变暗、模糊等);并且显示三维环境的视图的请求是使得计算机***将显示生成部件从关闭或低功率状态转变出来的用户输入。
在图7N中,当对应于物理环境的已与虚拟菜单7352相关联的部分的虚拟区域在由显示生成提供的视场内时,计算机***在对应于物理环境的相应部分的位置处(例如,在图7L中先前显示虚拟菜单的表示7120'的部分的位置处)重新显示虚拟菜单7352。在一些实施方案中,在显示生成部件的较早移动已使得物理环境的相应部分的位置移出由显示生成部件提供的视场之后,作为显示生成部件相对于物理环境的移动的结果,物理环境的相应部分(例如,先前显示虚拟菜单的表示7124的部分)进入视场。在一些实施方案中,表示7120'的相应部分的位置由于显示生成部件在处于物理环境的相应部分前面时被开启或恢复到正常操作状态而回到视场中。在一些实施方案中,作为计算机***停止显示虚拟环境的结果,表示7120'的相应部分的位置回到视场中。
如图7N中所示,计算机***在对应于物理环境的与虚拟菜单相关联的部分的墙的表示7124'的位置处显示虚拟菜单7352,使得虚拟菜单看起来覆盖墙的表示7124'。在一些实施方案中,虚拟菜单被部分地示出为物理环境的与虚拟菜单相关联的部分的仅子区域已移动到由显示生成部件提供的视场中。在一些实施方案中,仅当对应于物理环境的与虚拟菜单相关联的部分的虚拟区域完全在视场内时才显示虚拟菜单。在此情况下,虚拟菜单可完全显示在视场中,从而覆盖物理环境的与虚拟菜单相关联的部分、替换该部分的显示或阻挡该部分的视图。
如以上所公开的,在一些实施方案中,虚拟菜单是包括用于在三维环境中启动应用程序和体验的可选图标的主用户界面或启动板。它类似于二维操作环境中的主屏幕或跳板。在一些实施方案中,显示生成部件是头戴式设备,当用户戴上头戴式设备时,通过该头戴式设备向用户提供具有虚拟扩增(例如,虚拟墙面装饰、虚拟风景等)的他/她的物理环境的视图。
图7K至图7N示出了示例性场景,其中在用户通过设置过程(例如,图7K至图7L中所示出)在对应于物理环境的所选择的部分的位置处建立主用户界面的主定位之后,当用户正在物理环境中佩戴HMD并且稍后希望获得对主用户界面的接入时,用户仅需要转向物理环境的所选择的部分,并且计算机***将在物理环境的所选择的部分的位置处显示虚拟菜单。当用户在面对物理环境的相应部分的同时戴上HMD时也是如此。用户可以选择当他/她首次戴上HMD时他或她通常看到或面对的物理环境的一部分,使得他/她总是被定向为知道主用户界面位于通过显示生成部件看到的虚拟增强物理环境中的何处。在一些实施方案中,当完全虚拟体验被终止时,计算机***还利用在对应于物理环境的所选择的部分的位置处的主用户界面来显示虚拟增强的物理环境的视图,使得用户可以容易地开始另一应用程序或体验。在一些实施方案中,物理环境的与虚拟菜单或主用户界面相关联的相应部分任选地被挂起在物理环境的相应部分中,并且虚拟菜单或主用户界面被显示为面向三维环境的当前显示的视图的视点,而不管用户正从哪个方向看物理环境的相应部分。
在一些实施方案中,在虚拟菜单与物理环境的第一相应部分相关联之后,计算机***任选地根据用户请求将虚拟菜单与物理环境的另一部分或另一物理环境的相应部分相关联。例如,在一些实施方案中,计算机***检测到指向虚拟菜单7352或主用户界面的捏合和拖动手势(例如,当用户注视指向虚拟菜单或主用户界面时,或者在检测到用于选择作为整体的虚拟菜单或主用户界面的特殊手势或语音命令之后等),并且根据提供捏合和拖动手势的手部的移动在三维环境中重新定位虚拟菜单或主用户界面。在一些实施方案中,计算机***在三维环境的当前显示的视图中在视觉上强调用于放置虚拟菜单或主用户界面的符合条件的位置(例如,相对于视场中的物理环境的其他部分突出显示符合条件的部分,相对于符合条件的部分使视场中的物理环境的其他部分变暗等)(例如,当用户在三维环境中拖动虚拟菜单时,和/或转动他/她的头部以将物理环境的不同部分带入视场中等)。在一些实施方案中,计算机***将虚拟菜单移动到对应于第二物理表面的定位的位置,该第二物理表面不同于虚拟菜单最初与之相关联的表面。在一些实施方案中,第二表面具有与第一表面不同的取向。在一些实施方案中,第二表面具有与第一表面相同的取向。在一些实施方案中,第二表面和第一表面同时在由显示生成部件提供的视场内。在一些实施方案中,第二表面和第一表面不同时在由显示生成部件提供的视场内。在一些实施方案中,当计算机***检测到显示生成部件的视场中的物理环境不是已与虚拟菜单相关联的相同物理环境(例如,计算机***未知的新物理环境、位于与已与虚拟菜单或主用户界面相关联的物理环境不同的定位处的物理环境等)时,计算机***自动激活配置模式以提示用户选择物理环境的与虚拟菜单或主用户界面相关联的一部分。
在一些实施方案中,基于上下文信息从可选对象的较大集合中选择包括在虚拟菜单中的可选对象。在一些实施方案中,基于上下文信息(例如,当前时间、最近访问的应用程序和体验等)来选择在主用户界面中表示的应用程序图标或体验的集合。在一些实施方案中,虚拟菜单或主用户界面包括当前可用于与计算机***和/或显示生成部件的用户通信或共享体验的其他用户的化身。
在一些实施方案中,根据检测到选择虚拟菜单的可选对象(例如,对象7354、对象7356等)的用户输入(例如,指向可选对象的空中轻击输入、在用户注视指向可选对象时通过在食指侧上的拇指轻击执行的轻击输入等),计算机***执行对应于对可选对象的选择的操作。在一些实施方案中,可选对象是应用程序图标,并且操作是启动对应于应用程序图标的应用程序。在一些实施方案中,可选对象是对应于计算机生成的体验(例如,虚拟体验、沉浸式影片、沉浸式冥想体验等)的图标,并且操作是在三维环境中开始体验(例如,逐渐增加向用户提供体验的沉浸级别,基于当前上下文(例如,用户的生理和情绪状态、用户是否是单独的等)以由计算机***选择的级别提供体验等)。在一些实施方案中,可选对象是另一用户的化身,并且该操作是开始建立与所述另一用户的通信会话的过程(例如,为用户显示用户界面以选择要通过其建立通信会话的模式(例如,在同一虚拟环境中共存、网络呼叫、虚拟聊天等)、发起通信会话等)。
在一些实施方案中,计算机***在用户手部的表示的位置处显示对应于所选择的对象的用户界面对象。例如,在一些实施方案中,用户手部是在由显示生成部件提供的视场中可见的物理环境的相机视图的一部分,并且对应于所选择的对象的用户界面对象被显示以替换用户手部的表示的一部分或物理环境的靠近用户手部的一部分。在一些实施方案中,作为物理环境的通过显示生成部件的透明或半透明部分可见的一部分,用户手部在视场中是可见的,并且对应于所选择的对象的用户界面对象显示在阻挡用户手部或物理环境的靠近用户手部的一部分的视图的位置处。在一些实施方案中,用户手部是通过显示生成部件的透明或半透明部分在视场中可见的物理环境的一部分,并且对应于所选择的对象的用户界面对象被投影到用户手部上或物理环境的靠近用户手部的一部分上。
在一些实施方案中,当用户手部作为整体在物理环境中移动时,用户界面对象也根据用户手部的移动在三维环境中移动,使得用户界面对象在用户手部在物理环境中的移动期间在三维环境中保持与用户手部的表示的稳定、相对固定的空间关系(例如,固定到彼此、以小于阈值量的相对移动附接到彼此等)。在一些实施方案中,计算机***检测到显示在对应于用户手部的定位的位置处的用户界面对象的用户交互(例如,选择包含在其中的可选选项、在用户界面对象内导航以查看附加可选选项等),并且执行对应于用户交互的附加操作。在一些实施方案中,用户界面对象是对应于虚拟菜单中的所选择的对象的用户界面。在一些实施方案中,虚拟菜单中的所选择的对象是应用程序的应用程序图标,并且在对应于用户手部的位置处显示的用户界面对象是用于具有对应于应用程序内的操作的可选选项的应用程序的应用程序用户界面。在一些实施方案中,虚拟菜单中的所选择的对象是计算机生成的体验的图标,并且在对应于用户手部的位置处显示的用户界面对象是用于在体验开始之前配置体验的配置用户界面。在一些实施方案中,虚拟菜单中的所选择的对象是另一用户或用户组的化身,并且在对应于用户手部的位置处显示的用户界面对象是用于选择要使用的通信模式并且发起建立与另一用户或用户组的通信会话的通信请求的通信用户界面。
在一些实施方案中,当用户界面对象显示在对应于用户手部的定位的位置处时,计算机***检测到由用户手部提供的预设用户输入(例如,投掷或抛掷手势、转动用户手部并远离视点推动用户界面对象、跨食指的侧面向前远离视点轻扫或轻弹手部的拇指等);并且响应于检测到预设输入,计算机***显示对应于三维环境中的用户界面对象的环境或体验。例如,在一些实施方案中,用户界面对象是应用程序的用户界面,并且计算机***响应于检测到预设输入而在三维环境中显示应用程序的用户界面的三维视图。在一些实施方案中,用户界面对象是计算机生成的体验的配置用户界面或预览,并且计算机***响应于检测到预设输入而在三维环境中显示计算机生成的体验或以增加的沉浸水平显示计算机生成的体验(例如,扩展计算机生成的体验在三维环境中的空间范围、向计算机生成的体验添加附加虚拟内容、将音频输出模式改变为空间音频输出模式等)。在一些实施方案中,用户界面对象是用于发起与另一用户的通信会话的用户界面,并且计算机***显示将在其中建立与另一用户的共存的三维环境。
在一些实施方案中,计算机***根据以下确定来显示虚拟菜单:显示生成部件(例如,设备7100的显示器或HMD)放置在相对于用户的预定义位置中(例如,佩戴在用户的头上、绑在用户的头上、放置在用户的面部前方等),并且物理环境的与虚拟菜单相关联的预设部分的位置在由显示生成部件提供的用户视场中(例如,如果显示生成部件被移除,那么物理环境的相应部分将在用户的视场中)。例如,在一些实施方案中,计算机***根据确定显示生成部件(例如,HMD)被放置在用户头部上使得用户的针对物理环境的视野仅可能通过显示生成部件来获得而确定显示生成部件被放置在相对于用户的预定义位置。在一些实施方案中,计算机***根据确定用户已经位于计算机***的平视显示器前方而确定显示生成部件被放置在相对于用户的预定义位置。在一些实施方案中,将显示生成部件放置在相对于用户的预定义位置,或者将用户置于相对于显示生成部件的预定义位置,允许用户通过显示生成部件观看内容(例如,真实内容或虚拟内容)。在一些实施方案中,一旦显示生成部件和用户处于预定义的相对位置,用户的针对物理环境的视野就可能至少部分地(或完全地)被显示生成部件阻挡。在一些实施方案中,如果用户不在相对于显示生成部件的预定义位置中,则即使显示生成部件被放置在相对于物理环境的相应部分的位置中以提供物理环境的相应部分的视图,计算机***也不显示虚拟菜单。在一些实施方案中,虚拟菜单与特定用户相关联,并且当特定用户处于相对于显示生成部件的预定义位置中并且物理环境的相应部分的虚拟位置在由显示生成部件提供的视场内时显示虚拟菜单,但当其他用户处于相对于显示生成部件的预定义位置中并且物理环境的相应部分的虚拟位置在由显示生成部件提供的视场内时不显示虚拟菜单。
在一些实施方案中,基于对由传感器***捕获的数据的分析来确定计算机***的显示生成部件的放置。在一些实施方案中,传感器***包括一个或多个传感器,该一个或多个传感器是计算机***的部件(例如,包封在与设备7100或HMD的显示生成部件相同的外壳中的内部部件)。在一些实施方案中,传感器***是外部***,并且不包封在与计算机***的显示生成部件相同的外壳中(例如,传感器是向计算机***提供捕获的图像数据以用于数据分析的外部相机。在一些实施方案中,传感器***包括跟踪用户和/或计算机***的显示生成部件的移动的一个或多个成像传感器(例如,一个或多个相机)。在一些实施方案中,该一个或多个成像传感器跟踪用户的一个或多个特征(诸如用户手部和/或用户头部)的位置和/或移动,以检测显示生成部件相对于用户或用户的预定义部分(例如,头部、眼睛等)的放置。例如,实时分析图像数据以确定用户是否将设备7100的显示器保持在用户眼睛前方或者用户是否正将头戴式显示器戴在用户头部上。在一些实施方案中,一个或多个成像传感器跟踪用户的眼睛注视以确定用户正看向何处(例如,用户是否正看向用户界面的特定部分)。在一些实施方案中,传感器***包括一个或多个基于触摸的传感器(例如,其安装在显示器上)以检测用户手部对显示器的抓握,诸如用一只手或两只手握持设备和/或握持设备7100的边缘,或者使用两只手握持头戴式显示器以将头戴式显示器戴在用户头部上。在一些实施方案中,传感器***包括一个或多个运动传感器(例如,加速度计)和/或位置传感器(例如,陀螺仪、GPS传感器和/或接近传感器),这些传感器检测电子设备的显示器的运动和/或位置信息(例如,位置、高度和/或取向)以确定显示器相对于用户的放置。例如,分析运动和/或位置数据来确定移动设备是否正在被举起并面向用户眼睛,或者头戴式显示器是否正在被举起并戴在用户的头部上。在一些实施方案中,传感器***包括一个或多个红外传感器,该一个或多个红外传感器检测头戴式显示器在用户头部上的定位。在一些实施方案中,传感器***包括不同类型的传感器的组合,以提供用于确定显示生成部件相对于用户的放置的数据。例如,组合地分析用户手部对显示生成部件的外壳的抓握、显示生成部件的运动和/或取向信息以及用户的眼睛注视信息,以确定显示生成部件相对于用户的放置。
图7O至图7T是示出根据一些实施方案的在三维环境中在对象(例如,虚拟对象、物理对象的表示等)处或附近远离控件对象的初始位置的不同距离处显示与对象相关联的控件对象(例如,包括一个或多个控件的控制面板、包括一个或多个交互式元素的用户界面对象等)的框图,该显示取决于对象是否被用户输入选择和/或指向对象或该对象相关联的控件对象的用户注视是否已经移动远离对应于该对象及其相关联的控件对象的区域。
在一些实施方案中,计算机***显示虚拟菜单(也称为“控件对象”)(例如,控件对象7370、控件对象7376等),该虚拟菜单包括用于触发对应于三维环境中的对象(例如,虚拟对象、物理对象的表示(例如,表示7366'、表示7368')、物理对象(例如,由表示7366'表示的物理对象、由表示7368'表示的物理对象等)等)的相应操作的执行的一个或多个控件(例如,控件7372、7374、7380、7378等)。在一些实施方案中,虚拟菜单被显示在对应于三维环境(例如,虚拟环境、三维环境7110等)中的对象的定位的位置处(例如,在虚拟对象的位置处或附近,或物理对象的表示等)。响应于用户对对象的选择,虚拟菜单从其在三维环境中的原始位置朝向更靠近用户的虚拟位置(例如,当前显示的三维环境的视图的视点、用户手部在用户的视场中的虚拟位置等)的位置弹出。在一些实施方案中,对象(例如,虚拟对象、物理对象的表示、物理对象等)的选择是基于与三维环境中的对象或该对象的表示的交互。在一些实施方案中,选择对象包括使用指向虚拟对象或物理对象的表示的用户注视来选择虚拟对象或物理对象的表示、在虚拟对象或物理对象的表示的位置处提供预设手势、在虚拟对象或物理对象的表示具有输入焦点时提供远离虚拟对象或物理对象的表示的位置的手势、在通过用户注视选择虚拟对象或物理对象的表示时提供远离虚拟对象或物理对象的表示的位置的手势等。在一些实施方案中,对象(例如,物理对象、物理对象的表示等)的选择是基于与物理环境中的对象或由对象表示的物理对象的交互(例如,触摸、操纵、拾取、打开、以其他方式改变物理对象的状态等),从而引起对三维环境中的对象或该对象的表示的选择。在一些实施方案中,对象是虚拟菜单,该虚拟菜单包括用于执行对应于三维环境(例如,虚拟环境、增强现实环境等)中的对象的操作(例如,启动用户界面、显示对应的虚拟体验、显示子菜单、执行相应的应用程序功能、激活计算机***的相应的设备功能、调整计算机***的相应的设备设置等)的一个或多个可选控件(例如,控件7372、7374、7380、7378等)。在一些实施方案中,对象是在三维环境(例如,增强现实环境等)中具有该对象的表示的物理对象,并且虚拟菜单包括用于执行对应于三维环境中的物理对象的操作(例如,显示相关的虚拟内容或体验、启动用户界面、显示子菜单、激活相应的设备功能、调整相应的设备设置等)的一个或多个可选控件(例如,控件7372、7374、7380、7378等)。在一些实施方案中,当用户将其注视移动远离对象的位置并且用户注视(例如,图7S中的注视7392)不再指向与虚拟菜单(例如,控件对象7370)和对象(例如,表示7366'、由表示7366'表示的物理对象等)相关联的区域时,计算机将虚拟菜单(例如,控件对象7370)移动远离靠近用户的虚拟位置的位置(例如,视点或用户手部的位置等)并且朝向该虚拟菜单对应于三维环境中的对象的位置的原始位置返回(如在图7P、图7Q和/或图7R之后的图7S中图示的转变所示)。在通过用户注视从虚拟菜单和对象离开而释放虚拟菜单之后,就好像该虚拟菜单快速跳回到其原始位置。在一些实施方案中,视觉链接(例如,虚拟橡皮筋、虚线等)(例如,虚拟系链7382、7384、7396、7398等)显示在虚拟菜单(例如,控件对象7370、控件对象7376等)与其原始位置之间,而虚拟菜单由于对象(例如,表示7366'、表示7368'等)的选择而显示在远离该虚拟菜单的原始位置的距离处。在一些实施方案中,当虚拟菜单(例如,控件对象7370)远离其原始位置并且更靠近用户的虚拟位置(例如,靠近视点、靠近用户视场中的用户手部等)显示时,该虚拟菜单可充当其中所含有的个别控件(例如,控件7372、7374等)的开始位置以在注视指向个别控件(例如,如图7Q和图7R中所示)时或在控件以其他方式被选择但未被激活时进一步移动更靠近用户的虚拟位置。在一些实施方案中,当用户注视移动远离个别控件(例如,控件7372、7374等)时,个别控件退回到它们在虚拟菜单中的原始位置(例如,如图7Q和图7R中所示)。在一些实施方案中,虚拟菜单和包含在其中的个别控件的移动是基于用户注视朝向和远离虚拟菜单和/或对象的移动。在一些实施方案中,当虚拟菜单仍耦合到用户注视(例如,注视尚未移动到虚拟菜单和对象的范围外)时,该虚拟菜单以取决于用户注视的移动(例如,用户注视的移动的速度、方向、距离等)的移动特性(例如,以速度、方向、距离等)朝向和远离视点移动;并且一旦用户注视在对应于对象和虚拟菜单的区域之外,虚拟菜单就快速跳回到其原始位置。响应于对象的选择而将与对象(例如,表示7366'、表示7368'等)相关联的虚拟菜单(例如,控件对象7370、控件对象7376等)移动得更靠近用户的虚拟位置(例如,更靠近视点、更靠近视场中的用户手部等),并且随后当用户注视移动远离虚拟菜单和对象(例如,表示7366'、表示7368'等)时将虚拟菜单移动回到该虚拟菜单在三维环境中的原始位置允许用户容易地检查包括在虚拟菜单中的选项,和/或在三维环境中的更可接近的位置处(例如,在伸手可及的范围内,或靠近用户手部等)与虚拟菜单交互。这使得用户与对象的交互更高效,并且减少了来自用户的执行与对象相关联的操作的输入的数量、范围和/或性质,由此创建更高效的人机界面。
在一些实施方案中,与可选控件或控件对象相关联的对象是虚拟对象(例如,虚拟菜单、可选对象、包括可选元素的用户界面对象、虚拟三维对象等),该虚拟对象被显示在三维环境(例如,虚拟环境、增强现实环境等)中远离三维环境的当前显示的视图的视点的位置处。在一些实施方案中,与可选控件或控件对象相关联的对象是物理对象(例如,智能电器、智能主控制面板、媒体控制台、游戏设备、便携式电子设备等),该物理对象在三维环境(例如,虚拟环境、增强现实环境等)中具有远离三维环境的当前显示的视图的视点的对应表示,其中物理对象的表示的位置对应于物理对象在物理环境中的定位。尽管有时可能将视点朝向对象的位置移动(例如,通过将物理环境中的显示生成部件朝向对应于该位置的定位移动,提供对应于在三维环境中朝向对象导航的运动请求的输入(例如,在该环境是虚拟环境的情况下)等),使得对象及其相关联的可选控件看起来更近并且更易于进行检查或交互,但是相对于三维环境中的对象移动视点是麻烦并耗时的。这使得能够检查可选控件以使得用户能够做出关于是否在做出选择之前选择可选控件或包含在该可选控件中的选项的决定。当用户尚未决定选择可选控件或包含在该可选控件中的选项并且仅希望对可选控件进行粗略检查以做出该决定时,尤其如此。在一些实施方案中,可通过用手势或控制器选择并拖动虚拟对象来使虚拟对象更靠近视点,但此交互模式同样是耗时并麻烦的,尤其是在检查或激活虚拟对象之后需要通过附加输入将虚拟对象放置回到该虚拟对象的原始位置时。如本文所公开的,与虚拟对象或物理对象相关联的可选控件或控件对象显示在虚拟对象处或虚拟对象附近的位置处,或者根据确定虚拟对象、物理对象的表示或物理对象已被用户选择(例如,通过与虚拟对象、物理对象或物理对象的表示交互的预设输入等),物理对象的表示自动移动远离其原始位置并更靠近三维环境的当前显示的视图的视点。之后,根据确定用户注视移动远离与可选控件或控件对象和该对象相关联的区域(例如,远离可选控件的新位置、远离虚拟对象的原始位置,以及远离可选控件的新位置与原始位置之间的中间位置等),可选控件或控件对象朝向其在三维环境中的原始位置移动返回。如同可选控件(或控件对象)通过虚拟橡皮筋附接到该可选控件的原始位置,该虚拟橡皮筋在用户注视未保持在与可选控件(或控件对象)和对象相关联的虚拟区域上之后将可选控件(或控件对象)拉回到该可选控件的原始位置。在一些实施方案中,计算机***根据确定用户注视已经移动到不对应于由可选控件(或控件对象)占据的预设交互区域的位置来确定用户注视不再在与可选控件(或控件对象)和对象相关联的虚拟区域中(例如,移动到由另一虚拟对象或可选控件或控件对象占据的区域中、移动超出可选控件或控件对象的边界、移动超出可选控件或控件对象的边界至少预设距离、移动到可选控件或控件对象的预设中心区域之外等)。如本文所公开的,用户可通过将其注视指向可选控件或提供选择该对象的另一选择输入来容易地检查该可选控件,并且该可选控件将例如沿着对应于该视点与该虚拟对象的原始位置之间的路径的用户注视的轨迹、以直线移动到由显示生成部件提供的视场中心的位置等来自动朝向该视点移动。在一些实施方案中,当可选控件(或控件对象)响应于用户注视或其他预设选择输入指向该可选控件而朝向该视点移动时,以及当可选控件(或控件对象)响应于用户注视移动远离与该可选控件(或控件对象)和该对象相关联的区域而返回到该可选控件的原始位置时,计算机***显示可选控件(或控件对象)移动通过一系列中间位置,该中间位置在远离虚拟对象的原始位置的不同距离处以及在远离视点的不同距离处。尽管图7O至图7T中的示例示出了物理对象的表示7366'和7368'作为具有对应虚拟菜单的对象的示例,但是应当理解,根据一些实施方案,这些表示可以是没有对应物理对象的虚拟对象。另外,在一些实施方案中,可在虚拟三维环境中显示具有对应虚拟菜单的虚拟对象;在一些实施方案中,可在增强现实环境中显示具有对应虚拟菜单的虚拟对象。
图7O示出了根据一些实施方案的示例性三维环境7110。在此示例中,三维环境7100是包括显示生成部件7100所位于的物理环境的表示的增强现实环境。在一些实施方案中,三维环境是虚拟三维环境,并且不包括物理环境的表示。在一些实施方案中,三维环境是包括并非显示生成部件所位于的物理环境的物理环境的表示的虚拟环境(例如,在这种情况下,物理环境的表示是虚拟内容)。
如图7O中所示,用户正在物理环境中操作计算机***(例如,计算机***101)(例如,正握持显示生成部件7100或穿戴HMD)。在一些实施方案中,显示生成部件7100是包括显示器、触敏显示器等的手持式设备(例如,蜂窝电话、平板电脑或另一移动电子设备)。在一些实施方案中,显示生成部件7100表示可穿戴头戴式耳机并且任选地被可穿戴头戴式耳机替换,该可穿戴头戴式耳机包括平视显示器、头戴式显示器等。在一些实施方案中,物理环境包括用户周围的一个或多个物理表面和物理对象(例如,房间的墙、家具、物理对象(例如,由阴影3D箱状物表示))。在图7O所示的示例中,对应于物理环境(例如,物理环境的在显示生成部件7100的一个或多个相机的视场内或透过显示生成部件7100的显示器的透明部分可见的部分)的计算机生成的三维环境在显示生成部件的显示器侧上是可见的。物理环境包括两个物理对象,该物理对象分别由经由显示生成部件示出的计算机生成的环境中的表示7366'和7368'来表示。在一些实施方案中,表示7366'和7368'是虚拟对象,并且环境7110是虚拟环境。在一些实施方案中,控件对象7370和7376显示在三维环境中。例如,控件对象7370包括两个或更多个控件(例如,控件7372和7374等)并且显示在第一物理对象的表示7366'处或附近的位置处。控件对象7376包括两个或更多个控件(例如,控件7378和7380等)并且显示在三维环境中的第二物理对象的表示7368'处或附近的位置处。在一些实施方案中,控件对象7370是包括可选控件的控制面板或用户界面对象,该可选控件在根据各种标准被激活时使得计算机***执行关于由表示7366'表示的物理对象和/或关于控件对象7370的对应操作。在一些实施方案中,控件对象7376是包括可选控件的控制面板或用户界面对象,该可选控件在根据各种标准被激活时使得计算机***执行关于由表示7368'表示的物理对象和/或关于控件对象7376的对应操作。在一些实施方案中,操作包括调整对应于被激活的控件的物理对象的各种预设参数的相应值、切换物理对象的一个或多个预设状态、相对于虚拟对象执行对应于被激活的控件的物理对象的一个或多个功能等。在一些实施方案中,当表示7366'和7368'是没有对应的物理对象的虚拟对象时,执行的操作包括调整对应于被激活的控件的虚拟对象的各种预设参数的相应值、切换虚拟对象的一个或多个预设状态、相对于虚拟对象执行对应于被激活的控件的物理对象的一个或多个操作等。在一些实施方案中,控件对象7370和7376是在三维环境7110中看起来附着到它们各自的对象7366'和7368'的虚拟对象(例如,覆盖对象的平坦前表面、站在对象的顶部上等)。
图7O之后的图7P示出了计算机***检测到对应于选择表示7366'的请求的用户输入。在一些实施方案中,表示7366’在物理环境中具有对应物理对象。在一些实施方案中,用户输入包括在物理环境中拾取由表示7366'表示的物理对象或以预设方式操纵该物理对象(例如,打开其上的盖子、在其上轻击、触摸它等)。在一些实施方案中,用户输入包括通过显示生成部件查看表示7366'或控件对象7370达预设时间量(例如,提供指向由表示7366'和控件对象7370占据的区域的注视输入)、使用用户手部在物理环境中指向物理对象,或以预设方式操纵该物理对象(例如,打开其上的盖子、在其上轻击、触摸它等)等。在一些实施方案中,用户输入包括通过显示生成部件查看表示7366'或控件对象7370达预设时间量(例如,提供指向由表示7366'和控件对象7370占据的区域的注视输入7386),结合提供涉及用户手部的一个部分相对于用户手部的另一部分的移动的手势(例如,拇指跨食指的侧面朝向表示7366'或控件对象7370的方向向上轻弹、拇指在食指的侧面上轻击、食指围绕食指的指节旋转等)。在一些实施方案中,其他类型的选择输入是可能的。在一些实施方案中,响应于检测到指向表示7366'的选择输入,计算机***选择表示7366'或该表示的相关联物理对象,并且将控件对象7370从其原始位置朝向三维环境的当前显示的视图的视点或朝向显示生成部件的视场中的用户手部的表示移动。
在一些实施方案中,表示7366'是没有对应物理对象的虚拟对象。在一些实施方案中,对应于选择表示7366'的请求的用户输入包括通过显示生成部件查看表示7366'或控件对象7370达预设时间量(例如,提供指向由表示7366'和控件对象7370占据的区域的注视输入)。在一些实施方案中,用户输入包括通过显示生成部件查看表示7366'或控件对象7370达预设时间量(例如,提供指向由表示7366'和控件对象7370占据的区域的注视输入),结合提供涉及用户手部的一个部分相对于用户手部的另一部分的移动的手势(例如,拇指跨食指的侧面朝向表示7366'或控件对象7370的方向向上轻弹、拇指在食指的侧面上轻击、食指围绕食指的指节旋转等)。在一些实施方案中,其他类型的选择输入是可能的。在一些实施方案中,响应于检测到指向表示7366'的选择输入,计算机***选择表示7366',并且将控件对象7370从其原始位置朝向三维环境的当前显示的视图的视点或朝向显示生成部件的视场中的用户手部的表示移动。
在图7P中,响应于检测到选择表示7366'的选择输入(例如,物理对象的表示、没有对应物理对象的虚拟对象等),计算机***在三维环境中比控件对象7370的原始位置(例如,在表示7366'处或附近的位置)更靠近视点的新位置处显示控件对象7370。在一些实施方案中,包括其组成控件(例如,控件7372和7374等)的控件对象7370看起来朝向视点移动,并且在该过程中,看起来大小增大(例如,由于到视点的较短观看距离,并且任选地,也相对于该控件对象的原始大小放大)。在图7P中,在移动结束时,控件对象7370移动远离其在表示7366'处或附近的原始位置,并且与原始位置分开第一距离。在一些实施方案中,第一距离是由计算机***确定的固定距离。在一些实施方案中,第一距离是由计算机***基于控件对象7370的原始位置与三维环境的当前显示视图的视点之间的总距离在运行中选择的可调整距离。在一些实施方案中,控件对象7370的新位置在由显示生成部件提供的视场的中心区域中并且在距视点的预设距离处。在一些实施方案中,当显示生成部件相对于物理环境移动时,计算机***保持控件对象7370与视点之间的空间关系(例如,控件对象被锁定到视点或用户头部),其中控件对象7370与表示7366'之间的距离被调整以保持空间关系。在一些实施方案中,计算机***显示链接控件对象7370及该控件对象在表示7366'处或附近的原始位置的一个或多个虚拟系链(例如,虚拟系链7382和7384)。在一些实施方案中,当控件对象7370与其原始位置之间的距离被调整时,虚拟系链的长度以及任选地形状和宽度被调整。在一些实施方案中,控件对象7370是容器对象并且包括背景平面,包含在该控件对象中的控件覆盖在该背景平面上。在一些实施方案中,控件对象7370具有透明背景平面,并且三维环境的部分(例如,表示7366'的部分和表示7368'的部分、壁的表示7124'的部分等)可以在控件对象7370的控制(例如,控制7372和7374等)之间的空间中可见。在一些实施方案中,控件对象7370和/或包含在其中的控件在视觉上阻挡三维环境的部分(例如,墙的表示7366'的部分、表示7368'的部分、表示7124'的部分等)。
在一些实施方案中,如图7Q中所示,当控件对象7370显示在远离控件对象7370的原始位置(例如,在表示7366'处或附近的位置)第一距离的位置处(例如,作为对表示7366'的选择的结果,作为由于显示生成部件相对于物理环境的移动而被重新定位的结果等)时,计算机***检测到用户注视7388从表示7366'偏移到第一控件7372。响应于用户注视7388向第一控件7372的移动,计算机***放大第一控件7372和/或将第一控件7372移动得更靠近三维环境7110的当前显示的视图的视点。如图7Q中所示,第一控件7372看起来比控件对象7370的第二控件7374更大并且更靠近视点。第一控件7372与表示7366'之间的距离现在大于第一距离,而第二控制器7374与表示7366'之间的距离保持在第一距离。在一些实施方案中,如果计算机***显示将第一控件7372连接到控件对象7370(例如,当控件对象7370在距表示7366'的第一距离处时)或连接到第一控件在表示7366'处或附近的原始位置的虚拟系链对象,则系链对象(例如,虚拟系链7382或另一类型的连接等)也被拉伸得更长。
在图7R中,计算机***检测到用户注视7390从表示7366'偏移到第二控件7374,并且计算机***放大第二控件7374和/或将第二控件7374移动得更靠近三维环境7110的当前显示的视图的视点。如图7R中所示,第二控件7374看起来比控件对象7370的第一控件7372更大并且更靠近视点。第二控制器7374与表示7366'之间的距离大于第一距离,而第一控件7372与表示7366'之间的距离保持在第一距离。在一些实施方案中,如果计算机***显示将第二控件7374连接到控件对象7370(例如,当控件对象7370在距表示7366'的第一距离处时)或连接到第二控件在表示7366'处或附近的原始位置的虚拟系链对象,则系链对象(例如,虚拟系链7384或另一类型的连接等)也被拉伸得更长。
在一些实施方案中,计算机检测到用户注视从第一控件7372(图7Q)偏移到第二控件7374(图7R)。作为响应,计算机***将第一控件7372从比第二控件7374和控件对象7370更靠近视点的位置移动回到该第一控件在控件对象7370内的先前位置(例如,先前位置在远离表示7366'的第一距离处,或者基于第一距离和第一控件在控件对象7370内的位置来略微调整的距离处等),如图7R中所示。计算机***进一步将第二控件7374从该第二控件在控件对象7370中的位置(例如,在远离表示7366'的第一距离处或基于第二控件在控件对象7370内的位置的第一距离来调整的距离处等)移动到甚至更靠近视点的新位置(如图7R中所示)。
在图7Q和图7R所示的状态的比较中,当计算机***检测到用户注视已经从第一控件7372偏移到第二控件7374时,第一控件7372远离视点移动回到控件对象7370中,该控件对象在远离表示7366'的第一距离处并且看起来比图7Q所示的小(并且与图7P所示的相同);并且与图7P和图7Q所示的相比,第二控制7374移动得更靠近视点并且变得更大。在一些实施方案中,如果显示系链对象(例如,系链对象7382和7384,或将相应控件连接到该相应控件在远离表示7366'第一距离处的控件对象7370内的位置的系链对象等)将控件7372和7374连接到控件对象7370或连接到该控件对象在表示7366'处或附近的相应的原始位置,则系链对象也被调整(例如,系链对象7382被收缩,并且系链对象7382被拉伸得更长;当第一控件7372移动回到控件对象7370中时,停止显示将第一控件7372连接到控件对象7370的系链对象,当第二控件7374朝向视点从控件对象7370弹出时,显示将第二控件7374连接到控件对象7370的新系链对象等)。
在示出了可以遵循图7P、图7Q或图7R中示出的那些场景中的任一个场景的图7S中,计算机***检测到用户注视7392已经移动远离与控件对象7370和表示7366'相关联的区域。例如,计算机***检测到用户注视7392在三维环境7110中处于由控件对象7370占据的区域、控件对象7370的控件、以及由表示7366'占据的区域之外的位置处达至少阈值时间量。任选地,计算机***检测到用户注视是在与控件对象分开的另一控件对象7370上。响应于检测到用户注视7392已经移动远离与控件对象7370和表示7366'相关联的区域,计算机***将控件对象7370移动回到该控件对象在表示7366'处或附近的原始位置,如图7T中所示。在一些实施方案中,当控件对象7370移动回到其原始位置时,控件对象7370显示在一系列中间位置处,这些中间位置逐渐更靠近该控件对象在表示7366处或附近的原始位置并且逐渐更远离三维环境的当前显示的视图的视点。例如,如图7S中所示,控件对象7370在返回到其在表示7366'处或附近的原始位置的路径上,并且具有距该控件对象在表示7366'处或附近的原始位置小于第一距离(例如,图7P至图7R中所示的距离)的距离。
在可以遵循图7O至图7S所示的场景中的任一个场景的图7T中,计算机***已经将控件对象7376从该控件对象在三维环境7110中的表示7368'处或附近的原始位置移动到更靠近三维环境的当前显示的视图的视点的新位置。在一些实施方案中,计算机***根据确定已经检测到对应于对表示7368'的选择的选择输入来移动控件对象7376。在一些实施方案中,对应于对表示7368'的选择的用户输入是选择表示7366'所需的同一类型的输入,但是指向表示7368'而不是表示7366'。在一些实施方案中,对应于对表示7378'的选择的用户输入是与选择表示7666'所需的用户输入不同类型的输入。在一些实施方案中,根据表示7366'与表示7368'之间的预设关系(例如,表示7366'和7368'对应于同一类别的对象,表示7366'和7368'在彼此的阈值距离内等),如果用户注视输入从另一当前选择的对象(例如,表示7366'、具有在被选择时朝向视点弹出的控件的另一对象等)直接移动到表示7368'(例如,不在另一位置停留超过阈值时间量,在离开表示7366'和控件对象7370之后在阈值时间量内到达表示7368'等),则表示7368'变为被选择。在一些实施方案中,在诸如上述那些的一些预设条件下,表示7368'可以变为被选择,而不需要关于表示7368'再次提供选择输入。例如,在一些实施方案中,当图7S中的用户注视7392继续移动到图7T中的表示7368'时(例如,现在被示为注视7394),表示7368'变为被选择并且控件对象7376朝向视点移动而不需要为表示7368'单独提供选择输入。在一些实施方案中,计算机***不需要关于表示7368'提供新的选择输入,以便以关于表示7366'和控件对象7376描述的方式触发控件对象7370朝向视点的移动。在一些实施方案中,当用户注视移动远离由控件对象7376和表示7368'占据的区域时,控件对象7370将以类似于关于控件对象7376所述的方式的方式返回到该控件对象在表示7368'处或附近的原始位置。在一些实施方案中,控件7380和7378以类似于关于控件7372和7374所述的方式的方式移动得更靠近视点并且后退到控件对象7376。在一些实施方案中,与控件7372和7374相关联的系链对象7396和7398的行为类似于上述控件7380和7378的系链对象7382和7384。
在一些实施方案中,当将控件对象(例如,控件对象7370、控件对象7376等)从其在与其相关联的对象(例如,表示7366'、表示7368'等)处或附近的原始位置移动到更靠近对应于用户手部的视点或位置时,计算机***还改变控件对象的一个或多个显示属性(例如,使控件对象更清楚、放大该控件对象的大小、使该控件对象更不透明、更详细等)。在一些实施方案中,当将控件对象(例如,控件对象7370、控件对象7376等)朝向其在与其相关联的对象(例如,表示7366'、表示7368'等)处或附近的原始位置移动时,计算机***还改变控件对象的一个或多个显示属性(例如,使控件对象模糊、缩小该控件对象的大小、使该控件对象更透明、不那么详细、恢复到该控件对象的原始外观等)。
在一些实施方案中,在用户已将用户注视移动远离对象(例如,表示7366'、表示7368'、具有对应控件对象的另一对象等)之后,当与对象相关联的控件对象正从视点朝向对象处或附近的控件对象的原始位置后退,并且在控件对象完全稳定回到对象处或附近的原始位置之前,如果计算机***检测到用户正将用户注视移动回到对应于控件对象或对象的区域,那么计算机***反转控件对象的移动并且再次朝向对应于用户手部的视点或位置移动。在一些实施方案中,控件对象朝向或远离视点或对应于用户手部的位置移动的速度是基于用户注视朝向或远离对应于控件对象和对象的区域移动的速度。在一些实施方案中,控件对象的移动的其他特性(例如,移动的方向、移动的幅度等)是基于用户注视离开或朝向对应于控件对象和对象的区域的移动的特性。
在图7O至图7T中的图示中,用户注视的位置由源自用户眼球的虚线的末端指示。在一些实施方案中,显示生成部件7100使用面向用户的一个或多个相机(例如,前向相机)来跟踪用户眼睛的移动(或跟踪用户的两只眼睛的移动),以便确定用户注视的方向和/或对象。图1至图6(具体地图5至图6)和随附的描述中提供了眼睛跟踪或注视跟踪技术的更多细节。在一些实施方案中,当用户注视满足用户注视的定位处的持续时间和稳定性要求时确定该定位。在一些实施方案中,计算机***提供指示当前的用户注视的定位的视觉反馈。
在一些实施方案中,具有相关联的控件对象的对象是对应于用于控制计算机***的设备功能和相关联的硬件(例如,显示生成部件、音频输出设备等)的控制面板的虚拟对象。例如,控件对象包括根据连续用户输入(例如,轻扫输入、触摸保持输入、慢轻弹输入等)的进展和特性通过一系列值来调整显示生成部件的操作属性(例如,亮度、透明度、色谱等)的滑块控件。在一些实施方案中,控件对象包括响应于离散输入(例如,轻击输入、快轻弹输入、拍击输入等)在两个或更多个离散操作状态(例如,开/关状态、最小/中等/最大水平等)之间切换的切换控件。在一些实施方案中,控件对象包括取决于指向控件的输入的类型(例如,轻扫相对于轻击;慢速轻弹相对于快速轻弹,触摸保持相对于拍击等)提供滑动控件功能或切换控件功能的控件。在一些实施方案中,对象是物理对象的表示或物理对象本身,并且控件对象包括用于执行关于物理对象的操作的控件。例如,物理对象是媒体播放器,并且控件对象是包括对应于与媒体播放器相关联的一个或多个操作的控制的媒体播放器控制用户界面。例如,控件包括用于进行以下操作的音量控件:改变媒体播放器的输出音量(例如,响应于在第一方向上的拇指轻扫手势或捏合和扭转手势等)、减小输出音量(例如,响应于在与第一方向相反的第二方向上的拇指轻扫手势或捏合和扭转手势等)、切换媒体的回放(例如,响应于拇指轻击手势而播放或暂停回放)、快进、后退、浏览媒体以用于回放(例如,响应于在相同方向上的多个连续拇指轻扫手势等)或以其他方式***体回放(例如,响应于紧接在拇指轻扫手势之前的拇指轻弹手势而执行菜单导航等)。
图7U至图7Z是示出根据一些实施方案的在响应于附加输入而转变为显示计算机生成的体验之前响应于与对象(例如,虚拟对象、物理对象的表示、物理对象等)的第一次交互而显示计算机生成的体验的三维预览(例如,具有比预览的显示部分更大的空间范围的预览)的框图。
在一些实施方案中,当对应于计算机生成的体验(例如,在环境7116中示出的体验、另一虚拟体验、增强现实体验、混合现实体验等)的虚拟对象(例如,表示7400'、虚拟对象7404等)被三维环境(例如,环境7112,或另一三维环境等)中的用户输入调用时,计算机***在三维环境(例如,环境7112,或另一三维环境等)中显示计算机生成的体验的预览(例如,预览7412,或另一预览等)。预览具有大于预览的在由显示生成部件(例如,显示生成部件7100、另一类型的显示生成部件,诸如HMD等)提供的三维环境的视图中显示的部分的空间范围。计算机***根据显示生成部件(和/或任选地,捕获三维环境中示出的物理环境的表示的相机,和/或计算机***的其他定位感测部件等)与物理环境(例如,场景105)之间的相对移动来显示与预览的先前显示的部分相邻的预览的不同空间部分。在一些实施方案中,由于预览占据三维环境(例如,环境7112或另一三维环境等)的视图的一部分,因此还根据显示生成部件(和/或任选地,捕获三维环境中示出的物理环境的表示的相机,和/或计算机***的其他定位感测部件等)与物理环境之间的相对移动来更新三维环境的视图(例如,在未被预览占据的区域中)。在一些实施方案中,响应于在显示预览时检测到用于触发计算机生成的体验的显示的预设用户输入,计算机***显示具有比预览更大的空间范围的计算机生成的体验。在一些实施方案中,预览扩展成为计算机生成的体验的初始视图。显示具有与计算机生成的体验的空间特性和空间导航属性类似的空间特性和空间导航属性的计算机生成的体验的预览向用户提供了体验计算机生成的体验的环境并且在该环境内进行探索(例如,通过交互、运动和/或导航等)而不实际开始计算机生成的体验(这可以完全替换当前显示的三维环境)的机会。这允许用户做出关于是否继续开始计算机生成的体验的更明智的决定,减少了意外触发计算机生成的体验的用户错误,并且简化了从当前显示的环境到计算机生成的体验的完全沉浸式版本的转变等,从而创建了更高效的人机界面。在一些实施方案中,预览还用作当用户退出计算机生成的体验(例如,在该计算机生成的体验从预览开始或直接从虚拟对象开始之后)并返回到原始三维环境时的转变点。
图7U至图7Z中的以下示例示出,在一些实施方案中,经由显示生成部件显示三维环境(例如,环境7112或另一环境等),并且该三维环境包括与可在该三维环境中显示的计算机生成的体验相关联的对象。在一些实施方案中,对象是在三维环境中具有对应表示(例如,表示7400'或另一表示等)的物理对象(例如,物理对象7400或另一物理对象)。在一些实施方案中,对象是三维环境中的虚拟对象(例如,虚拟对象7404或另一虚拟对象等),该虚拟对象在物理环境中不具有对应的物理对象。在一些实施方案中,对象是物理环境中的物理对象的表示(例如,表示7400'或另一表示等)。在一些实施方案中,三维环境是不包括物理环境的表示的虚拟环境。在一些实施方案中,三维环境是包括虚拟内容(例如,用户界面对象、虚拟三维对象、虚拟景物、控件等)以及物理环境的表示(例如,物理环境的相机视图中的表示、通过显示生成部件的透明部分看到的表示等)的增强现实环境(例如,环境7112或另一增强现实环境等),并且三维环境中的位置之间的空间关系对应于物理环境中的空间关系。在一些实施方案中,三维环境是仅包括虚拟内容而不包括物理环境的表示的虚拟环境。在一些实施方案中,虚拟三维环境包括至少一些虚拟对象(例如,虚拟墙、虚拟桌面、视点等),这些虚拟对象在虚拟三维环境内具有对应于物理环境内的某些物理对象(例如,墙、桌面、用户等)之间的物理关系的空间关系。在一些实施方案中,计算机生成的体验是计算机生成的三维体验。在一些实施方案中,计算机生成的三维体验包括与包括对象的三维环境不同的虚拟三维环境。在一些实施方案中,计算机生成的三维体验包括与包括对象的三维环境(例如,环境7112或另一三维环境等)不同的增强现实环境(例如,环境7116或另一三维环境等)。在一些实施方案中,计算机生成的三维体验包括与包括对象的三维环境不同的混合现实环境。在一些实施方案中,用于显示对象的环境类型与在计算机生成的体验中显示的环境类型相同。在一些实施方案中,用于显示对象的环境类型不同于在计算机生成的体验中显示的环境类型。例如,显示对象的环境是增强现实环境,并且计算机生成的体验中的环境任选地是虚拟环境。在另一示例中,显示对象的环境是虚拟环境,并且计算机生成的体验中的环境任选地是增强现实环境。在一些实施方案中,显示对象的环境和计算机生成的体验中的环境任选地都是具有相同物理环境的表示的增强现实环境。在一些实施方案中,显示对象的环境和计算机生成的体验中的环境任选地都是虚拟环境,但是是不同的虚拟环境。在一些实施方案中,计算机生成的体验是三维环境,并且具有也是三维体验的对应预览。例如,响应于显示生成部件或用户相对于物理环境的移动,三维预览允许用户从不同视点或观看视角观看计算机生成的体验的三维环境或观看三维环境的不同部分。在向用户显示计算机生成的体验的三维预览之后,计算机***根据检测到对应于开始计算机生成的体验的用户请求的预设输入来显示完整的计算机生成的体验。在一些实施方案中,从预览到计算机生成的体验的转变包括扩展由三维环境的预览占据的区域(例如,二维区域、三维区域等)以替换显示对象和预览的环境。
在图7U至图7V所示的示例性场景中,显示生成部件7100显示包括物理环境的表示(例如,包括墙7122和7124的表示7122'和7124'、地板7120的表示7120'、物理对象7400的表示7400'以及物理对象7402的表示7402'等)的三维环境7112的视图。另外,三维环境还包括与计算机生成的体验相关联的虚拟对象(例如,视觉指示7404、对应于三维体验的另一虚拟对象等)。在一些实施方案中,在对应于物理对象7400的定位的位置处显示虚拟对象,以指示与物理对象7400相关联的计算机生成的体验可供显示生成部件显示。在一些实施方案中,三维环境是虚拟环境(例如,没有图7V中示出的物理对象和物理环境的表示),并且与虚拟对象(例如,视觉指示7404、对应于三维体验的另一虚拟对象等)的直接交互本身使得显示计算机生成的体验的预览。
在图7W和图7X中,根据一些实施方案,计算机***检测与对象(例如,表示7400'、物理对象7400、虚拟对象7404等)的交互,该对象与满足用于触发计算机生成的体验的预览(例如,预览7412或另一预览等)的显示的预设标准的计算机生成的体验相关联。在一些实施方案中,用于触发计算机生成的体验的预览的显示的预设标准包括与物理环境中的对象(例如,物理对象7400)或由对象表示的物理对象(例如,表示7400')的预设直接交互(例如,与物理对象进行物理接触、拾取物理对象、在物理对象上轻击等)。在一些实施方案中,用于触发计算机生成的体验的预览的显示的预设标准包括与显示对象的表示的三维环境中的对象(例如,物理对象7400)的表示(例如,表示7400')的预设交互(例如,结合远离物理对象的手势指向物理对象的表示的用户注视输入、利用由用户控制的指针对象的指点和选择输入等)。在一些实施方案中,用于触发计算机生成的体验的预览的显示的预设标准包括与显示虚拟对象的三维环境中的虚拟对象(例如,虚拟对象7404、不具有对应物理对象的虚拟对象等)的预设交互(例如,指向与计算机生成的体验相关联的虚拟对象达预设阈值时间量的用户注视输入、在虚拟对象的位置处检测到的手势、结合指向虚拟对象的用户注视在远离对应于虚拟对象的定位处执行的手势等)。
在一些实施方案中,计算机生成的体验的预览7412包括将在计算机生成的体验中显示的三维环境(例如,环境7116)的至少一部分。在一些实施方案中,预览7412包括将在计算机生成的体验中显示的虚拟内容(例如,虚拟对象7406、7408、7410、7416等)中的至少一些虚拟内容。在一些实施方案中,预览7412提供在计算机生成的体验中可用的体验和功能的至少一些方面。在一些实施方案中,预览7412占据在预览7412的显示之前显示对象(例如,表示7400'、虚拟对象7404等)的三维环境(例如,三维环境7112)的子部分。在一些实施方案中,如图7W中所示,预览7412提供到计算机生成的体验的三维环境(例如,环境7116)中的视口,并且替换三维环境(例如,环境7112)的先前显示对象(例如,对象7400的表示7400'、虚拟对象7404等)的一部分的显示。在一些实施方案中,预览7412与显示对象或该对象的表示的三维环境(例如,三维环境7112)的当前显示的视图的视点具有预设空间关系。在一些实施方案中,如图7W和图7X中所示,当显示生成部件7100相对于物理环境移动时,计算机***根据显示生成部件7100相对于物理环境的移动来更新三维环境7112的视图。例如,在图7X中,根据显示生成部件相对于物理环境的移动(例如,在左上方向上的移动、在不同方向上的移动等),在三维环境7112的视图中表示物理环境的不同部分(例如,物理环境的比图7W所示的物理环境更高并且更向左的一部分,或者物理环境的不同部分等)。在一些实施方案中,只要仍满足用于触发预览的显示的预设标准,计算机***就保持预览7412的显示。在一些实施方案中,计算机***根据确定满足用于解除预览的标准(例如,检测到解除输入、对象的位置由于显示生成部件的移动而不再处于由显示生成部件提供的视场中等)来保持预览7412的显示。
如图7X中所示,响应于显示生成部件7100相对于物理环境的移动,预览7412也被更新以示出计算机生成的体验的三维环境(例如,环境7116)的不同视图。作为显示生成部件的移动的结果,与图7W所示的相比,计算机生成的体验的三维环境(例如,环境7116)的不同部分被显示在预览7412中。例如,计算机生成的体验的三维环境(例如,环境7116)的部分包括在显示生成部件7100在物理环境中移动之前不可见的预览7412的部分。
在此示例中,计算机生成的体验是增强现实体验,包括物理环境的表示(例如,包括“墙7124的表示7124”、“地板7120的表示7120”、“物理对象7402的表示7400”、“物理对象7400的表示7402”、“用户手部7202的表示7202”等)连同虚拟内容(例如,虚拟对象7406、7408、7410、7416等)。在一些实施方案中,根据用户与对象的交互(例如,转动物理对象7400、握住物理对象7400、提供指向对象或预览的手势(例如,指向预览内的虚拟对象、指向预览内的物理对象的表示等)和/或显示生成部件相对于物理环境的移动等)来更新增强现实体验中的虚拟内容(例如,虚拟对象在预览中改变和移动、新的虚拟对象被添加到预览中、从预览中移除虚拟对象等)。在一些实施方案中,与预览的交互类似于与对应于预览的计算机生成的体验的交互,并且向用户提供在有限但有意义的程度上体验计算机生成的体验的机会。
在一些实施方案中,计算机生成的体验是包括虚拟三维环境而不包括物理环境的表示的虚拟体验。在一些实施方案中,根据与对象的用户交互(例如,使用手势、语音命令和/或其他输入界面等)和/或显示生成部件相对于物理环境的移动等来更新虚拟三维体验中的虚拟内容(例如,虚拟对象在预览中改变和移动、新的虚拟对象被添加到预览中、从预览中移除虚拟对象等)。在一些实施方案中,与预览的交互类似于与计算机生成的体验的交互,并且向用户提供在有限但有意义的程度上体验计算机生成的体验的机会。
图7Y和图7Z示出了计算机***检测与对象(例如,表示7400'、物理对象7400、虚拟对象7404等)的交互,该对象与计算机生成的体验或与预览的交互相关联。根据确定交互满足用于触发计算机生成的体验(例如,体验7116)的显示的预设标准,计算机***停止显示预览并且显示计算机生成的体验。在一些实施方案中,用于触发计算机生成的体验的显示的预设标准包括与物理环境中的对象(例如,物理对象7400)或由对象表示的物理对象(例如,表示7400')的预设直接交互(例如,打开物理对象、在物理对象上轻扫、将物理对象翻向一边等)。在一些实施方案中,用于触发计算机生成的体验的显示的预设标准包括与显示对象的表示或对象的预览的三维环境中的对象(例如,物理对象7400)的表示(例如,表示7400')或预览(例如,预览7412)的预设交互(例如,经由注视、手势、指针设备等)。在一些实施方案中,用于触发计算机生成的体验的显示的预设标准包括与显示虚拟对象和预览的三维环境(例如,环境7112)中的虚拟对象(例如,虚拟对象7404、不具有对应物理对象的虚拟对象等)或预览的第二预设交互(例如,指向与计算机生成的体验相关联的虚拟对象或预览达预设阈值时间量的用户注视输入、在虚拟对象或预览的位置处检测到的手势、结合指向虚拟对象或预览的用户注视在远离对应于虚拟对象的定位处执行的手势等)。
在一些实施方案中,计算机生成的体验包括三维环境(例如,环境7116或另一三维环境等)的视图,包括在预览(例如,预览7412或另一预览等)中显示的虚拟内容以及未在计算机生成的体验的预览中显示的附加虚拟内容。在一些实施方案中,计算机生成的体验提供预览中可用的体验和功能以及预览中不可用的附加体验和功能。在一些实施方案中,计算机生成的体验比预览占据视场的更大部分,并且任选地,完全替换显示对象和预览的三维环境(例如,三维环境7112)的视图。在一些实施方案中,如图7Y中所示,预览7412扩展并占据由显示生成部件提供的整个视场并且变成与对象相关联的计算机生成的体验,并且替换先前显示对象和预览(例如,对象7400的表示7400'、虚拟对象7404、预览7412等)的三维环境7112的显示。
在一些实施方案中,如图7Y和图7Z中所示,当显示生成部件7100相对于物理环境移动时,计算机***根据显示生成部件7100相对于物理环境的移动来更新计算机生成体验的三维环境(例如,环境7116)的视图。举例来说,在图7Z中,根据显示生成部件相对于物理环境的移动(例如,在左上方向上的移动、在不同方向上的移动等),在三维环境(例如,环境7116)的视图中表示物理环境的不同部分(例如,物理环境的比图7Y所示的物理环境更高并且更向右的一部分,或物理环境的不同部分等)。
在此示例中,计算机生成的体验是增强现实体验,包括物理环境的表示(例如,包括“墙7124的表示7124”、“地板7120的表示7120”、“物理对象7402的表示7400”、“物理对象7400的表示7402”、“用户手部7202的表示7202”等)连同虚拟内容(例如,虚拟对象7406、7408、7410、7418、7420、7422、7424、7426、7428等)。在一些实施方案中,根据用户与对象的交互(例如,转动物理对象7400、握住物理对象7400、提供指向对象的手势(例如,指向预览内的虚拟对象、指向预览内的物理对象的表示等)、显示生成部件相对于物理环境的移动等)来更新增强现实体验中的虚拟内容(例如,虚拟对象在计算机生成的体验的三维环境7116中改变和移动、新的虚拟对象被添加到三维环境7116中、从三维环境7116中移除虚拟对象等)。
在一些实施方案中,计算机生成的体验是包括虚拟三维环境而不包括物理环境的表示的虚拟体验。在一些实施方案中,根据与对象或虚拟内容的用户交互(例如,使用手势、语音命令和/或其他输入界面等)和/或显示生成部件相对于物理环境的移动等来更新虚拟三维体验中的虚拟内容(例如,虚拟对象在体验的三维环境中改变和移动、新的虚拟对象被添加到环境中、从环境中移除虚拟对象等)。
在一些实施方案中,与计算机生成的体验相关联的对象是对应于计算机生成的体验的可选虚拟对象,诸如图标、虚拟菜单中的可选选项、图形对象、虚拟三维对象等。计算机***响应于在对象具有输入焦点(例如,当前被选择、具有指向该对象的用户注视输入、在该对象的位置处具有光标对象等)时的第一输入或响应于具有对应于对象的位置的定位分量的第一输入来提供计算机生成的体验的预览。在一些实施方案中,预览是包括三维环境的三维预览,该三维环境具有大于在给定时间预览中示出的部分的空间范围。计算机***根据用户输入(例如,显示生成部件相对于物理环境的移动、在注视预览时提供轻扫手势(例如,空中轻扫手势、手部的一部分跨过手部的另一部分的轻扫手势等)等)来更新对应于三维环境的在预览中示出的部分的视点,并且在预览中显示三维环境的对应于更新后的视点的不同部分。当提供预览时,根据确定已经检测到对应于开始计算机生成的体验的请求的用户输入,计算机***转变为显示计算机生成的体验并且扩展三维环境的在由显示生成部件提供的视场中可见的部分。
在一些实施方案中,对应于显示预览的请求的输入包括由用户手部的一部分相对于用户手部的另一部分(例如,拇指相对于食指的侧面、食指的指尖相对于第一指节等)执行的手势输入(例如,在预设方向(诸如远离用户的方向、向上方向等)上的轻扫;在预设方向上的轻弹等),结合指向可选虚拟对象的用户注视输入来检测该手势输入。在一些实施方案中,对应于开始计算机生成的体验的请求的输入包括由用户手部的一部分相对于用户手部的另一部分(例如,拇指相对于食指的侧面、食指的指尖相对于第一指节等)执行的手势输入(例如,轻击输入、双击输入、轻弹输入等),结合指向可选虚拟对象的用户注视输入来检测该手势输入。在一些实施方案中,对应于显示预览的请求的输入和对应于显示计算机生成的体验的请求的输入是同一类型的输入,但是如果在预览未被显示时检测到该输入,则该输入满足显示预览的要求,并且如果在预览被显示时检测到该输入,则该输入满足显示计算机生成的体验的要求。在一些实施方案中,对应于显示预览的请求的输入和对应于显示计算机生成的体验的请求的输入是两种不同类型的输入。在一些实施方案中,计算机***显示占据比第一计算机生成的体验的预览更大的空间范围的计算机生成的体验。
在一些实施方案中,在开始计算机生成的体验之后并且在经由显示生成部件显示计算机生成的体验的三维环境的同时,计算机***检测到对应于退出计算机生成的体验的请求的输入。响应于检测到对应于退出计算机生成的体验的请求的输入,计算机***重新显示预览(例如,将计算机生成的体验的三维环境的视图缩小到预览的视图)。响应于检测到对应于解除预览的请求的输入,计算机***解除预览并返回到显示原始环境,该原始环境显示对应于计算机生成的体验的对象。
在一些实施方案中,计算机生成的体验包括对应于第一回放持续时间的第一计算机生成的内容序列,并且预览包括对应于比第一回放持续时间短的第二回放持续时间的第二计算机生成的内容序列。在一些实施方案中,第二计算机生成的内容序列是第一计算机生成的内容序列的部分子集。
在一些实施方案中,计算机生成的体验包括围绕视点的三维环境(例如,占据135度、180度、270度、360度等的角跨度),并且预览包括比计算机生成的体验跨越更小的角或空间范围的三维环境(例如,占据135度的55度、占据180度的90度、占据270度的180度、占据360度的180度的角跨度等)。
图7AA至图7AD是示出根据一些实施方案的在三维环境中在相对于电子设备(例如,生成或接收通知的电子设备)的表示具有预定空间关系(例如,定位、取向、距离等)的位置处显示通知的表示的框图。
在一些实施方案中,计算机***在对应于电子设备(例如,设备7432)在物理环境(例如,场景105)中的定位的位置处显示三维环境(例如,环境7118或另一三维环境)中的电子设备的表示(例如,设备7432的表示7432')。当计算机***接收到在电子设备处生成或接收到通知的指示时,计算机***在三维环境中相对于电子设备的表示的预设定位处显示通知的表示(例如,表示7436或通知的另一表示)。计算机***根据与通知的表示交互的用户输入,在三维环境中执行关于通知的表示的操作(例如,显示该通知的更大版本、解除通知的表示、回放通知的内容、编写对对应于通知的消息的回复等)(并且任选地,还使得在电子设备处执行关于通知的对应操作)。在相对于电子设备的表示的预设定位处显示电子设备的表示允许用户容易地发现三维环境中的通知的表示和/或在物理环境中定位电子设备,使得当电子设备处于使电子设备的显示器上的通知难以经由显示生成部件(例如,显示生成部件7100或另一类型的显示生成部件,诸如HMD等)看见的定位处或具有使电子设备的显示器上的通知难以经由显示生成部件看见的取向时,用户不会错过通知。此外,在一些实施方案中,计算机***允许用户通过使用所提供的手势通过三维环境中的通知的表示(例如,表示7436或另一类型的表示等)与通知交互,而不需要用户与电子设备的物理接触或接近。这使得用户与通知的交互更高效,并且减少了来自用户的执行与通知相关联的操作的输入的数量、范围和/或性质,由此创建更高效的人机界面。这还意味着用户不必中断正在进行的计算机生成的体验(例如,在环境7118或另一环境中显示的体验等)来到达并抓取电子设备以使用电子设备与通知交互。此外,在一些实施方案中,计算机***允许用户通过利用在三维环境(例如,环境7118或另一环境等)中提供的视觉辅助(例如,视觉提示、视觉增强、虚拟键盘和虚拟控件等)对电子设备(例如,电子设备7432)的物理操纵(例如,触摸、转动、旋转、轻击、轻扫等)来与通知交互。这样,用户不必仅使用电子设备的小显示器来看到通知,并且任选地,仍然可以利用位于电子设备上的更准确的触摸传感器(例如,触摸屏、触摸板等)来检测更精细的输入(例如,键入、微调等)以与通知交互。例如,计算机***将用户在电子设备的触摸屏上的触摸的定位映射到在三维环境中显示的虚拟键的位置(例如,在视场的中心区域中显示的虚拟键盘上、在对应于电子设备的触摸屏的位置处等)以输出对触发通知的消息的回复文本。在不同交互模态之间进行选择的灵活性以及由不同交互模态提供的优点的整合减少了在与通知交互时的用户错误,并且减少了来自用户的执行与通知相关联的操作的输入的数量、范围和/或性质,从而创建更高效的人机界面。
在图7AA至图7AD所示的示例中,在一些实施方案中,与显示生成部件(例如,显示生成部件7100、HMD等)通信的计算机***还与另一电子设备(例如,在此示例中是电子设备7432)通信。电子设备任选地是与显示生成部件的用户相关联的设备。在一些实施方案中,电子设备是手持设备、移动电话、智能电话、平板设备、游戏设备、智能遥控器、智能电器、便携式计算机、诸如智能手表的可穿戴设备、智能附件、智能挂件等。在一些实施方案中,电子设备具有显示图形用户界面的显示器,并且能够在电子设备的显示器上生成和显示对应于在电子设备处发生的事件的通知。在一些实施方案中,计算机***和电子设备经由局域网、蓝牙和/或其他无线通信路径彼此通信。在一些实施方案中,当用户被放置到相对于计算机***的显示生成部件的预定义位置中时,计算机***显示三维环境(例如,环境7118),该三维环境包括在对应于电子设备(例如,设备7432)在物理环境(例如,场景105)中的定位的位置处的电子设备的表示(例如,表示7432')。例如,当电子设备(例如,设备7432)从一个定位移动到另一个定位和/或相对于物理环境(例如,场景105)改变取向时,计算机***根据电子设备在物理环境中的移动和/或取向改变来改变电子设备的表示(例如,表示7432')在三维环境的当前显示的视图中的定位和/或取向。尽管在一些实施方案中,向用户提供经由显示生成部件显示的三维环境中的电子设备的表示的视图,并且用户可以看到作为电子设备的表示的一部分在电子设备的显示器上示出的内容的表示,但是如果电子设备不位于用户附近,或者如果所显示的内容在三维环境的视图中不以足够的分辨率出现,则用户与内容交互可能是非常不方便和困难的。此外,当电子设备不以显示器朝向用户的眼睛定向时,即使电子设备相对靠近用户,用户也将必须移动电子设备以将电子设备重新定向为面向用户的眼睛以便观看该电子设备的内容。有时,电子设备处于锁定状态或具有调暗或黑暗屏幕的低功率状态,到达电子设备或由电子设备生成的通知仅短暂地显示在电子设备的显示器上,除非用户非常接近电子设备以通过电子设备的输入界面快速地与通知交互。这意味着,参与观看经由显示生成部件显示的三维环境的用户经常看不到通知进来,或者不能及时使用电子设备得到通知并与该通知交互。如本文所述,在电子设备处接收或生成的通知由计算机***在三维环境中靠近电子设备的表示的位置处显示,并且不限于电子设备的有限显示区域。在一些实施方案中,以比电子设备的表示上的显示器的区域大的大小显示通知。在一些实施方案中,当最初显示通知时,通知的取向是基于电子设备的表示在三维环境中的取向,并且任选地,一旦用户通过显示生成部件或电子设备与通知交互,通知就具有基于当前显示的三维环境的视图的视点的新取向。在一些实施方案中,不管电子设备的取向如何,都在靠近电子设备的表示的位置处以朝向三维环境的当前显示的视图的视点的取向来显示通知。在一些实施方案中,在被选择为具有相对于电子设备的表示的预定定位的位置处显示通知(例如,通知在电子设备的显示器的表示上悬停,通知在与电子设备的表示的平面平行的平面中在电子设备的表示的顶部上方显示,通知以距电子设备的表示的预设边缘第一距离显示等)。
在图7AA中,场景105示出了用户(例如,用户102)的物理环境。计算机***(例如,计算机***101、非便携式计算机***等)存在于物理环境中,并且与显示生成部件(例如,显示生成部件7100、HMD等)通信。在一些实施方案中,显示生成部件和计算机***形成同一外壳中的集成***(例如,手持式设备、具有集成显示器的计算机***、具有内置处理器和存储器的显示生成部件等)。在一些实施方案中,计算机***和显示生成部件是经由一个或多个网络或连接彼此通信的分开的设备。物理环境包括一个或多个物理表面和物理对象(例如,墙7122和7124、地板7120、物理对象7430等)。物理环境还包括与计算机***的用户(例如,用户102、另一用户等)相关联的电子设备(例如,电子设备7432,或上述电子设备中的任一个电子设备等)。在图7AA所示的时刻,在电子设备(例如,电子设备7432,或上述电子设备中的任一个电子设备等)处已发生使得在电子设备处生成或接收通知的事件。电子设备任选地输出警报(例如,音频警报、触觉警报(例如,蜂鸣音7434)、视觉警报等)以指示通知到达电子设备。
在图7AB中,当计算机***的显示生成部件(例如,显示生成部件7100或HMD等)正在显示三维环境(例如,环境7118、作为虚拟环境的另一环境、增强现实环境,或混合现实环境等)的视图时,该三维环境在对应于电子设备(例如,电子设备7432)在物理环境中的定位的位置处包括电子设备的表示(例如,表示7432')。在电子设备7432处接收或生成通知之前,电子设备7432的表示被显示而没有伴随的通知表示。在一些实施方案中,电子设备7432的表示任选地在三维环境的视图中不可见或显示,直到在电子设备处接收或生成通知为止。
如图7AB中所示,根据确定在电子设备7432处接收或生成通知,计算机***在三维环境中相对于电子设备7432的表示7432'的预定定位处显示通知的表示7436。在此示例中,电子设备7432平放在物理对象7430的平行于地板7120的顶部表面上,并且电子设备的顶部边缘(例如,当电子设备相对于地板保持直立时的顶部边缘)比电子设备的底部边缘更远离三维环境的当前显示的视图的视点。在此示例中,电子设备7432的顶部边缘平行于物理对象7430的顶部表面的远边缘。根据一些实施方案,在三维环境7118的视图中,电子设备的表示7432'与三维环境中其他对象的表示之间的相应空间关系对应于电子设备7432与物理环境中其他对象之间的相应空间关系。另外,根据一些实施方案,电子设备7432与显示生成部件7100之间的空间关系对应于电子设备的表示7432'与三维环境7118的当前显示的视图的视点之间的空间关系。如图7AB中所示,三维环境7118的视图包括墙7122和7124的表示7122'和7124'、地板7120的表示7120'、物理对象7430的表示7430以及电子设备7432的表示7432'。视点与三维环境中的对象的这些表示之间的空间关系对应于显示生成部件7100(或用户的眼睛)与物理环境中的对象之间的空间关系。
在一些实施方案中,电子设备7432的表示任选地包括电子设备7432的显示器的表示,并且示出在电子设备7432的显示器上显示的内容。在图7AB中,响应于检测到在电子设备7432处已经接收或生成通知的指示,计算机***在电子设备的表示7432'的顶部边缘上方的位置处显示通知的表示7436。在一些实施方案中,平行于电子设备的表示7432'的表面并且在远离电子设备的表示7432'的顶部边缘的第一距离处显示通知的表示7436。在一些实施方案中,通知的表示7436与电子设备的表示7432'之间的相对位置和取向由计算机***预设。因此,当电子设备7432被放置在物理环境中的相对于显示生成部件或用户的不同定位和/或不同取向时,通知的表示7436与电子设备的表示7432'之间的相对位置和取向不改变。例如,在图7AB中,如果电子设备被放置在墙上或地板上,则将以与图7AB所示的电子设备的表示7432'相同的空间关系来显示通知的表示7436。在一些实施方案中,空间关系的仅一些方面保持固定,而基于电子设备在物理环境中的定位和/或取向来调整空间关系的其他方面。例如,在一些实施方案中,通知的表示7436显示在电子设备的表示7432上方的固定距离处,其中竖直取向面向三维环境的当前显示的视图的视点,而不管电子设备在物理环境中的取向如何。在一些实施方案中,当在远离电子设备7432的表示的预设边缘的预设距离处显示通知的表示7436时,如果电子设备的表示在视点的第一阈值距离内,则计算机***在与电子设备的表示的平面平行的平面中显示通知的表示;并且如果电子设备的表示距视点大于第一阈值距离,则计算机***在垂直平面中显示通知的表示。其他预设空间关系也是可能的,并且为了简洁起见不被列举。
如图7AB中所示,显示生成部件显示包括物理环境(例如,场景105)的表示的增强现实环境(例如,环境7118),并且电子设备的表示(例如,表示7432')是物理环境的表示的一部分。在一些实施方案中,显示生成部件显示虚拟三维环境,而不显示示出用户周围的物理环境的透传部分(例如,相机视图、显示生成部件的透明或半透明部分等),但包括电子设备的表示,该电子设备在虚拟环境中的位置对应于该电子设备在物理环境中的定位。在一些实施方案中,虚拟三维环境任选地包括一个或多个虚拟表面(例如,虚拟桌子、虚拟墙等),该虚拟表面的位置和取向对应于物理环境中的物理表面(例如,桌子表面、墙表面等)的定位和取向,即使虚拟表面的外观不类似于物理表面的外观也是如此。
在一些实施方案中,显示生成部件7100表示HMD或另一计算机***并且可以由HMD或另一计算机***替换,该计算机***包括在显示三维环境时至少部分地阻挡用户对物理环境的视图的显示生成部件。在一些实施方案中,计算机***的HMD或显示生成部件至少包封用户眼睛,并且用户的针对物理环境的视野被由显示生成部件显示的虚拟内容以及由显示生成部件形成的其他物理屏障或其外壳部分地或完全地阻挡。
图7AC和图7AD示出了在通知的表示7436被显示在相对于电子设备的表示7432'的预设定位处时与通知的示例性用户交互。在图7AC中,计算机***检测到指向通知的第一表示的第一用户输入(例如,预设手势7440(例如,由手部7202执行)或另一类型的输入(例如,注视、语音命令、触摸输入等)等)。例如,第一输入是在对应于通知的第一表示7436的位置的定位处检测到的手势、在对应于远离通知的表示7436的位置的位置的定位处检测到的手势、语音命令、指向通知的表示的用户注视输入等。响应于检测到第一用户输入并且根据确定第一用户输入满足用于与通知的表示7436交互的第一预设标准,计算机***在三维环境中显示通知的第二表示7438。在一些实施方案中,通知的第二表示7438显示在面向三维环境的当前显示的视图的视点的位置处,并且任选地在三维环境中被移动和重新定向以随着视点相对于三维环境移动(例如,由于物理环境中的显示生成部件的移动,或者由于用户握住或佩戴显示生成部件时物理环境中的用户的头部或整个人的移动等)而继续面向该视点。在一些实施方案中,响应于第一用户输入(例如,用户手部7202的输入手势7440或另一类型的输入等),通知的第二表示7438从通知的第一表示7436的位置朝向视点移动。在一些实施方案中,通知的第二表示7438显示通知的内容。在一些实施方案中,在三维环境的视图中与通知的第一表示7436同时显示通知的第二表示7438。在一些实施方案中,响应于检测到第一用户输入,通知的第一表示7436被变换成通知的第二表示7438并且被移动到通知的第二表示7438的位置。
在一些实施方案中,如图7AD中所示,计算机***检测到指向通知的第一表示7436和/或通知的第二表示7438的第二用户输入(例如,预设手势7442(例如,由手部7202执行)、另一类型的输入(例如,手势、注视、语音命令、触摸输入等)等)。在一些实施方案中,第二用户输入是在对应于通知的第一表示7436的位置或通知的第二表示7438的位置的定位处检测到的手势、在对应于远离通知的第一表示7436的位置和/或通知的第二表示7438的位置的位置的定位处检测到的手势、语音命令、指向通知的表示7438或7436的用户注视输入等。在一些实施方案中,响应于检测到第二输入,根据确定第二用户输入满足用于与通知的表示(例如,第一表示7436、第二表示7438或通知的另一表示等)交互的第二预设标准,计算机***自动回放通知的音频版本。如图7AD中所示,在一些实施方案中,响应于用户手部7202向上移动同时用户注视指向通知的第一表示7436,计算机***显示示出用于播放通知的音频版本的回放控件的用户界面对象7446,并且输出通知的音频版本的音频7444。在一些实施方案中,用户界面对象7446显示为靠近三维环境的当前显示的视图的视点(例如,在用户手部的表示7202'的伸手可及的范围内、在视场的中心、被锁定到相对于视点的固定位置等)。在一些实施方案中,第一表示7436保持显示在相对于电子设备的表示7432'的预定位置处(并且任选地,随着电子设备7432在物理环境中移动而与电子设备的表示7432'一起移动),而用户界面对象7446以与视点的预设关系显示(例如,在距视点的预设距离处并且随着视点的移动而移动等)。在一些实施方案中,用户界面对象7446显示在面向三维环境的当前显示的视图的视点的位置处,并且在三维环境中被移动和重新定向以随着视点相对于三维环境移动(例如,由于物理环境中的显示生成部件的移动,或者由于用户握住或佩戴显示生成部件时物理环境中的用户的头部或整个人的移动等)而继续面向该视点。在一些实施方案中,用户界面对象7446包括对应于可关于通知执行的不同操作(例如,删除通知、回复对应于通知的消息、解除通知并将其存储以供稍后审阅、在三维环境中打开对应于通知的应用程序等)的用户界面元素。
在一些实施方案中,计算机***检测到满足用于执行关于通知的其他类型的操作的相应标准的其他用户输入,该操作诸如解除通知、扩展通知以审阅通知的附加内容(例如,在通知的第二表示7438中示出通知的完整内容、示出引起生成通知的消息的附件等)或提供用于与通知交互的附加可选对象(例如,回复按钮、虚拟键盘、用于打开通知管理用户界面的按钮等),并且根据接收到的用户输入来执行所述其他类型的操作。
在一些实施方案中,当在相对于电子设备的表示的预定位置处显示通知的第一表示7436时,计算机***检测到电子设备7432的取向已从相对于用户的第一取向(例如,纵向取向、平行于地板的取向等)改变到相对于用户的第二取向(例如,横向取向、垂直于地板的取向等)(例如,因为用户在物理环境中旋转电子设备、因为用户已相对于物理环境移动其自身(例如,从卧姿到坐姿等)等)。响应于检测到电子设备相对于用户的取向的改变(例如,因为电子设备相对于物理环境移动,和/或用户相对于物理环境移动等),计算机***根据确定电子设备的取向的改变满足预设标准来保持通知的第二表示7438(例如,当通知的第二表示7438在空间上被锁定到视点时)或通知的第一表示7436(例如,当第一表示7436显示在其原始位置时)的显示,并且计算机***显示用于将文本输入录入到与通知的第二表示7438相关联的输入区域中的虚拟键盘。在一些实施方案中,在对应于电子设备7432的定位的位置处显示虚拟键盘。在一些实施方案中,虚拟键盘在三维环境的视图中覆盖电子设备的表示7432'的至少一部分。在一些实施方案中,显示生成部件通过显示生成部件的透明或半透明部分来显示物理环境,并将虚拟内容(例如,虚拟键盘、通知的表示等)直接投影在物理环境中的物理对象(例如,桌面、电子设备7432的表面等)上。在一些实施方案中,显示生成部件显示相机视图或物理环境的图形表示。在一些实施方案中,虚拟键盘在三维环境的视图中替换物理环境的表示的至少一部分的显示。在一些实施方案中,当显示生成部件显示相机视图或物理环境的图形表示时,虚拟内容的显示替换物理环境的相机视图或图形表示的至少一部分的显示。在一些实施方案中,当显示生成部件显示相机视图或物理环境的图形表示时,虚拟内容的显示替换物理环境的相机视图或图形表示中的电子设备的至少一部分的显示。在一些实施方案中,当显示生成部件通过显示生成部件的透明或半透明部分显示物理环境并且在显示生成部件的透明或半透明部分上显示虚拟内容以阻挡物理环境中的物理对象的至少一部分的视图时,虚拟键盘阻挡电子设备的表示的至少一部分在三维环境的视图中的视图。
在一些实施方案中,电子设备7432是附着到用户身体的移动部分(例如,用户手部、用户手腕、用户手指等)的可穿戴设备。当通知的第一表示7436显示在相对于电子设备的表示7432'的预定定位处(例如,在电子设备处接收或生成通知的时间段期间电子设备的表示7432'的位置)时,通知的第一表示7436也根据电子设备7432在物理环境内的移动与电子设备的表示7432'一起移动。然而,在一些实施方案中,电子设备7432所附着到的用户身体的部分相对于用户进行预设移动,这使得电子设备7432也相对于用户进行预设移动。响应于检测到用户的该部分的预设移动和/或电子设备7432在物理环境中的移动,根据确定移动满足用于回放通知的音频版本(例如,针对其生成通知的消息的音频版本、通知中的文本的音频版本,或通知的内容的音频描述等)的预设标准,计算机***回放通知的音频版本(例如,任选地,还示出具有回放控件的用户界面对象7446等)。在一些实施方案中,预设标准包括用户的该部分的移动或电子设备7432的移动朝向用户的面部以便满足预设标准的要求。在一些实施方案中,预设标准包括以下要求:用户的该部分的移动或电子设备7432的移动在用户的面部前方暂停至少阈值时间量以便满足预设标准。在一些实施方案中,预设标准包括以下要求:结合用户的一部分或电子设备7432的预设移动,用户注视输入指向电子设备7432的表示7432'或通知的第一表示7436以便满足预设标准。在一些实施方案中,一旦完成通知的音频版本的自动回放,计算机***就开始捕获对应于对引起生成通知的消息的回复的用户输入的模式。在一些实施方案中,计算机***提供文本输入界面以从用户接收文本输入(例如,经由虚拟键盘和输入字段)。在一些实施方案中,计算机***捕获语音输入并且任选地将该语音输入转换为文本输入以生成对消息的回复,该回复引起通知的生成。在一些实施方案中,用户的预设部分是用户手部或手腕,并且电子设备被附着到用户手部或手腕(例如,手部正握住电子设备,电子设备被绑到手部或手腕等)。在一些实施方案中,响应于用户将他/她的手部朝向他/她的面部抬起,同时通知的第一表示7436显示在相对于电子设备的表示7432'的预设定位处,计算机***自动开始回放通知的音频版本。在一些实施方案中,通知的表示7432具有与图7AA至图7AD的示例中所示的不同的外观和内容。在一些实施方案中,当基于电子设备在物理环境中的定位来显示电子设备的表示或使该表示在三维环境的视图中可见时,用户手部的表示不需要在三维环境的视图中可见。在一些实施方案中,计算机***要求用户注视输入指向在三维环境的视图中的通知的表示,以便触发关于在三维环境中的通知的操作的执行。在一些实施方案中,响应于第二用户输入,通知的第二表示(例如,表示7438)显示在对应于用户手部的定位(例如,用户手掌的定位)的位置处,该第二用户输入包括将用户手部朝向用户的面部抬起并且打开手部或转动手部以使手部的手掌朝向用户。
在一些实施方案中,根据一些实施方案,在本文(例如,相对于图7A至图7AD,以及图8至图13)所述的各种示例和实施方案中使用的输入手势任选地包括离散的小运动手势(这些离散的小运动手势通过用户手指相对于用户手部的其他手指或部分移动来执行),任选地,不需要用户的整个手部或手臂远离其自然定位和姿势的大移动来在进行用于与虚拟或混合现实环境进行交互的手势之前或期间立即执行操作。
在一些实施方案中,输入手势通过分析由传感器***(例如,传感器190,图1;图像传感器314,图3)捕获的数据或信号来检测。在一些实施方案中,传感器***包括一个或多个成像传感器(例如,一个或多个相机,诸如运动RGB相机、红外相机、深度相机等)。例如,该一个或多个成像传感器是计算机***(例如,图1中的计算机***101(例如,便携式电子设备7100或HMD))的部件或者向该计算机***提供数据,该计算机***包括显示生成部件(例如,图1、图3和图4中的显示生成部件120(例如,用作显示器和触敏表面的触摸屏显示器、立体显示器、具有透传部分的显示器等))。在一些实施方案中,该一个或多个成像传感器在设备的与设备的显示器相反的一侧上包括一个或多个后向相机。在一些实施方案中,由头戴式***的传感器***(例如,包括立体显示器的VR头戴式耳机,该立体显示器为用户的左眼提供左图像并为用户的右眼提供右图像)检测输入手势。例如,为头戴式***的部件的一个或多个相机安装在该头戴式***的前部和/或下侧上。在一些实施方案中,一个或多个成像传感器位于其中使用头戴式***的空间中(例如,在房间中的各个位置中围绕头戴式***排列),使得成像传感器捕获该头戴式***和/或该头戴式***的用户的图像。在一些实施方案中,由平视设备(诸如,平视显示器、具有显示图形的能力的汽车挡风玻璃、具有显示图形的能力的窗户、具有显示图形的能力的透镜)的传感器***检测输入手势。例如,一个或多个成像传感器附接到汽车的内部表面。在一些实施方案中,传感器***包括一个或多个深度传感器(例如,传感器阵列)。例如,该一个或多个深度传感器包括一个或多个基于光的(例如,红外)传感器和/或一个或多个基于声音的(例如,超声)传感器。在一些实施方案中,传感器***包括一个或多个信号发射器,诸如光发射器(例如,红外发射器)和/或声音发射器(例如,超声发射器)。例如,在光(例如,来自具有预先确定图案的红外光发射器阵列的光)被投影到手部(例如,手部7200)上时,由该一个或多个相机捕获在光的照明下的手部的图像,并且所捕获的图像被分析以确定手部的位置和/或构造。使用来自指向手部的图像传感器的信号来确定输入手势,而不是使用触敏表面或其他直接接触机构或基于接近的机构的信号,允许用户自由选择在利用他/她的手部提供输入手势时是执行大幅运动还是保持相对静止,而不经受由特定输入设备或输入区域施加的限制。
在一些实施方案中,微轻击输入是用户的手部的拇指在食指上方(例如,在与拇指相邻的食指的一侧上)的轻击输入。在一些实施方案中,在不需要将拇指从食指的该侧面抬起的情况下检测轻击输入。在一些实施方案中,根据确定拇指的向下移动之后是拇指的向上移动来检测轻击输入,其中拇指与食指的该侧接触小于阈值量的时间。在一些实施方案中,根据确定拇指从抬起位置移动到触压位置并且保持在触压位置至少第一阈值量的时间(例如,轻击时间阈值或长于轻击时间阈值的另一个时间阈值)来检测轻击-保持输入。在一些实施方案中,计算机***要求手部作为整体在位置中保持基本上静止达至少第一阈值量的时间,以便检测拇指在食指上进行的轻击-保持输入。在一些实施方案中,在不需要手部作为整体保持基本上静止(例如,手部作为整体可以在拇指搁置在食指的该侧上时移动)的情况下检测触摸保持输入。在一些实施方案中,当拇指触压食指的该侧并且手部作为整体在拇指搁置在食指的该侧上时移动时检测轻击-保持-拖动输入。
在一些实施方案中,微轻弹手势是通过拇指跨食指(例如,从食指的手掌侧到背侧)的移动进行的推动或轻弹输入。在一些实施方案中,拇指的伸展移动伴随着远离食指的该侧的向上移动,例如,如在由拇指进行的向上轻弹输入中。在一些实施方案中,在拇指的向前移动和向上移动期间,食指在与拇指的方向相反的方向上移动。在一些实施方案中,通过拇指从伸展位置移动到回缩位置来执行反向轻弹输入。在一些实施方案中,在拇指的向后移动和向下移动期间,食指在与拇指的方向相反的方向上移动。
在一些实施方案中,微轻扫手势是通过拇指沿着食指(例如,沿着与拇指相邻或手掌的该侧上的食指的一侧)的移动进行的轻扫输入。在一些实施方案中,食指任选地处于伸展状态(例如,基本上笔直)或卷曲状态。在一些实施方案中,在轻扫输入手势中拇指的移动期间,食指在伸展状态和卷曲状态之间移动。
在一些实施方案中,各种手指的不同的指骨对应于不同的输入。拇指在各种手指(例如,食指、中指、无名指,以及任选地,小拇指)的各种指骨上方的微轻击输入任选地映射到不同操作。类似地,在一些实施方案中,不同的推动或点击输入可由拇指跨不同手指和/或手指的不同部分执行,以在相应用户界面上下文中触发不同操作。类似地,在一些实施方案中,由拇指沿着不同手指和/或在不同方向上(例如,朝向手指的远侧端部或近侧端部)执行的不同轻扫输入在相应用户界面上下文中触发不同操作。
在一些实施方案中,计算机***基于拇指的移动类型而将轻击输入、轻弹输入和轻扫输入视为不同类型的输入。在一些实施方案中,计算机***将具有被拇指轻击、触摸或轻扫的不同手指位置的输入视为给定输入类型(例如,轻击输入类型、轻弹输入类型、轻扫输入类型等)的不同子输入类型(例如,近侧、中间、远侧子类型,或者食指、中指、无名指或小拇指子类型)。在一些实施方案中,通过移动手指(例如,拇指)执行的移动量和/或与手指的移动相关联的其他移动度量(例如,速度、初始速度、结束速度、持续时间、方向、移动模式等)用于定量地影响通过手指输入触发的操作。
在一些实施方案中,计算机***识别组合输入类型,这些组合输入类型组合由拇指进行的一系列移动,诸如轻击-轻扫输入(例如,拇指在手指上的触压,然后是沿着手指的该侧的轻扫)、轻击-轻弹输入(例如,拇指在手指上方的触压,紧接着是跨手指从手指的手掌侧到背侧的轻弹)、双击输入(例如,在大约相同位置处在手指的该侧上的两次连续轻击)等。
在一些实施方案中,手势输入由食指而不是拇指执行(例如,食指在拇指上执行轻击或轻扫,或者拇指和食指朝向彼此移动以执行捏合手势等)。在一些实施方案中,与不具有通过手腕移动进行的修改输入的手指移动输入相比,手腕移动(例如,手腕在水平方向或竖直方向上的轻弹)紧接在手指移动输入之前执行,紧接在手指移动输入之后(例如,在阈值量的时间内)执行或与手指移动输入同时执行,以在当前用户界面上下文中触发附加操作、不同操作或经修改操作。在一些实施方案中,用面向用户面部的用户手掌执行的手指输入手势被视为与用背对用户面部的用户手掌执行的手指输入手势不同类型的手势。例如,与响应于用背对用户面部的用户手掌执行的轻击手势而执行的操作(例如,相同操作)相比,用面向用户的用户手掌执行的轻击手势执行的操作具有增加(或减少)的隐私保护。
尽管在本公开中提供的示例中,可以使用一种类型的手指输入来触发某种类型的操作,但是在其他实施方案中,其他类型的手指输入任选地用于触发相同类型的操作。
下文参考相对于下面的图8至图13描述的方法8000、9000、10000、11000、12000和13000提供了关于图7A至图7AD的附加描述。
图8是根据一些实施方案的在根据一些实施方案的用户界面中的一组索引项中导航的方法8000的流程图。
在一些实施方案中,方法8000在计算机***(例如,图1中的计算机***101)处执行,该计算机***包括显示生成部件(例如,图1、图3和图4中的显示生成部件120)(例如,平视显示器、显示器、触摸屏、投影仪等)和一个或多个相机(例如,向下指向用户的手部的相机(例如,颜色传感器、红外传感器和其他深度感测相机)或从用户头部向前指向的相机)。在一些实施方案中,方法8000通过存储在非暂态计算机可读存储介质中并由计算机***的一个或多个处理器(诸如计算机***101的一个或多个处理器202)(例如,图1中的控制单元110)执行的指令来管理。方法8000中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
在一些实施方案中,方法8000在与显示生成部件(例如,图1、图3和图4中的显示生成部件120、显示生成部件7100等)(例如,平视显示器、HMD、显示器、触摸屏、投影仪等)和一个或多个输入设备(例如,相机、控制器、触敏表面、操纵杆、按钮等)通信的计算机***(例如,图1中的计算机***101)处执行。
计算机***经由显示生成部件显示(8002)用户界面对象(例如,图7A和图7C中的用户界面对象7300)(例如,在三维环境的至少一部分的视图(例如,模拟三维环境的视图或一个或多个相机的视场的表示)内显示可滚动列表、可滚动菜单等),其中显示用户界面对象包括同时显示:显示一组项(例如,联系人、内容项(例如,音频文件、文本文件、视频文件、图像等)和/或通信项(例如,电子邮件、消息、语音邮件、呼叫记录等)中的一个或多个的相应表示的索引区域)中的多个项中的一个或多个项的相应表示的第一区域(例如,图7A和图7C中的数据区域7310)(例如,根据诸如列表或网格的预定义布置来显示数据项的表示(例如,列表项、菜单选项等)的数据区域),以及第二区域(例如,图7A和图7C中的索引区域7304)(例如,对应于项集合的索引的索引区域,其中索引中的相应索引项对应于项集合中的多个项的少于全部项的相应子集(例如,索引项是用于将多个数据项分类或划分成数据项的相应子集的字母、数字和/或其他符号的集合))。例如,在一些实施方案中,第一索引项对应于项集合的第一子集;第二索引项对应于项集合的第二子集;并且第三索引项对应于项集合的第三子集;并且第二区域中的第一、第二和第三索引项的顺序次序任选地对应于第一区域中示出的项集合的第一、第二和第三子集的顺序次序。当显示用户界面对象时,计算机***通过一个或多个输入设备检测(8004)第一类型的第一输入(例如,手部7202的移动7316、对应于在用户界面对象7300中的数据项中导航的请求的另一输入等)。在一些实施方案中,第一类型的第一输入是对应于在用户界面对象中的项中导航的用户请求的输入。在一些实施方案中,第一类型的第一输入是空中手势输入、触敏表面上的轻扫输入,或手部的一部分相对于手部的另一部分移动的手势输入(例如,轻弹、轻扫等)等,结合指向用户界面对象的用户注视输入来检测该第一输入。在一些实施方案中,第一类型的第一输入包括在对应于第一区域的导航方向(例如,上下、左右、远离和朝向用户等)和第二区域的导航方向(例如,上下、左右、远离和朝向用户等)的第一方向上的移动。在一些实施方案中,第一区域和第二区域具有相同的导航方向。在一些实施方案中,第一区域和第二区域具有不同的和/或独立的导航方向。响应于检测(8006)到第一类型的第一输入(例如,响应于检测到第一类型的第一输入对应于滚动或翻页用户界面对象中的数据项的用户请求):根据确定(提供第一类型的第一输入的用户的)检测到的注视(例如,图7A至图7B中的用户注视7320)指向第一区域(例如,数据区域),计算机***执行(8008)第一导航操作(例如,如图7B中所示),该第一导航操作包括根据第一输入的量值(例如,第一输入的第一速度、持续时间和/或距离)一个接一个(或五个接五个,或其他固定数字)地在多个项的相应表示中导航(例如,根据第一输入的第一速度、持续时间和/或距离);并且根据确定检测到的注视(例如,图7C至图7D中的用户注视7324)指向第二区域(例如,索引区域),计算机***执行(8010)第二导航操作(例如,如图7D中所示),该第二导航操作包括以大于第一量的第二量在多个项的相应表示中导航。在一些实施方案中,计算机***从多个数据项的第一子集导航到多个数据项的第二子集,其中多个数据项的第一子集对应于多个索引项的第一索引项,并且多个数据项的第二子集对应于多个索引项的不同于第一索引项的第二索引项,而不管每个索引项的数据项的子集中数据项的数量如何。
在一些实施方案中,计算机***通过一个或多个输入设备检测第一类型的第一输入包括结合检测指向用户界面对象的用户注视输入(例如,注视7320、注视7324等)来检测预定义手势(例如,空中手指轻扫手势、触敏表面上的接触的移动,或包括第一手指沿着同一只手的第二手指的侧面的移动的轻扫手势等)。在一些实施方案中,在显示器上的第一或第二区域处检测用户注视,并且用户注视满足用于将用户界面对象识别为用户注视输入的目标的预定义稳定性和持续时间标准。在一些实施方案中,同时或在彼此的阈值时间量内检测预定义手势和用户注视输入(例如,在用户注视输入之前检测第一输入,或在第一输入之前检测用户注视输入),使得第一输入和用户注视输入被确定为对应于同一请求(例如,在用户界面对象内导航以滚动或翻页数据项的用户请求)的一对相关联的输入。结合检测指向用户界面对象的注视输入来检测预定义手势减少了执行第一或第二导航操作所需的输入的数量(例如,用户不需要执行附加输入来首先选择是执行第一还是第二导航操作)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,以第一量(例如,根据指向第一区域的检测到的注视)在多个项的相应表示中导航以及以第二量(例如,根据指向第二区域的检测到的注视)在多个项的相应表示中导航分别基于第一类型的第一输入的量值(例如,第一输入的第一速度、持续时间和/或距离)。例如,在一些实施方案中,具有(例如,基于第一轻扫输入的第一速度、持续时间和/或距离等计算出的)第一轻扫幅度的第一轻扫输入使得根据指向第一区域的用户注视输入在第一区域中的第一数量的项中导航,并且根据指向第二区域的用户注视输入在第一区域中的第二数量的项中导航,其中在第一区域中的第二数量的项中导航对应于在第二区域中的第三数量的索引项中导航,并且第一数量和第三数量是基于第一轻扫幅度确定的。相应地,具有(例如,基于第二轻扫输入的第二速度、持续时间和/或距离等计算出的)与第一轻扫幅度不同的第二轻扫幅度的第二轻扫输入使得根据指向第一区域的用户注视输入在第一区域中的第四数量的项中导航,并且根据指向第二区域的用户注视输入在第一区域中的第五数量的项中导航,其中在第一区域中的第五数量的项中导航对应于在第二区域中的第六数量的索引项中导航,第四数量和第六数量是基于第二轻扫幅度确定的,第一数量不同于第四数量,并且第三数量不同于第六数量。基于第一类型的第一输入的量值以第一或第二量在多个项的相应表示中导航将在多个项的相应表示中导航所需的输入数量减少了所要量(例如,用户不需要执行附加输入以在多个项的每个相应表示之间移动)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,同时显示第一区域和第二区域包括同时(例如,在项集合中的多个项中的一个或多个项的相应表示显示在第一区域中的时间中的至少一些时间(例如,全部、少于全部等)期间)在用户界面对象的第一区域(例如,数据区域7310或另一数据区域等)中显示项集合中的多个项中的一个或多个项的相应表示并且在第二区域(例如,索引区域7304或另一索引区域等)中显示索引中的多个索引项中的一个或多个索引项的相应表示。在一些实施方案中,索引项最初不显示在第二区域中,并且当显示用户界面对象时,第二区域未被占据;并且仅在对应于用户界面对象的定位的定位处(例如,用户界面对象上的任何地方、第二区域中,或第一区域中等)检测到用户注视输入之后,才在第二区域中显示索引项。同时在第一区域中显示项集合中的多个项中的一个或多个项的相应表示并且在第二区域中显示索引中的多个索引项中的一个或多个索引项的相应表示减少了在多个项的相应表示中导航所需的输入的数量(例如,索引中的索引项可以允许在不同子集(例如,对应于多个项的相应表示的首字母的字母A-Z)中导航,而不需要用户单独地在多个项的每个相应表示中导航)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,同时显示第一区域和第二区域包括:根据确定用户注视输入不存在于用户界面对象的预定义部分(例如,任何区域、第一区域、第二区域等)(例如,在当前时间的阈值时间量内未检测到),在用户界面对象的第一区域中显示项集合中的多个项中的一个或多个项的相应表示,而不在第二区域中显示索引中的索引项的相应表示;根据确定在用户界面对象的预定义部分(例如,任何区域、第一区域、第二区域等)上检测到(例如,在当前时间的阈值时间量内检测到)用户注视输入,同时在用户界面对象的第一区域中显示项集合中的多个项中的一个或多个项的相应表示并且在第二区域中显示索引中的多个索引项中的一个或多个索引项的相应表示。在一些实施方案中,在根据在预定义区域中检测到用户注视输入而在第二区域中显示索引项的相应表示之后,如果在预定义区域上不再检测到用户注视输入或者如果在预定时间段内不存在与用户界面对象的交互,则将停止显示索引项的相应表示。根据确定在用户界面对象的预定义部分上检测到注视输入,在第一区域中显示项集合中的多个项中的一个或多个项的相应表示而不在第二区域中显示索引项中的一个或多个索引项的相应表示,并且根据确定在用户界面对象的预定义部分上检测到注视输入,在第一区域中显示项集合中的多个项中的一个或多个项的相应表示并且在第二区域中显示多个索引项中的一个或多个索引项的相应表示提供了附加控件选项,而不使用附加显示的控件(例如,用于在或不在第二区域中显示索引中的索引项的相应表示的附加显示控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,当在用户界面对象的第一区域中显示项集合中的多个项中的一个或多个项的相应表示而不在第二区域中显示索引中的索引项的相应表示时,计算机***检测到指向用户界面对象的相应部分的用户注视输入。响应于检测到指向用户界面对象的相应部分的用户注视输入并且根据确定用户界面对象的相应部分对应于用户界面对象的第一区域(例如,数据区域)的第一子部分(例如,在该第一子部分的内部或阈值距离内的定位处),计算机***同时在用户界面对象的第一区域中显示项集合中的多个项中的一个或多个项的相应表示并且在第二区域中显示索引中的多个索引项中的一个或多个索引项的相应表示。在一些实施方案中,响应于检测到指向用户界面对象的相应部分的用户注视输入:根据确定用户界面对象的相应部分对应于与用户界面对象的第一区域(例如,数据区域)的第一子部分(例如,侧面、顶部或底部等)不同的第一区域的第二子部分(例如,在该第二子部分的内部或阈值距离内的定位处),保持在用户界面对象的第一区域中显示项集合中的多个项中的一个或多个项的相应表示,并且放弃在第二区域中显示索引中的多个索引项中的一个或多个索引项的相应表示。响应于检测到指向对应于用户界面对象的第一区域的第一子部分的用户界面对象的相应部分的注视输入,同时在第一区域中显示项集合中的多个项中的一个或多个项的相应表示并且在第二区域中显示索引中的多个索引项中的一个或多个索引项的相应表示提供了附加控件选项,而不使用附加显示的控件(例如,用于在第二区域中显示索引中的索引项的相应表示的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,第二区域与第一区域具有第一预定空间关系。例如,在一些实施方案中,计算机***沿着第一区域的预设侧(例如,左侧、右侧、用户选择的侧、基于指向用户界面对象的用户注视输入的定位自动选择的侧、基于三维环境中的布局虚拟元素和/或物理元素的表示自动选择的侧等)显示第二区域。同时在第一区域中显示项集合中的多个项中的一个或多个项的相应表示并且在第二区域中显示索引中的多个索引项中的一个或多个索引项的相应表示(其中第二区域与第一区域具有第一预定空间关系)减少了在多个项的相应表示中导航所需的输入的数量(例如,索引中的索引项可以允许在不同子集(例如,对应于多个项的相应表示的首字母的字母A-Z)中导航,而不需要用户单独地在多个项的每个相应表示中导航)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,当显示多个项中的第一项和第二项的相应表示时(例如,在一个或多个导航操作之前、在一个或多个导航操作之后等),计算机***检测到不同于第一类型的第一输入的第二类型的第二输入(例如,第二输入对应于用于选择用户界面对象中的项的请求,并且第二类型的第二输入包括不同于第一类型的第一输入中的手势的手势输入,诸如空中轻击手势、捏合手势、通过手部的第一部分在手部的另一部分上的轻击或轻击保持手势等)。在一些实施方案中,第二类型的第二输入包括结合选择第一区域中的项的用户注视输入而检测到的手势输入。响应于检测到第二类型的第二输入并且根据确定第一项的相应表示具有输入焦点,计算机***选择多个项中的第一项而不选择第二项。在一些实施方案中,当结合检测到第二类型的第二输入的手势输入(例如,与检测到第二类型的第二输入的手势输入同时或在阈值时间量内)在对应于第一项的相应表示的定位的定位处检测到用户注视输入时,当第一项的相应表示已滚动到用户界面对象内的预设选定位置中时,和/或当选择对象已移动到第一项的相应表示(例如,通过另一用户输入)时等,第一项的相应表示具有输入焦点。根据确定第二项的相应表示具有输入焦点(例如,结合检测到第二类型的第二输入的手势输入(例如,与该检测同时或在阈值时间量内)在对应于第二项的相应表示的定位的定位处检测到用户注视输入,第二项的相应表示已滚动到用户界面对象内的预设所选位置中,选择对象已移动到第二项的相应表示(例如,通过另一用户输入)等),计算机***选择多个项中的第二项而不选择第一项。在一些实施方案中,选择相应项(例如,第一项、第二项等)包括显示指示相应项的选择状态已从未选择状态改变为已选择状态的视觉反馈(例如,相对于第一区域中的其他项的相应表示在视觉上突出显示(例如,放大、调整大小、改变显示属性、添加轮廓、动画化等)相应项的相应表示)。在一些实施方案中,选择相应项包括触发与相应项相关联的操作的执行(例如,在保持相应项的相应表示的显示的同时显示与相应项相关联的信息的预览、启动对应于相应项的应用程序和/或在应用程序内执行专用于相应项的操作(例如,而不是执行专用于项集合中的其他项的操作))。响应于检测到第二类型的第二输入并且根据确定第一项的相应表示具有输入焦点,在不选择第二项的情况下选择多个项中的第一项提供了附加控件选项,而不使用附加显示的控件(例如,用于在导航操作与选择操作之间切换的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,检测第二类型的第二输入包括检测手部的第一预设部分(例如,拇指、食指等)相对于手部的第二预设部分(例如,食指的侧面、食指的尖端、拇指的尖端等)的移动,并且该移动满足预设移动标准。在一些实施方案中,预设移动标准是基于移动的开始和/或结束定位、移动的速度、移动的方向等的用于识别相应类型的手势(例如,轻击手势、轻扫手势等)的标准。响应于检测到包括手部的第一预设部分相对于手部的第二预设部分的满足预设标准的移动的第二类型的第二输入并且根据确定第一项的相应表示具有输入焦点来选择多个项中的第一项而不选择第二项提供了附加控件选项,而不使用附加显示的控件(例如,用于在导航操作与选择操作之间切换的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,当显示包括同时显示第一区域和第二区域的用户界面对象时,计算机***检测到所检测到的注视从用户界面对象到对应于不同于用户界面对象的第二用户界面对象的定位的移动,其中显示第二用户界面对象包括第二项集合中的第二多个项中的一个或多个项的相应表示(例如,第二用户界面对象包括不同的项列表,并且任选地包括与项列表相关联的索引)。响应于检测到所检测到的注视从用户界面对象到第二用户界面对象的移动并且检测到的注视满足预设标准(例如,用于将输入焦点从三维环境中的一个对象切换到另一对象的预设稳定性和持续时间标准),计算机***改变第二用户界面对象的外观(和/或改变用户界面对象的外观)以指示输入焦点已经从用户界面对象偏移到第二用户界面对象。响应于检测到所检测到的注视从用户界面到第二用户界面对象的移动并且检测到的注视满足预设标准,改变第二用户界面对象的外观以指示输入焦点已从用户界面对象偏移到第二用户界面对象,这向用户提供改进的视觉反馈(例如,关于电子设备检测到用户注视指向哪个用户界面对象的改进的视觉反馈)。提供改进的反馈增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,当第二用户界面对象具有输入焦点(例如,检测到的注视保持在第二用户界面对象上,或者检测到的注视尚未偏移到三维环境中的另一用户界面对象等)时,计算机***检测到第一类型的第三输入。在一些实施方案中,第一类型的第三输入包括对应于在第二用户界面对象中的项中导航的用户请求的输入。在一些实施方案中,第一类型的第三输入包括空中手势输入、触敏表面上的轻扫输入,或手部的一部分相对于手部的另一部分移动的手势输入(例如,轻弹、轻扫等)等,结合指向第二用户界面对象的用户注视输入来检测该第三输入。在一些实施方案中,第一类型的第三输入包括在对应于第二用户界面对象的数据区域的导航方向(例如,上下、左右、远离和朝向用户等)的第一方向上的移动。在一些实施方案中,第一类型的其他第三输入是可能的。响应于检测到第一类型的第三输入并且根据确定检测到的注视指向第二用户界面对象(例如,第二用户界面对象的数据区域、第二用户界面对象的索引区域、第二用户界面对象的任何区域等),计算机***执行第三导航操作,该第三导航操作包括以对应于第一类型的第三输入的量值的量在第二多个项的相应表示中导航。在一些实施方案中,第二用户界面对象仅包括数据区域,该数据区域包括项的表示而不包括索引区域;并且不管检测到的注视是否指向用户界面对象的哪一子部分,都实现相同导航量。在一些实施方案中,第二用户界面对象包括数据区域和索引区域两者,该数据区域包括项的表示,该索引区域包括对应于与第二用户界面对象相关联的数据项的不同子集的索引项的表示;并且当检测到的注视指向索引区域时比当检测到的注视指向第二用户界面对象的数据区域时实现更大导航量。在一些实施方案中,第二用户界面对象包括相同数据的不同级别的索引,诸如包括更低级别索引区域中的索引项的子集的附加索引区域,并且当检测到的注视指向附加的更高级别索引区域时实现甚至更大导航量。响应于检测到第一类型的第三输入并且根据确定检测到的注视指向第二用户界面对象来执行第三导航操作将在第二多个项的相应表示中导航所需的输入数量减少了所期望的量(例如,用户不需要执行附加输入来在第二多个项的每个相应表示之间移动),该第三导航操作包括以与对应于第一类型的第三输入的量值的量在第二多个项的相应表示中导航。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,当显示用户界面对象时,计算机***通过一个或多个输入设备检测用户相对于物理环境的移动(例如,作为用户身体整体在物理环境内的移动的结果的用户头部的移动、作为用户头部相对于用户身体的移动的结果的用户头部的移动等)。响应于检测到用户相对于物理环境的移动:根据确定用户的移动包括用户的躯干的至少一部分相对于物理环境的移动(例如,除用户的头和手之外的部分)(例如,用户的整个身体或躯干的位置和/或取向的改变,例如,当用户已经行走或旋转他/她的身体时),计算机***根据用户的躯干的至少一部分的移动来移动用户界面对象(例如,第一区域和第二区域相对于彼此保持静止)(例如,当用户在物理环境中四处移动时,包括第一和第二区域的整个用户界面对象在三维环境中移动以保持与对应于三维环境的当前显示视图的用户的视点的固定空间关系(例如,用户界面对象是身体锁定的))。响应于检测到用户相对于物理环境的移动并且根据确定用户的移动包括用户的头部相对于用户的躯干的移动而没有躯干的至少一部分的移动(例如,用户转动他/她的头部,同时作为整体在物理环境中保持固定在位置和/或取向),计算机***放弃根据用户的头部的移动来移动用户界面对象(例如,当用户移动他/她的头部而没有附加的全身移动时,第一和第二区域可以在用户的视场中移动和/或在用户的视场之外移动)。根据用户的躯干的至少一部分的移动并根据确定用户的移动包括用户的躯干的至少一部分相对于物理环境的移动来移动用户界面对象,以及根据用户的头部的移动并根据确定用户的移动包括用户的头部相对于用户的躯干的运动而没有躯干的至少一部分的运动来移动用户界面对象提供了附加控件选项,而不使用附加显示的控件(例如,用于移动用户界面对象的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,当显示用户界面对象时,计算机***检测到所检测到的注视从对应于用户界面对象的定位的第一定位到不同于第一定位的第二定位的移动。响应于检测到所检测注视的移动,根据确定当前显示在第一区域中的项的相应表示至少包括项集合中的项的第一预设子集(例如,第一项、最后项等)(例如,列表的开头和/或结尾显示在第一区域中(例如,作为导航操作的结果或作为用户界面对象被初始显示)),计算机***根据检测到的注视的移动将用户界面对象从第一定位移动到第二定位。例如,在一些实施方案中,当在滚动之后或如最初显示的那样已经到达数据区域的结尾或开始时,整个用户界面对象跟随要在三维环境中重新定位的用户注视输入的移动。响应于检测到所检测到的注视的移动,并且根据确定当前显示在第一区域中的项的相应表示不包括项集合中的项的至少第一预设子集(例如,第一项、最后项等)(例如,列表的开头和/或结尾显示在第一区域中(例如,作为导航操作的结果或者作为用户界面对象被初始显示)),计算机***将用户界面对象保持在第一定位处。例如,当尚未到达数据区域的结尾或开始时,用户可以将用户注视从用户界面对象移开。根据检测到的注视从第一定位到第二定位的移动并且根据确定当前显示在第一区域中的项的相应表示至少包括项集合中的项的第一预设子集来移动用户界面对象,以及根据确定当前显示在第一区域中的项的相应表示不包括项集合中的项的至少第一预设子集来将用户界面对象保持在第一定位提供了附加控件选项,而不使用附加显示的控件(例如,用于移动用户界面对象和/或将用户界面对象保持在第一定位的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
应当理解,对图8中的操作进行描述的具体次序仅仅是示例,并非旨在表明所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当注意,本文相对于本文所述的其他方法(例如,方法9000、10000、11000、12000和13000)所述的其他过程的细节同样以类似的方式适用于上文相对于图8所述的方法8000。例如,以上参考方法8000描述的手势、注视输入、物理对象、用户界面对象、控件、移动、标准、三维环境、显示生成部件、表面、物理对象的表示、虚拟对象和/或动画任选地具有本文参考本文所述的其他方法(例如,方法9000、10000、11000、12000,和13000)所述的手势、注视输入、物理对象、用户界面对象、控件、移动、标准、三维环境、显示生成部件、表面、物理对象的表示、虚拟对象和/或动画的特性中的一个或多个特性。为了简明起见,此处不再重复这些细节。
图9是根据一些实施方案的响应于涉及用户手部的移动的用户输入而在三维环境中显示用户界面对象并与该用户界面对象交互的方法9000的流程图。
在一些实施方案中,方法9000在计算机***(例如,图1中的计算机***101)处执行,该计算机***包括显示生成部件(例如,图1、图3和图4中的显示生成部件120)(例如,平视显示器、显示器、触摸屏、投影仪等)和一个或多个相机(例如,向下指向用户的手部的相机(例如,颜色传感器、红外传感器和其他深度感测相机)或从用户头部向前指向的相机)。在一些实施方案中,方法9000通过存储在非暂态计算机可读存储介质中并由计算机***的一个或多个处理器诸如计算机***101的一个或多个处理器202(例如,图1中的控制单元110)执行的指令来管理。方法9000中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
在一些实施方案中,方法9000在与显示生成部件(例如,图1、图3和图4中的显示生成部件120、显示生成部件7100等)(例如,平视显示器、HMD、显示器、触摸屏、投影仪等)和一个或多个输入设备(例如,相机、控制器、触敏表面、操纵杆、按钮等)通信的计算机***(例如,图1中的计算机***101)处执行。计算机***经由显示生成部件显示(9002)三维环境的至少一部分的第一视图(例如,图7E中的三维环境7106的视图,或另一三维环境的视图等)(例如,模拟三维环境的视图,诸如包括透明透传部分或一个或多个相机的视场的表示的虚拟环境或增强现实环境)。在一些实施方案中,在三维环境的至少一部分的视图中任选地显示用户的物理手部的表示,例如,当手部位于在三维环境的该部分中表示的物理环境的视图内时。当显示三维环境的至少一部分的第一视图时,计算机***检测(9004)到满足第一标准的第一手部的第一移动(例如,图7F中手部7202的移动7332,或手部的另一移动等)(例如,在计算机***的一个或多个相机的视图内和/或在三维环境的一部分的视图内的手部)。在一些实施方案中,第一标准任选地包括移动标准,该移动标准要求第一手部的第一移动满足移动标准(例如,第一手部的向上移动和/或手的小于阈值速度的移动)连同姿势标准(例如,手掌打开并面向用户或背对用户,和/或包括位姿标准,该位姿标准要求第一手部具有预定位姿,诸如手部使其食指以指向姿势伸出或拇指在顶部握紧拳头或某一其他预定姿势),以便满足第一标准。在一些实施方案中,当第一手部朝向用户的身体抬起、手部抬起到所显示的视图中、手部抬起到所显示的视图内的预定义位置,和/或手部具有预定义的手部构型(手部的掌侧在手指伸出的情况下在所显示的视图中可见,面向用户手部的背侧在手指伸出的情况下在所显示的视图中可见,手部的掌侧在没有手指伸出的情况下在所显示的视图中可见,和/或手部的背侧在没有手指伸出的情况下在所显示的视图中可见)时,满足第一标准。在一个示例中,根据确定手部被旋转使得前臂具有水平位置(如同用户正在看物理手表,或者如同用户正在用他的手掌提起物体)来满足第一标准。在另一示例中,根据确定手部正在远离用户而手掌背对用户来满足第一标准。在一些实施方案中,根据确定手部以指向姿势抬起(例如,手部闭合并且食指伸出)来满足第一标准。响应于检测到第一手部的满足第一标准的第一移动(例如,图7F中的手部7202的移动7332或手部的另一移动等),计算机***经由显示生成部件在三维环境的至少该部分的第一视图中的第一位置处显示(9006)包括第一多个可选控件(包括例如用于显示子菜单的控件、用于发起应用程序的控件、用于执行应用程序功能的控件,和/或用于调整设置的控件)的第一虚拟对象(例如,虚拟对象7334或另一虚拟对象等)(例如,停靠栏、菜单等),其中第一位置对应于第一手部在第一移动之后在物理环境中的位置(例如,如图7F中所示,虚拟对象7334显示在对应于手部7202在移动7332之后在物理环境中的定位的位置处)。在一些实施方案中,三维环境的至少一部分的视图中的第一位置在三维环境的至少一部分的视图中的第二位置处或附近,在第一移动结束时第一手部的表示位于该第二位置处。在一些实施方案中,第一位置不对应于物理环境中的其他物理对象(例如,墙或桌面)的定位,并且第一位置不对应于显示器上的预设固定位置,而是基于用户手部在满足用于调用第一虚拟对象(例如,停靠栏)的第一标准的手势结束时的最终定位来动态地确定第一位置。当经由显示生成部件在第一位置处显示第一虚拟对象时,计算机***检测(9008)到第一手部的第二移动(例如,图7G和图7H所示的手部7202的移动)(例如,引起手部的表示移动到三维环境中的不同位置和/或第一手部的配置的改变的物理环境中的移动)。响应于检测到第一手部的第二移动,计算机***根据相对于对应于第一虚拟对象在三维环境的至少一部分的第一视图中的位置的定位的该第一手部的第二移动来显示(9010)第一手部在三维环境的至少一部分的第一视图中的表示的移动(例如,如图7G和图7H中所示,根据手部在物理环境中的移动来相对于虚拟对象7334移动手部的表示7202')。在一些实施方案中,计算机***鉴于三维环境的至少一部分保持第一虚拟对象在第一位置处的显示。在一些实施方案中,第一虚拟对象在响应于手部的满足预定义第一标准的第一移动而显示之后被固定在三维环境中的定位中,同时用户调整他的手部的位置和姿势以准备与第一虚拟对象交互。
在一些实施方案中,在检测到第一手部的第二移动之后,并且在将第一虚拟对象显示在三维环境的至少一部分的第一视图中的第一位置处(例如,停靠栏保持显示在物理环境的视图中对应于第一手部在第一手部的第二移动开始之前的先前定位的位置处)的同时,计算机***检测到计算机***的至少第一部分的移动。在一些实施方案中,计算机***检测到显示生成部件或捕获经由显示生成部件示出的物理环境的视图的一个或多个相机的移动。在一些实施方案中,计算机***的第一部分的移动是由于用户在物理环境中的移动。响应于检测到计算机***的至少第一部分的移动(例如,显示生成部件、捕获经由显示生成部件示出的物理环境的视图的一个或多个相机(例如,由于在物理环境中移动计算机***的该部分的用户的移动)),计算机***根据计算机***的至少第一部分的移动来更新三维环境的至少该部分的第一视图并在三维环境的至少该部分的视图中移动第一虚拟对象(例如,虚拟对象7334,或响应于手部的满足第一标准的第一移动而显示的另一虚拟对象等)。在一些实施方案中,基于对应于计算机***的第一部分(例如,显示生成部件或相机)在物理环境中的新定位的不同视点来构造三维环境的不同视图。在一些实施方案中,当显示生成部件移动以显示AR环境的不同部分或显示AR环境的当前显示部分的较近视图时,第一虚拟对象相对于由显示生成部件提供的视场保持在相同定位处。例如,第一虚拟对象可在计算机***的第一部分的移动期间替换或阻挡三维环境的不同部分的表示,但相对于用户的视场保持固定(例如,保持在视场的左下象限中,或在视场的中心中,或对应于在第一手部的第一移动结束时第一手部在视场中的位置的任何其他位置中等)。当已经满足一组条件时,根据计算机***的至少第一部分的移动来更新三维环境的至少一部分的视图并在三维环境的至少一部分的视图中移动第一虚拟对象更新视图并且移动第一虚拟对象,而不需要进一步的用户输入(例如,每当计算机***被移动时更新视图并且移动第一虚拟对象的进一步的用户输入)。在无需进一步的用户输入的情况下已满足一组条件时执行操作增强了设备的可操作性,这又通过使用户能够更快速并有效地使用设备而减少了电力使用并且改善了设备的电池寿命。
在一些实施方案中,检测第一手部的第二移动包括在物理环境中检测第一手部的轻扫手势(例如,第一手部或第一手部的一部分以单个连续运动(例如,在相应方向上)从第一定位移动到不同定位)(例如,当第一手部在轻扫手势期间处于第一构型(例如,伸出食指并闭合其他手指)时),并且响应于检测到第一手部的轻扫手势并且根据确定第一手部在轻扫手势期间处于第一构型(例如,伸出食指并闭合其他手指),计算机***根据第一手部的第二移动(例如,焦点选择器的移动,包括移动的方向、速度和/或位移,取决于第一手部的第二移动的一个或多个特性,诸如方向、速度和/或位移等)将输入焦点从第一虚拟对象中的第一可选控件(例如,控件7342、控件7336等)(例如,当第一虚拟对象由于第一手部的第一移动而出现时,基于第一虚拟对象中的可选控件的位置将焦点选择器放置在默认可选控件上)移动到与第一虚拟对象中的第一可选控件不同的第二可选控件(例如,控件7338、控件7334等)。根据第一手部的第二移动将输入焦点从第一虚拟对象中的第一可选控件移动到第二可选控件提供了附加控件选项,而不使用附加显示的控件(例如,用于在可选控件之间导航的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,检测第一手部的第二移动包括检测第一手部在物理环境中的轻扫手势(例如,第一手部或第一手部的一部分以单个连续运动(例如,在相应方向上)从第一位置移动到不同位置)(例如,同时第一手部处于第二构型(例如,具有伸出的三个或更多个手指的打开的手部,或者与用于在可选控件之间移动聚焦选择器的第一构型不同的另一手部构型))。响应于检测到第一手部的轻扫手势并且根据确定第一手部在轻扫手势期间处于第二构型(例如,具有伸出的三个或更多个手指的打开的手部,或者与用于在可选控件之间移动聚焦选择器的第一构型不同的另一手部构型),计算机***在检测到处于第二构型的第一手部的轻扫手势之前显示未包括在第一虚拟对象中的第二多个可选控件。在一些实施方案中,第一多个可选控件在第一页上并且第二多个可选控件在不同于第一页的第二页上,并且计算机***根据第一手部的挥动姿势从显示停靠栏的第一页面转变到显示停靠栏的第二页面。在一些实施方案中,第一多个可选控件被移动到第一虚拟对象中较不显著的位置(例如,后排或侧部),并且第二多个可选控件显示在第一虚拟对象中第一多个可选控件的先前位置中等。响应于检测到第一手部的轻扫手势并且根据确定在轻扫手势期间第一手部处于第二构型来显示未包括在第一虚拟对象中的第二多个可选控件提供了附加控件选项,而不使用附加显示的控件来混乱用户界面(例如,第二多个可选控件不总是被显示,并且用户界面不需要包括用于显示第二多个可选控件的附加显示的控件)。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,检测第一手部的第二移动包括检测第一手部的推动手势。在一些实施方案中,第二移动包括将第一手部或第一手部的一部分远离用户并朝向物理环境中对应于可选控件在三维环境的视图中在第一虚拟对象中的位置的定位移动,任选地,同时第一手部处于预定义构型,诸如单个手指指向前方、两个手指指向前方、拇指指向前方等。在一些实施方案中,在三维环境的至少一部分的视图中显示第一手部的表示的移动包括显示根据第一手部的第二移动(例如,物理环境中的第一手部的移动的位移、方向和速度被转换成虚拟环境中的第一手部的表示的移动的对应位移、方向和速度)朝向第一虚拟对象中的一个或多个可选控件移动的第一手部的表示(例如,虚拟环境中的第一手部的表示正朝向一个或多个可选控件移动,但不移动超过一个或多个可选控件)。在一些实施方案中,响应于检测到第一手部的推动手势并且根据确定推动手势满足激活标准(例如,第一手部的表示或其一部分已经在距第一虚拟对象中的可选控件中的至少一个可选控件的第一距离内移动,或者手部的移动速度超过阈值速度(例如,第一手部的表示正在触摸,或接近触摸,或正在快速接近三维环境中的可选控件中的一个可选控件),计算机***选择第一虚拟对象中的第一多个可选控件中的相应可选控件(例如,将焦点选择器放置在可选控件上和/或激活一个或多个可选控件的对应功能。在一些实施方案中,选择可选控件使得与该可选控件相关联的应用程序被激活)。响应于检测到第一手部的推动手势并且根据确定推动手势满足激活标准来选择第一多个可选控件中的相应可选控件提供了附加控件选项,而不使用附加显示的控件(例如,用于选择相应可选控件的额外显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,响应于检测到第一手部的推动手势(例如,根据确定第一手部的表示在距第一虚拟对象中的一个或多个可选控件的第二距离内移动(例如,第二距离阈值小于第一距离阈值,并且可选控件在达到第二距离阈值之前被激活;或者第二距离阈值大于第一距离阈值,并且当达到第二距离阈值时可选控件尚未被激活)),计算机***根据第一手部在推动手势期间的移动在三维环境的至少一部分的第一视图中移动第一虚拟对象(例如,整个菜单或停靠栏,而不是单独的可选控件)。在一些实施方案中,第一虚拟对象以与第一手部的表示的移动相同的速度远离第一手部的表示移动,以避免第一手部的表示穿过第一虚拟对象。当第一手部的表示停止在虚拟环境中移动时,第一虚拟对象也停止移动。在推动手势期间根据第一手部的移动在三维环境的至少一部分的第一视图中移动第一虚拟对象提供了附加控件选项,而不使用附加显示的控件(例如,用于在移动第一虚拟对象与选择第一虚拟对象中的相应可选控件之间切换的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,响应于检测到第一手部的第二移动:根据确定第一手部的第二移动对应于将第一手部置于第三构型(例如,向上指食指、向前指两个手指等),计算机***执行关于第一虚拟对象的第一操作(例如,在第一虚拟对象中的可选控件之间移动焦点选择器,直到手部姿势再次改变为止);并且根据确定第一手部的第二移动对应于将第一手部置于不同于第三构型的第四构型(例如,闭合的拳头或打开的手掌),计算机***关于第一虚拟对象执行不同于第一操作的第二操作(例如,移动到第一虚拟对象的可选控件的不同页面,或扩展菜单等)。根据确定第一手部的第二移动对应于将第一手部置于第三构型而相对于第一虚拟对象执行第一操作,以及根据确定第一手部的第二移动对应于将第一手部置于不同于第三构型的第四构型而关于第一虚拟对象执行不同于第一操作的第二操作提供了附加控件选项,而不使用附加显示的控件(例如,用于执行第一和第二操作的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,经由显示生成部件显示三维环境的至少一部分的第一视图包括显示第一应用程序的混合现实环境(例如,诸如游戏应用程序的应用程序的三维混合现实环境、用于查看物理环境中的虚拟家具的增强现实应用程序、用诸如物理桌子的虚拟化物理对象增强的虚拟办公室应用程序,或视频应用程序),并且显示第一虚拟对象包括替换或阻挡第一应用程序的混合现实环境的至少一部分的视图(例如,第一虚拟对象覆盖应用程序用户界面或应用程序体验的一部分,但不关闭第一应用程序)。在第一应用程序的混合现实环境中显示替换或阻挡第一应用程序的混合现实环境的至少一部分的视图的第一虚拟对象向用户提供改进的视觉反馈(例如,提供第一虚拟对象与三维环境之间的改进的视觉对比度)。提供改进的反馈增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,显示包括第一多个可选控件的第一虚拟对象包括:根据确定三维环境对应于第一应用程序的环境,包括第一多个可选控件中对应于第一应用程序的第一组可选控件;并且根据确定三维环境对应于与第一应用程序不同的第二应用程序的环境,包括第一多个可选控件中对应于第二应用程序的第二组可选控件,第二组可选控件不同于对应于第一应用程序的第一组可选控件。在一些实施方案中,根据当前显示的应用程序(例如,第一虚拟对象的多个可选控件包括与当前显示的第一应用程序交互或控制当前显示的第一应用程序的命令。不同的应用程序将使得具有不同的一组可选控件的第一虚拟对象被显示)的预定义特性(例如,身份(例如,应用程序A相对于应用程序B)、应用程序类型(例如,提供交互式三维环境的应用程序相对于提供媒体消费环境的应用程序)等)来选择包括在虚拟对象中的可选控件。在一些实施方案中,第一虚拟对象仅显示***级可选控件,并且第一虚拟对象中示出的可选控件不取决于当前显示的应用程序而改变。在一些实施方案中,使用不同的手部姿势和/或移动来触发应用程序环境中的应用程序专用菜单或***菜单的显示。根据确定三维环境对应于第一应用程序的环境而包括对应于第一应用程序的第一组可选控件,以及根据确定三维环境对应于不同于第一应用程序的第二应用程序的环境而包括不同于第一组的第二组可选控件在已经满足一组条件时显示适当的一组可选控件,而不需要进一步的用户输入(例如,为特定应用程序选择正确的一组可选控件的进一步的用户输入)。在无需进一步的用户输入的情况下已满足一组条件时执行操作增强了设备的可操作性,这又通过使用户能够更快速并有效地使用设备而减少了电力使用并且改善了设备的电池寿命。
在一些实施方案中,三维环境包括第一应用程序的混合现实环境。当在三维环境的至少一部分的第一视图内(例如,在包括在三维环境中的混合现实环境的至少一部分的视图内)显示第一虚拟对象时,计算机***检测到第一手部的第三移动。响应于检测到第一手部的第三移动并且根据确定第一手部的第三移动满足用于退出第一应用程序的预设标准(例如,对应于解除第一虚拟对象的请求的特殊手部构型或手部的移动),计算机***停止显示第一虚拟对象和三维环境的至少一部分的第一视图,并且显示物理环境的视图和包括用于激活不同应用程序的相应可选控件的主菜单(例如,主菜单显示于对应于物理环境中的物理表面(例如,墙、冰箱门等)的定位的位置处)。响应于检测到第一手部的第三移动满足用于退出第一应用的预设标准,停止显示第一虚拟对象和第一视图以及显示物理环境的视图和主菜单减少了退出应用程序以及显示物理环境的视图和主菜单所需的输入的数量(例如,用户不需要执行单独的输入来退出应用程序、显示物理环境的视图以及显示主菜单)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
应当理解,对图9中的操作进行描述的具体次序仅仅是示例,并非旨在表明所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当注意,本文相对于本文所述的其他方法(例如,方法8000、10000、11000、12000和13000)所述的其他过程的细节同样以类似的方式适用于上文相对于图9所述的方法9000。例如,以上参考方法9000描述的手势、注视输入、物理对象、用户界面对象、控件、移动、标准、三维环境、显示生成部件、表面、物理对象的表示、虚拟对象和/或动画任选地具有本文参考本文所述的其他方法(例如,方法8000、10000、11000、12000,和13000)所述的手势、注视输入、物理对象、用户界面对象、控件、移动、标准、三维环境、显示生成部件、表面、物理对象的表示、虚拟对象和/或动画的特性中的一个或多个特性。为了简明起见,此处不再重复这些细节。
图10是根据一些实施方案的基于物理环境的预设部分是否在视场内而在三维环境中在对应于物理环境的预设部分的位置处显示虚拟菜单的方法的流程图。
在一些实施方案中,方法10000在计算机***(例如,图1中的计算机***101)处执行,该计算机***包括显示生成部件(例如,图1、图3和图4中的显示生成部件120)(例如,平视显示器、显示器、触摸屏、投影仪等)和一个或多个相机(例如,向下指向用户的手部的相机(例如,颜色传感器、红外传感器和其他深度感测相机)或从用户头部向前指向的相机)。在一些实施方案中,方法10000通过存储在非暂态计算机可读存储介质中并由计算机***的一个或多个处理器诸如计算机***101的一个或多个处理器202(例如,图1中的控制单元110)执行的指令来管理。方法10000中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
在一些实施方案中,方法10000在与显示生成部件(例如,图1、图3和图4中的显示生成部件120、显示生成部件7100等)(例如,平视显示器、HMD、显示器、触摸屏、投影仪等)和一个或多个输入设备(例如,相机、控制器、触敏表面、操纵杆、按钮等)通信的计算机***(例如,图1中的计算机***101)处执行。
计算机***接收(10002)经由显示生成部件显示对应于显示生成部件(例如,图7M和图7N中的显示生成部件7100)的视场中的物理环境的三维环境(例如,图7M至图7N中示出的三维环境7108)的视图的请求。在一些实施方案中,物理环境的相应部分(例如,诸如墙、地板或桌子的表面)已经与虚拟菜单(例如,主屏幕、应用程序启动器等)相关联作为虚拟菜单的主定位,或者物理环境的任何部分尚未被建立作为虚拟菜单的主定位。在一些实施方案中,该请求是将显示生成部件置于用户的眼睛前方、开启显示生成部件或将显示生成部件从低功率状态、锁定状态、屏幕锁定状态、睡眠状态等唤醒的用户输入。在一些实施方案中,在计算机***接收到显示三维环境的视图的请求时,计算机***不显示三维环境的视图。在一些实施方案中,在请求显示物理环境的透传视图时,没有大量虚拟元素与物理环境的透传视图同时显示。在一些实施方案中,响应于对显示三维环境的视图的请求,用虚拟内容来扩充物理环境的透传视图。响应于检测(10004)到显示三维环境的视图的请求:根据确定物理环境的预设第一部分(例如,诸如墙、地板或桌子等的表面)与虚拟菜单(例如,图7N中的虚拟菜单7352)(例如,主屏幕、应用程序启动器等)相关联并且显示生成部件的视场(以及任选地捕获物理环境的一个或多个相机的视场)包括物理环境的预设第一部分,计算机***在三维环境中对应于物理环境的预设第一部分的位置处显示(10006)虚拟菜单(例如,如图7N中所示);并且根据确定物理环境的预设第一部分与虚拟菜单相关联并且显示生成部件的视场(以及任选地捕获物理环境的一个或多个相机的视场)不包括物理环境的预设第一部分,计算机***放弃(10008)在三维环境的视图中显示虚拟菜单(例如,如图7M中所示,在三维环境7108的视图中不显示虚拟菜单7352)。
在一些实施方案中,响应于接收到显示三维环境的视图的请求:根据确定显示生成部件的视场(以及任选地捕获物理环境的一个或多个相机的视场)包括物理环境的预设第一部分,计算机***经由显示生成部件显示对应于包括物理环境的预设第一部分的物理环境的相应部分的三维环境的第一视图(例如,增强现实环境或物理环境的透传视图);并且根据确定显示生成部件的视场(以及任选地捕获物理环境的一个或多个相机的视场)不包括物理环境的预设第一部分,计算机***经由显示生成部件显示三维环境的第二视图(例如,增强现实环境或物理环境的透传视图),该第二视图对应于物理环境的不包括物理环境的预设第一部分的相应部分(例如,物理环境的在显示生成部件的视场中与物理环境的第一预设部分不同时可见的部分)。在一些实施方案中,在对应于包括物理环境的预设第一部分的物理环境的一部分的三维环境的第一视图中显示虚拟菜单之后(例如,在对应于物理环境的预设第一部分的位置处显示虚拟菜单之后),设备任选地显示三维环境的第二不同视图,其中三维环境的第二视图不包括物理环境的预设第一部分的表示,并且不包括虚拟菜单(例如,响应于一个或多个相机和物理环境的第一相对移动(例如,用户转动他/她的头部来看物理环境的不同部分)而显示三维环境的第二视图,并且由于第一相对移动,物理环境的预设第一部分在一个或多个相机的视场之外)。在一些实施方案中,在显示三维环境的第二视图之后,任选地,响应于一个或多个相机相对于物理环境的附加移动,设备显示三维环境的第三视图,其中当物理环境的预设第一部分由于附加移动而在一个或多个相机的视场内时,三维环境的第三视图再次包括物理环境的一部分的表示,该物理环境的一部分包括物理环境的预设第一部分(例如,从不同的视角)以及在对应于物理环境的预设第一部分的位置处显示的虚拟菜单。根据确定显示生成部件的视场不包括物理环境的预设第一部分来显示对应于包括物理环境的预设第一部分的物理环境的相应部分的三维环境的第一视图,以及根据确定显示生成部件的视场不包括物理环境的预设第一部分来显示对应于不包括物理环境的预设第一部分的物理环境的相应部分的三维环境的第二视图在已经满足一组条件时显示三维环境的适当视图,而不需要进一步的用户输入(例如,选择三维环境的第一或第二视图的进一步的用户输入)。在无需进一步的用户输入的情况下已满足一组条件时执行操作增强了设备的可操作性,这又通过使用户能够更快速并有效地使用设备而减少了电力使用并且改善了设备的电池寿命。
在一些实施方案中,接收经由显示生成部件显示三维环境的视图的请求包括检测到显示生成部件被置于相对于用户的预设空间关系中。例如,当显示生成部件是HMD时,检测到请求包括检测到HMD被放置在用户的头上,或者被保持在用户的眼睛的前方等;当显示生成部件是平视显示器时,检测到请求包括检测到用户站在或坐在平视显示器的显示侧前方;当显示生成部件是触摸屏显示器时,检测到请求包括检测到显示器被抬起到用户的眼睛高度并面向用户等。在一些实施方案中,计算***在显示三维环境的视图之前需要满足其他条件,诸如显示生成部件的充电水平和开/关状态等。响应于检测到显示生成部件被置于相对于用户的预设空间关系中而显示三维环境的视图提供了附加控件选项,而不使用附加显示的控件(例如,用于显示三维环境的视图的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,在接收到用于显示对应于显示生成部件的视场中的物理环境的三维环境的视图的请求之前,根据确定虚拟菜单当前不与显示生成部件的视场中的物理环境相关联(例如,物理环境是计算***的新环境),计算机***显示在显示生成部件的视场内的物理环境的相应部分的表示,同时显示对应于在物理环境的相应部分中检测到的一个或多个物理表面(例如,桌面、墙、窗户等)的位置处的视觉指示(例如,视觉指示包括轮廓、金属丝网、诸如在物理表面被识别的物理环境的表示的部分处的闪烁、增加的半透明度、变暗等的视觉效果)。在一些实施方案中,计算***激活允许用户选择虚拟菜单的放置定位的配置模式,使得在下一次用户通过显示生成部件查看物理环境时,仍然可以在相同的放置定位处看到虚拟菜单。在一些实施方案中,计算***除了显示在物理环境中检测到的物理表面的视觉指示之外,还提供提示用户选择虚拟菜单的放置定位的视觉和/或音频输出。在一些实施方案中,计算***在对应于对于虚拟菜单足够大和/或平面的物理表面中的一些物理表面的位置处选择性地显示视觉指示,并且放弃显示对于不满足菜单布局的大小、取向和/或平坦度要求的检测到的物理表面的视觉指示。在一些实施方案中,在物理环境的部分中的表面被选择为将充当虚拟菜单的主定位的物理环境的预设第一部分之后,计算***停止显示视觉指示,同时保持物理环境的部分的表示的显示(例如,现在覆盖有虚拟菜单)。与对应于在物理环境的相应部分中检测到的一个或多个物理表面的位置处的视觉指示同时地显示在视场内的物理环境的相应部分的表示向用户提供了改进的视觉反馈(例如,关于由计算机***在显示生成部件的视场中检测到的表面的改进的视觉反馈)。提供改进的反馈增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,当经由显示生成部件显示物理环境的相应部分的表示时(例如,利用检测到的物理表面的视觉指示)(例如,在虚拟菜单与物理环境的相应部分内的物理环境的预设第一部分或物理环境的任何其他部分相关联之前),计算机***通过一个或多个输入设备检测满足第一标准(例如,菜单布局标准)的第一输入,其中第一标准至少包括当第一输入包括指向物理环境的相应部分中的第一表面的选择输入时满足的第一标准,以及当第一输入包括对应于建立虚拟菜单的主定位的请求的配置输入时满足的第二标准(例如,主屏幕、包括多个虚拟菜单选项的跳板或应用程序开始菜单(例如,当被激活时使用计算机***开始对应的应用程序或计算机生成的体验的应用程序开始图标)),以便满足第一标准。在一些实施方案中,第一标准包括当第一输入包括满足预设稳定性和持续时间标准同时指向物理环境的相应部分的表示中的可接受目标表面的表示的用户注视输入(例如,指向物理环境中的平面物理表面并且保持静止达至少阈值时间量的用户注视输入)时满足的第一标准,并且第一标准包括当结合第一手势类型的手势检测到用户注视输入(例如,空中轻击输入、手部的一个部分在手部的另一部分上的轻击输入、手指点击输入等)时满足的第二标准。响应于检测到满足第一标准的第一输入,计算机***在物理环境的相应部分的表示中的对应于第一表面在物理环境的相应部分中的位置的第一位置处显示虚拟菜单(例如,虚拟菜单选项看起来以预设布置(例如,网格、行等)覆盖第一表面),其中第一表面与虚拟菜单相关联作为物理环境的预设第一部分,该预设第一部分充当物理环境(例如,当前在显示生成部件的视场中的物理环境)中的虚拟菜单的主定位。举例来说,图7K至图7L中示出了用于建立虚拟菜单的主定位的过程。
响应于检测到包括指向物理环境的相应部分中的第一表面的选择输入的第一输入,在物理环境的相应部分的表示中的第一位置处显示虚拟菜单减少了与虚拟菜单交互所需的输入的数量(例如,用户不需要执行附加输入来移动或重新显示虚拟菜单),其中第一表面与虚拟菜单相关联作为物理环境的预设第一部分,该预设第一部分用作物理环境中的虚拟菜单的主定位。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,当在对应于物理环境的预设第一部分的三维环境中的相应位置处显示虚拟菜单时,计算机***通过一个或多个输入设备检测满足第二标准(例如,菜单选项选择标准)的第二输入,其中第二标准至少包括当第二输入包括指向虚拟菜单的相应菜单项的选择输入时满足的第三标准,以及当第二输入包括对应于激活虚拟菜单中的所选菜单项的请求的激活输入以便满足第二标准时满足的第四标准。在一些实施方案中,三维环境中的对应于物理环境的预设第一部分的相应位置包括对应于已被选择为虚拟菜单的主定位的第一表面的定位的相应位置。在一些实施方案中,虚拟菜单被显示在三维环境中的相应位置处,同时虚拟菜单在主定位的选择之后立即被显示,或者在主定位已经被移出显示生成部件的视场并且再次回到视场中之后被显示,或者在显示生成部件被关闭并且然后再次被开启之后被显示,或者在显示生成部件被从相对于用户的预设物理关系移除并且返回到相对于用户的预设物理关系之后被显示等。在一些实施方案中,第二标准包括当第二输入包括满足预设稳定性和持续时间标准同时指向虚拟菜单中的相应菜单项的用户注视输入时满足的第三标准,并且第二标准包括当结合第二手势类型的手势(例如,空中轻击输入、手部的一部分在手部的另一部分上的轻击输入、手指点击输入、轻弹输入等)检测到用户注视输入时满足的第四标准。在一些实施方案中,用于将虚拟菜单放置在所选择的主定位处的配置输入的第一手势类型和用于激活所选菜单项的激活输入的第二手势类型是同一类型的手势输入。在一些实施方案中,使用其他类型的输入来选择并提交该选择(例如,选择并提交到所选择的主定位、选择并提交到所选择的菜单选项等)。在一些实施方案中,使用不同类型的手势输入来选择并提交到虚拟菜单的主定位,并且在将菜单放置在主定位处之后选择并提交到虚拟菜单中的菜单项。响应于检测到满足第二标准的第二输入,计算机***选择虚拟菜单中的相应菜单项(例如,并且在三维环境的视图中对应于用户手部在物理环境中的定位的位置处显示相应菜单项的弹出)。
响应于检测到包括指向虚拟菜单的相应菜单项的选择输入和对应于激活虚拟菜单中的选定菜单项的请求的激活输入的第二输入而选择虚拟菜单中的相应菜单项提供了附加控件选项,而不使用附加显示的控件(例如,用于在菜单项之间导航的附加显示的控件选项、用于选择菜单项的附加显示的控件选项等)来混乱用户界面。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,物理环境的预设第一部分包括基本上平坦的物理表面。在一些实施方案中,被建立为虚拟菜单的主定位的物理环境的预设第一部分包括检测到的物理环境中的房间的平面(例如,地板、墙、窗户等)、房间中的对象的平面(例如,桌子、橱柜、工作台面等)、设备的平面(例如,冰箱、微波炉、炉灶、洗衣机、电视等的侧面)等。在一些实施方案中,物理环境的预设第一部分包括基本上垂直于物理环境的基本上水平的地平面的平面。在一些实施方案中,物理环境的预设第一部分包括基本上平行于物理环境的基本上水平的地平面的平面。在物理环境的相应部分中对应于基本上平面的物理表面的定位的第一位置处显示虚拟菜单减少了与虚拟菜单交互所需的输入的数量(例如,用户不需要执行附加输入来移动或重新显示虚拟菜单)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,当在三维环境的视图中对应于物理环境的预设第一部分的定位的相应位置处显示虚拟菜单时,计算机***通过一个或多个输入设备检测满足第三标准(例如,重新配置标准)的第三输入,其中第三输入将物理环境的预设第二部分识别为虚拟菜单的新主定位(例如,物理环境中的第二表面(例如,在显示生成部件的视场中展示的物理环境的与第一表面相同的部分中,或在物理环境的与第一表面不同的部分中))。在一些实施方案中,用于改变虚拟菜单的主定位的第三标准不同于用于在新物理环境中建立虚拟菜单的主定位的第一标准,并且不同于用于激活在该虚拟菜单的主定位处显示的该虚拟菜单中的菜单项的第二标准。在一些实施方案中,第三标准至少包括当第三输入包括指向虚拟菜单的重新配置输入(例如,结合预定手势输入(例如,捏合和拖拽输入)指向虚拟菜单的用户注视输入)、随后指向物理环境的相应部分中的第二表面或物理环境的不同部分的选择输入(例如,用户可通过在已检测到重新配置输入并且虚拟菜单已从对应于物理环境的第一预设部分的位置移开之后相对于物理环境移动显示生成部件而将物理环境的不同部分带入显示生成部件的视场中)时满足的第五标准,以及当第三输入包括对应于在新选择的主定位处建立虚拟菜单的主定位的请求的承诺输入(例如,建立新主定位的配置输入)时满足的第六标准。在一些实施方案中,当在三维环境的视图中对应于物理环境的预设第一部分的定位的相应位置处并且响应于检测到满足第三标准的第三输入而显示虚拟菜单时,计算机***在三维环境的视图中对应于物理环境的预设第二部分(例如,物理环境的相应部分中的第二表面,或显示生成部件的视场中当前展示的物理环境的不同部分)的定位处的相应位置处显示虚拟菜单(例如,虚拟菜单选项看起来以预设布置(例如,网格、行等)覆盖第二表面)。
响应于检测到将物理环境的预设第二部分识别为虚拟菜单的新主定位的第三输入,在三维环境的视图中对应于物理环境的预设第二部分的定位的相应位置处显示虚拟菜单提供附加控件选项,而不使用附加显示的控件(例如,用于识别新主定位或用于移动虚拟菜单的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,响应于检测到显示三维环境的视图的请求,并且根据确定包括显示生成部件的视场内的一个或多个部分以及显示生成部件的视场外的一个或多个部分的物理环境不与虚拟菜单相关联(例如,物理环境是计算***的新环境(例如,新房间、新房子等)),计算机***(例如,自动地或响应于用户输入而)激活配置模式(例如,识别并视觉指示新物理环境中的多个新表面,以及接收用户输入以从新物理环境中的所识别表面中指定虚拟菜单的主定位)。根据确定物理环境不与虚拟菜单相关联来激活配置模式提供了附加控件选项,而不使用附加显示的控件(例如,用于激活配置模式或用于将新的表面标识为主定位的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,虚拟菜单包括对应于不同应用程序或计算机生成的体验(例如,增强现实体验、虚拟现实体验等)的多个应用程序图标,其中相应的应用程序图标在根据预设激活标准被激活时在三维环境中开始相应的应用程序或相应的计算机生成的体验。显示包括对应于不同应用程序或计算机生成的体验的多个应用程序图标的虚拟菜单减少了开始期望的应用程序或计算机生成的体验所需的输入的数量(例如,用户不需要在用于应用程序和计算机生成的体验的分开的菜单之间导航)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,多个应用程序图标包括根据确定满足第一上下文标准的第一组应用程序和计算机生成的体验的相应应用程序图标,并且多个应用程序图标包括根据确定满足第二上下文标准的第二组应用程序和计算机生成的体验的相应应用程序图标,第一组应用程序和计算机生成的体验不同于第二组应用程序和计算机生成的体验,并且第一上下文标准不同于第二上下文标准。例如,在一些实施方案中,除了一个或多个默认应用程序之外,计算***还在虚拟菜单中显示最近使用或推荐的应用程序(例如,基于当前时间、用户身份、最近***事件等根据上下文选择的应用程序)和体验的应用程序图标。根据确定第一上下文标准被满足来显示包括第一组应用程序和计算机生成的体验的相应应用程序图标的虚拟菜单,以及根据确定第二上下文标准被满足来显示与第一组应用程序和计算机生成的体验不同的第二组应用程序和计算机生成的体验在已经满足一组条件时显示适当的一组应用程序和计算机生成的体验,而不需要进一步的用户输入(例如,选择第一或第二组应用程序和计算机生成的体验的进一步的用户输入)。在无需进一步的用户输入的情况下已满足一组条件时执行操作增强了设备的可操作性,这又通过使用户能够更快速并有效地使用设备而减少了电力使用并且改善了设备的电池寿命。
在一些实施方案中,虚拟菜单包括对应于被配置为在多个用户之间共享的相应计算机生成的体验的相应应用程序图标(例如,以支持虚拟现实体验中的共存、支持加入的在线通信会话等),并且显示虚拟菜单包括显示具有对应共存指示的相应计算机生成的体验,其中对应共存指示包括可用于参与相应计算机生成的体验的一个或多个用户(例如,附近的用户和/或彼此已知的用户)的表示(例如,姓名、化身、标识符等)(例如,当前沉浸在相应体验中,和/或在计算***的用户请求时使该用户自身可用于加入相应体验)。显示包括对应于被配置为在多个用户之间共享的相应计算机生成的体验的相应应用程序图标的虚拟菜单以及包括可用于参与相应计算机生成的体验中的相应体验的一个或多个用户的表示的对应共存指示向用户提供了改进的视觉反馈(例如,关于参与相应计算机生成的体验的其他用户的可用性)。提供改进的反馈增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,菜单包括对应于第一应用程序或计算机生成的体验的第一应用程序图标。当在对应于物理环境的预设第一部分的三维环境中的相应位置处显示虚拟菜单时,计算机***通过一个或多个输入设备检测满足第四标准(例如,应用程序启动标准)(例如,结合空中轻击输入或手部的一个部分在手部的另一部分上的轻击输入等指向第一应用程序图标的用户注视输入)的第四输入,其中第四标准至少包括当第四输入包括指向虚拟菜单中的第一应用程序图标的选择输入以便满足第四标准时满足的第七标准。响应于检测到满足第四标准的第四输入,计算机***在对应于物理环境的预设第一部分的相应位置处的三维环境的视图中保持虚拟菜单的显示,并且计算机***在对应于物理环境中的手部(例如,提供第四输入的至少一部分的用户手部(例如,执行空中轻击输入的手或轻击输入(例如,通过手部的一个或多个手指在同一只手的另一部分上的一次或多次轻击等)、用户手部的手掌等)的定位的相应位置处的三维环境的视图中显示与第一应用程序图标相关联的第一应用程序或计算机生成的体验。在一些实施方案中,提供触发第一应用程序或体验的显示的第四输入的一部分的手部转向面向对应于三维环境的视图的视点(例如,转向面向用户),并且计算***在对应于用户的手掌的位置处呈现的窗口中显示第一应用程序的用户界面和/或第一体验的有限预览。
在对应于物理环境的预设第一部分的相应位置处保持三维环境的虚拟菜单的显示,以及在对应于物理环境中的手部的定位的相应位置处在三维环境的视图中显示与第一应用程序图标相关联的第一应用程序或计算机生成的体验减少了与虚拟菜单交互所需的输入的数量(例如,用户不需要解除、移动或最小化与虚拟菜单交互的第一应用程序或计算机生成的体验的显示)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,当在对应于手部在物理环境中的定位的相应位置处显示第一应用程序或计算机生成的体验时,计算机***通过一个或多个输入设备检测满足第五标准(例如,应用程序沉浸标准)的第五输入,其中第五标准至少包括当第五输入包括手部在物理环境中在第一方向上的移动以便满足第五标准时满足的第八标准。根据确定第五输入满足第五标准,计算机***在三维环境中以三维扩展第一应用程序或计算机生成的体验的显示(例如,启动第一应用程序的沉浸式视图)。在一些实施方案中,第五标准具有第一方向标准(例如,要求整个手部向上移动,或手指(例如,拇指、食指等)相对于手部的其他部分(例如,另一手指、手掌、手部的侧面等)的移动等)、第一速度标准(例如,要求手部移动的速度超过第一阈值速度等)、要求手部移动在对应于输入设备的位置的定位处开始并朝向虚拟菜单的定位移动的定位标准,和/或第一时间标准(例如,要求手部移动保持至少阈值时间量等)以防止意外地启动应用程序。
根据确定第五输入包括手部在物理环境中在第一方向上的移动在三维环境中以三维扩展第一应用程序或计算机生成的体验的显示提供了附加控件选项,而不使用附加显示的控件(例如,用于扩展第一应用程序或计算机生成的体验的显示的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
应当理解,对图10中的操作进行描述的具体次序仅仅是示例,并非旨在表明所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当注意,本文相对于本文所述的其他方法(例如,方法8000、9000、11000、12000和13000)所述的其他过程的细节同样以类似的方式适用于上文相对于图10所述的方法10000。例如,以上参考方法10000描述的手势、注视输入、物理对象、用户界面对象、控件、移动、标准、三维环境、显示生成部件、表面、物理对象的表示、虚拟对象和/或动画任选地具有本文参考本文所述的其他方法(例如,方法8000、9000、11000、12000,和13000)所述的手势、注视输入、物理对象、用户界面对象、控件、移动、标准、三维环境、显示生成部件、表面、物理对象的表示、虚拟对象和/或动画的特性中的一个或多个特性。为了简明起见,此处不再重复这些细节。
图11是根据一些实施方案的显示包括与在三维环境中的对象处或附近的控件对象的初始位置相距不同距离处的对象相关联的一个或多个控件的控件对象的方法的流程图,该显示取决于对象是否被用户输入选择和/或指向对象或该对象相关联的控件对象的用户注视是否已经移动远离对应于该对象及其相关联的控件对象的区域。
在一些实施方案中,方法11000在计算机***(例如,图1中的计算机***101)处执行,该计算机***包括显示生成部件(例如,图1、图3和图4中的显示生成部件120)(例如,平视显示器、显示器、触摸屏、投影仪等)和一个或多个相机(例如,向下指向用户的手部的相机(例如,颜色传感器、红外传感器和其他深度感测相机)或从用户头部向前指向的相机)。在一些实施方案中,方法11000通过存储在非暂态计算机可读存储介质中并由计算机***的一个或多个处理器诸如计算机***101的一个或多个处理器202(例如,图1中的控制单元110)执行的指令来管理。方法11000中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
在一些实施方案中,方法11000在与显示生成部件(例如,图1、图3和图4中的显示生成部件120、显示生成部件7100等)(例如,平视显示器、HMD、显示器、触摸屏、投影仪等)和一个或多个输入设备(例如,相机、控制器、触敏表面、操纵杆、按钮等)通信的计算机***(例如,图1中的计算机***101)处执行。
在一些方法11000中,计算机***经由显示生成部件将第一对象(例如,表示7366'、物理对象7366、表示7368'、物理对象7368、虚拟对象等)(例如,虚拟对象或物理对象的表示)显示(11002)在三维环境(例如,图7O中的环境7110或另一环境)(例如,虚拟环境、增强现实环境的视图,该增强现实环境包括如通过显示生成部件的透传部分看到的或在计算机***的一个或多个相机的视场中捕获到的物理环境的表示)的至少一部分的视图中的第一位置(例如,显示位置)处,其中第一位置对应于三维环境中的第一定位。当注视(例如,图7P中的注视输入7386、图7R中的注视输入7390等)指向三维环境中的第一定位时(例如,当用户注视输入被保持在第一对象上时(例如,当第一对象被显示在第一位置处时,用户注视指向三维环境的视图中的第一位置,并且当第一对象被显示在不同位置处时,由于相机或用户相对于物理环境的移动,用户注视指向三维环境的视图中的不同位置)),计算机***在三维环境的至少一部分的视图中的第二位置处显示(11004)至少第一控件,其中第一控件在被激活时执行对应于第一对象的第一操作,并且其中第二位置对应于三维环境中的远离第一定位第一距离的第二定位(例如,图7P和图7T中的控件7372、控件7374、控件7378、控件7380等被显示在远离图7O中所示的该控件各自的原始定位的位置处)(例如,第一控件是与第一对象相关联的菜单的一部分,并且第一控件和/或菜单响应于指向第一对象的较早选择输入(例如,指向第一对象的轻击输入、指向第一对象的用户注视输入结合用手部的一部分在手部的另一部分上的轻击输入等)而在第二位置处显示)。当在三维环境的至少一部分的视图中的第二位置处显示至少第一控件时,计算机***检测(11006)到用户注视远离三维环境的视图中的第一定位的移动(例如,如图7S和图7T中所示,注视7392已经移动远离对应于控件对象7370和对象7366'的区域)。响应于检测到用户注视远离三维环境的视图中的第一定位的移动,根据确定用户注视已经移动到三维环境的对应于第一对象和第一控件的区域之外(例如,任选地,检测到用户注视远离第一对象移动至少阈值时间量;并且用户注视没有朝向或到达第一控件(或与第一对象相关联并且包括第一控件的菜单)任选地持续至少阈值时间量),计算机***将至少第一控件从第二位置移动(11008)到三维环境的至少一部分的视图中的第三位置,其中第三位置对应于三维环境中与第一定位相距小于第一距离的第二距离的第三定位(例如,第一控件是与第一对象相关联的菜单的一部分,并且第一控件和/或菜单响应于用户注视移动远离第一对象和第一控件和/或菜单而朝向第一对象并远离用户移动返回)。这在图7S和图7T中示出,其中在用户注视移动远离对应于控件对象7370和表示7366'的区域之后,控件对象7370朝向其在表示7366'处或附近的原始位置移动返回。
在一些实施方案中,在三维环境的至少一部分的视图中的第二位置处显示至少第一控件之前(例如,在检测到将第一对象的选择状态从未选择状态改变为已选择状态的输入之前,并且在比第一定位更靠近用户的第二定位处显示第一控件和/或包含第一控件的菜单之前),计算机***在三维环境的至少一部分的视图中的第四位置处显示至少第一控件(任选地,在第四位置处显示的第一控件仅仅是控件的表示并且可被激活以用于执行第一操作),其中第四位置对应于三维环境中与第一定位相距小于第一距离的第三距离的第四定位(例如,第三距离小于第二距离或等于第二距离等)。在一些实施方案中,第三距离是零,其中第一控件和/或包含第一控件的菜单看起来显示在第一对象的表面上。在一些实施方案中,第一距离是小的非零距离,其中第一控件和/或包含第一控件的菜单看起来稍微悬浮在第一对象的表面上方。在一些实施方案中,响应于检测到将第一对象的选择状态从未选择状态改变为已选择状态的输入,计算机***在三维环境的对应于第二定位的至少一部分的视图中的第二位置处显示第一控件和/或包含第一控件的菜单(例如,第一控件和/或包含第一控件的菜单从其在第一对象上或附近的原始定位朝向用户)。在第二位置处显示至少第一控件之前,在对应于三维环境中与第一定位相距小于第一距离的第三距离的第四定位的第四位置处显示至少第一控件向用户提供了改进的视觉反馈(例如,第一控件是可激活的)。提供改进的反馈增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,在三维环境的至少一部分的视图中的第二位置处显示至少第一控件之前,计算机***检测到对应于选择第一对象的请求的输入(例如,如图7P中所示),其中响应于检测到对应于选择第一对象的请求的输入,执行在三维环境的至少一部分的视图中的第二位置处显示至少第一控件。在一些实施方案中,在检测到对应于选择第一对象的请求的输入之前,不在三维环境中显示第一控件或该第一控件的表示。在一些实施方案中,第一控件或其表示在三维环境中被显示在三维环境的视图中对应于三维环境中的第一对象的表面或附近的位置处。响应于检测到对应于选择第一对象的请求的输入而在三维环境的至少一部分的视图中的第二位置处显示至少第一控件减少了与第一控件交互所需的输入的数量(例如,用户不需要执行附加输入来在选择第一对象之后移动或重新显示第一控件)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,对应于选择第一对象的请求的输入包括检测到手部在物理环境中对应于第一对象在三维环境中的定位的相应定位(例如,三维环境中的第一对象中的第一定位,或在第一对象被移动到第一定位之前第一对象的较早定位(例如,第一对象被抓取并更靠近用户或更靠近当前显示的视图的视点等))处移动到预定义姿势。在一些实施方案中,第一对象是虚拟对象,并且手部移动到预定义姿势中包括拇指和手部的一个或多个其他手指在物理环境中对应于虚拟对象在三维环境中的虚拟位置的定位处从打开姿势闭合到闭合姿势。在一些实施方案中,第一对象是物理对象,并且手部移动到预定义姿势中包括拇指和手部的一个或多个其他手指在物理环境中的第一对象的定位处从打开姿势闭合到闭合姿势从而抓取物理对象。在一些实施方案中,当手部移动到预定义姿势中时,在对应于第一对象在三维环境中的定位的位置处,经由显示生成部件在三维环境的视图中显示手部的表示。
响应于检测到对应于选择第一对象的请求并且包括检测到手部在物理环境中的对应于第一对象在三维环境中的定位的相应定位处移动到预定义姿势中的输入,在三维环境的至少一部分的视图中的第二位置处显示至少第一控件减少了与第一控件交互所需的输入的数量(例如,用户不需要执行附加输入来在选择第一对象之后移动或重新显示第一控件)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,对应于选择第一对象的请求的输入包括结合在第一控件显示在三维环境的视图中的第二位置处之前(例如,当第一控件显示在第一对象的表面的位置处或附近时(例如,第一对象的第一位置,或第一对象在第一对象被移动到第一位置之前的较早位置(例如,第一对象处于运动中或正被抓取并朝向用户或朝向当前显示的视图的视点更近地移动等)))用户注视指向第一控件在三维环境中的相应定位(例如,与此同时、在该用户注视的阈值时间窗口内等),检测手部的第一预定义部分相对于手部的第二预定义部分进行预定义移动(例如,拇指轻击食指的侧面、拇指的指尖触摸食指的指尖、食指围绕将食指连接到手部的手掌的关节旋转等)。在一些实施方案中,第一对象是虚拟对象,并且进行预定义移动的手部位于物理环境中对应于三维环境中与第一对象的定位分离的虚拟定位的定位处。在一些实施方案中,第一对象是物理对象,并且进行预定义移动的手部在物理环境中远离第一对象定位。在一些实施方案中,当手部执行预定义移动时,不经由显示生成部件在三维环境的视图中显示手部的表示。
响应于检测到对应于选择第一对象的请求并且包括结合在第一控件显示在三维环境的视图中的第二位置处之前用户注视指向第一控件在三维环境中的相应定位而检测到手部的第一预定义部分相对于手部的第二预定义部分进行预定义移动的输入,在三维环境的至少一部分的视图中的第二位置处显示至少第一控件减少了与第一控件交互所需的输入的数量(例如,用户不需要执行附加输入来在选择第一对象之后移动或重新显示第一控件)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,响应于检测到用户注视远离三维环境的视图中的第一定位的移动,并且根据确定用户注视已经远离三维环境的对应于第一对象和第一控件的区域移动至少阈值距离(例如,检测到用户注视远离第一对象足够远地移动任选地持续至少阈值时间量;和/或用户注视已经远离第一控件足够远地移动(或与第一对象相关联并且包括第一控件的菜单)任选地持续至少阈值时间量等),计算机***将至少第一控件(例如,第一控件和/或包括第一控件和至少一个其他控件的虚拟菜单等)从三维环境的至少一部分的视图中的第三位置移动到三维环境的至少一部分的视图中的第四位置(任选地,在第四位置处显示的第一控件仅仅是控件的表示并且可被激活以用于执行第一操作),其中第四位置对应于三维环境中与第一定位相距小于第一距离的第三距离(例如,第三距离小于第二距离或等于第二距离等)的第四位置。在一些实施方案中,第三距离是零,其中第一控件和/或包含第一控件的菜单看起来显示在第一对象的表面上。在一些实施方案中,第一距离是小的非零距离,其中第一控件和/或包含第一控件的菜单看起来稍微悬浮在第一对象的表面上方。在一些实施方案中,响应于检测到将第一对象的选择状态从未选择状态改变为已选择状态的输入,计算机***在三维环境的对应于第二定位的至少一部分的视图中的第二位置处显示第一控件和/或包含第一控件的菜单(例如,第一控件和/或包含第一控件的菜单从其在第一对象上或附近的原始定位朝向用户)。在一些实施方案中,响应于检测到用户注视足够远离第一对象和/或第一控件或与第一对象相关联的菜单移动,第一控件和/或虚拟菜单快速跳回到第一对象上或附近的原始定位。在一些实施方案中,第一控件朝向第一对象(例如,第一位置)移动的速度比第一控件从第二位置移动到第三位置的速度快。即,当用户注视已经移动远离包括第一定位和第二定位的区域达至少阈值距离时,第一控件移动的速度突然增加以类似于“快速跳回”运动。在一些实施方案中,连接第二位置与第三位置的路径和连接第三位置与第四位置的线不对齐。即,当用户注视已经移动远离第一定位和/或第二定位达至少阈值距离时,第一控件开始在不同方向上移动(例如,返回到第一位置处的第一对象)。响应于检测到注视远离三维环境的视图中的第一定位的移动,将至少第一控件从第三位置移动到对应于三维环境中的第四定位的第四位置而不需要进一步的用户输入(例如,在用户注视远离第一定位移动之前或之后将第一控件移动到第四位置的进一步的用户输入),其中第四位置是远离第一位置的第三距离,该第三距离小于第一距离。在无需进一步的用户输入的情况下已满足一组条件时执行操作增强了设备的可操作性,这又通过使用户能够更快速并有效地使用设备而减少了电力使用并且改善了设备的电池寿命。
在一些实施方案中,结合将至少第一控件(例如,第一控件和/或包括第一控件和至少一个其他控件的虚拟菜单等)从三维环境的至少一部分的视图中的第三位置移动到三维环境的至少一部分的视图中的第四位置,计算机***在三维环境的至少一部分的视图中改变第一控件的一个或多个显示属性(例如,渐变、缩小等第一控件或包含第一控件的菜单等)。在一些实施方案中,第一控件的一个或多个显示属性的改变幅度(例如,渐变或缩小量)对应于第一控件与第一对象之间的当前距离的改变量。在一些实施方案中,当第一控件到达第四位置时,第一控件恢复到其先前处于未选择状态时的外观。
结合将至少第一控件从第三位置移动到第四位置来改变三维环境的至少一部分的视图中的第一控件的一个或多个显示属性向用户提供了改进的视觉反馈(例如,计算机***已经检测到用户注视远离第一定位的移动并且第一控件正从第三位置移动到第四位置的改进的视觉反馈)。提供改进的反馈增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,在将至少第一控件移动到三维环境的至少一部分的视图中的第三位置之后,计算机***检测用户注视朝向三维环境中的第一定位返回的移动,并且响应于检测到用户注视朝向三维环境中的第一定位的移动,计算机***将至少第一控件朝向三维环境的至少一部分的视图中的第二位置移动。在一些实施方案中,当用户注视返回到第一定位或第二定位时,第一控件返回到第二位置,并且该第一控件的原始外观在第二位置处。在一些实施方案中,第一控件朝向第二位置移动的速度是基于用户注视朝向第一定位移动的速度)。响应于检测到注视朝向三维环境中的第一定位的移动而朝向三维环境的至少一部分的视图中的第二位置移动至少第一控件,并且在将至少第一控件移动到三维环境的至少一部分的视图中的第三位置之后,在已经满足一组条件时朝向第二位置移动第一控件,而不需要进一步的用户输入(例如,在用户注视朝向第一定位移动返回之后朝向第二位置移动第一控件的进一步的用户输入)。在无需进一步的用户输入的情况下已满足一组条件时执行操作增强了设备的可操作性,这又通过使用户能够更快速并有效地使用设备而减少了电力使用并且改善了设备的电池寿命。
在一些实施方案中,当在三维环境的至少一部分的视图中在第二位置或第三位置处(并且任选地,在第一控件从第二位置到第三位置的移动期间)显示至少第一控件时,计算机***显示将至少第一控件连接到三维环境的至少一部分的视图中的第一对象的视觉连接(例如,系链对象7382、7384、7396、7398等)(例如,虚线、虚拟橡皮筋等)(例如,当第一对象和/或第一控件在三维环境中移动时,视觉连接相应地重新定向、扩展和/或缩小,使得第一对象和至少第一控件保持连接)。在三维环境的至少一部分的视图中显示将至少第一控件连接到第一对象的视觉连接,同时在三维环境的至少一部分的视图中的第二位置或第三位置处显示至少第一控件向用户提供了改进的视觉反馈(例如,第一控件与第一对象相关联的改进的视觉反馈)。提供改进的反馈增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,显示至少第一控件包括显示包括第一控件和不同于第一控件的一个或多个第二控件的用户界面对象(例如,虚拟控件面板、菜单、控件用户界面等),其中一个或多个第二控件的相应控件在被激活时使得执行不同于第一操作的相应操作(例如,第一控件和第二控件对应于与第一对象相关联的控件功能)。在一些实施方案中,移动至少第一控件包括一起移动包括第一控件和一个或多个第二控件的用户界面对象。在一些实施方案中,移动至少第一控件包括相对于用户界面对象中的一个或多个第二控件移动第一控件(例如,而不移动整个菜单和/或不移动第二控件等)。显示包括第一控件和不同于第一控件的一个或多个第二控件的用户界面对象,其中一个或多个第二控件的相应控件在被激活时使得执行不同于第一操作的相应操作,减少了激活第一或第二控件所需的输入的数量(例如,用户不需要执行附加输入来导航到或显示第二控件)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,在三维环境的至少一部分的视图中的第二位置(和第四位置)处显示至少第一控件之前,计算机***接收对应于在对应于三维环境中的第一对象的第一定位的相应位置处显示至少第一控件的请求的一个或多个用户输入(例如,相应位置是第四位置、第一对象的表面处或附近的初始位置等)。响应于检测到对应于在对应于三维环境中的第一对象的第一定位的相应位置处显示至少第一控件的请求的一个或多个用户输入,计算机***在对应于三维环境中的第一对象的第一定位的相应位置处显示至少第一控件(例如,相应位置是第四位置、在第一对象的表面处或附近的初始位置等),其中至少第一控件响应于第一对象的选择(例如,响应于用户虚拟地或在真实世界中抓取第一对象、响应于用户注视指向第一对象等)而移动到三维环境的至少一部分的视图中的第二位置。
响应于检测到对应于在对应于三维环境中的第一对象的第一定位的相应位置处显示至少第一控件的请求的一个或多个用户输入而在对应于三维环境中的第一对象的第一定位的相应位置处显示至少第一控件,以及响应于第一对象的选择而在三维环境的至少该部分的视图中将第一控件移动到第二位置减少了在期望位置处显示第一控件所需的输入的数量(例如,用户可以在选择第一对象之前按期望定位第一控件,并且在选择第一对象之后不需要移动第一控件)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,在三维环境的至少一部分的视图中将至少第一控件从第二位置移动到第三位置包括:根据用户注视远离三维环境的视图中的第一定位的移动的第一组特性(例如,移动方向、移动速度和/或移动幅度(例如,距离)等)(例如,将用户注视远离第一对象和第一控件移动),与检测用户注视远离第一定位的移动同时,用对应于第一组特性的第二组特性在三维环境的至少一部分的视图中移动至少第一控件。在一些实施方案中,至少第一控件的移动方向、至少第一控件的移动速度对应于用户注视的移动速度。在一些实施方案中,至少第一控件的移动幅度对应于用户注视的移动的方向、用户注视的移动速度和/或用户注视的移动幅度。在一些实施方案中,如果用户注视在离开第一定位之后返回到第一定位,则计算机***将至少第一控件移动回到三维环境的至少一部分的视图中的第二位置(例如,将至少第一控件移动回到三维环境中的第二定位)。
在三维环境的视图中以对应于注视远离第一定位的移动的第一组特性的第二组特性在三维环境的至少一部分的视图中移动至少第一控件在已经满足一组条件时移动第一控件,而不需要进一步的用户输入(例如,以第二组特性移动第一控件的进一步的用户输入)。在无需进一步的用户输入的情况下已满足一组条件时执行操作增强了设备的可操作性,这又通过使用户能够更快速并有效地使用设备而减少了电力使用并且改善了设备的电池寿命。
应当理解,对图11中的操作进行描述的具体次序仅仅是示例,并非旨在表明所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当注意,本文相对于本文所述的其他方法(例如,方法8000、9000、10000、12000和13000)所述的其他过程的细节同样以类似的方式适用于上文相对于图11所述的方法13000。例如,以上参考方法11000描述的手势、注视输入、物理对象、用户界面对象、控件、移动、标准、三维环境、显示生成部件、表面、物理对象的表示、虚拟对象和/或动画任选地具有本文参考本文所述的其他方法(例如,方法8000、9000、10000、12000,和13000)所述的手势、注视输入、物理对象、用户界面对象、控件、移动、标准、三维环境、显示生成部件、表面、物理对象的表示、虚拟对象和/或动画的特性中的一个或多个特性。为了简明起见,此处不再重复这些细节。
图12A至图12B是根据一些实施方案的在转变为响应于附加输入而显示计算机生成的体验之前响应于与对象的第一次交互而显示计算机生成的体验的三维预览的方法的流程图。
在一些实施方案中,方法12000在计算机***(例如,图1中的计算机***101)处执行,该计算机***包括显示生成部件(例如,图1、图3和图4中的显示生成部件120)(例如,平视显示器、显示器、触摸屏、投影仪等)和一个或多个相机(例如,向下指向用户的手部的相机(例如,颜色传感器、红外传感器和其他深度感测相机)或从用户头部向前指向的相机)。在一些实施方案中,方法12000通过存储在非暂态计算机可读存储介质中并由计算机***的一个或多个处理器诸如计算机***101的一个或多个处理器202(例如,图1中的控制单元110)执行的指令来管理。方法12000中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
在一些实施方案中,方法12000在与显示生成部件(例如,图1、图3和图4中的显示生成部件120、显示生成部件7100等)(例如,平视显示器、HMD、显示器、触摸屏、投影仪等)和一个或多个输入设备(例如,相机、控制器、触敏表面、操纵杆、按钮等)通信的计算机***(例如,图1中的计算机***101)处执行。
在方法12000中,计算机***经由显示生成部件显示(12002)三维环境(例如,图7V中的环境7112或另一环境等)(例如,虚拟环境、增强现实环境)的第一部分的视图以及对应于第一计算机生成的体验(例如,第一应用程序或第一沉浸式媒体内容)的至少第一可选虚拟对象(例如,图7V中的虚拟对象7404、表示7400'等)(例如,第一图标或三维对象)。当显示三维环境的第一部分的视图时,计算机***通过一个或多个输入设备检测(12004)到满足第一标准(例如,用于在用户注视输入指向第一虚拟对象时检测到手部的向上轻扫输入的标准)的指向第一虚拟对象的第一输入(例如,如图7W中所示,根据预设标准,用户输入是与对象7400、表示7400'或虚拟对象7404的交互)。响应于检测到去往指向满足第一标准的第一虚拟对象的第一输入,计算机***开始(12006)第一计算机生成的体验的预览(例如,预览7412,或另一预览等),其中第一计算机生成的体验的预览的空间范围包括三维环境的第一部分的视图内的第一计算机生成的体验的预览的第一部分(例如,如图7W中所示)以及三维环境的第一部分的视图外的第一计算机生成的体验的预览的至少第二部分(例如,如图7X中所示)。
当在三维环境的第一部分的视图内显示第一计算机生成的体验的预览的第一部分(并且不显示在三维环境的第一部分的视图之外的第一计算机生成的体验的预览的第二部分)时,计算机***检测(12008)到计算机***的至少一部分(例如,计算机***的一个或多个相机的移动)与计算机***的该部分周围的物理环境的至少一部分(例如,用户在佩戴HMD的同时转动他/她的头部或在空间中移动,和/或用户相对于物理环境中的显示生成部件移动他/她的头部等)的相对移动(例如,计算机***的一个或多个相机与相机周围的物理环境的相对移动)。响应于检测(12010)到计算机***的一部分与物理环境的至少一部分的相对移动,计算机***根据计算机***的至少一部分与物理环境的至少一部分的相对移动(例如,计算机***的一个或多个相机与相机周围的物理环境的相对移动)来显示(12012)三维环境的第二部分的视图(例如,三维环境的第二部分紧邻三维环境的第一部分)。任选地,计算机停止显示在检测到计算机***的部分的移动之前所显示的三维环境的视图的至少一部分。响应于检测(12010)到计算机***的一部分与物理环境的至少一部分的相对移动,计算机***在三维环境的第二部分的视图中显示(12014)第一计算机生成的体验的预览的第二部分,在检测到计算机***的至少一部分与物理环境的至少一部分的相对移动之前没有显示预览的第二部分(并且任选地,停止在三维环境的视图中显示第一计算机生成的体验的预览的第一部分的至少一个子集)。这在图7W至图7X中示出,其中响应于显示生成部件7100相对于物理环境的移动来显示三维环境7112的不同部分和三维环境7116的不同部分。在一些实施方案中,第一计算机生成的体验的预览的第二部分在三维环境的视图内占据与第一计算机生成的体验的预览的第一部分相同或基本上相同的空间范围。当显示第一计算机生成的体验的预览的至少一部分时(例如,在显示预览的第一部分、预览的第二部分,或包括来自预览的第一和第二部分的内容的子集的预览的第三部分等时),计算机***检测(12016)到满足第二标准的第二输入(例如,在用户的用户注视指向预览时检测到的轻击输入、预定义激活姿势、语音命令等)(例如,如图7Y中所示,满足第二标准的输入是与对象7400、表示7400'或预览7412等的交互)。响应于检测到满足第二标准的第二输入,计算机***显示(12018)第一计算机生成的体验的视图(例如,显示环境7116),该视图占据比第一计算机生成的体验的预览所占据的三维环境(例如,环境7112或另一环境)的视图更大的空间范围(例如,通过扩展第一计算机生成的体验的预览和/或通过停止显示第一计算机生成的体验的预览并用第一计算机生成的体验的视图替换该预览)。
在一些实施方案中,指向满足第一标准的第一虚拟对象的第一输入包括手部在物理环境中的移动,并且第一标准要求手部在物理环境中的移动具有第一预定义方向(例如,向上方向、朝向第一虚拟对象和/或远离用户的方向等)以便满足第一标准。在一些实施方案中,第一标准要求手部的移动包括在用户注视输入指向第一虚拟对象时手部的第一预定义部分(例如,拇指、拇指尖等)相对于手部的第二预定义部分(例如,食指、中指等的侧面)在第一预定义方向上的移动。在一些实施方案中,由手部的拇指相对于同一只手的食指侧执行的向上和向前轻扫手势满足第一标准。在一些实施方案中,通过在拇指指向第一虚拟对象的大致方向时拇指与食指的相对移动来满足第一标准。在一些实施方案中,检测到指向第一虚拟对象的第一输入包括检测到用户手部与关联于第一计算机生成的体验的第一物理对象(例如,关联于与伪像有关的AR体验的伪像、具有相关联的增强游戏体验的玩具等)之间的物理交互,并且第一标准要求用户手部之间的物理接触而不引起第一物理对象的移动。在一些实施方案中,第一虚拟对象是与第一物理对象相关联并显示在三维环境中对应于第一物理对象在物理环境中的定位的定位处的第一计算机生成的体验的可用性的视觉指示符。在一些实施方案中,第一虚拟对象是图标(例如,文档图标、应用程序图标、内容的缩略图图像等),并且指向第一虚拟对象的第一输入是在用户注视输入指向图标时检测到的向上轻扫手势,或者指向第一虚拟对象的第一输入是在物理环境中对应于第一虚拟对象在三维环境内的位置的定位处检测到的轻扫手势。在一些实施方案中,第一标准包括第一方向标准(例如,要求手部的向上移动,或朝向第一虚拟对象的位置的移动等)、第一速度标准(例如,要求手部移动速度(或手部的至少预定义部分的移动速度)超过第一阈值速度等)、要求手部移动在对应于三维环境中的第一虚拟对象的定位的定位处开始、移动经过该定位或在该定位处结束的定位标准,和/或防止意外地开始第一计算机生成的体验的预览的第一时间标准(例如,要求手部移动保持至少阈值时间量等)等。
响应于检测到满足要求手部在物理环境中的移动具有第一预定义方向的第一标准的第一输入而开始对第一计算机生成的体验的预览提供了附加控件选项,而不使用附加显示的控件(例如,用于开始对第一计算机生成的体验的预览的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,响应于检测到计算机***的一部分与物理环境的至少一部分的相对移动,计算机***根据计算机***的至少一部分与物理环境的至少一部分的相对移动(例如,计算机***的一个或多个相机与相机周围的物理环境的相对移动)连续地更新对应于三维环境的视图的第一视点。在一些实施方案中,计算机***任选地显示包括对应于当前第一视点的三维环境的相应部分的连续视图序列。在一些实施方案中,响应于检测到计算机***的一部分与物理环境的至少一部分的相对移动,计算机***根据计算机***的至少一部分与物理环境的至少一部分的相对移动(例如,计算机***的一个或多个相机与相机周围的物理环境的相对移动)连续地更新对应于三维环境的(当前显示的)视图内的第一计算机生成的体验的预览的第二视点。在一些实施方案中,任选地,计算机***显示包括对应于当前第二视点的预览的相应部分的连续视图序列。根据计算机***的至少一部分与物理环境的至少一部分的相对移动来连续地更新对应于三维环境的视图的第一视点以及任选地更新对应于三维环境的当前显示的视图内的第一计算机生成的体验的预览的第二视点提供了附加控件选项,而不使用附加显示的控件(例如,用于显示三维环境的视图的不同部分或第一计算机生成的体验的预览的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,指向满足第二标准的第一虚拟对象的第二输入包括手部在物理环境中的预定义移动,并且第二标准要求手部在物理环境中的移动具有小于第一预定义持续时间以便满足第二标准。在一些实施方案中,第二标准要求手部的移动包括在用户注视输入指向预览时手部的第一预定义部分(例如,拇指、拇指尖等)在手部的第二预定义部分(例如,食指、中指等的侧面)上的轻击。在一些实施方案中,由手部的拇指相对于同一只手的食指侧执行的向下轻击手势满足第二标准。在一些实施方案中,当显示预览时,由食指在拇指上的轻击手势满足第二标准。在一些实施方案中,检测到指向第一虚拟对象的第二输入包括检测到用户手部与关联于第一计算机生成的体验的第一物理对象(例如,关联于与伪像有关的AR体验的伪像、具有相关联的增强游戏体验的玩具等)之间的物理交互,并且第二标准要求用户手部之间的物理接触引起第一物理对象的移动以便满足第二标准。在一些实施方案中,第一虚拟对象是图标(例如,文档图标、应用程序图标、内容的缩略图图像等),并且指向第一虚拟对象的第一输入是在用户注视输入指向图标时检测到的向上轻扫手势,或者指向第一虚拟对象的第一输入是在物理环境中对应于第一虚拟对象在三维环境内的位置的定位处检测到的轻扫手势。在一些实施方案中,预览是进入三维世界的窗口或入口,并且第二输入是在用户注视输入指向窗口或入口时检测到的轻击输入,或者第二输入是在用户注视指向窗口或入口时手部的另一向上轻扫手势。在一些实施方案中,第二标准包括第二方向标准(例如,要求手部的向下移动,或手部的第一部分相对于手部的另一部分的向下和向上移动等)、第二速度标准(例如,要求手部移动速度(或手部的至少预定义部分的移动速度)超过第二阈值速度等)、要求手部移动在对应于三维环境中的预览的定位的定位处开始、移动经过该定位或在该定位处结束的定位标准,和/或第二时间标准(例如,要求手部移动保持小于阈值时间量等)等。
响应于检测到满足要求手部在物理环境中的移动具有小于第一预定义持续时间的第二标准的第二输入,显示占据三维环境的视图的比第一计算机生成的体验的预览所占据的空间范围更大的空间范围的第一计算机生成的体验的视图提供了附加控件选项,而不会用附加显示的控件(例如,用于显示第一计算机生成的体验的视图的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,第一计算机生成的体验的预览包括在对应于对应三维环境(例如,与在预览的显示之前示出的相同三维环境、与在预览的显示之前示出的三维环境不同的三维环境等)中的相应定位的位置处显示的虚拟内容。开始包括在对应于对应三维环境中的相应定位的位置处显示的虚拟内容的第一计算机生成的体验的预览减少了在适当定位处显示虚拟内容所需的输入的数量(例如,用户不需要执行附加输入来将虚拟内容移动到不同定位以更好地观看)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,在显示第一计算机生成的体验的视图时,计算机***检测到满足第三标准(例如,用于检测关闭、退出和/或暂停第一计算机生成的体验的请求的标准等)的第三输入。响应于检测到满足第三标准的第三输入,计算机***停止第一计算机生成的体验的视图的显示,并且计算机***在三维环境的视图内重新显示预览。在一些实施方案中,计算机***将第一计算机生成的体验的空间范围缩小到预览的先前空间范围。在一些实施方案中,第一计算机生成的体验的当前显示的内容至少部分地保留在预览中。在一些实施方案中,在预览中重新显示原始预览内容。响应于检测到满足第三标准的第三输入,停止第一计算机生成的体验的视图的显示并重新显示第一计算机生成的体验的预览减少了重新显示预览所需的输入的数量(例如,用户不需要执行用于停止第一计算机生成的体验的视图的显示和用于重新显示预览的单独输入)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,第一计算机生成的体验包括对应于第一回放持续时间的第一三维内容序列,并且第一计算机生成的体验的预览包括对应于比第一回放持续时间短的第二回放持续时间的第二三维内容序列。例如,在一些实施方案中,第一计算机生成的体验是全长三维电影,并且预览是全长三维电影的编录版本或三维电影的预告片。在一些实施方案中,第一计算机生成的体验是电子游戏,并且预览是电子游戏的交互式试用级、游戏特征的自动演示等。开始包括对应于第二回放持续时间的第二三维内容序列的第一计算机生成的体验的预览向用户提供了改进的视觉反馈(例如,经由更短的回放持续时间,第二三维内容序列对应的改进的视觉反馈是预览),该第二回放持续时间短于对应于包括在第一计算机生成的体验中的第一三维内容序列的第一回放持续时间。提供改进的反馈增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,第一计算机生成的体验的预览的空间范围小于第一计算机生成的体验的空间范围。在一些实施方案中,第一应用程序/第一计算机生成的体验完全围绕用户(例如,填充三维环境),并且第一计算机生成的体验的预览仅部分围绕用户。开始第一计算机生成的体验的预览(其中第一计算机生成的体验的预览的空间范围小于第一计算机生成的体验的空间范围)向用户提供了改进的视觉反馈(例如,经由较小空间范围,用户正在查看第一计算机生成的体验的预览而不是完整的第一计算机生成的体验的改进的视觉反馈)。提供改进的反馈增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
应当理解,对图12A至图12B中的操作进行描述的具体次序仅仅是示例性的,并非旨在表明所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当注意,本文相对于本文所述的其他方法(例如,方法8000、9000、10000、11000和13000)所述的其他过程的细节同样以类似的方式适用于上文相对于图12A至图12B所述的方法12000。例如,以上参考方法12000描述的手势、注视输入、物理对象、用户界面对象、控件、移动、标准、三维环境、显示生成部件、表面、物理对象的表示、虚拟对象和/或动画任选地具有本文参考本文所述的其他方法(例如,方法8000、9000、10000、11000,和13000)所述的手势、注视输入、物理对象、用户界面对象、控件、移动、标准、三维环境、显示生成部件、表面、物理对象的表示、虚拟对象和/或动画的特性中的一个或多个特性。为了简明起见,此处不再重复这些细节。
图13是根据一些实施方案的在三维环境中在相对于电子设备的表示具有预定空间关系的位置处显示通知的表示的方法的流程图。
在一些实施方案中,方法13000在计算机***(例如,图1中的计算机***101)处执行,该计算机***包括显示生成部件(例如,图1、图3和图4中的显示生成部件120)(例如,平视显示器、显示器、触摸屏、投影仪等)和一个或多个相机(例如,向下指向用户的手部的相机(例如,颜色传感器、红外传感器和其他深度感测相机)或从用户头部向前指向的相机)。在一些实施方案中,方法13000通过存储在非暂态计算机可读存储介质中并由计算机***的一个或多个处理器诸如计算机***101的一个或多个处理器202(例如,图1中的控制单元110)执行的指令来管理。方法13000中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
在一些实施方案中,方法13000在与显示生成部件(例如,图1、图3和图4中的显示生成部件120、显示生成部件7100等)(例如,平视显示器、HMD、显示器、触摸屏、投影仪等)和一个或多个输入设备(例如,相机、控制器、触敏表面、操纵杆、按钮等)通信的计算机***(例如,图1中的计算机***101)处执行。
在方法13000中,计算机***通过显示生成部件显示(13002)三维环境(例如,图7AB中的环境7118或另一三维环境等)(例如,虚拟环境或增强现实环境)的至少一部分的视图以及三维环境的至少一部分的视图中的位置处的电子设备的表示(例如,电子设备7432的表示7432'或另一表示等),该位置是基于电子设备(例如,图7AA中的电子设备7432)在对应于三维环境的物理环境(例如,图7AA中的场景105)中的定位(例如,电子设备在桌子上、在架子上、在床上、在人的手中、在人的手腕上,或在用户的手掌上等)来确定的。在一些实施方案中,电子设备是具有非沉浸式显示环境(例如,计算机***的触摸屏)的计算机***,该非沉浸式显示环境提供对多个不同应用程序的访问并且在非沉浸式显示环境中显示针对那些不同应用程序的通知。在一些实施方案中,计算机***是物理手持电子设备,当手持电子设备响应于预定触发事件生成或接收通知时,该物理手持电子设备在触摸屏上显示小弹出通知。在一些实施方案中,计算机***的表示被显示在三维环境的视图中对应于计算机***在物理环境中的物理定位的位置处(例如,在用户的头部、用户手部中,或桌面上等)。当显示包括电子设备的表示的三维环境(例如,虚拟环境或增强现实环境)的至少一部分的视图时,计算机***接收(13004)在电子设备处已经生成通知的指示(例如,响应于预定事件的发生)(例如,电子设备任选地传输并且计算机***接收在电子设备处已经生成或接收通知的指示)。例如,如图7AA中所示,在电子设备7432处接收通知,并且电子设备7432向计算机***发送指示。响应于接收到指示,计算机***在三维环境的至少一部分的视图内显示(13006)通知的第一表示,包括:54.根据确定电子设备位于物理环境中的第一定位处,在三维环境的该部分中的第一位置处显示(13008)通知的第一表示(例如,包括通知的内容中的一些或全部),其中第一位置被选择为具有相对于电子设备的表示的预定定位(例如,通知被显示在计算机***的表示上方或之上,和/或在计算机***的表示的第一邻近范围内);并且根据确定电子设备位于物理环境中不同于第一定位的第二定位处,在三维环境的部分中的不同于第一位置的第二位置处显示(13010)通知的第一表示(例如,包括通知的内容中的一些或全部),其中第二位置被选择为具有相对于电子设备的表示的预定定位(例如,通知被显示在计算机***的表示上方或之上,和/或在计算机***的表示的第一邻近范围内)。在一些实施方案中,通知的第一表示包括虚拟对象(例如,横幅或弹出覆盖图),该虚拟对象包括将已经显示或显示在电子设备的屏幕上的通知的内容(例如,文本的模糊和/或通信或事件的缩略图以及对应的应用程序图标)。在一些实施方案中,通知的第一表示任选地在大小上大于电子设备的表示的宽度,并且因此将不适合在三维环境中所示的电子设备的屏幕内。在一些实施方案中,通知的第一表示任选地是将已经在电子设备上示出的通知的编辑版本(例如,第一表示仅示出应用程序图标或发送者的ID,而不示出消息或事件的内容)。
在一些实施方案中,当在三维环境的至少一部分的视图内显示通知的第一表示时,计算机***检测到包括手部在物理环境中的移动的相应用户输入,并且响应于检测到相应用户输入,计算机***根据相应输入执行关于通知的相应操作。响应于检测到包括手部在物理环境中的移动的相应用户输入并且根据相应用户输入来执行关于通知的相应操作提供了附加控件选项,而不使用附加显示的控件(例如,用于执行相应操作的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,根据相应输入执行关于通知的相应操作包括:根据确定相应用户输入满足第一标准(例如,通知清除标准),停止在三维环境的至少一部分的视图内显示通知的第一表示,其中第一标准要求手部在物理环境中的移动具有第一方向以便满足第一标准。在一些实施方案中,通知的第一表示在三维环境的至少一部分的视图中逐渐消失(或缩小到电子设备的表示中)。在一些实施方案中,结合停止在三维环境中显示通知的第一表示,计算机***向电子设备发送指令,该指令使得电子设备在电子设备上清除通知(例如,在电子设备的屏幕上清除通知,将通知存储在由电子设备保存的通知历史中,和/或从电子设备删除通知等)。在一些实施方案中,满足第一标准的相应用户输入包括用户手部的空中向下挥手(任选地结合指向三维环境中的通知的第一表示的用户注视输入)、在对应于三维环境中的通知的第一表示的位置的定位处的物理表面上的向下轻扫手势、在不是电子设备的搁置表面的附近物理表面(例如,桌面、用户的膝盖或用户的另一只手等)上的向下轻扫,或在不靠近电子设备的定位的定位(例如,用户手部附近的定位)处的附近物理表面上的向下轻扫等。在一些实施方案中,第一标准具有第一方向标准(例如,要求手部的向下移动或朝向电子设备的定位的移动等)、第一速度标准(例如,要求手部移动速度超过第一阈值速度等),和/或要求手部移动在对应于通知的第一表示的位置的定位处开始并且朝向电子设备的定位移动,或向下轻扫经过对应于通知的第一表示的位置的定位的定位标准等。
根据确定相应用户输入满足要求手部在物理环境中的移动具有第一方向的第一标准而停止显示通知的第一表示提供了附加控件选项,而不使用附加显示的控件(例如,用于停止显示通知的第一表示的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,根据相应输入执行关于通知的相应操作包括:根据确定相应用户输入满足第二标准(例如,通知扩展标准),其中第二标准要求手部在物理环境中的移动具有第二方向(例如,第二方向与第一方向相反)以便满足第二标准,显示(例如,用通知的第一表示替换通知的第一表示,或将第一表示的缩小版本留在电子设备的表示旁边)通知的第二表示(例如,通知的第二表示包括不同的字体大小并且显示通知的第一版本中示出的内容的放大版本),其中通知的第二表示包括通知的第一表示中示出的内容的扩展版本(例如,仅在大小上扩展(例如,增加文本和图形的大小),或者通过包括与通知的第一表示相比的附加文本或图形内容来扩展)。在一些实施方案中,满足第二标准的相应用户输入是用户手部的空中向上挥手(任选地结合指向三维环境中的通知的第一表示的用户注视输入)、在对应于三维环境中的通知的第一表示的位置的定位处的物理表面上的向上轻扫手势、在不是电子设备的搁置表面的附近物理表面(例如,桌面、用户的膝盖或用户的另一只手等)上的向上轻扫,或在不靠近电子设备的定位的定位(例如,用户手部附近的定位)处的附近物理表面上的向上轻扫等。在一些实施方案中,第二标准具有第二方向标准(例如,要求手部的向上移动,或相对于电子设备的取向在向上方向上的移动等)、第二速度标准(例如,要求手部移动速度超过第二阈值速度等),和/或要求手部移动在对应于通知的第一表示的位置下方的位置的定位处开始并且相对于电子设备的定位向上移动,或向上轻扫经过对应于通知的第一表示的位置的定位的定位标准等。
根据确定相应用户输入满足第二标准,显示包括在通知的第一表示中示出的内容的扩展版本的通知的第二表示从而要求手部在物理环境中在第二方向上移动提供了附加控件选项,而不使用附加显示的控件(例如,用于显示内容的扩展版本的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,显示通知的第二表示包括显示动画过渡,该动画过渡示出通过从三维环境中的第一位置(例如,该位置被选择为具有相对于电子设备的表示的预定定位)移动到第二位置(例如,用户的视场的中心)而在三维环境中变换成通知的第二表示的通知的第一表示。在一些实施方案中,在三维环境内从第一位置移动到第二位置包括移动得更靠近对应于三维环境的视图的视点(例如,通过移动得更靠近三维环境中的用户的眼睛(例如,移动到用户的视场的中心),通知的第一表示变得更大)。通过在三维环境中从第一位置移动到第二位置来显示示出通知的第一表示在三维环境中转变为通知的第二表示的动画过渡向用户提供了改进的视觉反馈(例如,用户手部的移动满足第二标准的改进的视觉反馈、计算机***正在显示内容的扩展版本的改进的视觉反馈等)。提供改进的反馈增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,显示通知的第二表示包括显示动画过渡,该动画过渡示出通知的第一表示通过在三维环境中空间扩展而变换成三维环境中通知的第二表示(例如,通知的第一表示通过均匀地按比例放大而变得更大)。显示示出通过在三维环境中空间扩展而变换成通知的第二表示的通知的第一表示的动画过渡向用户提供了改进的视觉反馈(例如,用户手部的移动满足第二标准的改进的视觉反馈、计算机***正在显示内容的扩展版本的改进的视觉反馈等)。提供改进的反馈增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,当在三维环境的至少一部分的视图内显示通知的第二表示时,计算机***检测到显示生成部件相对于物理环境的移动。响应于检测到显示生成部件相对于物理环境的移动(例如,由于佩戴HMD的用户的移动(例如,四处走动或转动他/她的头部)),计算机***根据显示生成部件相对于物理环境的移动来改变三维环境的视图,并且结合改变三维环境的视图,计算机***保持通知的第二表示相对于由显示生成部件提供的视场的位置。在一些实施方案中,当响应于用户输入而扩展通知时,通知的表示的位置与电子设备的定位分离,并且被移动以显示在显示生成部件的视场中的预定义位置处(例如,中心中)(例如,锁定到HMD的显示器),并且当用户随后在物理环境中移动显示生成部件时,三维环境的视图改变,但通知的表示保持在显示生成部件的视场的中心处(例如,仍显示在视图的中心处以及距对应于视图的视点的固定距离处)。
响应于检测到显示生成部件相对于物理环境的移动,结合保持通知的第二表示相对于由显示生成部件提供的视场的位置,根据显示生成部件相对于物理环境的移动来改变三维环境的视图减少了在期望定位处显示通知的第二表示所需的输入的数量(例如,用户不需要在显示生成部件每次移动时移动通知的第二表示)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,当在三维环境的至少一部分的视图内显示通知的第二表示时,计算机***检测电子设备相对于物理环境的移动(例如,由于电子设备的移动,或者由于电子设备所附接的用户身体的一部分(例如,用户的手臂、手腕或手部)的移动等)。响应于检测到电子设备相对于物理环境的移动,计算机***根据电子设备相对于物理环境的移动来改变电子设备的表示在三维环境的视图中的相应位置,并且结合改变电子设备的表示在三维环境的视图中的相应位置,计算机***保持通知的第二表示相对于由显示生成部件提供的视场的位置。例如,当响应于用户输入而扩展通知时,通知的表示的位置与电子设备的定位分离,并且被移动以显示在显示生成部件的视场中的预定义位置处(例如,在中心)(例如,锁定到HMD的显示器);并且当电子设备随后在物理环境中移动时,电子设备的表示的位置在三维环境的视图中改变,但是通知的表示保持在显示生成部件的视场的中心(例如,仍然显示在视图的中心处以及距对应于视图的视点的固定距离处)。
响应于检测到电子设备相对于物理环境的移动,结合保持通知的第二表示相对于由显示生成部件提供的视场的位置,根据电子设备相对于物理环境的移动来改变电子设备的表示在三维环境的视图中的相应位置减少了在期望定位处显示通知的第二表示所需的输入的数量(例如,用户不需要在电子设备每次移动时移动通知的第二表示)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,当在三维环境的至少一部分的视图内显示通知的第二表示(例如,通知的第一表示不再被显示,并且通知的第二表示未被锁定到电子设备的定位)时,计算机***检测电子设备在物理环境中的取向的改变(例如,物理世界中的电子设备从横向取向改变到纵向取向,或者反之亦然(例如,电子设备被用户手部旋转))。响应于检测到电子设备在物理环境中的取向的改变,计算机***保持通知的第二表示的显示(例如,在与电子设备的旋转之前相同的位置处),并且计算机***在预定位置处显示(例如,开始显示)第一虚拟键盘,其中预定位置对应于电子设备的定位(例如,在电子设备的表示旁边显示虚拟键盘,使得虚拟键盘在三维环境的至少一部分的视图中看起来附接到电子设备,或者用虚拟键盘替换电子设备的表示)。在一些实施方案中,在对应于具有触敏表面或触摸屏的电子设备的定位的位置处显示虚拟键盘,因此可比非触敏表面(诸如桌面或空中手势的定位)上的触摸输入更准确地确定用户触摸输入在触敏表面或触摸屏上的定位;并且基于触摸输入的定位,用户输入被更准确地映射到虚拟键盘上的虚拟键。
响应于检测到电子设备的取向的改变,保持通知的第二表示的显示并且此外在对应于电子设备的位置的预定位置处显示第一虚拟键盘减少了在适当定位处显示第一虚拟键盘所需的输入的数量(例如,用户不需要执行单独的输入来显示第一虚拟键盘,或者执行单独的输入来将第一虚拟键盘移动到易于交互的位置)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,根据相应输入执行关于通知的相应操作包括:根据确定相应用户输入满足第三标准(例如,通知-答复标准),其中第三标准要求手部在物理环境中的移动旋转电子设备(例如,电子设备从纵向取向旋转到横向取向,或从横向取向旋转到纵向取向)以便满足第三标准,从而显示具有通知的相应表示(例如,通知的第一表示或第二表示)的虚拟键盘。根据确定相应用户输入满足第三标准来显示具有通知的相应表示的虚拟键盘从而要求手部在物理环境中的移动使电子设备旋转提供了附加控件选项,而不使用附加显示的控件(例如,用于显示虚拟键盘的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,在三维环境的视图中对应于电子设备的定位的位置处显示虚拟键盘(例如,虚拟键盘替换三维环境的视图中的电子设备的表示)。在一些实施方案中,通知的第一表示被扩展成通知的第二表示,并且以相对于虚拟键盘的固定空间关系显示,或者显示在显示生成部件的视场的中心。在一些实施方案中,用户可在对应于虚拟键盘上的键的位置的定位处触摸电子设备的表面以键入针对通知中所表示的消息的回复消息。在三维环境的第一视图中对应于电子设备的定位的位置处显示虚拟键盘减少了在适当定位处显示虚拟键盘所需的输入的数量(例如,用户不需要执行附加输入来将虚拟键盘移动到易于交互的位置)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,虚拟键盘显示在三维环境的视图中对应于物理环境中除电子设备之外的物理对象(例如,用户手部附近的桌面、用户手部等)的定位的位置处。在一些实施方案中,通知的第一表示被扩展成通知的第二表示,并且以相对于虚拟键盘的固定空间关系显示,或者显示在显示生成部件的视场的中心。在一些实施方案中,用户可在对应于虚拟键盘上的键的定位的位置处触摸附近物理表面(例如,用户的膝盖或桌子)的表面以键入针对通知中所表示的消息的回复消息。在三维环境的第一视图中对应于物理对象(而非电子设备)的定位的位置处显示虚拟键盘减少了在适当定位处显示虚拟键盘所需的输入的数量(例如,用户不需要执行附加输入来将虚拟键盘移动到易于交互的位置)。减少执行操作所需的输入数量增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,根据相应输入执行关于通知的相应操作包括:根据确定相应用户输入满足第四标准(例如,通知自动播放标准),其中第四标准要求手部在物理环境中的移动抬起连接到手部的手腕(例如,如果电子设备是手表,则第四标准要求手部的移动抬起佩戴手表的手腕(例如,朝向用户的面部))以便满足第四标准,在三维环境中生成对应于通知的内容的音频输出(例如,回放文本消息的音频版本,或读出通知的文本内容、自动播放音频消息、自动播放附加在针对其生成通知的消息中的媒体文件、显示与通知相关联的电影(或该通知的预览)等)。根据确定相应用户输入满足第四标准,在三维环境中生成对应于通知的内容的音频输出从而要求用户手部在物理环境中的移动(包括抬起连接到手部的手腕)向用户提供了改进的音频反馈(例如,用户手部的移动满足第四标准的改进的音频反馈)。提供改进的反馈增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,为了满足第四标准,第四标准要求将手腕保持在抬起位置保持至少阈值时间量。例如,在一些实施方案中,在用户抬起手腕与播放消息之间存在时间延迟。例如,用户必须在消息开始播放之前举起手腕一段预定的时间,以防止当用户仅仅偶然移动他/她的手部时意外地播放消息。根据确定相应用户输入满足第四标准,在三维环境中生成对应于通知的内容的音频输出从而要求手部在物理环境中的移动包括抬起连接到手部的手腕并且手腕在抬起位置保持至少阈值时间量向用户提供了改进的音频反馈(例如,用户手部的移动满足第四标准的改进的音频反馈)。提供改进的反馈增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,第四标准要求结合用户手腕被抬起(例如,连同用户手部的移动)来检测用户注视输入,并且用户注视输入指向三维环境中的通知的第一表示。例如,在一些实施方案中,要求用户直接注视通知的第一/第二表示,同时抬起用户的手腕以触发通知的自动播放功能。在一些实施方案中,当通知是针对来自另一用户的消息时,对应于消息的发送方的动画角色(诸如虚拟化身(例如,人形,或非人形角色或化身等))显示为看起来说出与通知相关联的消息。根据确定相应用户输入满足要求结合用户手腕被抬起而检测到注视输入的第四标准,生成对应于三维环境中的通知的内容的音频输出向用户提供了改进的音频反馈(例如,用户手部的移动满足第四标准的改进的音频反馈)。提供改进的反馈增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
在一些实施方案中,在完成音频输出之后,计算机***检测到来自用户的语音输入,并且响应于检测到来自用户的语音输入,并且根据确定语音输入满足第六标准(例如,回复记录标准),计算机***将用户语音输入记录为对与通知相关联的消息的回复。在一些实施方案中,在化身结束说出与消息相关联的消息之后,当用户在看正在说话的化身(例如,人形或非人形角色或化身等)的同时说话时,将用户语音输入记录为答复发生。在一些实施方案中,如果动画角色先前已在播放与通知相关联的消息时显示,则检测用户语音输入并开始记录使得动画角色从三维环境的视图中消失。在消息的音频回放完成之后响应于检测到来自用户的语音输入而将用户语音输入记录为对与通知相关联的消息的回复提供了附加控件选项,而不使用附加显示的控件(例如,用于回复与通知相关联的消息的附加显示的控件)来混乱用户界面。提供附加控件选项但不会使具有附加显示的控件的用户界面混乱增强了设备的可操作性,这又通过使用户能够更快速且有效地使用设备而减少了电力使用并且延长了设备的电池寿命。
应当理解,对图13中的操作进行描述的具体次序仅仅是示例,并非旨在表明所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当注意,本文相对于本文所述的其他方法(例如,方法8000、9000、10000、11000和12000)所述的其他过程的细节同样以类似的方式适用于上文相对于图13所述的方法13000。例如,以上参考方法13000描述的手势、注视输入、物理对象、用户界面对象、控件、移动、标准、三维环境、显示生成部件、表面、物理对象的表示、虚拟对象和/或动画任选地具有本文参考本文所述的其他方法(例如,方法8000、9000、10000、11000,和12000)所述的手势、注视输入、物理对象、用户界面对象、控件、移动、标准、三维环境、显示生成部件、表面、物理对象的表示、虚拟对象和/或动画的特性中的一个或多个特性。为了简明起见,此处不再重复这些细节。
上文参考图8、图9、图10、图11、图12和图13的操作任选地由图1至图6所描绘的部件来实现。在一些实施方案中,方法8000、9000、10000、11000、12000和13000的方面/操作可在这些方法之间互换、替换和/或添加。为了简明起见,此处不再重复这些细节。
出于解释的目的,前面的描述是通过参考具体实施方案来描述的。然而,上面的例示性论述并非旨在是穷尽的或将本发明限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择和描述实施方案是为了最佳地阐明本发明的原理及其实际应用,以便由此使得本领域的其他技术人员能够最佳地使用具有适合于所构想的特定用途的各种修改的本发明以及各种所描述的实施方案。
Claims (14)
1.一种方法,所述方法包括:
在与显示生成部件和一个或多个输入设备通信的计算机***处:
经由所述显示生成部件显示三维环境的至少一部分的第一视图;
当正在显示所述三维环境的至少所述部分的所述第一视图时,检测第一手部的满足第一标准的第一移动;
响应于检测到所述第一手部的满足所述第一标准的所述第一移动,经由所述显示生成部件在所述三维环境的至少所述部分的所述第一视图中的第一位置处显示包括第一多个可选控件的第一虚拟对象,其中所述第一位置对应于所述第一手部在物理环境中的所述第一移动之后的定位;
当经由所述显示生成部件在所述第一位置处显示所述第一虚拟对象时,检测所述第一手部的第二移动;以及
响应于检测到所述第一手部的所述第二移动,根据相对于所述第一虚拟对象在所述三维环境的至少所述部分的所述第一视图中的位置的所述第一手部的所述第二移动,显示所述第一手部的表示在所述三维环境的至少所述部分的所述第一视图中的移动。
2.根据权利要求1所述的方法,包括:
在检测到所述第一手部的所述第二移动之后,并且当在所述三维环境的至少所述部分的所述第一视图中的所述第一位置处显示所述第一虚拟对象时,检测所述计算机***的至少第一部分的移动;以及
响应于检测到所述计算机***的至少所述第一部分的所述移动,根据所述计算机***的至少所述第一部分的所述移动来更新所述三维环境的至少所述部分的所述视图并移动所述三维环境的至少所述部分的所述视图中的所述第一虚拟对象。
3.根据权利要求1至2中任一项所述的方法,其中检测所述第一手部的所述第二移动包括检测由所述第一手部在所述物理环境中做出的轻扫手势,并且所述方法包括:
响应于检测到由所述第一手部做出的所述轻扫手势并且根据确定在所述轻扫手势期间所述第一手部处于第一构型,根据所述第一手部的所述第二移动将输入焦点从所述第一虚拟对象中的第一可选控件移动到所述第一虚拟对象中的不同于所述第一可选控件的第二可选控件。
4.根据权利要求1至2中任一项所述的方法,其中检测所述第一手部的所述第二移动包括检测由所述第一手部在所述物理环境中做出的轻扫手势,并且所述方法包括:
响应于检测到由所述第一手部做出的所述轻扫手势并且根据确定在所述轻扫手势期间所述第一手部处于第二构型,在检测由处于所述第二构型的所述第一手部做出的所述轻扫手势之前显示未包括在所述第一虚拟对象中的第二多个可选控件。
5.根据权利要求1至2中任一项所述的方法,其中检测所述第一手部的所述第二移动包括检测由所述第一手部做出的推动手势,并且所述方法包括:
响应于检测到由所述第一手部做出的所述推动手势并且根据确定所述推动手势满足激活标准,选择所述第一虚拟对象中的所述第一多个可选控件中的相应可选控件。
6.根据权利要求5所述的方法,包括:
响应于检测到由所述第一手部做出的所述推动手势,根据在所述推动手势期间所述第一手部的所述移动来移动所述三维环境的至少所述部分的所述第一视图中的所述第一虚拟对象。
7.根据权利要求1至2中任一项所述的方法,包括:
响应于检测到所述第一手部的所述第二移动:
根据确定所述第一手部的所述第二移动对应于将所述第一手部置于第三构型,执行关于所述第一虚拟对象的第一操作;并且
根据确定所述第一手部的所述第二移动对应于将所述第一手部置于不同于所述第三构型的第四构型,执行的关于所述第一虚拟对象不同于所述第一操作的第二操作。
8.根据权利要求1至2中任一项所述的方法,其中经由所述显示生成部件显示所述三维环境的至少所述部分的所述第一视图包括显示第一应用程序的混合现实环境,并且其中显示所述第一虚拟对象包括替换或阻挡所述第一应用程序的所述混合现实环境的至少一部分的视图。
9.根据权利要求1至2中任一项所述的方法,其中显示包括所述第一多个可选控件的所述第一虚拟对象包括:
根据确定所述三维环境对应于第一应用程序的环境,包括所述第一多个可选控件中对应于所述第一应用程序的第一组可选控件;以及
根据确定所述三维环境对应于不同于所述第一应用程序的第二应用程序的环境,包括所述第一多个可选控件中对应于所述第二应用程序的第二组可选控件,所述第二组可选控件不同于对应于所述第一应用程序的所述第一组可选控件。
10.根据权利要求1至2中任一项所述的方法,其中所述三维环境包括第一应用程序的混合现实环境,并且其中所述方法包括:
当在所述三维环境的至少所述部分的所述第一视图内显示所述第一虚拟对象时,检测所述第一手部的第三移动;以及
响应于检测到所述第一手部的所述第三移动并且根据确定所述第一手部的所述第三移动满足用于退出所述第一应用程序的预设标准,停止显示所述第一虚拟对象和所述三维环境的至少所述部分的所述第一视图;以及显示物理环境的视图和包括用于激活不同应用程序的相应可选控件的主菜单。
11.一种计算机***,所述计算机***包括:
显示生成部件;
一个或多个输入设备;
一个或多个处理器;以及
存储器,所述存储器存储一个或多个程序,其中所述一个或多个程序被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于进行以下操作的指令:
经由所述显示生成部件显示三维环境的至少一部分的第一视图;
当正在显示所述三维环境的至少所述部分的所述第一视图时,检测第一手部的满足第一标准的第一移动;
响应于检测到所述第一手部的满足所述第一标准的所述第一移动,经由所述显示生成部件在所述三维环境的至少所述部分的所述第一视图中的第一位置处显示包括第一多个可选控件的第一虚拟对象,其中所述第一位置对应于所述第一手部在物理环境中的所述第一移动之后的定位;
当经由所述显示生成部件在所述第一位置处显示所述第一虚拟对象时,检测所述第一手部的第二移动;以及
响应于检测到所述第一手部的所述第二移动,根据相对于所述第一虚拟对象在所述三维环境的至少所述部分的所述第一视图中的位置的所述第一手部的所述第二移动,显示所述第一手部的表示在所述三维环境的至少所述部分的所述第一视图中的移动。
12.如权利要求11所述的计算机***,其中,所述一个或多个程序包括用于进行如权利要求2-10中任一项所述的方法的指令。
13.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令在由包括显示生成部件和一个或多个输入设备的计算机***执行时使得所述计算机***:
经由所述显示生成部件显示三维环境的至少一部分的第一视图;
当正在显示所述三维环境的至少所述部分的所述第一视图时,检测第一手部的满足第一标准的第一移动;
响应于检测到所述第一手部的满足所述第一标准的所述第一移动,经由所述显示生成部件在所述三维环境的至少所述部分的所述第一视图中的第一位置处显示包括第一多个可选控件的第一虚拟对象,其中所述第一位置对应于所述第一手部在物理环境中的所述第一移动之后的定位;
当经由所述显示生成部件在所述第一位置处显示所述第一虚拟对象时,检测所述第一手部的第二移动;已经
响应于检测到所述第一手部的所述第二移动,根据相对于所述第一虚拟对象在所述三维环境的至少所述部分的所述第一视图中的位置的所述第一手部的所述第二移动,显示所述第一手部的表示在所述三维环境的至少所述部分的所述第一视图中的移动。
14.如权利要求13所述的计算机可读存储介质,其中,所述一个或多个程序包括用于进行如权利要求2-10中任一项所述的方法的指令。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063082354P | 2020-09-23 | 2020-09-23 | |
US63/082,354 | 2020-09-23 | ||
US17/481,187 | 2021-09-21 | ||
US17/481,187 US12032803B2 (en) | 2020-09-23 | 2021-09-21 | Devices, methods, and graphical user interfaces for interacting with three-dimensional environments |
PCT/US2021/051498 WO2022066728A1 (en) | 2020-09-23 | 2021-09-22 | Devices, methods, and graphical user interfaces for interacting with three-dimensional environments |
CN202180065147.7A CN116194868A (zh) | 2020-09-23 | 2021-09-22 | 用于与三维环境进行交互的设备、方法和图形用户界面 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180065147.7A Division CN116194868A (zh) | 2020-09-23 | 2021-09-22 | 用于与三维环境进行交互的设备、方法和图形用户界面 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117032519A true CN117032519A (zh) | 2023-11-10 |
Family
ID=80784519
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180065147.7A Pending CN116194868A (zh) | 2020-09-23 | 2021-09-22 | 用于与三维环境进行交互的设备、方法和图形用户界面 |
CN202310822033.3A Pending CN117032519A (zh) | 2020-09-23 | 2021-09-22 | 用于与三维环境进行交互的设备、方法和图形用户界面 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180065147.7A Pending CN116194868A (zh) | 2020-09-23 | 2021-09-22 | 用于与三维环境进行交互的设备、方法和图形用户界面 |
Country Status (4)
Country | Link |
---|---|
US (1) | US12032803B2 (zh) |
EP (1) | EP4193244A1 (zh) |
CN (2) | CN116194868A (zh) |
WO (1) | WO2022066728A1 (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020213088A1 (ja) * | 2019-04-17 | 2020-10-22 | 楽天株式会社 | 表示制御装置、表示制御方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体 |
US11227446B2 (en) | 2019-09-27 | 2022-01-18 | Apple Inc. | Systems, methods, and graphical user interfaces for modeling, measuring, and drawing using augmented reality |
US11995774B2 (en) * | 2020-06-29 | 2024-05-28 | Snap Inc. | Augmented reality experiences using speech and text captions |
US11227445B1 (en) | 2020-08-31 | 2022-01-18 | Facebook Technologies, Llc | Artificial reality augments and surfaces |
US11176755B1 (en) | 2020-08-31 | 2021-11-16 | Facebook Technologies, Llc | Artificial reality augments and surfaces |
US11562528B2 (en) | 2020-09-25 | 2023-01-24 | Apple Inc. | Devices, methods, and graphical user interfaces for interacting with three-dimensional environments |
US11113893B1 (en) * | 2020-11-17 | 2021-09-07 | Facebook Technologies, Llc | Artificial reality environment with glints displayed by an extra reality device |
US11409405B1 (en) | 2020-12-22 | 2022-08-09 | Facebook Technologies, Llc | Augment orchestration in an artificial reality environment |
US11954242B2 (en) | 2021-01-04 | 2024-04-09 | Apple Inc. | Devices, methods, and graphical user interfaces for interacting with three-dimensional environments |
JP2022150657A (ja) * | 2021-03-26 | 2022-10-07 | 富士フイルムビジネスイノベーション株式会社 | 制御装置、表示システム、および、プログラム |
JP2022163813A (ja) * | 2021-04-15 | 2022-10-27 | キヤノン株式会社 | 装着型の情報端末、その制御方法及びプログラム |
US11941764B2 (en) | 2021-04-18 | 2024-03-26 | Apple Inc. | Systems, methods, and graphical user interfaces for adding effects in augmented reality environments |
US11762952B2 (en) | 2021-06-28 | 2023-09-19 | Meta Platforms Technologies, Llc | Artificial reality application lifecycle |
US12008717B2 (en) | 2021-07-07 | 2024-06-11 | Meta Platforms Technologies, Llc | Artificial reality environment control through an artificial reality environment schema |
US20230045610A1 (en) * | 2021-08-03 | 2023-02-09 | Dell Products, L.P. | Eye contact correction in a communication or collaboration session using a platform framework |
US11748944B2 (en) | 2021-10-27 | 2023-09-05 | Meta Platforms Technologies, Llc | Virtual object structures and interrelationships |
US11798247B2 (en) | 2021-10-27 | 2023-10-24 | Meta Platforms Technologies, Llc | Virtual object structures and interrelationships |
US11836828B2 (en) * | 2021-10-29 | 2023-12-05 | Meta Platforms Technologies, Llc | Controlling interactions with virtual objects |
WO2023220071A2 (en) * | 2022-05-10 | 2023-11-16 | Apple Inc. | Systems, methods, and graphical user interfaces for scanning and modeling environments |
US12026527B2 (en) * | 2022-05-10 | 2024-07-02 | Meta Platforms Technologies, Llc | World-controlled and application-controlled augments in an artificial-reality environment |
US11531448B1 (en) * | 2022-06-01 | 2022-12-20 | VR-EDU, Inc. | Hand control interfaces and methods in virtual reality environments |
US12019773B2 (en) | 2022-08-31 | 2024-06-25 | Snap Inc. | Timelapse of generating a collaborative object |
US20240069643A1 (en) * | 2022-08-31 | 2024-02-29 | Youjean Cho | Physical gesture interaction with objects based on intuitive design |
WO2024064230A1 (en) * | 2022-09-24 | 2024-03-28 | Apple Inc. | Devices, methods, and graphical user interfaces for interacting with three-dimensional environments |
US11704014B1 (en) * | 2022-11-01 | 2023-07-18 | Dell Products L.P. | Supporting micro swipes for generating custom user interface responses |
US11947862B1 (en) | 2022-12-30 | 2024-04-02 | Meta Platforms Technologies, Llc | Streaming native application content to artificial reality devices |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002073246A (ja) | 2000-08-25 | 2002-03-12 | Minolta Co Ltd | 映像表示システム |
WO2010146684A1 (ja) | 2009-06-18 | 2010-12-23 | パイオニア株式会社 | 情報表示装置 |
JP5521621B2 (ja) | 2010-02-19 | 2014-06-18 | 日本電気株式会社 | 携帯端末、拡張現実システム、及び拡張現実情報表示方法 |
JP2012155655A (ja) | 2011-01-28 | 2012-08-16 | Sony Corp | 情報処理装置、報知方法及びプログラム |
US20120257035A1 (en) | 2011-04-08 | 2012-10-11 | Sony Computer Entertainment Inc. | Systems and methods for providing feedback by tracking user gaze and gestures |
JP5817973B2 (ja) | 2011-07-15 | 2015-11-18 | コニカミノルタ株式会社 | 表示制御装置、及び情報処理装置、画像処理装置 |
US9854014B2 (en) | 2013-03-14 | 2017-12-26 | Google Inc. | Motion data sharing |
US9244527B2 (en) | 2013-03-26 | 2016-01-26 | Volkswagen Ag | System, components and methodologies for gaze dependent gesture input control |
KR20140126492A (ko) | 2013-04-23 | 2014-10-31 | 엘지전자 주식회사 | 인덱스 디스플레이 영역을 포함하는 포터블 디바이스 및 그 제어 방법 |
JP6079614B2 (ja) | 2013-12-19 | 2017-02-15 | ソニー株式会社 | 画像表示装置及び画像表示方法 |
US10310624B2 (en) * | 2014-12-17 | 2019-06-04 | Konica Minolta, Inc. | Electronic apparatus, method for controlling electronic apparatus, and control program for the same |
WO2017070121A1 (en) | 2015-10-20 | 2017-04-27 | Magic Leap, Inc. | Selecting virtual objects in a three-dimensional space |
US10250720B2 (en) | 2016-05-05 | 2019-04-02 | Google Llc | Sharing in an augmented and/or virtual reality environment |
US9864431B2 (en) * | 2016-05-11 | 2018-01-09 | Microsoft Technology Licensing, Llc | Changing an application state using neurological data |
DK201670574A1 (en) | 2016-06-12 | 2018-01-02 | Apple Inc | Accelerated scrolling |
KR102581359B1 (ko) | 2016-09-02 | 2023-09-20 | 엘지전자 주식회사 | 차량용 사용자 인터페이스 장치 및 차량 |
EP3361352B1 (en) | 2017-02-08 | 2019-06-05 | Alpine Electronics, Inc. | Graphical user interface system and method, particularly for use in a vehicle |
US10877555B2 (en) | 2017-03-21 | 2020-12-29 | Sony Corporation | Information processing device and information processing method for controlling user immersion degree in a virtual reality environment |
US10614586B2 (en) | 2017-03-31 | 2020-04-07 | Sony Interactive Entertainment LLC | Quantifying user engagement using pupil size measurements |
US10481755B1 (en) | 2017-04-28 | 2019-11-19 | Meta View, Inc. | Systems and methods to present virtual content in an interactive space |
AU2018299215B2 (en) | 2017-07-13 | 2024-02-22 | Smileyscope Pty Ltd. | Virtual reality apparatus |
CN111279292B (zh) | 2017-09-29 | 2022-06-14 | 苹果公司 | 检测物理边界 |
KR102024794B1 (ko) | 2018-01-30 | 2019-09-24 | 한국원자력연구원 | 주제어실 화재 체험을 위한 시뮬레이션 장치 및 방법 |
US10706630B2 (en) | 2018-08-13 | 2020-07-07 | Inspirium Laboratories LLC | Augmented reality user interface including dual representation of physical location |
US11592896B2 (en) | 2018-11-07 | 2023-02-28 | Wild Technology, Inc. | Technological infrastructure for enabling multi-user collaboration in a virtual reality environment |
US10890983B2 (en) * | 2019-06-07 | 2021-01-12 | Facebook Technologies, Llc | Artificial reality system having a sliding menu |
US11096006B1 (en) | 2019-11-04 | 2021-08-17 | Facebook Technologies, Llc | Dynamic speech directivity reproduction |
US11443650B2 (en) | 2019-11-25 | 2022-09-13 | Kwangwoon University Industry-Academic Collaboration Foundation | Method and apparatus for VR training |
US11562528B2 (en) | 2020-09-25 | 2023-01-24 | Apple Inc. | Devices, methods, and graphical user interfaces for interacting with three-dimensional environments |
US11954242B2 (en) | 2021-01-04 | 2024-04-09 | Apple Inc. | Devices, methods, and graphical user interfaces for interacting with three-dimensional environments |
-
2021
- 2021-09-21 US US17/481,187 patent/US12032803B2/en active Active
- 2021-09-22 CN CN202180065147.7A patent/CN116194868A/zh active Pending
- 2021-09-22 CN CN202310822033.3A patent/CN117032519A/zh active Pending
- 2021-09-22 WO PCT/US2021/051498 patent/WO2022066728A1/en unknown
- 2021-09-22 EP EP21791188.2A patent/EP4193244A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4193244A1 (en) | 2023-06-14 |
US20220091722A1 (en) | 2022-03-24 |
WO2022066728A1 (en) | 2022-03-31 |
US12032803B2 (en) | 2024-07-09 |
CN116194868A (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12032803B2 (en) | Devices, methods, and graphical user interfaces for interacting with three-dimensional environments | |
US11768579B2 (en) | Devices, methods, and graphical user interfaces for interacting with three-dimensional environments | |
US11875013B2 (en) | Devices, methods, and graphical user interfaces for displaying applications in three-dimensional environments | |
AU2020356572B2 (en) | Devices, methods, and graphical user interfaces for interacting with three-dimensional environments | |
US20220121344A1 (en) | Methods for interacting with virtual controls and/or an affordance for moving virtual objects in virtual environments | |
CN117043713A (zh) | 用于与三维环境进行交互的设备、方法和图形用户界面 | |
US11720171B2 (en) | Methods for navigating user interfaces | |
US20230093979A1 (en) | Devices, methods, and graphical user interfaces for content applications | |
US20230106627A1 (en) | Devices, Methods, And Graphical User Interfaces for Interacting with Three-Dimensional Environments | |
US20230092874A1 (en) | Devices, Methods, and Graphical User Interfaces for Interacting with Three-Dimensional Environments | |
WO2024064229A1 (en) | Devices, methods, and graphical user interfaces for tabbed browsing in three-dimensional environments | |
CN118043766A (zh) | 用于与三维环境进行交互的设备、方法和图形用户界面 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |