CN111819522A - 用于混合现实显示器中的虚拟内容的遮挡光标 - Google Patents

用于混合现实显示器中的虚拟内容的遮挡光标 Download PDF

Info

Publication number
CN111819522A
CN111819522A CN201980017747.9A CN201980017747A CN111819522A CN 111819522 A CN111819522 A CN 111819522A CN 201980017747 A CN201980017747 A CN 201980017747A CN 111819522 A CN111819522 A CN 111819522A
Authority
CN
China
Prior art keywords
cursor
virtual
user
display
focus indicator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980017747.9A
Other languages
English (en)
Inventor
J·A·戴
L·帕斯米尼奥
J·C·佩蒂
P·A·胡佛
C·索雷尔
J·M·鲍德利
S·奈尔斯
R·圣克莱尔贝利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Magic Leap Inc
Original Assignee
Magic Leap Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/884,117 external-priority patent/US10540941B2/en
Application filed by Magic Leap Inc filed Critical Magic Leap Inc
Publication of CN111819522A publication Critical patent/CN111819522A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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/04815Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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/04817Interaction 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 using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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/0485Scrolling or panning
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/08Cursor circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04804Transparency, e.g. transparent or translucent windows
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Position Input By Displaying (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Digital Computer Display Output (AREA)

Abstract

公开了用于通过可穿戴显示装置在虚拟、增强或混合现实环境中显示与真实或虚拟对象相关联的光标和聚焦指示符的系统和方法。该系统可以确定在环境内用户可移动的光标与目标对象之间的空间关系。该系统可以在光标附近的对象周围或附近渲染聚焦指示符(例如,光环、阴影或出突出显示)。当光标与目标对象重叠时,系统可以在光标前方渲染对象(或根本不渲染光标),因此对象不会被光标挡住。对象可以被渲染得比光标更靠近用户。可以滚动一组虚拟对象,并且虚拟控制面板可以被显示为指示在滚动时即将出现的对象。

Description

用于混合现实显示器中的虚拟内容的遮挡光标
版权声明
该专利文件的公开的一部分包含受版权保护的材料。版权所有者不反对任何人以专利和商标局专利文件或记录中出现的形式复制专利文件或专利公开,但除此之外保留所有版权。
相关申请
本申请是2018年3月14日提交的标题为“ECLIPSE CURSOR FOR VIRTUAL CONTENTIN MIXED REALITY DISPLAYS(用于混合现实显示器中的虚拟内容的遮挡光标)”的美国专利申请No.15/920830的延续申请,并且是2018年1月30日提交的标题为“ECLIPSE CURSORFOR VIRTUAL CONTENT IN MIXED REALITY DISPLAYS(用于混合现实显示器的遮挡光标)”的美国专利申请No.15/884,117的部分延续申请,其中每一者均通过引用整体并入本文。
技术领域
本公开涉及虚拟、增强或混合现实成像和可视化系统,更具体地,涉及将聚焦指示符分配给用户视野中的一个或多个真实或虚拟对象。
背景技术
现代计算和显示技术促进了用于所谓的“虚拟现实”、“增强现实”或“混合现实”体验的系统的开发,其中数字再现的图像或其部分以它们看起来是或者可以被感觉是真实的方式呈现给用户。虚拟现实或“VR”场景通常涉及数字或虚拟图像信息的呈现,而不对其它实际的真实世界的视觉输入透明;增强现实或“AR”场景通常涉及将数字或虚拟图像信息呈现为对用户周围的真实世界的可视化的增强;混合现实或“MR”涉及将真实世界和虚拟世界合并以产生物理和虚拟对象共存并实时交互的新环境。事实证明,人类视觉感知系统非常复杂,并且产生VR、AR或MR技术具有挑战性,这些技术便于在其它虚拟或真是世界的图像元素中舒适、自然、丰富地呈现虚拟图像元素。在此公开的系统和方法解决了与VR、AR和MR技术有关的各种挑战。
发明内容
描述了用于通过可穿戴显示装置在虚拟、增强或混合现实环境中显示与真实或虚拟对象相关联的光标和聚焦指示符的技术。例如,将光标渲染在环境中的对象前方往往会挡住对象,并在视觉层次结构上更加强调光标本身而不是与之交互的目标对象。因此,可穿戴系统的实施例可以利用在目标对象后方移动的遮挡(eclipse)光标(例如,使得光标被目标对象“遮挡”),这往往会在视觉层次结构上保持对目标对象而不是光标的强调。为了帮助用户在环境中的对象之间导航光标,系统可以在光标附近的对象周围渲染聚焦指示符。聚焦指示符可包括光标附近的对象中的至少部分对象周围的光环、阴影或突出显示。聚焦指示符可以在更靠近光标时被强调(例如,更亮、不同的颜色或阴影、或更大的尺寸)(并且远离光标时不被强调),这为用户在环境中的对象之间导航光标和选择目标对象时提供视觉提示。遮挡光标和聚焦指示符可以为用户提供更自然和沉浸式的用户体验。
在各种实施例中,可穿戴显示系统可以确定用户可移动光标与环境内的一个或多个目标对象之间的空间关系。例如,用户可以通过致动手持式用户输入装置(例如,图腾(totem))来移动光标。可穿戴系统可以在光标附近的对象周围或附近渲染聚焦指示符(例如,光环、阴影或突出显示)。聚焦指示符可以在更靠近光标的方向上被强调,而在远离光标的方向上不被强调。当光标与目标对象重叠时,系统可以将光标渲染到对象后方(或根本不渲染光标),因此该对象不会被光标挡住(例如,对象遮挡光标)。光标和聚焦指示符可以为用户提供位置反馈并帮助用户在环境中的对象之间导航。
在各个方面,可穿戴显示系统可以包括用户界面,该用户界面向用户呈现被设置在一个或多个深度处的以缩略图的网格(规则或不规则)布置的多个可交互虚拟项。缩略图可以包括虚拟项(例如,文档页面或图像)的微型表示,其可以用于通过虚拟项的内容来识别虚拟项。在一些实现方式中,选择(例如,单击或双击)缩略图以打开虚拟项的内容(例如,通过执行被配置为运行、播放、观看或编辑虚拟内容的应用)。缩略图可以被渲染,以使得其在一个深度(例如,作为2D缩略图)或多个深度(例如,使得以3D出现)处出现。响应于光标在网格中的缩略图中的一者后方移动,用于该项的缩略图可以被渲染为具有以下效果中的一种或多种:尺寸的扩大、包括聚焦指示符(例如,围绕缩略图的至少一部分的光环)、移动到不同的深度(例如,移动到更靠近用户的深度)、或者具有不同的虚拟内容(例如,高分辨率图像、标题、声音、视频的播放、或图形的动画等)。可以根据一个或多个分组标准(例如,按项名的字母顺序、内容类型、日期等)对缩略图排序。缩略图的网格可由用户滚动(例如,使用头部、眼睛或身体手势、或来自图腾的用户输入)。在滚动网格的边缘期间(例如,在滚动的方向上),可以动态地显示在滚动期间接下来要显示的虚拟内容的指示(例如,即将到来的内容)(例如,作为半透明的缩略图、可选地位于与网格的边缘的深度不同的深度处)。
在各个方面,本公开提供了一种具有图标或具有过渡的(例如,动画化的)图形用户界面的显示屏或其的一部分的装饰设计。增强、混合或虚拟现实显示装置可以包括显示屏或其的一部分。
在附图和以下描述中阐述了本说明书中描述的主题的一种或多种实施方式的细节。通过说明书、附图和权利要求,其它特征、方面和优点将变得显而易见。本发明内容和以下具体实施方式都并非旨在限定或限制本发明主题的范围。
附图说明
图1示出了具有由人观看到的某些虚拟现实对象和某些物理对象的混合现实场景的图示。
图2示意性地示出了可穿戴系统的示例。
图3示意性地示出了使用多个深度平面模拟三维图像的方法的各方面。
图4示意性地示出了用于将图像信息输出给用户的波导堆叠的示例。
图5示出了可以由波导输出的示例出射光束。
图6是示出光学系统的示意图,该光学系统包括波导装置、光学耦合器子系统以及控制子系统,其中光学耦合器子系统用于将光光学耦合到波导装置或从波导装置光学耦合光,控制子系统用于产生多焦点体积显示、图像或光场。
图7是可穿戴系统的示例的框图。
图8是渲染与所识别的对象有关的虚拟内容的方法的示例的过程流程图。
图9是可穿戴系统的另一示例的框图。
图10是用于确定可穿戴系统的用户输入的方法的示例的过程流程图。
图11是用于与虚拟用户界面交互的方法的示例的过程流程图。
图12A-12C示出了用户可以经由可穿戴系统感知的对象和光标的各种示例。
图13A和13B示出了聚焦指示符和光标的非限制性实施例。
图14A-14C示出了用户经由可穿戴显示系统可感知的在3D环境中的光标和对象的示例。
图15A和15B示出了具有基于光标到环境中的对象位置的接近度的各种强度、位置或空间范围的多个聚焦指示符的实现方式的示例。
图16A-16D示出了渲染聚焦指示符的过程的示例。
图17示出了网格和图腾(具有触敏表面)上的用户输入的示例。
图18A-18C示出了朝向具有聚焦指示符的对象移动的光标的示例。
图19-22示出了可以由系统渲染的聚焦指示符的各种示例。
图23是示出用于在3D场景中渲染聚焦指示符的示例方法的流程图。
图24-28是具有图标的显示屏或其的一部分的实施例的前视图。
图29A-29F是用于显示屏或其的一部分上的图形用户界面(GUI)的过渡序列的实施例的前视图。
图30A-30F示出了用于显示屏或其的一部分上的GUI的过渡序列的实施例。
图31A-31C示出了用于显示屏或其的一部分上的GUI的过渡序列的实施例。
在全部附图中,参考标号可以被重复使用来指示被引用的要素之间的对应关系。提供附图是为了示例本文中描述的示例性实施例,而非旨在限制本公开的范围。另外,本公开中的附图仅用于说明目的,并且未按比例绘制。
具体实施方式
概述
可穿戴装置可以包括用于呈现交互式VR/AR/MR环境的显示器。VR/AR/MR环境可以包括可由用户通过各种姿势(例如,头部姿势、眼睛注视或身体姿势、或通过用户输入装置的用户输入)与之交互的数据元素。为了向用户提供用户与VR/AR/MR环境中的真实或虚拟对象交互的准确感觉,系统可以渲染屏幕上的视觉辅助,以辅助用户在环境中的对象之间导航以及选择所述对象或与之交互。
在一些情况下,屏幕上的视觉辅助可以包括虚拟光标(有时在本文中也称为标线),其对用户交互(例如,经由手持式图腾的用户输入)响应并(向用户)识别可移动的指示符的位置,该指示符可用于选择VR/AR/MR环境中的对象或与之交互。例如,用户可以在图腾的触敏部分上移动他或她的拇指,以在3D VR/AR/MR环境中四处移动光标。当光标足够靠近对象或悬停在对象上时,用户可以能够选择该对象或与该对象交互(例如,通过按压图腾的触敏部分),这可以通过可穿戴装置启动进一步的与上下文有关的功能。例如,用户可以将光标移动到正在显示电影的虚拟视频显示器附近,并选择该显示器以调出其他电影选择、音量控制等的菜单。在一些情况下,向用户显示光标,以便用户可以轻松地将光标定位在环境中。这可能在对象相对较少的相对稀疏的环境中发生。在其他情况下,不向用户显示光标,并且本文所述的聚焦指示符(例如,对象周围的辉光)用于向用户提供有关光标的位置的视觉提示(例如,光标位于具有最亮辉光的对象附近)。这可能发生在相对密集的环境中,在该环境中存在相对较多的对象,并且光标本身的显示可能不被需要或可能分散注意力。
然而,在不考虑场景内容的情况下渲染常规光标。换句话说,当光标在VR/AR/MR环境中四处移动时,光标在环境中的对象之上移动(例如,被渲染在该对象前方)。继续上面的示例,常规光标可能出现在虚拟视频显示器的前方,这不仅会挡住虚拟显示器,还会使用户从正在显示的内容分散注意力(例如,与电影相比,用户更倾向于聚焦在光标本身上,这可能会分散注意力)。
因此,当光标悬停在对象之上或用于选择对象时,光标实际上挡住或覆盖该对象的至少一部分。对象的这种被阻碍的视图会极大地影响用户在环境内的体验。例如,对象可以包括诸如文本、图像等的内容,并且用户可能发现在观看对象的内容的同时来选择对象是有困难的。
尽管这些问题在2D环境中存在,但在3D环境中它们可能会加剧。例如,在2D环境中,对象和光标不具有深度。因此,在对象前方渲染光标包括在同一平面上渲染光标和对象。相反,在3D环境中,光标和对象确实具有相对于用户的深度。因此,在给定时间,3D环境中的光标不必与该环境中的对象处于相同的深度处。例如,相对于对象,光标可以更靠近或远离用户。由于这种深度差异,如果用户聚焦在对象或光标中的一者上,则由于相对深度之间的调节差异,另一者可能对用户显得模糊。此外,即使在3D环境中光标和对象确实具有相对于用户的相同或相似的深度的情况下,为了使光标“滚过(roll over)”3D空间中的对象,系统也必须改变光标的深度以避免光标移动通过对象的表现。例如,如图12A和12B所示,系统可以将光标移动到更靠近用户,以使得光标被显示为好像它位于对象与用户之间。通过将光标渲染成更靠近用户,系统有效地(并且可能不希望地)相对于对象而强调光标,因为人的眼睛通常被吸引到更靠近观看者的对象,并且用户更可能聚焦在光标上,因为它看起来比对象更靠近用户。
为了解决这些和其他问题,系统的实施例可以渲染内容感知的屏幕上视觉辅助。例如,当光标和对象重叠时,系统可以将光标渲染到对象的后方(而不是在对象的前方)或者根本不渲染光标(因为光标位于对象后方并且对用户是不可见的)。因此,光标不会从用户的视线阻挡对象,并且系统不会通过将光标渲染成更靠近用户而无意地强调光标。这样的光标(或标线)的实施例有时被称为遮挡光标或遮挡标线,因为目标对象“遮挡了”光标。
当光标被对象遮挡时,用户可能难以获得对用户指向场景内的位置的准确感觉或者对光标当前所处的位置的准确感觉。那是因为光标至少部分地被对象阻挡。因此,为了继续向用户提供光标在环境内的位置的准确感觉,系统可以在光标在对象后方(或在对象的距离阈值之内)移动时,渲染另一个(或替代的)屏幕上视觉辅助(例如,聚焦指示符)以强调该对象。
聚焦指示符可以包括光环、颜色、感知的尺寸或深度变化(例如,使对象在被选择时显得更近或更大)、阴影、虚拟光线、或倾向于引起用户的注意的源自对象的或与之相关联的其他图形突出显示。例如,聚焦指示符可以包括看起来从对象向外放射的辉光,就好像辉光光源位于对象的后方(使得对象“遮挡”光源)。靠近对象外边缘的辉光强度可以更强,而距离对象外边缘的较大距离处,辉光强度可以更弱。因为聚焦指示符不会挡住对象(因为聚焦指示符通常至少部分地围绕对象而被渲染),所以聚焦指示符会强调对象并有利地为用户提供光标的用户友好的、非分散注意力的替代,以指示当前正在与哪个对象交互。
在一些情况下,光标可能似乎相对于对象具有吸引效果,使得光标与对象的接近度影响聚焦指示符或光标的强度或位置。吸引效果可能倾向于好像光标和对象(或聚焦指示符)被磁性或重力地彼此吸引。例如,在一些情况下,每一个对象可以具有聚焦指示符(例如,外部辉光),并且聚焦指示符的强度、尺寸或位置可以基于光标相对于对象(或聚焦指示符)的位置而变化。例如,当光标移动靠近一个对象时,该对象的聚焦指示符可以变得更亮、更强、或沿光标的方向移动(例如,好像被拉向光标)。当光标移动靠近对象时,系统可以渲染该光标,就好像该光标被拉到对象后方,同时增加聚焦指示符的强度。此行为可以允许用户更自然、更轻松地选择对象,因为当光标靠近期望的目标对象时,光标将被拉向(或被捕捉到)最近的对象,而无需用户对光标在目标对象上的位置进行微调。因此,光标的行为就好像它具有质量或惯性(以使光标倾向于继续沿最初应用的方向移动),并被吸引效果拉向附近的对象。随着光标在环境中的位置变化,与光标附近的对象相关联的聚焦指示符的强度也变化。
在一些情况下,系统可以将聚焦指示符分配给一个以上的对象,或者聚焦指示符可以具有变化的强度或辉光,该强度或辉光可以例如基于对象与光标在环境内的位置的接近度而淡入或淡出。因此,一个或多个聚焦指示符可以通过例如以变化的强度强调一个或多个对象来向用户提供位置反馈。随着用户输入移位,变化的强度或辉光可以在位置上移位,以提供持续的输入反馈和光标位置的准确感觉。
在各个方面,系统可以包括用户界面,该用户界面向用户呈现被设置在一个或多个深度处的以缩略图的网格(规则或不规则)布置的多个可交互虚拟项。响应于光标在网格中的缩略图中的一者后方移动,用于该项的缩略图可以被渲染为具有以下效果中的一种或多种:尺寸的扩大、包括聚焦指示符(例如,围绕缩略图的至少一部分的光环)、移动到不同的深度(例如,移动到看起来更靠近用户的深度)、或者具有不同的虚拟内容(例如,高分辨率图像、标题、声音、视频的播放、或图形的动画等)。可以根据一个或多个分组标准(例如,按项名的字母顺序、内容类型、日期等)对缩略图排序。缩略图的网格可由用户滚动(例如,使用头部、眼睛或身体手势、或来自图腾的用户输入)。在滚动网格的边缘期间(例如,在滚动的方向上),可以动态地显示在滚动期间接下来要显示的虚拟内容的指示(例如,作为半透明的缩略图、可选地位于网格的边缘的深度不同的深度处)。
可穿戴系统的3D显示的示例
可穿戴系统(这里也被称为增强现实(AR)系统)可以被配置为向用户呈现二维(2D)或三维(3D)虚拟图像。图像可以是静止图像、视频帧或视频、上述项的组合等等。可穿戴系统可以包括可穿戴装置,可穿戴装置可以单独或组合地呈现VR、AR或MR环境以用于用户交互。可穿戴装置可以是头戴式装置(HMD),头戴式装置可以可互换地被用作AR装置(ARD)。
图1示出了具有由人观看到的某些虚拟现实对象以及某些物理对象的混合现实场景的图示。在图1中,示出了MR场景100,其中MR技术的用户看到以人、树木、背景中的建筑物以及混凝土平台120为特征的真实世界公园状设置110。除了这些项目之外,MR技术的用户还感知他“看到”站在真实世界平台120上的机器人雕像130,以及看起来像大黄蜂的化身的飞舞的卡通式的化身人物140,尽管这些元素不存在于真实世界中。
为了使3D显示器产生真实的深度感觉,更具体地,模拟的表面深度感觉,可能期望显示器的视野中的每一个点产生与其虚拟深度对应的调节响应(accommodativeresponse)。如果对显示点的调节响应不对应于该点的虚拟深度(由汇聚和立体视觉的双眼深度线索确定),则人眼可能经历调节冲突,导致成像不稳定、有害的眼部紧张、头痛,并且在没有调节信息的情况下,几乎完全缺乏表面深度。
VR、AR和MR体验可以由具有显示器的显示系统提供,在显示器中,对应于多个深度平面的图像被提供给观看者。对于每一个深度平面,图像可以是不同的(例如,提供稍微不同的场景或对象呈现),并且可以由观看者的眼睛单独聚焦,从而有助于基于眼睛的调节(需要这种调节以使位于不同深度平面上的场景的不同图像特征聚焦),或者基于观察到不同深度平面上的不同图像特征脱焦,为用户提供深度线索。如本文其它地方所讨论的,这种深度线索提供了可靠的深度感。
图2示例出可穿戴系统200的示例。可穿戴系统200包括显示器220以及支持该显示器220的功能的各种机械和电子模块和系统。显示器220可以被耦接到框架230,该框架可由用户、穿戴者或观看者210穿戴。显示器220可以被定位在用户210的眼睛的前方。显示器220可以向用户呈现AR/VR/MR内容。例如,显示器220可以体现(例如,向用户渲染并呈现)下面描述的遮挡光标图标和聚焦指示符。遮挡光标图标和聚焦指示符的装饰性设计示例在图24-29F中示出。显示器220可以包括穿戴在用户头部上的头戴式显示器(HMD)。在一些实施例中,扬声器240被耦接到框架230并且被定位在用户的耳道附近(在一些实施例中,另一扬声器(未示出)可以被定位在用户的另一耳道附近以提供立体声/可塑形的声音控制)。
可穿戴系统200可包括面向外成像系统464(如图4所示),其观察用户周围环境中的世界。可穿戴系统200可以还包括面向内成像系统462(如图4所示),其可以跟踪用户的眼睛运动。面向内成像系统可以跟踪一只眼睛的运动或全部两只眼睛的运动。面向内成像系统462可以被附接到框架230并且可以与处理模块260或270电通信,处理模块260或270可以处理由面向内成像系统获取的图像信息以确定例如用户210的眼睛的瞳孔直径或取向、眼睛运动或眼睛姿势。
作为示例,可穿戴系统200可以使用面向外成像系统464或面向内成像系统462来获取用户姿势的图像。图像可以是静止图像、视频帧或视频,上述项的组合等等。
显示器220可以例如通过有线引线或无线连接可操作地耦接250到本地数据处理模块260,本地数据处理模块260可以以各种配置安装,例如固定地附接到框架230,固定地附接到用户戴的头盔或帽子,嵌入在耳机中,或以其它方式可移除地附接到用户210(例如,采取背包式配置,采取腰带耦接式配置)。
本地处理和数据模块260可以包括硬件处理器以及诸如非易失性存储器(例如,闪速存储器)的数字存储器,二者都可用于辅助数据的处理、缓存以及存储。数据可以包括如下数据:a)从传感器(其可以例如可操作地耦接到框架230或以其它方式附接到用户210)捕获的数据,该传感器例如图像捕获装置(例如,面向内成像系统或面向外成像系统中的相机)、麦克风、惯性测量单元(IMU)(例如,加速度计、重力计、磁力计等)、罗盘、全球定位系统(GPS)单元、无线电装置或陀螺仪;或b)使用远程处理模块270或远程数据储存库280获取或处理的数据,可能在这样的处理或检索之后传递给显示器220。本地处理和数据模块260可以通过通信链路262或264(诸如经由有线或无线通信链路)可操作地耦接到远程处理模块270或远程数据储存库280,使得这些远程模块作为资源可用于本地处理和数据模块260。另外,远程处理模块280和远程数据储存库280可以可操作地相互耦接。
在一些实施例中,远程处理模块270可以包括一个或多个处理器,其被配置为分析和处理数据和/或图像信息。在一些实施例中,远程数据储存库280可以包括数字数据存储设施,其可以通过互联网或其它网络配置以“云”资源配置而可用。在一些实施例中,在本地处理和数据模块中存储全部数据,并且执行全部计算,允许从远程模块完全自主使用。
人类视觉系统复杂,并且提供深度的逼真感知是具挑战性的。不受理论的限制,据信对象的观看者可能由于聚散度和调节的组合而将该对象感知为“三维的”。两只眼睛相对于彼此的聚散运动(即,瞳孔朝向彼此或远离彼此的滚动运动,以会聚眼睛的视线来注视对象)与眼睛晶状体的聚焦(或“调节”)密切相关。在正常情况下,改变眼睛晶状体的焦点或调节眼睛,以将焦点从一个对象改变到在不同距离处的另一个对象,这将会在被称为“调节-聚散度反射(accommodation-vergence reflex)”的关系下自动地导致到相同的距离的聚散度的匹配改变。同样,在正常情况下,聚散度的改变将引发调节的匹配改变。提供调节和聚散度之间的更好匹配的显示系统可以形成更逼真且舒适的三维图像模拟。
图3示出了使用多个深度平面来模拟三维图像的方法的方面。参考图3,在z轴上距眼睛302和眼睛304的不同距离处的对象由眼睛302和眼睛304调节,以使得这些对象在焦点中。眼睛302和眼睛304采取特定的调节状态,以使沿着z轴的不同距离处的对象进入焦点。因此,可以说特定的调节状态与深度平面306中的特定一个深度平面相关联,该特定深度平面具有相关联的焦距,以使得当眼睛处于特定深度平面的调节状态时,该深度平面中的对象或对象的部分被聚焦。在一些实施例中,可以通过为眼睛302和304中的每一只眼睛提供图像的不同呈现,并且还通过提供与深度平面中每一个深度平面对应的图像的不同呈现,来模拟三维图像。尽管为了清楚说明而被示出为分离的,但应理解的是,例如随着沿z轴的距离增加,眼睛302和眼睛304的视野可能重叠。另外,虽然为了便于说明而被示出为平坦的,但应理解的是,深度平面的轮廓在物理空间中可以是弯曲的,使得深度平面中的所有特征在特定的调节状态下与眼睛对焦。深度平面306不必被设置在距显示器(或用户的眼睛302、304)的固定距离处,而可以被动态地更新。例如,如果用户看向距用户的近场中(例如,在约1-2m之内)的虚拟内容,则图3中所示的深度平面的阵列可被调整为更靠近用户,这增加了近场中的深度分辨率。同样地,如果用户看向中场(例如,2m至5m)或远场(例如,5m至无穷大)中的虚拟内容,则深度平面可以被调整为主要落在这些距离之内。深度平面可以例如通过调整参考图4-6描述的波导堆叠而调整。不受理论的限制,据信人类眼睛通常可以解释有限数量的深度平面以提供深度感知。因此,通过向眼睛提供与这些有限数量的深度平面中的每一个深度平面对应的图像的不同呈现,可以实现所感知的深度的高度可信的模拟。
波导堆叠组件
图4示出了用于将图像信息输出给用户的波导堆叠的示例。可穿戴系统400包括波导堆叠或堆叠波导组件480,其可用于使用多个波导432b、434b、436b、438b、4400b向眼睛/大脑提供三维感知。在一些实施例中,可穿戴系统400可以对应于图2的可穿戴系统200,图4更详细地示意性地示出了该可穿戴系统200的一些部分。例如,在一些实施例中,波导组件480可以被集成到图2的显示器220中。
继续参考图4,波导组件480可以还包括位于波导之间的多个特征458、456、454、452。在一些实施例中,特征458、456、454、452可以是透镜。在其它实施例中,特征458、456、454、452可以不是透镜。相反,它们可以简单地是间隔物(例如,包层和/或用于形成气隙的结构)。
波导432b、434b、436b、438b、440b或多个透镜458、456、454、452可以被配置为以各种级别的波前曲率或光线发散度向眼睛发送图像信息。每一个波导级别可以与特定深度平面相关联,并且可以被配置为输出对应于该深度平面的图像信息。图像注入装置420、422、424、426、428可用于将图像信息注入到波导440b、438b、436b、434b、432b中,每一个波导可以被配置为分配入射光穿过每一个相应的波导以便朝着眼睛410输出。光从图像注入装置420、422、424、426、428的输出表面射出,并且被注入到波导440b、438b、436b、434b、432b的相应输入边缘。在一些实施例中,可以将单个光束(例如准直光束)注入到每一个波导中,以输出克隆的准直光束的整个场,这些克隆的准直光束以对应于与特定波导相关联的深度平面的特定角度(和发散量)朝向眼睛410定向。
在一些实施例中,图像注入装置420、422、424、426、428是分立的显示器,每一个显示器产生用于分别注入到相应波导440b、438b、436b、434b、432b中的图像信息。在一些其它实施例中,图像注入装420、422、424、426、428是单个多路复用显示器的输出端,其可以例如经由一个或多个光导管(例如光纤电缆)将图像信息管道传输到图像注入装置420、422、424、426、428中的每一者。
控制器460控制堆叠波导组件480和图像注入装置420、422、424、426、428的操作。控制器460包括编程(例如,非暂时性计算机可读介质中的指令),该编程调节到波导440b、438b、436b、434b、432b的图像信息的定时和提供。在一些实施例中,控制器460可以是单个整体装置,或者是通过有线或无线通信信道连接的分布式系统。在一些实施例中,控制器460可以是处理模块260或270(如图2所示)的部分。
波导440b、438b、436b、434b、432b可以被配置为通过全内反射(TIR)在每一个相应的波导内传播光。波导440b、438b、436b、434b、432b可以各自是平面的或具有其它形状(例如,弯曲),具有顶部和底部主表面以及在这些顶部和底部主表面之间延伸的边缘。在所示的配置中,波导440b、438b、436b、434b、432b可以各自包括光提取光学元件440a、438a、436a、434a、432a,这些光提取光学元件被配置为通过将每一个相应波导内传播的光重定向而将光提取到波导外,以向眼睛410输出图像信息。提取的光也可以被称为耦出光,并且光提取光学元件也可以被称为耦出光学元件。提取的光束在波导中传播的光照射光重定向元件的位置处被波导输出。光提取光学元件(440a、438a、436a、434a、432a)可以例如是反射或衍射光学特征。虽然为了便于描述和清晰绘图起见而将其图示设置在波导440b、438b、436b、434b、432b的底部主表面处,但是在一些实施例中,光提取光学元件440a、438a、436a、434a、432a可以设置在顶部或底部主表面处,或可以直接设置在波导440b、438b、436b、434b、432b的体积中。在一些实施例中,光提取光学元件440a、438a、436a、434a、432a可以形成在被附接到透明基板的材料层中以形成波导440b、438b、436b、434b、432b。在一些其它实施例中,波导440b、438b、436b、434b、432b可以是单片材料,并且光提取光学元件440a、438a、436a、434a、432a可以形成在那片材料的表面上或那片材料的内部中。
继续参考图4,如本文所讨论的,每一个波导440b、438b、436b、434b、432b被配置为输出光以形成与特定深度平面对应的图像。例如,最接近眼睛的波导432b可以被配置为将如注入到这种波导432b中的准直光传送到眼睛410。准直光可以代表光学无限远焦平面。下一上行波导434b可以被配置为将传输通过第一透镜452(例如,负透镜)的准直光在其可以到达眼睛410之前发出。第一透镜452可以被配置为产生轻微凸面的波前曲率,使得眼睛/大脑将来自该下一上行波导434b的光解释为来自第一焦平面,该第一焦平面从光学无限远处向内更靠近眼睛410。类似地,第三上行波导436b将输出光在到达眼睛410之前传输通过第一透镜452和第二透镜454。第一透镜452和第二透镜454的组合光焦度(optical power)可被配置为产生波前曲率的另一增量,以使得眼睛/大脑将来自第三波导436b的光解释为来自第二焦平面,该第二焦平面从光学无穷远比来自所述下一上行波导434b的光更向内靠近人。
其它波导层(例如,波导438b、440b)和透镜(例如,透镜456、458)被类似地配置,其中堆叠中的最高波导440b通过它与眼睛之间的全部透镜发送其输出,用于代表最靠近人的焦平面的总(aggregate)焦度。当在堆叠波导组件480的另一侧上观看/解释来自世界470的光时,为了补偿透镜458、456、454、452的堆叠,补偿透镜层430可以被设置在堆叠的顶部处以补偿下面的透镜堆叠458、456、454、452的总焦度。这种配置提供了与可用波导/透镜配对一样多的感知焦平面。波导的光提取光学元件和透镜的聚焦方面可以是静态的(例如,不是动态的或电激活的)。在一些替代实施例中,两者之一或者两者都可以使用电激活特征而为动态的。
继续参考图4,光提取光学元件440a、438a、436a、434a、432a可以被配置为将光重定向出它们各自的波导并且针对与波导相关联的特定深度平面以适当的发散量或准直度输出该光。结果,具有不同相关联深度平面的波导可具有不同的光提取光学元件配置,其取决于相关联的深度平面而输出具有不同发散量的光。在一些实施例中,如本文所讨论的,光提取光学元件440a、438a、436a、434a、432a可以是体积或表面特征,其可以被配置为以特定角度输出光。例如,光提取光学元件440a、438a、436a、434a、432a可以是体积全息图、表面全息图或衍射光栅。在2015年6月25日公开的美国专利公开No.2015/0178939中描述了诸如衍射光栅的光提取光学元件,其通过引用全部并入本文中。
在一些实施例中,光提取光学元件440a、438a、436a、434a、432a是形成衍射图案的衍射特征或“衍射光学元件”(本文中也称为“DOE”)。优选地,DOE具有相对较低的衍射效率,以使得仅光束的一部分通过DOE的每一个交点偏转向眼睛410,而其余部分经由全内反射继续移动通过波导。携带图像信息的光因此可被分成多个相关的出射光束,这些出射光束在多个位置处离开波导,并且该结果对于在波导内反弹的该特定准直光束是朝向眼睛304的相当均匀图案的出射发射。
在一些实施例中,一个或多个DOE可以在它们活跃地衍射的“开”状态和它们不显著衍射的“关”状态之间可切换。例如,可切换的DOE可以包括聚合物分散液晶层,其中微滴在基体介质中包含衍射图案,并且微滴的折射率可以被切换为基本上匹配基体材料的折射率(在这种情况下,图案不明显地衍射入射光),或者微滴可以被切换为与基体介质的折射率不匹配的折射率(在这种情况下,该图案活跃地衍射入射光)。
在一些实施例中,深度平面的数量和分布或景深可以基于观看者的眼睛的瞳孔大小或取向而动态地改变。景深可以与观看者的瞳孔大小成反比地改变。因此,随着观看者眼睛的瞳孔大小减小时,景深增加,使得由于一个平面的位置超出了眼睛的焦点深度而不可辨别的该平面可能变得可辨别,并且随着瞳孔大小的减小表现为更聚焦,而且与景深的增加相称。同样地,用于向观看者呈现不同图像的间隔开的深度平面的数量可以随着瞳孔大小的减小而减小。例如,观看者在不将眼睛的调节从一个深度平面调整到另一个深度平面的情况下,可能不能以一个瞳孔大小清楚地感知第一深度平面和第二深度平面两者的细节。然而,这两个深度平面可以在不改变调节的情况下,对于处于另一瞳孔大小的用户同时充分地聚焦。
在一些实施例中,显示系统可以基于瞳孔大小或取向的确定,或在接收到指示特定瞳孔大小或取向的电信号时,改变接收图像信息的波导的数量。例如,如果用户的眼睛不能区分与两个波导相关联的两个深度平面,则控制器460可以被配置或编程为停止向这些波导中的一个提供图像信息。有利地,这可以减轻系统的处理负担,从而增加系统的响应性。在其中用于一波导的DOE可在接通和关断状态之间切换的实施例中,当波导确实接收图像信息时,DOE可以被切换到关断状态。
在一些实施例中,可能期望使出射光束满足直径小于观看者眼睛直径的条件。然而,考虑到观看者的瞳孔大小的可变性,满足这种条件可能是具有挑战性的。在一些实施例中,通过响应于观看者的瞳孔大小的确定而改变出射光束的大小,该条件在宽范围的瞳孔大小上满足。例如,随着瞳孔大小减小,出射光束的大小也可以减小。在一些实施例中,可以使用可变光圈来改变出射光束大小。
可穿戴系统400可包括面向外成像系统464(例如,数字相机),其对世界470的一部分进行成像。世界470的该部分可被称为世界相机的视野(FOV),并且成像系统464有时被称为FOV相机。可供观看者观看或成像的整个区域可被称为能视域(FOR)。因为穿戴者可以移动其身体、头部或眼睛以感知空间中的基本上任何方向,FOR可以包括围绕可穿戴系统400的立体角的4π球面度。在其它情况下,穿戴者的运动可能更受限制,相应地,穿戴者的FOR可以对着更小的立体角。从面向外成像系统464获得的图像可用于跟踪用户做出的手势(例如手或手指的姿势),检测用户前方的世界470中的对象等等。
可穿戴系统400还可以包括面向内成像系统466(例如,数码相机),其观察用户的运动,诸如眼睛运动和面部运动。面向内成像系统466可以用于捕获眼睛410的图像以确定眼睛304的瞳孔的大小或取向。面向内成像系统466可以用于获得图像,用于确定用户正在观看的方向(例如,眼睛姿势)或用于用户的生物测定识别(例如,经由虹膜识别)。在一些实施例中,可以为每只眼睛利用至少一个相机,以独立地分别确定每只眼睛的瞳孔大小或眼睛姿势,由此允许向每只眼睛呈现图像信息以动态地适合该眼睛。在一些其它实施例中,仅单个眼睛410的瞳孔直径或取向(例如,每对眼睛仅使用单个相机)被确定并假定对于用户的双眼是相似的。可以分析由面向内成像系统466获得的图像以确定用户的眼睛姿势或情绪,其可由可穿戴系统400使用来决定应该向用户呈现哪些音频或视觉内容。可穿戴系统400还可以使用诸如IMU、加速度计、陀螺仪等的传感器来确定头部姿势(例如,头部位置或头部取向)。
可穿戴系统400可以包括用户输入装置466,通过该用户输入装置466用户可以向控制器460输入命令以与可穿戴系统400交互。例如,用户输入装置466可以包括触控板、触摸屏、操纵杆、多自由度(DOF)控制器、电容感测装置、游戏控制器、键盘、鼠标、方向垫(D-pad)、魔杖、触觉装置、图腾(例如,用作虚拟用户输入装置)等等。多DOF控制器可以感测控制器的部分或全部可能的平移(例如,左/右、前/后、或上/下)或旋转(例如,偏航、俯仰或翻滚)方面的用户输入。支持平移运动的多DOF控制器可以被称为3DOF,而支持平移和旋转的多DOF控制器可以被称为6DOF。在一些情况下,用户可以使用手指(例如,拇指)在触敏输入装置上按压或轻扫以向可穿戴系统400提供输入(例如,以将用户输入提供给由可穿戴系统400提供的用户界面)。用户输入装置466可以在使用可穿戴系统400期间由用户的手保持。用户输入装置466可以与可穿戴系统400进行有线或无线通信。
图5示出了由波导输出的出射光束的示例。示出了一个波导,但是应该理解的是,波导组件480中的其它波导可以类似地起作用,其中波导组件480包括多个波导。光520在波导432b的输入边缘432c处被注入到波导432b中,并且通过TIR在波导432b内传播。在光520照射在DOE 432a上的点处,一部分光作为出射光束510离开波导。出射光束510被示出为基本上平行,但是取决于与波导432b相关联的深度平面,该出射光束510也可以以一定角度(例如,形成发散的出射光束)被重定向以传播到眼睛410。应该理解的是,基本上平行的出射光束可以指示具有光提取光学元件的波导,其中光提取光学元件将光耦出以形成看起来被设置在距眼睛410较大距离(例如,光学无穷远)处的深度平面上的图像。其它波导或者其它光提取光学元件组可以输出更加发散的出射光束图案,这将需要眼睛410调节到更近距离以将其聚焦在视网膜上并且将被大脑解释为来自比光学无穷远更靠近眼睛410的距离的光。
图6是示出了包括波导装置、将光光学耦合到波导装置或从波导装置光学耦合光的光耦合器子系统、以及控制子系统的光学系统的示意图,该光学系统用于生成多焦点立体显示、图像或光场。该光学系统可以包括波导装置、将光光学耦合到波导装置或从波导装置光学耦合光的光耦合器子系统,以及控制子系统。该光学系统可以用于生成多焦点立体、图像或光场。该光学系统可以包括一个或多个主平面波导632a(在图6中仅示出一个)以及与至少一些主波导632a中的每一个主波导相关联的一个或多个DOE 632b。平面波导632b可以类似于参考图4讨论的波导432b、434b、436b、438b、440b。该光学系统可以使用分布波导装置以沿着第一轴(图6的视图中的垂直轴或Y轴)中继光,并且沿着第一轴(例如,Y轴)扩展光的有效出射光瞳。分布波导装置可以例如包括分布平面波导622b和与分布平面波导622b相关联的至少一个DOE 622a(由双点划线示出)。分布平面波导622b在至少一些方面可以与主平面波导632b相似或相同,但具有与其不同的取向。类似地,至少一个DOE 622a在至少一些方面可以与DOE 632a相似或相同。例如,分布平面波导622b或DOE 622a可以分别由与主平面波导632b或DOE 632a相同的材料构成。图6中所示的光学显示系统600的实施例可以被集成到图2中所示的可穿戴显示系统200中。
中继的和出射光瞳扩展的光可从分布波导装置被光学耦合到一个或多个主平面波导632b中。主平面波导632b可以沿着优选地与第一轴正交的第二轴(例如,图6的视图中的水平轴或X轴)中继光。值得注意的是,第二轴可以是与第一轴非正交的轴。主平面波导632b沿着该第二轴(例如,X轴)扩展光的有效出射光瞳。例如,分布平面波导622b可以沿着垂直轴或Y轴中继和扩展光,并且将该光传递到可以沿着水平轴或X轴中继和扩展光的主平面波导632b。
该光学系统可以包括一个或多个彩色光源(例如,红色、绿色和蓝色激光)610,这些彩色光源可以被光学耦合到单模光纤640的近端中。可以穿过压电材料的中空管642来通过或接收光纤640的远端。远端作为非固定柔性悬臂644从管642突出。压电管642可以与四个象限电极(未示出)相关联。例如,电极可以被镀在管642的外侧、外表面或外周或外径上。芯电极(未示出)也可以位于管642的芯、中心、内周或内径中。
例如经由导线660电耦接的驱动电子器件650驱动相对的电极对以独立地在两个轴上弯曲压电管642。光纤644的突出远端顶端具有机械共振模式。共振的频率可以取决于光纤644的直径、长度和材料特性。通过在光纤悬臂644的第一机械共振模式附近振动压电管642,可以使得光纤悬臂644振动,并且可以扫过大的偏转。
通过激发两个轴上的共振,光纤悬臂644的顶端在遍及二维(2-D)扫描的区域中双轴扫描。通过与光纤悬臂644的扫描同步地调制一个或多个光源610的强度,从光纤悬臂644出射的光可以形成图像。美国专利公开No.2014/0003762中提供了这样的设置的描述,其通过引用全部并入本文中。
光学耦合器子系统的部件可以准直从扫描光纤悬臂644出射的光。准直光可以被镜面648反射到包含至少一个衍射光学元件(DOE)622a的窄分布平面波导622b中。准直光可以通过TIR沿分布平面波导622b垂直地(相对于图6的视图)传播,并且在这样做时与DOE622a反复相交。DOE 622a优选具有低衍射效率。这可导致一部分(例如,10%)光在与DOE622a的每一个交点处被衍射朝向较大的主平面波导632b的边缘,并且一部分光通过TIR在其原始轨迹上继续沿分布平面波导622b的长度向下。
在与DOE 622a的每一个交点处,附加光可以被衍射向主波导632b的入口。通过将入射光分成多个耦出组,光的出射光瞳可以在分布平面波导622b中被DOE 4垂直地扩展。从分布平面波导622b耦出的该垂直扩展的光可以进入主平面波导632b的边缘。
进入主波导632b的光可以经由TIR沿着主波导632b水平(相对于图6的视图)传播。由于光通过TIR沿着主波导632b的长度的至少一部分水平传播,因此光在多个点处与DOE632a相交。DOE 632a可以有利地被设计或构造成具有相位轮廓,该相位轮廓是线性衍射图案和径向对称衍射图案的总和,以产生光的偏转和聚焦。DOE 632a可以有利地具有低衍射效率(例如,10%),使得DOE 632a的每一个交点只有一部分光束的光朝着视图的眼睛偏转,而其余的光经由TIR通过波导632b继续传播。
在传播光和DOE 632a之间的每一个交点处,一部分光朝着主波导632b的相邻面衍射,从而允许光脱离TIR,并且从主波导632b的面出射。在一些实施例中,DOE 632a的径向对称衍射图案另外向衍射光赋予聚焦水平,既对单独的光束的光波前(例如,赋予曲率)进行整形,也以与设计的聚焦水平相匹配的角度使光束转向。
因此,这些不同的路径可以通过多个DOE 632a以不同的角度、聚焦水平或在出射光瞳处产生不同的填充图案来使光耦合出主平面波导632b。出射光瞳处的不同填充图案可以有利地被用于创建具有多个深度平面的光场显示。波导组件中的每一层或堆叠中的一组层(例如3层)可被用于产生相应的颜色(例如,红色、蓝色、绿色)。因此,例如,可以采用第一组的三个相邻层在第一焦深处分别产生红光、蓝光和绿光。可以采用第二组的三个相邻层在第二焦深处分别产生红光、蓝光和绿光。可以采用多个组来产生具有各种焦深的全3D或4D彩色图像光场。
尽管可穿戴系统的某些实施例可以在不同深度平面上渲染虚拟对象(例如,如参考图3所描述的),但这仅是示例性的而不是限制性的。可以使用其他光学技术来渲染虚拟对象,以使虚拟对象看起来处于距用户的不同深度处。例如,可以使用可变聚焦元件(VFE),例如,如在美国专利公开No.2015/0346495中所描述的,其全部内容通过引用并入本文。在可穿戴系统的其他实施例中,可以在同一深度平面上渲染不同的虚拟对象,但是对于用户而言好像位于不同深度处。例如,可以通过改变与虚拟内容相关联的像素的渲染位置来改变在深度平面上渲染的虚拟内容的表观深度,使得虚拟内容具有不同的聚散位置(和不同的感知深度)。因此,可以在同一深度平面上渲染两个虚拟对象,但是通过修改像素渲染位置以便为第二虚拟对象(相对于第一虚拟对象)创建不同的聚散位置,使得在距用户的相同深度处(相对于第一虚拟对象)第二虚拟对象可以被感知为更靠近用户或距用户更远。因此,可以通过在同一深度平面上渲染不同虚拟内容但调整聚散度来实现不同虚拟内容的感知深度。
可穿戴系统的其它部件
在许多实施方式中,可穿戴系统可以包括其它部件,作为上述可穿戴系统的部件的补充或替代。可穿戴系统例如可以包括一个或多个触觉装置或部件。触觉装置或部件可以用于向用户提供触觉。例如,触觉装置或部件可以在触摸虚拟内容(例如,虚拟对象、虚拟工具、其它虚拟构造)时提供压力或纹理的触觉。触觉可以复制虚拟对象表示的物理对象的感觉,或者可以复制虚拟内容表示的想象的对象或人物(例如,龙)的感觉。在一些实施方式中,触觉装置或部件可由用户穿戴(例如,用户可穿戴的手套)。在一些实施方式中,触觉装置或部件可以由用户保持。
可穿戴系统例如可以包括可由用户操纵的一个或多个物理对象以允许输入或与可穿戴系统进行交互。这些物理对象在本文中可以被称为图腾。一些图腾可采取无生命对象的形式,诸如例如金属或塑料块、墙壁、桌子的表面。在某些实施方式中,图腾可能实际上不具有任何物理输入结构(例如,键、触发器、操纵杆、轨迹球、摇杆开关)。相反,图腾可以简单地提供物理表面,并且可穿戴系统可以呈现用户界面,以便对于用户而言看起来在图腾的一个或多个表面上。例如,可穿戴系统可以使计算机键盘和触控板的图像看起来驻留在图腾的一个或多个表面上。例如,可穿戴系统可以使虚拟计算机键盘和虚拟触控板看起来在作为图腾的铝的薄矩形板的表面上。矩形板本身没有任何物理键或触控板或传感器。然而,可穿戴系统可以检测用户操纵或交互或触摸该矩形板作为经由虚拟键盘或虚拟触控板进行的选择或输入。用户输入装置466(在图4中示出)可以是图腾的实施例,其可以包括触控板、触摸板、触发器、操纵杆、轨迹球、摇杆或虚拟开关、鼠标、键盘、多自由度控制器或另一物理输入装置。用户可以单独或与姿势结合使用图腾,以与可穿戴系统或其它用户进行交互。
在美国专利公开No.2015/0016777中描述了可用于本公开的可穿戴装置、HMD和显示系统的触觉装置和图腾的示例,其全部内容通过引用并入本文中。
可穿戴系统、环境和接口的示例
可穿戴系统可以采用各种与地图绘制相关的技术,以便在所呈现的光场中实现高景深。在绘制出虚拟世界时,了解真实世界中的所有特征和点以准确描绘与真实世界相关的虚拟对象是有利的。为此,可以通过包括传达关于真实世界的各种点和特征的信息的新图片,将从可穿戴系统的用户捕获的FOV图像添加到世界模型。例如,可穿戴系统可以收集一组地图点(诸如2D点或3D点)并找到新的地图点(map point)以呈现的世界模型的更精确版本。可以将第一用户的世界模型(例如,通过诸如云网络的网络)传达给第二用户,使得第二用户可以体验围绕第一用户的世界。
图7是MR环境700的示例的框图。MR环境700可以被配置为接收来自一个或多个用户可穿戴系统(例如,可穿戴系统200或显示系统220)或固定房间系统(例如,室内相机等)的输入(例如,来自用户的可穿戴系统的视觉输入702、诸如房间相机的固定输入704、来自各种传感器的传感器输入706、来自用户输入装置466的用户输入、手势、图腾、眼睛跟踪等)。可穿戴系统可以使用各种传感器(例如,加速度计、陀螺仪、温度传感器、移动传感器、深度传感器、GPS传感器、面向内成像系统、面向外成像系统等)来确定用户环境的位置和各种其它属性。该信息可以进一步补充有来自房间中的固定相机的信息,该相机可以从不同的视点提供图像或各种线索。由相机(诸如房间相机或面向外成像系统的相机)获取的图像数据可以被缩减为映射点组。
一个或多个对象识别器708可以爬过(crawl through)接收到的数据(例如,点的集合)并且借助于地图数据库710来识别或映射点、标记图像,将语义信息附加到对象。地图数据库710可以包括随时间推移收集的各个点及其相应的对象。各种装置和地图数据库可以通过网络(例如LAN、WAN等)相互连接以访问云。
基于该信息和地图数据库中的点集合,对象识别器708a至708n可以识别环境中的对象。例如,对象识别器可以识别面部、人、窗户、墙壁、用户输入装置、电视、用户环境中的其它对象等。一个或多个对象识别器可以专用于具有特定特性的对象。例如,对象识别器708a可用于识别面部,而另一对象识别器可用于识别图腾。
可以使用各种计算机视觉技术来执行对象识别。例如,可穿戴系统可以分析由面向外成像系统464(如图4所示)获取的图像以执行场景重建、事件检测、视频跟踪、对象识别、对象姿势估计、学习、索引、运动估计或图像恢复等。可以使用一种或多种计算机视觉算法来执行这些任务。计算机视觉算法的非限制性示例包括:尺度不变特征变换(SIFT)、加速鲁棒特征(SURF)、定向FAST和旋转BRIEF(ORB)、二进制鲁棒不变可扩展关键点(BRISK)、快速视网膜关键点(FREAK)、Viola-Jones算法、特征脸方法、Lucas-Kanade算法、Horn-Schunk算法,均值漂移(Mean-shift)算法、视觉同步定位与地图构建(vSLAM)技术、序列贝叶斯估计器(例如,卡尔曼滤波器、扩展卡尔曼滤波器等)、光束法平差(bundle adjustment)、自适应阈值分割(和其它阈值分割技术)、迭代最近点(ICP)、半全局匹配(SGM)、半全局块匹配(SGBM)、特征点直方图、各种机器学习算法(例如,支持向量机、k最近邻算法、朴素贝叶斯、神经网络(包括卷积或深度神经网络)或其它有监督/无监督模型等)等等。
附加地或替代地,对象识别可以通过各种机器学习算法来执行。一旦经过训练,机器学习算法就可以由HMD存储。机器学习算法的一些示例可以包括有监督或无监督机器学习算法,包括回归算法(例如,普通最小二乘回归)、基于实例的算法(例如,学习向量量化)、决策树算法(例如,分类和回归树)、贝叶斯算法(例如,朴素贝叶斯)、聚类算法(例如,k均值聚类)、关联规则学习算法(例如,先验算法)、人工神经网络算法(例如,感知机)、深度学习算法(例如,深度玻尔茨曼机或深度神经网络)、降维算法(例如例如,主成分分析)、集合算法(例如,堆栈泛化)或其它机器学习算法。在一些实施例中,可以针对各个数据集定制各个模型。例如,可穿戴装置可以生成或存储基础模型。基础模型可以用作生成特定于数据类型(例如,远端临场会话中的特定用户)、数据集(例如,在远端临场会话中从用户处获得的附加图像集)、条件情况或其它变化的附加模型的起点。在一些实施例中,可穿戴HMD可以被配置为利用多种技术来生成用于分析聚合数据的模型。其它技术可包括使用预定义的阈值或数据值。
基于该信息和地图数据库中的点的集合,对象识别器708a至708n可以识别对象并用语义信息补充对象以赋予对象生命。例如,如果对象识别器将一组点识别为门,则系统可以附加一些语义信息(例如,该门具有铰链并且具有围绕铰链的90度移动)。如果对象识别器将一组点识别为镜子,则系统可以附加这样的语义信息:该镜子具有可以反射房间中对象的图像的反射表面。随着时间的推移,地图数据库随着系统(其可以驻留在本地或可以通过无线网络访问)累积来自世界的更多数据而增长。一旦识别出对象,就可以将该信息发送到一个或多个可穿戴系统。例如,MR环境700可以包括关于在加利福尼亚发生的场景的信息。环境700可以被发送给纽约的一个或多个用户。基于从FOV相机和其它输入接收的数据,对象识别器和其它软件组件可以映射从各种图像收集的点、识别对象等,使得该场景可以准确地“传递”给可能在世界的不同部分的第二用户。环境700也可以使用拓扑图来实现本地化目的。
对象识别器可以识别3D环境中的对象,并且根据系统对用于选择对象或与对象交互的光标的当前位置的了解,可以使用该信息来实现本文所述的遮挡光标技术。例如,如果光标位置在对象识别器所识别的目标对象附近,则可以在目标对象周围提供或强调聚焦指示符。对象识别器可以确定对象的位置(例如,中心)或者对象的边缘或边界,以及光标相对于对象的中心或者边缘或边界的位置(例如,从用户朝向光标位置的光线)可用于确定是否或如何渲染聚焦指示符、是否使光标朝向对象加速(例如,本文所述的吸引效果)等等。
图8是呈现与所识别的对象相关的虚拟内容的方法800的示例的过程流程图。方法800描述了如何将虚拟场景呈现给可穿戴系统的用户。用户可能在地理上远离该场景。例如,用户可能在纽约,但可能想要观看当前正在加利福尼亚发生的场景,或者可能想要与居住在加利福尼亚的朋友散步。
在框810处,可穿戴系统可以从用户和其他用户接收关于用户的环境的输入。这可以通过各种输入装置和在地图数据库中已有的知识来实现。在框810处,用户的FOV相机、传感器、GPS、眼睛跟踪等向系统传送信息。在框820处,系统可以基于该信息确定稀疏点。稀疏点可用于确定姿势数据(例如,头部姿势、眼睛姿势、身体姿势或手部手势),这些数据可用于显示和理解用户周围环境中各种对象的取向和位置。在框830处,对象识别器708a-708n可以爬过这些收集的点并使用地图数据库识别一个或多个对象。然后可以在框840处将该信息传送给用户的个人可穿戴系统,并且可以在框850处相应地向用户显示所期望的虚拟场景。例如,可以相对于在纽约的用户的各种对象和其它环境以适当的取向、位置等显示所期望的虚拟场景(例如,位于CA的用户)。
图9是可穿戴系统的另一示例的框图。在该示例中,可穿戴系统900包括地图,该地图可以包括世界的地图数据。该地图可以部分地驻留在可穿戴系统本地,可以部分地驻留在可通过有线或无线网络(例如,在云系统中)访问的网络存储位置。姿势处理910可以在可穿戴计算架构(例如,处理模块260或控制器460)上被执行,并利用来自地图的数据而确定可穿戴计算硬件或用户的位置和取向。可以根据当用户正在体验系统并在世界中操作时实时收集的数据来计算姿势数据。该数据可以包括图像、来自传感器(例如惯性测量单元(IMU),其可以包括加速度计、陀螺仪、磁力计或这样的部件的组合)的数据和与真实或虚拟环境中的对象相关的表面信息。
稀疏点表示可以是同时定位与地图构建(SLAM或V-SLAM,是指其中输入只是图像/视觉的配置)过程的输出。该系统可以被配置为不仅找出各种部件在该世界中的位置,而且还找出该世界是由什么构成的。姿势可以是实现许多目标的构建块,包括填充地图和使用来自地图的数据。
在一个实施例中,稀疏点位置本身可能不完全足够,并且可能需要进一步的信息来产生多焦点AR、VR或MR体验。可以使用通常参考深度地图信息的密集表示来至少部分地填充该间隙。这样的信息可以根据被称为立体(Stereo)的处理940来计算,其中使用诸如三角测量或飞行时间感测的技术来确定深度信息。图像信息和有源(active)模式(诸如使用有源(active)投影仪创建的红外模式)可以用作立体处理940的输入。可以将大量深度地图信息融合在一起,并且可以用表面表示来概括其中的一些。例如,数学上可定义的表面是诸如游戏引擎之类的其它处理装置的有效(例如,相对于大点云)且可消化的输入。因此,立体处理(例如,深度地图)940的输出可以在融合处理930中组合。姿势也可以是向该融合处理930的输入,并且融合930的输出变为填充(populate)地图处理920的输入。子表面可以彼此连接(例如在地形图中)以形成更大的表面,并且地图变成点和表面的大混合体。
为了解决混合现实处理960中的各个方面,可以使用各种输入。例如,在图9所示的实施例中,可以输入游戏参数以确定系统的用户正在玩打怪兽游戏,其中一个或多个怪兽位于各个位置,怪兽在各种条件下死亡或逃跑(例如如果用户射杀怪兽),墙壁或其它对象位于各个位置等等。世界地图可以包括有关这些对象在哪些位置彼此相关的信息,作为混合现实的另一有价值的输入。相对于世界的姿势也成为一种输入,并且几乎对任何交互系统起着关键作用。诸如这些的参数和输入可用于在混合现实过程960中提供遮挡光标功能。
来自用户的控制或输入是可穿戴系统900的另一输入。如本文所述,用户输入可包括视觉输入、手势、图腾、音频输入、感官输入等。为了四处移动或玩游戏,例如,用户可能需要指示可穿戴系统900关于他或她想要做什么。除了在空间中移动自己之外,存在可以利用的多种形式的用户控制。在一个实施例中,图腾(例如,用户输入装置)或诸如玩具枪之类的对象可由用户握持并由系统跟踪。该系统优选地被配置为知道用户正在握住商品并且理解用户与商品进行何种交互(例如,如果图腾或对象是枪,则系统可以被配置为了解位置和取向,以及用户是否正在点击触发器或其它可能配备有传感器的感测按钮或元件,例如IMU,其可以有助于确定正在发生的事情,即使这样的活动不在任何相机的视野内)。
手势跟踪或识别也可以提供输入信息。可穿戴系统900可以被配置为跟踪和解释按钮按压的手势,用于向左或向右打手势、停止、抓取、保持等。例如,在一种配置中,用户可能想要在非游戏环境中翻阅电子邮件或日历,或与其他人或玩家“击拳”。可穿戴系统900可以被配置为利用最小量的手势,该手势可以是动态的,也可以不是动态的。例如,手势可以是简单的静态手势,如张开手表示停止,拇指向上表示好(ok),拇指向下表示不好;或者左右或上下翻转手来做出方向命令。
眼睛跟踪是另一种输入(例如,跟踪用户正在看哪里以控制显示技术来在特定深度或范围进行呈现)。在一个实施例中,可以使用三角测量来确定眼睛的聚散度,然后使用为该特定人物开发的聚散度/调节模型,可以确定调节。
关于相机系统,图9所示的示例性可穿戴系统900可包括三对相机:相对宽的FOV或被动SLAM相机对,其布置在用户面部的侧面,不同的相机对定位在用户前方以处理立体成像处理940且还捕获手势和在用户面部前方的图腾/对象跟踪。用于立体处理940的FOV相机和所述相机对可以是面向外成像系统464(在图4中示出)的一部分。可穿戴系统900可以包括眼睛跟踪相机(其可以是图4中所示的面向内成像系统462的一部分),眼睛跟踪相机朝向用户的眼睛取向,以便对眼睛向量和其它信息进行三角测量。可穿戴系统900可以还包括一个或多个纹理化光投影仪(例如红外(IR)投影仪)以将纹理注入到场景中。
图10是用于确定可穿戴系统的用户输入的方法1000的示例的过程流程图。在该示例中,用户可以与图腾交互。用户可能有多个图腾。例如,用户可能已经指定了一个图腾用于社交媒体应用,另一图腾用于玩游戏,等等。在框1010处,可穿戴系统可以检测图腾的移动。图腾的移动可以通过面向外的系统识别,或者可以通过传感器(例如,触觉手套、图像传感器、手部跟踪装置、眼睛跟踪相机、头部姿势传感器等)来检测。
在框1020处,至少部分地基于检测到的手势、眼睛姿势、头部姿势或通过图腾的输入,可穿戴系统检测图腾(或用户的眼睛或头部或手势)相对于参考系(reference frame)的位置、取向或移动。参考系可以是一组地图点,可穿戴系统基于该组地图点将图腾(或用户)的移动转换为动作或命令。在框1030处,映射(map)用户与图腾的交互。在框1040处,基于相对于参考系1020的用户交互的映射,系统确定用户输入。
例如,用户可以前后移动图腾或物理对象以表示翻动虚拟页面并移动到下一页或者从一个用户界面(UI)显示屏移动到另一UI屏。作为另一示例,用户可移动他们的头部或眼睛以观看用户的FOR中的不同真实或虚拟对象。如果用户注视特定真实或虚拟对象的时间长于阈值时间,则可以选择该真实或虚拟对象作为用户输入。在一些实施方式中,可以跟踪用户眼睛的聚散度,并且可以使用调节/聚散度模型来确定用户眼睛的调节状态,其提供关于用户正在聚焦于的深度平面的信息。在一些实施方式中,可穿戴系统可以使用光线投射技术来确定哪些真实或虚拟对象沿着用户的头部姿势或眼睛姿势的方向。在各种实现方式中,光线投射技术可以包括投射具有基本上很小的横向宽度的细铅笔光线或具有横向宽度(例如,锥体或平截头体)的光线。
用户界面可由本文所述的显示系统(例如图2中的显示器220)投射。它还可以使用各种其它技术显示,例如一个或多个投影仪。投影仪可以将图像投射到诸如画布或地球仪之类的物理对象上。可以使用系统外部的或作为系统一部分的一个或多个相机(例如,使用面向内成像系统462或面向外成像系统464)来跟踪与用户界面的交互。
图11是用于与虚拟用户界面交互的方法1100的示例的过程流程图。方法1100可以由本文描述的可穿戴系统执行。
在框1110处,可穿戴系统可识别特定UI。UI的类型可以由用户预先确定。可穿戴系统可以基于用户输入(例如,姿势、视觉数据、音频数据、传感数据、直接命令等)识别需要填充特定UI。在框1120处,可穿戴系统可以生成用于虚拟UI的数据。例如,可以生成与UI的界限(confine)、一般结构、形状等相关联的数据。另外,可穿戴系统可以确定用户的物理位置的地图坐标,使得可穿戴系统可以显示与用户的物理位置有关的UI。例如,如果UI以身体为中心,则可穿戴系统可以确定用户的身体位置(physical stance)的坐标、头部姿势或眼睛姿势,使得可以在用户周围显示环形UI,或者可以在墙壁上或在用户前方显示平面UI。如果UI以手为中心,则可以确定用户的手的地图坐标。这些地图点可以借助通过FOV相机接收的数据、传感输入或任何其它类型的收集数据取得。
在框1130处,可穿戴系统可以从云向显示器发送数据,或者数据可以从本地数据库发送到显示部件。在框1140处,基于发送的数据向用户显示UI。例如,光场显示器可以将虚拟UI投射到用户的一只或两只眼睛中。在框1150处,一旦创建了虚拟UI,可穿戴系统只需等待来自用户的命令以生成在虚拟UI上的更多虚拟内容。例如,UI可以是围绕用户身体的身体中心环。然后,可穿戴系统可以等待命令(姿势、头部或眼睛动作、来自用户输入装置的输入等),并且如果它被识别(框1160),可以向用户显示与该命令相关联的虚拟内容(框1170)。作为示例,虚拟内容可以包括与环境中的对象相关联的虚拟光标(或标线)和聚焦指示符。虚拟光标和聚焦指示符可以包括参考图12A-24描述的遮挡光标技术的方面。
可穿戴系统、UI和用户体验(UX)的其它示例在美国专利公开No.2015/0016777中描述,其全部内容通过引用并入本文中。
视野(FOV)中的示例对象
图12A-12C示出了用户可以被用户经由可穿戴系统感知的对象1204和光标1202的各种示例。图12A示出了2D环境的示例。图12B-12C示出了3D环境的示例。在各种实施例中,用户的视野(FOV)中的对象可以是虚拟或物理对象。例如,一个活多个对象可以包括诸如椅子、树、沙发、墙壁等的物理对象,而虚拟对象可以包括操作系统对象,例如用于已删除文件的回收站、用于输入命令的终端、用于访问文件或目录的文件管理器、图标、菜单、用于音频或视频流的应用程序、来自操作系统的通知等等。虚拟对象还可以包括应用程序中的对象,例如化身、游戏中的虚拟对象、图形或图像等。一些虚拟对象可以既是操作系统对象,也是应用程序中的对象。在一些实施例中,可穿戴系统可以将虚拟元素添加到现有物理对象。例如,可穿戴系统可以添加与房间中的电视相关联的虚拟菜单,其中虚拟菜单可以向用户提供选项以使用可穿戴系统打开或改变电视频道。
虚拟对象可以是三维(3D)、二维(2D)或一维(1D)对象。例如,虚拟对象可以是3D咖啡杯(其可以表示物理咖啡机的虚拟控件)。虚拟对象还可以是时钟的2D图形表示(向用户显示当前时间)。在一些实施方式中,一个或多个虚拟对象可以显示在另一虚拟对象内(或与另一虚拟对象相关联)。虚拟咖啡杯可以显示在用户界面平面的内部,尽管虚拟咖啡杯在该2D平面虚拟空间内看起来是3D的。
光标的利用
继续参考图12A-12C,可穿戴系统显示光标1202,该光标1202可以是可移动的指示符,用户可以利用该光标1202来选择环境中的对象或与该对象交互。光标可以显示在环境的边界区域内(例如,FOV内的位置)。在一些情况下,光标表示用户与真实或虚拟对象的交互可能发生的位置。例如,用户可以利用光标1202来选择、观看或指向诸如对象1204的对象。通过改变光标1202的位置,用户可以更改选择或视图或者改变光标1202正指向的位置。在各种实现方式中,用户可以通过例如平移或旋转手持式图腾、在图腾或其他用户输入装置的触敏部分上移动手指(例如,拇指)、平移或旋转身体部位(例如,手指、手或手臂)、或移动其头部或眼睛来改变光标的位置。
光标1202的外观可以采取各种不同的颜色、轮廓、形状、符号、大小、图像、图形、组合等中的任何。例如,光标1202可以采用各种形状,例如光标、几何锥体、光束、箭头、椭圆、圆、多边形或其他1D、2D或3D形状。
光标1202可用于通过移动光标1202使得其悬停在目标对象1204上方、后方或以其他方式指向目标对象1204来选择、观看或指向诸如对象1204的对象。一旦光标1202和目标对象1204充分对准,用户就可以例如通过做手势、致动图腾的触敏部分等,来选择光标1204悬停或指向的目标对象1204或与之交互。
用户可以移动他或她的身体、头部或眼睛来移动光标1202。例如,用户姿势(例如,头部姿势、身体姿势或眼睛注视)的改变可以改变光标1202在FOV内的位置。类似地,可以通过诸如图4的用户输入装置466的用户输入装置来控制光标1202。例如,用户输入装置可以包括触控板、触摸屏、操纵杆、多自由度(DOF)控制器、电容感测装置、游戏控制器、键盘、鼠标、方向盘(D-pad)、棒、触觉装置、图腾(例如,充当虚拟用户输入装置)等。例如,当用户在用户输入装置上移动他的手时,光标1202可以从第一位置移动到第二位置。
遮蔽内容
一些系统在不考虑场景内容的情况下渲染光标。换句话说,当用户在场景周围移动光标时,光标被渲染在场景中对象的前方。随后,当使用光标定位或选择对象时,当光标悬停在对象上方时,光标会挡住或遮蔽(obscure)对象。这可能会影响用户在环境中的体验。例如,用户可能希望看到对象,然而光标被渲染在对象前方,从而阻止了用户对该对象的观看。当对象包括文本、图像或用户希望观看的其他内容时,这些问题可能会进一步加剧。此外,当光标被渲染在目标对象前方时,光标在用户的视觉层次结构上要比目标对象高,这可能会分散注意力,因为用户正在尝试与环境中的真实或虚拟对象进行交互,而不是与光标交互,该光标优选地应该用作工具而不是视觉层次结构中最高或较高对象。
图12A示出了与2D环境中的光标相关联的一些问题的示例。如图所示,图12A示出了当光标1202在2D环境中移动时光标1202的各个位置,特别是当光标1202从位置1212(例如,光标1202位于对象1204上方时的位置)移动到位置1214(例如,光标1202位于对象1204前方时的位置)时的前方)、移动到位置1216(例如,光标1202位于对象1204下方时的位置)时。
在图12A的2D环境中,光标1202和对象1204没有深度。换句话说,光标1202被以与对象1204相同的深度渲染,并且当光标1202和对象1204重叠时,示出了光标1202而不是对象1204。例如,当光标1202从位置1212移动到位置1214,光标1202似乎“滚过”对象1204,使得显示了光标1202并且对象1204的在光标后方的部分被挡在用户视线之外。
图12B示出了在3D环境中如何加剧光标的遮挡的示例。如图所示,图12B示出了光标1202在3D环境中移动时的光标1202的各个位置,特别是当光标1202从位置1222(例如,光标1202位于对象1204上方并居中于对象1204之上时的位置)沿路径1250a移动到位置1224(例如,光标1202位于对象1204的前方时的位置)、移动到位置1226(例如,光标1202居中并位于对象1204之下时的位置)时。
在图12B的3D环境中,光标1202和对象1204确实具有深度。换句话说,为了使光标1202在3D空间中“滚过”或“滚动围绕”对象,光标1202必须靠近或远离用户移动,使得光标1202和对象1204不重叠。例如,如果在“滚过”期间光标1202和对象保持在相同的深度,则光标1202可能看起来穿过对象1204,这可能是不希望的,因为它破坏了真实性并可能遮蔽光标1202的部分或对象1204的部分。在图12B中,如果沿着路径1250a移动,则光标被移动得更靠近用户,使得其位于对象1204的前方并且位于对象1204与用户之间(参见例如位置1224)。例如,图12B中的对象1204可以是具有在其身体前方伸出的手臂的人物。最初,在位置1222处,光标1202距用户的距离与人物1204距用户的距离大致相同。然而,当光标1202沿着路径1250a从位置1222移动到位置1224时,系统必须使光标1202靠近用户,以便使光标1202位于人物1204的伸出的手臂的前方。通过使光标1202靠近用户,该系统有效地相对于人物1204而强调光标1202,因为用户更可能聚焦在看起来更靠近他或她的对象。为了减少对光标的强调,系统可以动态调整光标的尺寸,以维持光标的外观一致。然而,由于光标的感知尺寸会基于距用户的距离而变化,因此这种类型的透视变化可能使用户感到困惑,或者至少可能为用户提供误导性信息。因此,尽管希望通过利用经过人物1204前方的光标1202来强调用户试图交互的人物1204,但是系统不期望地强调了在人物之上光标1202。
为了减少在光标1202和对象1204重叠时强调光标1202的可能性,光标实际上可以沿着在对象1204后方行进的路径1250b移动(使得对象1204“遮挡”光标)。从而相对于前景对象1204不强调光标1202。当光标1202位于对象1204后方(例如图12B中的人物)时,可穿戴系统可以停止渲染光标,因为光标1202对于用户是不可见的(例如,对象是不透明的并“遮挡”光标)。在一些实施例中,当位于对象1204后方时,光标1202继续由可穿戴系统渲染,但是是以降低的亮度水平,使得它相对于对象保持不被强调或者对象1204被渲染为位于光标1202前方(例如,对象遮挡光标),这实际上会降低光标相对于对象的可感知性。如下面进一步描述的,另外地或可替代地,当光标位于对象后方时,系统可以在对象1204周围渲染聚焦指示符(例如,辉光或光环),以向用户提供关于光标的位置的视觉指示。
图12C示出了当光标在3D环境中在对象后方移动时对象如何在尺寸、形状或感知深度上变化的示例。如图所示,图12C示出了光标1202在3D环境中移动时的光标1202的各种位置,特别是当光标1202从位置1222(例如,光标1202位于对象1204上方并居中于对象1204之上时的位置)移动到位置1226(例如,光标1202居中并位于对象1204下方时的位置)时。
在图12C中,与其将光标1202移动靠近用户(例如,图12B的路径1250a)或者将光标1202移动远离用户(例如,图12B的路径1250b),系统可以沿着路径1250c移动光标1202。作为响应,对象1204可以变大、或者对象1204可以移动靠近用户、或者对象前景可以扩展(或这些的任意组合),使得图标1204移位靠近或看起来大于或更靠近用户。换句话说,不是更改光标1202相对于用户或对象1204的深度,而是系统可以将光标保持在相同的深度并调整对象1204的相对深度,使得对象1204看起来比光标更靠近用户。在一些实施例中,对象1204可以移位到新的深度(例如,更靠近用户的深度);在一些实施例中,对象1204可以保持与光标相同的深度,但是可以被用更靠近的发散度显示输入来渲染,从而看起来更靠近用户。通过使对象1204靠近用户,系统有利地强调了对象1204,因为用户更可能聚焦于看起来更靠近他或她的对象。此外,与图12b的路径1250b类似,因为对象朝着用户移位,所以光标1202实际上可以沿着在对象1204后方行进的路径1250c移动(使得对象1204“遮挡”光标)。光标1202可以在位于对象1204后方时不被渲染,或者可以以降低的亮度或以增加的透明度被渲染。从而相对于前景对象1204不强调光标1202。当光标1202不再位于对象1204后方时,可穿戴系统可以将对象1204移回到其原始位置并将对象调整为其原始尺寸,从而不强调对象1204并再次渲染光标1202(其不再被遮挡),使得用户可以观看光标和对象。如上所述,当光标1202被对象1204遮挡时,系统可以在对象1204的至少一部分周围或附近渲染聚焦指示符,这进一步相对于光标强调了前景对象。
下面参考图18A-18C和30A-30F描述遮挡光标的行为的其他示例。
聚焦指示符的利用
在一些情况下,当光标1202定位在对象1204的后方时,用户可能难以准确了解光标在场景中的位置。例如,光标1202(至少部分地)被对象1204阻挡,并且用户可能难以未来在视觉上重新获取光标或记住已经选择了哪个对象。因此,为了向用户提供光标在环境中的位置的准确感觉,在一些情况下,当光标1202在对象1204后方移动时,系统可以强调对象1204。例如,系统可以给对象1204分配聚焦指示符(例如,某种形式的视觉突出显示)。因此,当光标1202在对象1204附近或后方移动时,聚焦指示符被激活并强调对象1204,而用户仍然可以获得对光标在场景中的位置的准准确感觉以及选择了哪个对象。
图13A和13B示出了聚焦指示符1302和光标1202的非限制性实施例。聚焦指示符1302的外观可以采取各种不同的颜色、轮廓、形状、符号、尺寸、图像、图形、组合等中的任何。例如,光标1202可以采用各种形状,例如光标、几何锥体、光束、箭头、交叉线、椭圆、圆、多边形、或者其他1D、2D或3D形状。聚焦指示符1302可以包括但不限于光环、颜色、感知的尺寸或深度变化(例如,当被选择时使对象看起来更近或更大)、虚拟射线、线、或弧或者其他从对象或其外围的至少一部分发出的、围绕对象或其外围的至少一部分、或与对象或其外围的至少一部分相关联的其他图形突出显示,以便将用户的注意力吸引到对象上。聚焦指示符1302可以包括从对象后方放射的辉光,并且辉光的强度可以与光标的位置与对象的位置之间的空间关系对应。例如,辉光的强度在对象边缘附近可能最大并且随着距对象远离的距离而减小。辉光的强度在对象的最靠近光标的一侧(例如,沿着对象与光标之间的直线)可能最大,并且强度在对象的远离光标的一侧可能较低(或为零)。如图13B所示,光标或聚焦指示符可以具有虹彩外观。聚焦指示符1302(或光标1202)还可包括听觉或触觉效果,例如振动、铃声、蜂鸣声等。
光标1202可以足够大或者对象可以足够小,以使得当光标1202位于对象后方时,光标的外部给出围绕对象的聚焦指示符的外观。在一些情况下,如图13A和13B所示,聚焦指示符1302可以作为光标1202的较大版本出现。例如,系统可以渲染光标1202,并且响应于光标通过低于在其与对象之间的阈值距离,为了有利于出现在对象周围的聚焦指示符1302,光标1202被遮挡(例如,未被渲染)。进一步响应于光标通过高于在其与对象之间的阈值距离,光标可以再次由系统渲染并且不强调聚焦指示符。
光标和聚焦指示符的示例
图14A和14B示出了包括光标1202和对象1204的环境的示例。在该示例中,对象1204是坐在桌子上的立方体。当光标1202从图14中的位置1412过渡到图14B中的位置1414时,光标1202在对象1204上方(或前方)移动。因此,当光标1202位于位置1414处时,光标1202阻止用户观看对象1204的一部分,如上所述,这可以分散用户注意力。
图14C示出了环境的示例,其示意性地示出了遮挡光标功能的特征。与图相反。与图14B相反,光标1414在对象1204后方移动并且不被渲染给用户(并且在图14C中由虚线指示)。随着光标1414靠近对象1204并在对象1204后方经过,聚焦指示符1302被渲染给用户。在该示例中,聚焦指示符1302是围绕立方体的圆形辉光,其中辉光的强度在立方体的边缘附近最高,并且随着距立方体的距离增加而使大小减小。
聚焦指标符阈值
如本文所描述的,当光标被对象遮挡时,聚焦指示符1302可以有利地向用户提供对光标在环境内的位置的准确感觉。例如,如在图14C中看到的,尽管光标1414对于用户不可见,但是围绕对象1204的聚焦指示符1302给用户识别出对象被选择(或交互)并且进一步指示光标位于对象1204的后方。
系统可以至少部分地基于确定光标在环境内的位置通过相对于对象的距离阈值,来给对象分配聚焦指示符1302。换句话说,可以基于所确定的光标在环境中的位置与对象的位置、尺寸、形状、取向等之间的空间关系,给对象分配聚焦指示符1302。可以通过射线投射或锥体投射来确定光标的位置,并且距对象的距离可以被确定为射线(或锥体)与对象之间的垂直距离。
聚焦指示符1302可以向用户提供光标在环境中的位置的准确感觉。例如,当用户改变光标在环境中的位置时,系统可以分配、取消分配或修改与环境中的一个或多个对象相关联的聚焦指示符。系统可以调整聚焦指示符1302的强度、尺寸、形状、颜色或其他特性,以指示光标与对象之间的相对距离。例如,当光标在环境中的位置移动靠近对象时,分配给该对象的聚焦指示符可能会显示得更强烈或更大(至少在朝向光标的方向上)。当光标在环境中的位置远离对象时,分配给该对象的聚焦指示符可能会变得不那么强烈或更小或者系统可能会停止渲染聚焦指示符。
图14A示出了在确定如何(或是否)渲染聚焦指示符时系统的各种距离阈值考虑因素的示例。系统可以监视光标1202的位置1412,并且至少部分地基于该位置,系统可以确定是否分配聚焦指示符1302以及聚焦指示符的属性是什么。例如,如果光标1202的位置1412通过低于与对象1204对应的距离阈值,则系统可以向对象1204分配或修改聚焦指示符1302。系统可以至少部分地基于确定光标1202的位置1412通过高于与对象1204对应的距离阈值,来取消分配或修改聚焦指示符1302。
距离阈值可以在各个实施例之间变化,并且可以基于各种因素,包括但不限于对象的尺寸、环境中对象的数量或密度、对象相对于另一对象的接近度等。例如,在拥挤的环境中,激活(或去激活)聚焦指示符的距离阈值可以小于不拥挤的环境中的距离阈值,以避免由聚焦指示符重叠或光标附近的几乎所有对象上都有聚焦指示符引起的视觉混乱。在各种实施例中,距离阈值可以是对象尺寸的一部分,也可以是用户视野中对象之间平均距离的一部分(例如,10%、20%、50%、100%等)。距离阈值可以是动态的。例如,如果对象(与第一距离阈值相关联)移入环境中更加拥挤的区域,则由于存在更多附近的对象,该对象的距离阈值可能减小。相反,如果对象进入不太拥挤的环境,则对象的距离阈值可能增加。
参考图14A,在一些情况下,距离阈值可以对应于光标在环境中的位置(例如,位置1412)与对象1204的一部分之间的距离。例如,距离阈值可以对应于光标在环境中的位置1412与对象的中心1420之间的距离1424。类似地,距离阈值可以对应于光标的位置1412与对象1204的最近部分1422(例如,对象的边缘或边界)之间的距离1426。
作为非限制性示例,图14A示出了光标1202。然而,由于光标1202与对象1204之间的距离尚未通过低于距离阈值,因此没有为对象渲染聚焦指示符。例如,系统已确定光标的位置1412距对象1204的中心1420不够近或者光标的位置1412距对象1204的最近部分1422不够近。因此,系统渲染光标1202,但是不渲染聚焦指示符1302。
相反,作为另一非限制性示例,图14C示出了光标位置已通过低于距离阈值(并且在该图示中位于对象后方)的情况的示例。不再渲染光标1414,并且渲染聚焦指示符1302。如果用户要移动光标以使其相对于对象的距离再次超过距离阈值,则用户的视图可能会返回到其中显示光标1202但未显示聚焦指示符的图14A中的视图。
光标与对象之间的吸引效果
在一些情况下,对象可以表现为好像它们具有对光标的粘性、引力或磁化效果,从而使光标看起来“捕捉”到对象上(例如,一旦光标足够靠近对象)。例如,系统可以确定光标在用户视野内的位置,并且可以类似地确定一个或多个对象在用户视域内的位置。基于光标的位置与一个或多个对象之间的空间关系,系统可以确定要分配聚焦指示符的一个或多个对象(例如,聚焦指示符可以被显示(或更突出地显示)在更靠近光标的对象上)。系统可以给用户视域中的至少一个对象连续地分配至少一个聚焦指示符。例如,系统可以给被确定为最靠近光标位置的对象分配聚焦指示符。随着光标位置改变,聚焦指示符所分配到的对象也改变。
为了帮助用户将光标移动到期望的对象上(例如,选择该对象以进行进一步的交互),系统可以模拟对象与光标之间的吸引力的效果。吸引力可以模仿对象之间的重力、磁力、类弹簧或其他吸引力。例如,吸引力可以随着对象与光标之间的距离增加而减小。因此,随着用户将光标移动靠近期望的对象,吸引力可能增加并且倾向于将光标拉向期望的对象。吸引效果可以使用户更容易地选择对象,因为用户仅需要将光标移动到足够接近期望对象的位置,并且系统会将光标拉动或捕捉到期望对象上。
如果系统(或用户)将光标错误地移动到对象上(或用户改变了主意),则用户可以通过施加足够的用户输入以将光标从对象上拉开,来光标与对象分离。
对于不同的对象或对象类型,吸引力的大小或吸引力的范围可以不同。例如,用户可能要交互的对象(例如,虚拟显示器的控件、虚拟游戏中的对象或人物)可能比在用户环境中扮演更被动角色的对象(例如桌子或墙壁上的图形)更具吸引力。吸引力可以具有可以被建模为光标与对象之间的距离的反函数(例如,类似于重力的反平方定律或类似于磁偶极子的反立方定律)的强度。强度或范围可以是用户可选择的,因为一些用户可能更喜欢其中系统会更积极地将光标拉到对象上的一种非常强的吸引效果,而其他用户可能更喜欢较小(或没有)吸引效果。
因此,可穿戴系统的实施例可以模拟光标与对象之间的吸引力的效果,因为光标将被吸引(且“捕捉”)到最靠近的对象。这种“吸引”可以提供持续的输入反馈并向用户提供位置的准确感觉,而在一些情况下,无需系统显示光标(因为聚焦指示符通知了用户光标已被拉向的位置)。这在视域包括许多对象(例如,密集网格布局中的对象)时或者在对象彼此相对靠近时可能是特别有利的。
作为吸引力的示例,如果用户释放用户输入装置的触摸板,则光标可以滑动(例如,好像被重力拉动)到最近的对象(例如,按钮、图标等)处或内的位置。在各种实施例中,如果最近的对象处在相对于光标的一定距离公差内,则光标的这种滑动可能总是发生、从未发生或发生。系统可以提供设置,该设置包括光标是否将移动到最近对象上的最近位置、或者移动到与对象的X和Y轴对准的位置(例如,如果存在长行且相邻的对象,则对于对象的垂直堆叠,可能需要捕捉到中心Y或中心X)。设置还可以包括是否希望在整个用户环境中使用吸引力、或者是否将吸引力施加在包括可选按钮、图标等的列表或网格的显示面板中。
在一些情况下,“附着”至对象的光标可能不会立即变为“未附着”至对象,除非用户充分地移动输入装置以指示系统将光标与先前选择的对象分离。这也模仿了光标与对象之间的粘性、重力或磁性的效果,使得系统作用为就好像所选对象被保持在光标上,直到用户将光标充分地拉离对象。
为了进一步辅助用户在定位遮挡对象时的精确度,系统可以实现一种吸引效果,该效果将在活动用户输入停止之后倾向于将光标吸引朝向最近的对象。因此,即使用户停止致动图腾或其他输入装置,光标也可以表现得好像具有惯性并且可以继续朝着对象移动。吸引力的拉动以相对最少的用户动作以自然的方式将光标移动到期望对象上。这可以有利地使用户更容易选择对象并减轻或最小化用户疲劳。
作为光标惯性的示例,如果用户正在提供触摸板输入并且正在确定或渲染光标运动,则系统还可以关联可以模仿惯性程度的光标移动。例如,可以从活动的用户输入在触摸板上停止(例如,用户抬起或停止移动他或她的手指)的那刻起应用该移动。这可能会导致光标沿其运动路径继续,直到阻尼力将惯性减小到零。控制可以限制能够累积多少惯性以及允许在快速滑动动作结束时在用户释放触摸板的情况下施加惯性增强(例如,对应于可配置的阈值)。惯性增强可以支持快速滑过长项列表(例如,以便如果用户选择,则允许用于从上到下携带光标的一次大滑动)。
光标可以具有对与对象相关联的聚焦指示符的磁化作用,使得光标的接近度影响聚焦指示符的强度或定位。例如,在一些情况下,每一个对象可以具有聚焦指示符(例如,外部辉光),并且聚焦指示符的强度、尺寸和位置可以基于光标的位置而变化。例如,当光标移动靠近对象时,该对象的聚焦指示符可以变得更亮、更强烈或沿(例如,被吸引朝向)光标的方向移动。当光标选择对象时,系统将光标移动到对象后方,同时增加聚焦指示符的强度。例如,当对象被选择时,聚焦指示符可以给出围绕对象的光环或日冕的外观。
聚焦指示符的变化的强度
在一些情况下,系统可以例如基于多个对象与光标在环境中的位置的接近度,为多个对象分配聚焦指示符。,每一个对象可以具有至少部分地基于环境因素(例如,用户视野FOV中的对象的密度)的一个或多个对应的距离阈值(例如,近距离阈值、中等距离阈值等)或动态距离阈值。如果光标在环境中的位置超过距离阈值,则系统可以为对应的对象渲染聚焦指示符。为了向用户提供有关光标在环境中的位置的附加位置反馈,分配给各种对象的聚焦指示符可以具有不同的属性(例如,强度、颜色、尺寸等)。例如,用于光标附近的对象的聚焦指示符可以比用于远离光标的对象的聚焦指示符更亮。与对象的远离光标的一侧的聚焦指示符相比,可以更强调对象的靠近光标的一侧的聚焦指示符。因此,如果光标位于上部对象与下部对象之间,则用于上部对象的底部和下部对象的顶部的聚焦指示符可以比用于距离较远的上部对象的顶部和下部对象的底部的聚焦指示符被更加突出地渲染(如果针对这些部分完全使用了聚焦指示符)。因此,这些聚焦指示符向用户提供光标位于上部对象与下部对象之间的强烈的视觉提示。用户可以通过在视觉上扫过FOV、通过观察与FOV中的对象相关联的聚焦指示符的模式,来轻松地确定光标所处的位置。
因此,取决于光标在环境中的位置与附近对象的位置、尺寸或形状之间的空间关系(例如,距离),聚焦指示符的强度或辉光(或尺寸或形状)可以淡入或淡出。
图15A和15B示出了具有基于对象与视野内光标的位置1516的接近度的各种强度的多个聚焦指示符的实现的示例。如图所示,用户的视野1520包括多个对象,即杯子1502、时钟1504、电话1506、篮球1508和相机1510。图15A和15B示出了用于时钟1504(阈值1526、1528)和篮球(阈值1522、1524)的两个距离阈值。当通过不同的距离阈值时,系统可以提供不同的功能。例如,当光标通过大距离阈值(1524、1528)之内时,可以将用于相关联对象的聚焦指示符显示给用户。当光标通过较小距离阈值(1522、1526)时,系统可以执行不同的功能,例如,进一步强调聚焦指示符的外观或激活将光标拉向相关联的对象且被相关联的对象遮挡的吸引效果(如下所述)。距离阈值1522、1524、1526、1528仅出于示例性目的而在图15A和15B中示出并且不需要由系统渲染。另外,虽然图15A和15B仅示出了用于对象的两个阈值,但是可以设想任何数量的阈值(例如,1、2、3、4或更多)。
如本文所述,可穿戴系统400可以跟踪、监视或确定在视野1520内的光标1516位置。这里,系统已确定光标在环境内的位置在时钟1504与篮球1508之间(并且比篮球1508更靠近时钟1504)。此外,系统已经确定光标在环境中的位置已经通过与时钟1504对应的较小距离阈值1526,并且光标在环境中的位置已经通过与篮球1508对应的较大距离阈值1524(但尚未通过篮球的较小阈值1522)。因此,由于光标在环境中的位置通过时钟1504和篮球1508两者的阈值,因此系统向时钟1504和篮球1508中的每一个渲染聚焦指示符。然而,为了向用户提供对光标在环境中的位置比篮球1508更靠近时钟1504的理解,与系统渲染被分配给篮球1508的聚焦指示符1514不同地,系统来渲染被分配给时钟1504的聚焦指示符1512。例如,系统可以将更大或更亮的聚焦指示符1512分配给时钟1504(或时钟的最接近光标1516的部分),并且可将更小或更不强烈的聚焦指示符1514分配给篮球1508。
光标1516比其各自的距离阈值更远离杯子1502、电话1506和相机1510,因此,在该示例中,系统未在这些对象周围渲染聚焦指示符(或者,在其他示例中,可以渲染不如时钟和篮球的聚焦指示符突出的聚焦指示符)。
在一些情况下,多个距离阈值是预定的,而在其他情况下,多个距离阈值是动态的并由系统取决于环境因素而调整。例如,系统可以至少部分地基于确定用户视野1520中的对象彼此相对远离,来确定相对大的距离阈值。相反,系统可以至少部分地基于确定户视野1520中的对象彼此相对靠近或者在用户视野1520中存在相对大量的对象,来确定相对小的距离阈值。这可以有利地允许用户自信地选择对象,尽管许多对象被分组或接近地放置在一起。
聚焦指示符的强度(或亮度)还可以包括在对象周围或附近的特定区域中辉光的存在。例如,当光标移动靠近对象时,该对象的聚焦指示符可以开始填充(或出现在)该对象周围的较大区域中。例如,关于图15A,如果光标1516在距离阈值1526内,则聚焦指示符1512可以围绕对象1504,并且聚焦指示符1512可以比与其他对象1504对应的聚焦指示符更大、更亮或更强烈。
另外,如参考图16A-16D、18A-18C和29A-29F进一步描述的,聚焦指示符在对象的更靠近或最靠近光标的一侧可以更是视觉上可感知的,而在对象的相对侧是不太视觉上可感知的,这为用户提供清楚感知,即,光标更靠近对象的特定一侧(并且距离对象的相对侧)。例如,如图15B所示,当光标1516接近对象1504时,聚焦指示符1512可以开始从对象1504的后方移出以与光标1516相遇(也参见图29A-29F)。这给出了聚焦指示符1512被吸引朝向光标1516或被光标从对象拉出的外观。与对象1504相比,对象1508离光标1516更远(例如,相对于阈值1522、1524),并且在图15B中,篮球周围的聚焦指示符1514已经比时钟附近的聚焦指示符1512更少地朝向光标1516移出。因此,聚焦指示符的亮度、位置、空间范围(例如,围绕对象的圆周范围)、颜色、图形装饰等中的一些或全部可以向用户提供关于光标所处的位置、哪些对象在光标附近(以及距离有多近或多远)、用户已选择了哪些对象等的强烈的视觉指示。
遮挡光标和聚焦指示符的实现方式
聚焦指示符表示在与本文描述的可穿戴系统相关联的AR、MR或VR环境内的突出显示或强调用户选择的方式。与显示在可交互内容之上移动并且至少部分地遮挡可交互内容的光标的常规方法不同,该系统可以渲染在真实或虚拟对象后方移动并被真实或虚拟对象遮挡的光标。聚焦指示符的使用经由例如从环境中的对象后方放射出的辉光或光环的相对外观,来向用户提供位置反馈。此外,即使在将焦点指示符分配给对象之后,通过继续跟踪或确定用户输入(例如,头部姿势、眼睛姿势、身体姿势、来自用户输入装置的输入等),系统可以修改环境对象的聚焦指示符,从而为用户提供持续的输入反馈、沉浸式的用户体验和光标位置的准确感觉。
图16A-16D示出了渲染聚焦指示符的过程的示例。聚焦指示符和遮挡光标的实现可以以各种方式来执行。例如,聚焦指示符的实现可以包括利用图形处理器(GPU)或具有至少中等CPU功率的计算装置。在一些情况下,GPU被配置为(i)运行片段着色器程序、(ii)渲染屏幕外渲染缓冲器、或(iii)执行几次全屏处理工作的通道。
为了确定用户视野中对象的接近度,系统可以确定每一个对象相对于光标在环境中的位置的位置。例如,环境中的许多对象可以由坐在3D世界选择平面上的2D形状表示。系统可以向3D世界选择平面投射光线,以确定光标在环境中的位置相对于任何给定对象的接近度。该系统还可以确定对象的一个或多个特征,例如对象的形状或取向。在一些情况下,系统至少部分地基于对象的形状、轮廓、取向或与光标在环境中位置的接近度,系统可以确定光标在环境中的位置与对象的一部分之间的空间关系。例如,系统可以确定光标在环境中的位置何时与对象重叠或何时通过距对象的一部分(例如,对象的最近部分、对象的中心等)的阈值距离。在一些情况下,例如,当环境中包括多个对象时,系统可以确定哪个对象最接近光标在环境中的位置。在一些情况下,聚焦指示符的显示属性可以至少部分地基于对象相对于光标在环境中的位置的接近度。
图16A-16D示意性地示出了可穿戴系统可以渲染遮挡光标和聚焦指示符的过程的示例。该过程可以由参考图2描述的可穿戴显示系统200的本地处理和数据模块260执行。参考图16A-16D描述的示例渲染过程可以执行两次,以代表立体渲染的AR/MR/VR环境中的每只眼睛。
图16A示出了用于渲染聚焦指示符的第一屏幕外渲染通道。至少部分地基于所确定的光标在环境中的位置,系统将光标辉光1610渲染到屏幕外缓冲器1600A(有时称为“光标源缓冲器”)。光标辉光1610可以位于环境中,就好像它是常规光标一样。例如,光标辉光1610的中心1630可以对应于光标在环境中的位置。光标辉光1610最终将充当遮罩,该遮罩限定聚焦指示符将出现在其中的最大显示空间区域。光标辉光1610的尺寸或形状可以基于各种标准,例如期望的聚焦指示符尺寸、对象相对于其他对象的接近度、对象的尺寸或形状、对象的数量或密度等。
图16B示出了用于渲染聚焦指示符的第二屏幕外渲染通道。第二屏幕外渲染通道可以被渲染到另一屏幕外缓冲器1600B(有时称为“形状遮罩缓冲器”)并且可以包括一个或多个对象1204的遮罩表示。该遮罩表示可以基于至少部分地基于3D空间中的对象的位置、取向或尺寸。例如,如图16B所示,系统可以仅为落入来自图16A的光标辉光1610的外边界或轮廓1620内的对象创建遮罩。在一些情况下,系统可以仅为将为其分配聚焦指示符的对象创建遮罩。因此,在该示例中,系统渲染遮罩1602、1604和1606,但是不渲染用于对象1608的遮罩,该对象1608超出光标辉光的外边界1620。
系统可以以各种方式确定对象1204的形状表示(例如,遮罩)。例如,该系统可以渲染遮罩以反映其形状的3D相机变换。在一些情况下,对象1204可以由与对象的实际形状对应的2D球形、矩形或胶囊形状来表示。类似地,对象(例如真实世界对象)可以由对象的轮廓表示。在一些情况下,为了绘制每一个形状遮罩,系统利用着色器程序,该程序可根据数学公式从算法上渲染给定形状。在一些情况下,例如,对于3D对象,系统可以渲染对象的纯色(flat-color)投影。在一些情况下,系统使用对象形状的相机空间近似。
图16C示出了用于渲染聚焦指示符的第三屏幕外渲染通道。第三屏幕外渲染通道可以被渲染到另一屏幕外缓冲器1600C(有时称为“辉光遮罩缓冲器”)并且可以包括来自形状遮罩缓冲器1600B的对象的遮罩(例如,遮罩1602、1604、1606),但是也可以包括用于一个或多个对象的辉光遮罩(例如,下面描述的辉光遮罩1622、1624、1626)。例如,借助图16B的遮罩,系统可以为落入来自图16A的光标辉光1630的外边界或轮廓1620内的对象渲染辉光遮罩。
系统可以渲染至少部分地围绕遮罩1602、1604、1606辐射的辉光遮罩(例如,边缘辉光、光环、阴影或其他视觉指示符)。例如,与图16B的遮罩类似,系统可以利用着色器程序(或对象遮罩的多击模糊(multi-tap blur)),该着色器程序可以以使对象形状的边缘以可调的边缘厚度量羽化的方式绘制对象的形状。着色器程序可以使用光标的位置1630,并可以以反映与光标位置的接近度的方式来改变辉光遮罩的边缘厚度、辉光亮度、颜色或强度。例如,更强烈或更亮的辉光遮罩可以与较近的对象相关联,而不太强烈或更暗的辉光遮罩可以与较远的对象相关联。例如,在图16C所示的示例中,辉光遮罩1622比辉光遮罩1624或1626更亮,因为与辉光遮罩1622相关联的对象1632比对象1636、1624更靠近光标的位置1630。在该示例中,不为对象1608生成辉光遮罩,因为该对象距光标辉光1610的中心1630的距离超过了光标辉光的尺寸。辉光遮罩的变化的强度可以有利地提供精确的位置反馈,即使当系统没有渲染屏幕上视觉辅助(例如,光标)以指示光标的位置时。
为了修改辉光遮罩的边缘厚度、辉光亮度、颜色、强度或其他属性,着色器程序可以考虑从每一个被渲染的像素到光标的x和y显示空间距离,并可以相应地扩展或收缩羽化参数(例如,辉光遮罩的边缘厚度或辉光强度)。
图16D示出了用于渲染聚焦指示符的第四渲染通道。第四渲染通道可以被渲染在屏幕上,并且可以代表用于整个场景的渲染工作的后期(或最终)阶段1600D。对于此渲染通道,系统可以访问光标源缓冲器1600A、形状遮罩缓冲器1600B和辉光遮罩1600C缓冲器以及(可选的)包括由渲染应用渲染的3D场景内容的一个或多个屏幕上或屏幕外缓冲器(有时称为“场景缓冲器”)。
系统可以使用各种技术来组合光标源缓冲器1600A、形状遮罩缓冲器1600B和辉光遮罩1600C缓冲器以及场景缓冲器。例如,着色器程序可以将各种缓冲器组合在一起以生成场景1600D。例如,着色器程序可以从场景缓冲器颜色中减去每一个非零的形状遮罩1600B像素。此外,着色器程序可以将辉光遮罩1600C缓冲器减去形状遮罩缓冲器1600B并乘以光标源缓冲器的组合添加到场景缓冲器颜色。
如图16D的场景1600D中所示,对象1632、1634和1636分别被分配了聚焦指示符1202a、1202b、1202c。聚焦指示符1202a-1202c至少部分地围绕相应对象1632、1634、1636中的每一个辐射。在该示例中,聚焦指示符1202所辐射的部分对应于落在光标辉光的外边界或轮廓1620内的对象的部分。在该示例中,边界1620外部的对象的部分没有被渲染具有聚焦指示符。然而,在一些情况下,如果对象的至少一部分落入光标辉光的轮廓1620内,则向整个对象而不是对象的一部分分配聚焦指示符。如图所示,因为对象1638的任何部分都没有落在光标辉光1610的轮廓1620内(对于光标的所示位置1630),所以没有向对象1638分配聚焦指示符。
因此,观看图16D中的渲染场景的用户可以被提供有其中光标位于对象1632后方的强烈的视觉提示,这是由于更强烈的聚焦指示符1202a(与指示符1202b和1202c相比)并且由于聚焦指示符1202b、1202c仅部分地围绕它们的相关联对象1636、1634延伸而聚焦指示符1202a几乎完全围绕对象1632延伸。
在存在足够对象或对象相对密集的区域中,遮挡光标和聚焦指示符可以有效地指示光标的位置。然而,在对象很少或没有对象的区域中,系统可以渲染图形元素(例如,小的辉光子图形(sprite))以向用户指示光标位置。
系统可以为每一个可选对象提供可调参数,该参数控制对象的边缘在被选择或与之交互时可能辉光的强度或者允许随着光标接近它而增加或减小使对象辉光的程度。在一些情况下,当渲染形状遮罩或辉光遮罩时,系统可以使用数学形状表示以将抗混叠(anti-aliasing)并入到源渲染过程中。
真实世界对象
尽管在图16A-16D中示出的聚焦指示符1202的实现方式示出了与虚拟内容相关联的聚焦指示符,但是类似的技术可应用于在增强或混合现实环境中分配使真实世界对象突出显示的聚焦指示符。例如,系统可以使用对象形状的相机空间近似并使用多击模糊来生成聚焦指示符。
平面布局中的遮挡光标
对于具有许多可选对象(例如,组织化的网格或列表)的环境,系统可以显示光标以使其行为更像聚焦指示符。图17示出了网格1700和图腾1702(具有触敏表面1704)上的用户输入的示例。用户在触敏表面1704上的轨迹1706上的触摸使光标沿着基本上相同的轨迹1710在可选对象的网格布局1700上移动。这些对象可以具有本文所述的吸引效果,因此无需在对象之间显示光标,因为该光标被吸引到最近的对象。例如,网格1700中的对象中的一者可以总是具有聚焦(例如,并且由聚焦指示符强调)。图腾1702上的视觉聚焦指示符和(可选的)触觉事件可以伴随着在对象上悬停(或对象的选择)。
对于包括具有精细选择的区域(例如浏览器或具有许多可选文本的文档)的更复杂的布局的灵活导航,可以始终使光标可视化,因为布局不充满将挡住光标的遮挡对象。视觉聚焦指示符和可选的触觉事件可仍伴随着在可选对象上悬停。
遮挡光标和聚焦指示符的其他示例
图18A-18C示出了朝向具有聚焦指示符1302的对象1204移动的光标1202的示例。对象1204可以是诸如图标的可选择对象,可以选择该对象以启动应用的执行。在此示例中,出于说明目的,图标被图示为星空背景下的地球和月亮,并且可执行的应用被标记为空间探索器。图标1202、聚焦指示符1302和对象1204周围的虚线指示这些图形元素中的每一个可以由显示系统在不同的缓冲器中渲染,这些缓冲器可以如参考图16A-16D所述进行组合。
图18A示出了当光标远离对象1204时的示例。在这种情况下,光标1202相对较亮以帮助对用户可见,并且聚焦指示符1302相对较小并且不是非常强烈。系统可以将聚焦指示符1302渲染为与对象1202大致相同的尺寸(如图18A中的虚线所示),并且可以在聚焦指示符1302的顶部渲染对象1202或者在聚焦指示符之后渲染对象1202。因此,当光标1202远离对象1204时,可以说聚焦指示符1302“隐藏”在对象1204后方并且对于用户而言可能是视觉上不可感知的或几乎不可感知的。
图18B示出了当光标接近对象时光标、对象与聚焦指示符之间的交互的示例。如图所示,图13B中的聚焦指示符1302可以比图18A的聚焦指示符更大、更亮或更强烈。此外,随着光标1202接近对象1204,聚焦指示符1302开始从对象后方移出以与光标1202相遇。这给出了聚焦指示符被吸引朝向光标1202的外观。此外,图18A和18B示出了聚焦指示符的强度如何取决于对象与光标的接近度和相对于光标的位置而淡入或淡出。例如,在图18B中,聚焦指示符1302在对象1204的最接近光标1202的一侧上是视觉上更可感知的,而在对象1204的相对侧上的视觉上更不易感知,这为用户提供了清晰的感知,即,光标1202靠近对象1204的该特定侧。
图18C示出了当光标在对象后方移动(或悬停)时,光标、对象和聚焦指示符之间的交互的示例。当光标1202对象1204后方移动时,对象1204变大(在该示例中)并且对象前景扩大,使得对象1204看起来更接近用户或更大。另外,聚焦指示符1302变得更亮并且可以基本上围绕对象以指示对象1204已被选择。在此示例中,图标(已在图18A和18B中以2D表示)已被扩大,以便将地球(和月亮)显示在星空背景的前方(例如,显示在比星空背景的深度更靠近用户的深度处)。
示例聚焦指示符
图19-22示出了可以由系统渲染的聚焦指示符的各种示例。聚焦指示符1302可以是圆形的(例如,如图18、19和21所示)、矩形的(例如,如图20所示)或其他形状。在一些情况下,聚焦指示符可以包括与对象1302相邻(例如,在对象1302上方、下方或侧面)设置的标签。图19示出了在对象1302的侧面的标签“搜索”,图20示出了对象1302上方的标签“收集页面”。当对象被选择时可以强调标签(例如,使该标签变亮)以向用户提供关于该对象的视觉提示。尽管这些示例示出了文本标签,但是标签可以是任何图形元素。图22示出了用户已选择了应用选择图标的示例,其允许用户在诸如浏览器、社交网络等的应用之间进行选择。在图22中,用户已选择了浏览器应用,并且系统将聚焦指示符1302渲染为浏览器图标周围的光环。
遮挡光标的实现的示例过程
图23示出了用于在3D场景中渲染聚焦指示符的示例方法的流程图。过程2300可以由可穿戴系统200的一个或多个部件单独地或组合地执行,例如,远程处理模块270、本地处理和数据模块260、图形处理器(GPU)或另一处理器。可穿戴系统200的显示器220可以向用户呈现场景,并且系统可以获得用户输入数据,该用户输入数据诸如来自面向内成像系统462的眼镜姿势数据或来自IMU、加速计或陀螺仪的头部姿势数据或者用于从诸如手持式图腾1702的用户输入装置466移动光标/光标或选择对象的用户输入数据。
在框2302处,可穿戴系统可以确定光标在用户环境内的位置。系统可以获得用户输入数据,该用户输入数据诸如来自面向内成像系统462的眼镜姿势数据或来自IMU、加速计或陀螺仪的头部姿势数据或者来自诸如图4的用户输入装置466或图17的图腾1702的数据。至少部分地基于用户输入数据,系统可以确定光标在环境中的位置。在一些情况下,除了确定光标在环境中的位置外,系统还可以渲染光标1202或与该光标在环境中的位置对应的其他的屏幕上视觉辅助。
在框2304处,系统可以确定光标在环境中的位置与用户的视野(或视域)中的一个或多个对象之间的空间关系。在一些情况下,系统可以确定对象的一个或多个特征,例如该一个或多个对象的位置、形状、取向或尺寸。至少部分地基于在框2302处确定的一个或多个对象特征和光标在环境中的位置,系统可以确定光标在环境中的位置与对象的任何部分之间的空间关系。空间关系可以包括相对位置信息,例如,对象的一部分距离光标在环境中的位置有多远或者光标与对象的一部分之间的相对取向(例如,光标是否位于对象的上方、下方、左边或右边。系统可以确定光标在环境中的位置是否与对象重叠或是否位于对象后方、或者可以确定光标在环境中的位置与对象的一部分例如,对象的最近部分、对象的中心等)之间的距离。在一些情况下,系统可以确定哪些对象最靠近光标在环境中的位置。
在一些实现方式中,环境中的虚拟对象可以由坐在3D世界选择平面上的2D形状表示。系统可以向3D世界选择平面投射光线,以确定光标在环境中的位置相对于任何给定对象的接近度。空间关系可以包括光标与对象(或对象的一部分)之间的距离以及光标和对象的相对取向。
在框2306处,系统可以至少部分地基于所确定的空间关系向一个或多个对象的至少一部分分配聚焦指示符分配。例如,系统可以使用参考图16A-16D描述的技术来渲染聚焦指示符。另外,如参考图12B和图18A-18C所描述的,如果所确定的空间关系提供了光标与对象重叠或光标位于对象后方,则系统可以在光标前方渲染对象,使得光标不会挡住对象。
过程2300旨在于说明而不是限制。可以以各种顺序来实现本文描述的各种框,并且可穿戴系统可以根据需要同时实现一个或多个框或改变顺序。更少、更多或不同的框可以用作过程2300的一部分。例如,过程2300可以包括用于显示光标或执行其他用户界面动作的框。
具有图标或图形用户界面的显示器的一部分的示例
图24-28是具有图标的显示屏的一部分的示例的前视图。在这些示例中,图标包括大部分位于圆内的头的风格化表示。图24-28示出了至少部分围绕图标的聚焦指示符的示例。聚焦指示符被表示为从图标向外放射的短线。在这些示例中,相对于图标,聚焦指示符通常位于下方(图24)、基本上围绕(以更大程度位于图25中的图标下方)、位于右侧(图26)、位于左侧(图27)、以及上方和下方(图28)。
图29A-29F是用于显示屏或其的一部分的图形用户界面的实施例的前视图。图形用户界面的外观在图29A-29F所示的图像之间顺序地过渡。没有装饰性方面与一个图像过渡到另一图像的过程或时间段相关联。在这些示例图中,虚拟对象(例如,图标)由虚线圆表示,并且在其他实施例中可以是矩形、多边形或其他形状。在图29A中,聚焦指示符被以灰度示出为围绕图标的圆形环。光标被以虚线示出。在图29B-29F中继续的过渡图像序列中,随着光标移动远离图标,聚焦指示符被向外拉并远离图标且朝向光标,直到它与图29E中的图标分离,然后过渡到图29F中的圆形。在图29F中,聚焦指示符被表示为灰度圆,并且光标没有被显示器渲染。
图24-29F中所示的设计可以通过例如头戴式显示器的增强现实或混合现实显示器来体现。例如,显示器可以包括参考图2描述的可穿戴系统200的显示器220、或者参考图4描述的可穿戴系统400的显示器、或者参考图6描述的光学显示系统600的显示器。在图24-29F中,显示器或其的一部分由外部矩形虚线表示。显示器或图标(或动画图形用户界面的其他图形元素)均不限于图24-29F中所示的比例。示出显示屏的虚线不形成设计的任何部分。
因此,在各个方面,本公开提供了一种用于显示屏或其的一部分的装饰设计,该显示屏或其的一部分具有图标或具有过渡的(或动画的)图形用户界面,如图所示和所述。
具有图标或图形用户界面的显示器的一部分的示例
图30A-30F示出了用于显示屏或其的一部分上的GUI的过渡序列的实施例。GUI可以由本文所述的任何可穿戴显示器渲染,例如,参考图2、4和6描述的可穿戴显示系统200、400、600。图30A-30F示出了具有光标1202的GUI,该光标1202沿着由虚线指示的示例性路径3001从点A到点F依次过渡。如图所示,GUI包括以网格布局呈现的多个图标3002。如本文所述,GUI使用光标1202或聚焦指示符1302来显示当光标在图标后方移动(或悬停)时光标、图标或聚焦指示符之间的交互。网格布局、图标形状(例如,在这些图中为矩形)和光标路径旨在是示例性的而非限制性的。网格布局中的图标可以在单个深度(例如,显示为2D)或多个深度(例如,显示为3D)处被渲染。图标3002可以是缩略图。网格布局不必是平面的并且可以被渲染为弯曲的(例如,布局的一些部分比其他部分处于更靠近的深度处)。
图30A示出了当光标1202位于点A处时图标3002与光标1202之间的交互的示例。图标3002可以对应于可穿戴系统的用户的虚拟环境中的任何类型的可交互对象。可交互对象包括但不限于应用(例如,应用程序)、内容文件夹、数字媒体,该数字媒体例如但不限于静态图像、视频、音频、音乐、专辑、文档等。如图所示,在点A处,光标1202位于网格布局内的图标3010、3012(B3和D3)之间。换句话说,在点A处,光标1202没有选择任何图标3002。
图30B示出了当光标1202在点B处在图标3010后方移动(或悬停)时图标3010(B3)与聚焦指示符1302之间的交互的示例。如该示例中所示,当光标1202在图标3010后方移动时,GUI分配围绕图标3010的聚焦指示符1302以指示图标3010已经被光标悬停在其下方。聚焦指示符1302被以灰度示出为弯曲形状,在该示例中,其基本上围绕图标。在图30B中,光标1202被图标3010遮挡。尽管光标1202以虚线示出,但是虚线仅指示如果被渲染则光标1202将位于的位置。
在一些情况下,所选图标3010的视觉外观可以改变以指示用户已经选择该图标。例如,用户可以通过将光标1202悬停在图标3010下方持续一段时间(例如,几秒或更长)、来自图腾的用户输入(例如,致动触敏表面,诸如点击或双击)、眼睛、头部或身体姿势等来选择图标3010。例如,可穿戴系统可以至少部分地基于眼睛注视来检测用户对图标的选择,例如,眼睛跟踪相机检测到用户注视图标3010超过阈值时间(例如,1s或更长)。
布局中的其他图标(例如,未遮挡光标的图标)的视觉外观可以改变以指示图标3010已经被悬停在下方或被选中。随着光标1202在图标3010后方移动,图标3010或其他图标的尺寸或形状可能改变。例如,图标3010可以变大或者图标前景可以扩大,使得图标3010看起来更接近用户或更大(例如,位于比背景深度更靠近用户的深度处)。类似地,未被选择的图标可以变小或者未被选择的图标的前景可以减小,使得图标看起来离用户更远或更小。可以使用图标的尺寸、形状或视觉外观的其他或替代变化。例如,当图标3010悬停在下方或被选中时,所选图标3010可以变小或其他图标3002变大。
当光标1202在图标3010后方移动时,所选图标3010或其他图标可以改变清晰度(包括透明度)、分辨率等。例如,当没有选择图标时(例如,如图30A所示,可以以第一清晰度或第一分辨率来呈现每一个图标3002。随着光标1202在图标3010后方移动,所悬停在下方或所选图标的清晰度或分辨率可以例如改变为第二清晰度或第二分辨率。在一些情况下,第二清晰度比第一清晰度更清晰,并且在一些情况下,第二分辨率是比第一分辨率高的分辨率。因此,当图标3010被选择时,与先前被选择的图标相比,图标3010可以变得更加聚焦、更高分辨率或更高质量。
另外或可选地,当光标1202在图标3010后方移动时,其他图标(例如,未被选择的图标)的清晰度或分辨率可以改变为例如第三清晰度或第三分辨率。在一些情况下,第三清晰度可以不如第一清晰度清晰,或者第三分辨率可以是比第一分辨率低的分辨率。因此,当图标3010被选择时,其他图标可能显得模糊、失焦、低分辨率或低质量。
然而,在一些情况下,当被选择时,图标的清晰度或分辨率降低。类似地,当图标被选择时,未被选择的图标的清晰度或分辨率可以增加。可以实现对清晰度、分辨率等的附加或替代改变。
在一些情况下,当光标1202在图标3010后方移动时,可以显示关于所选图标3010的附加详细信息。例如,附加详细信息可以包括标题3014,其可以包括用于应用或媒体的题目。类似地,附加详细信息可以包括尺寸(例如,以字节为单位)、创建日期、修改日期、位置、文件类型、分辨率、视频详细信息(例如,视频长度、制作人、演员等)、或与所选图标3010对应的其他特征。
在一些情况下,当光标1202在图标3010后方移动时,可以激活所选图标3010的一个或多个特征。例如,如果图标3010对应于视频,则对图标3010的选择可以使视频开始播放。类似地,对图标3010的选择可以使GUI在图像之间循环、播放专辑、播放GIF等。
图30C示出了当光标1202在图标3010后方过渡到图标3010的中心附近的点C时图标3010与聚焦指示符1302之间的交互的示例。在所示的实施例中,当光标1202朝向图标3010的中心移动时,图标3010继续变大(例如,与图30B相比),使得图标3010显得离用户更近或更大(例如,处于更近的深度处)。例如,图标3010的尺寸可以增大,使得图标3010的至少一部分与一个或多个其他图标重叠。在诸如此类的示例中,重叠的图标可以变得更加透明或模糊,或者它们可以被所选图标3010部分地覆盖。
另外或替代地,当光标1202过渡到图标3010后方的更中心的位置时,聚焦指示符1302的强度可以改变。例如,聚焦指示符1302可以变亮或变大。此外,所选图标3010或其他图标的清晰度、分辨率等可以继续增加或减少。通过继续跟踪光标(即使在分配聚焦指示符之后)并修改聚焦指示符的强度或图标的特性,系统可以为用户提供持续的输入反馈和光标位置的准确感觉。
图30D示出了当光标1202沿着从点C(在图标3010下方)到点D(在图标3010和3012之间)的路径移动时图标3010和3012与光标1202之间的交互的示例。如图所示,当图标3010不再被选择(或悬停在下方)时,图标可以返回到其原始尺寸、形状、分辨率、聚焦、清晰度等,如图30A所示。
图30E示出了当光标1202在图标3012后方移动(或悬停)到点E时图标3012与聚焦指示符1302之间的交互的示例。如参考图30B所描述的,当光标1202在图标3012后方移动到时,GUI可以分配围绕图标3012的聚焦指示符1302以指示图标3010已被选择。聚焦指示符可以包括标题3016。
图30F示出了当光标1202在图标3012后方过渡到点F时图标3010与聚焦指示符1302之间的交互的示例。如参考图30C所描述的,当光标1202朝向图标3012的中心移动时,图标3012继续变大(例如,与图30E相比),使得图标3012看起来更靠近用户或更大。例如,图标3010的尺寸可以增大,使得图标3012的至少一部分与一个或多个其他图标重叠。
类似地,如参考图30A-30F所描述的,当光标继续沿着路径3001的延伸或沿着网格布局中的图标之间的不同路径移动时,GUI可以继续动态地更新图标、光标或聚焦指示符。
图形用户界面中的数据的滚动的示例
图31A-31C示出了显示屏或其的一部分上的GUI的滚动序列的实施例。GUI可以由本文所述的任何可穿戴显示器渲染,例如,参考图2、4和6描述的可穿戴显示系统200、400、600。GUI中的文本、图形或其他内容的滚动有利地允许用户移动大的距离来导航内容。在示出的示例中,GUI包括以网格布局布置的多个图标3102并且进一步示出了网格的图标3102的滚动。网格布局和图标形状(例如,在这些图中通常为矩形或三角形)旨在是说明性的而非限制性的。可以在单个深度或多个深度处渲染网格布局中的图标。图31A-31C中描绘的滚动序列和图30A-30F中描绘的遮挡光标特征可以单独使用或一起使用。例如,当滚动停止时,用户可以将光标移动到网格布局中的图标中的一者,并且GUI可以示出该光标移动并如参考图30A-30F所描述的悬停或选择图标。
图31A示出了GUI中的多个布置的图标3012。如关于图30A-30F所描述的,图标3102可以对应于诸如应用或数字媒体的虚拟内容。尽管图标3102被布置在网格中,但是图标3012可以以各种方式被渲染在GUI上。例如,图标3012的定位可以由用户选择或控制,或者可以根据一个或多个分组标准(例如,按项名称的字母顺序、按内容类型、按日期、按使用频率等)自动地布置图标3012。网格布局中的图标可以在单个深度(例如,显示为2D)或多个深度(例如,显示为3D)处被渲染。图标3002可以是缩略图。网格布局不必是平面的且可以被渲染为弯曲的(例如,布局的一些部分处于比其他部分更近的深度处)。
图31B示出了在用户已经启动滚动序列(例如,通过致动图腾、在布局上扫过、将光标悬停在网格或显示器的边缘附近等)之后的GUI的示例。用户启动可以提供滚动方向或滚动速度。滚动序列可以模仿滚动内容的动量,该动量导致滚动速度增加(从静止开始),使得在滚动时滚动内容模糊、不可读取等。滚动序列可以模拟阻力(drag),使得滚动速度变慢并停止。可穿戴系统可以接受附加的用户输入以停止滚动(例如,图腾的进一步致动或用户的手的停止手势)。
在滚动时,图标3102可以移动到更远的深度、更改其尺寸(例如,变得更小)或以较低的清晰度(例如,以更大的透明度)或较低的分辨率显示。例如,图3B示意性地将图标3102描绘为较不锐利(与图3A或3C相比)。为了帮助用户看到接下来要显示什么图标,随着图标3102滚动,GUI可以显示与滚动的图标对应的内容面板3104。在该示例中,图标3102水平向右滚动(如虚线箭头3200所示,其可以但不必向用户显示),使得新图标从左侧出现(并到右侧消失)。因此,内容面板3104被显示在新图标出现的一般位置(例如,在该示例中在显示器的左侧)。在其他示例中,图标3102可以沿任何方向滚动(例如,从左到右、从右到左、从上到下、从上到下、对角地等)。由于可穿戴系统可以在多个深度处显示内容,因此内容可以从前景(例如,更近的深度)滚动到背景(例如,更远的深度)或从背景滚动到前景。可以使用这些滚动技术的任意组合。
内容面板3104可以包括关于滚动内容的信息。例如,图标3102可以是库的一部分,并且内容面板3104可以包括库中的喜爱的、最近使用的或最常用的图标。在一些情况下,可以按分组标准对库进行分组或排序,例如按创建日期、修改日期、名称、图标类型(例如,图像、视频、GIF、专辑、应用、文档等)、尺寸等。随着内容滚动,内容面板3104可以对应于特定的组或类别,该特定的组或类别对应于在内容面板3104后方滚动的内容。随着图标3102继续滚动,可以使用表示经过的内容的新的信息来周期性地更新内容面板3104。图31B示出了内容面板3104包括图标B1-B4的时刻。
作为非限制性示例,图标3102可以按日期排序。随着内容滚动,用表示经过的日期的新信息来周期性地更新内容面板3104。例如,如果滚动图标3102包括十月日期,则内容面板可以包括关于十月的信息。例如,消息3114可以包括缩写“OCT”,并且内容面板3104可以包括自十月以来最喜爱的图标、自十月以来最近使用的图标、自十月以来最常用的图标等。随着内容继续滚动到下个月(例如,十一月),内容面板3104可以更新以包括表示十一月的信息(例如,缩写可以改为“NOV”,并且面板可以显示自十一月以来最喜爱的图标、自十一月以来最近使用的图标、自十一月以来最常用的图标等)。内容面板3104可以随着其他日期过去而继续更新。
内容面板3104可以被锚定在GUI上的某个位置,而内容在屏幕外滚动(并且当用户反向滚动时,相同的内容可以返回)。在所示的实施例中,内容面板3104被锚定在GUI的左手侧。然而,内容面板3104可以位于GUI内的任何地方,例如中心、底部、顶部或右手侧。在一些情况下,内容面板3104的位置是由用户可配置的。
内容面板3104可以以各种方式呈现。例如,内容栏的尺寸可以例如至少部分地基于滚动速度而变化。较快的滚动速度可以使内容栏以第一尺寸显示,而较慢的滚动可以使内容栏以第二尺寸(例如,小于第一尺寸)显示。此外,内容面板3104的形状可以变化。在所示的实施例中,内容面板3104包括垂直列表。然而,列表可以是垂直、水平、对角线、正方形的等。另外或可替代地,内容面板3104可以不包括列表,而是可以包括单个对象、图标、图像、文本等。内容面板3104可以被显示在与网格布局不同的深度处。例如,它可以显示在网格布局的前方(例如,如图31B所示)、布局的后方等。在一些情况下,内容面板3104的特性是由用户可配置的。
内容面板3104可以包括能够与在内容面板中呈现的内容对应的细节(例如,消息3114)。例如,细节可以包括标题、题目或与滚动内容对应的其他特性。例如,再次参考其中图标按日期排序的示例,消息3114可以包括日期缩写(例如,“OCT”)。
随着滚动序列结束,图标3102可以停止并且内容面板3104可以消失。例如,图31C示出了在滚动序列已结束之后的图标3102的示例。与图31B相反,图标3102是对焦的并且被示出为与图31A相比已稍微移位。类似的技术可以用于例如垂直或对角滚动的其他类型的滚动。
在一些实现方式中,GUI可以利用边缘滚动,其中当用户将光标悬停在网格(或显示器)的边缘附近时滚动开始。GUI可以维护用户行为历史数据,以便下次用户打开或访问网格布局时,GUI会在添加到布局的最新图标(例如,用户已添加的最新音乐专辑或视频)或最近访问过的图标上显示光标。
示例软件代码
附录A包括可用于执行本文所述的遮挡光标技术的实施例的以C#编程语言的代码的示例。过程2300的实施例可以至少部分地通过附录A中的示例代码来实现。附录A还包括软件代码的描述。附录A的公开内容旨在说明遮挡光标技术的各种特征的示例实现方式,而不旨在限制本技术的范围。附录A在此被整体并入本文,以构成本说明书的一部分。
其他方面
在第1方面,一种可穿戴显示系统包括:显示器,其被配置为位于用户的眼睛前方,所述显示器被配置为朝向所述用户的所述眼睛投射虚拟内容;用户输入装置,其被配置为接收与虚拟光标的移动相关联的用户输入数据;以及与所述显示器和所述用户输入装置通信的硬件处理器,所述硬件处理器被编程为:识别所述虚拟光标在所述用户的环境中的位置;确定所述虚拟光标与所述用户的环境中的对象之间的空间关系;以及指导所述显示器至少部分地基于所述空间关系来渲染与所述对象相关联的聚焦指示符。
在第2方面,根据方面1所述的可穿戴显示系统,其中,所述用户输入装置包括以下中的一个或多个:包括触敏表面的手持式图腾、被配置为检测用户手势的面向外成像系统、被配置为检测所述用户的眼睛姿势的面向内成像系统、或者被配置为检测所述用户的头部姿势的惯性测量单元。
在第3方面,根据方面1或方面2所述的可穿戴显示系统,其中,为了确定所述虚拟光标与所述对象之间的所述空间关系,所述硬件处理器被编程为:确定所述虚拟光标的位置与所述对象的一部分之间的距离;或者确定所述虚拟光标与所述对象之间的相对取向;以及指导所述显示器至少部分地基于所确定的距离或所确定的取向来渲染所述聚焦指示符。
在第4方面,根据方面1-3中任一项所述的可穿戴显示系统,其中,所述聚焦指示符包括以下中的一个或多个:至少部分地围绕所述对象的辉光或光环、所述对象的尺寸或深度变化、或者图形突出显示。
在第5方面,根据方面1-4中任一项所述的可穿戴显示系统,其中,为了指导所述显示器渲染聚焦指示符,所述硬件处理器被编程为:执行第一渲染通道以将光标辉光渲染到第一缓冲器,所述光标辉光的位置至少部分地基于所述虚拟光标的位置;执行第二渲染通道以将所述对象的形状遮罩表示渲染到第二缓冲器;执行第三渲染通道以将与所述对象相关联的辉光遮罩渲染到第三缓冲器;以及执行第四渲染通道,所述第四渲染通道被配置为至少组合第一缓冲器、第二缓冲器和第三缓冲器以用于向所述用户的呈现。
在第6方面,根据方面5所述的可穿戴显示系统,其中,为了执行所述第四渲染通道,所述硬件处理器被编程为至少将所述第一缓冲器、所述第二缓冲器和所述第三缓冲器与包括虚拟场景内容的第四缓冲器组合。
在第7方面,根据方面1-6中任一项所述的可穿戴显示系统,其中,所述硬件处理器进一步被编程为:确定所述虚拟光标的所述位置与所述对象之间的距离;以及如果所述距离小于阈值距离,则将所述虚拟光标的所述位置更新为代表所述对象的位置。
在第8方面,根据方面1-7中的任一项所述的可穿戴显示系统,其中,所述硬件处理器被编程为:确定所述虚拟光标的所述位置与所述对象之间的取向;以及指导所述显示器以将所述聚焦指示符渲染成优先朝向所述虚拟光标的所述取向。
在第9方面,根据方面1-8中任一项的可穿戴显示系统,其中,所述硬件处理器被编程为:至少部分地基于所述虚拟光标的较早运动路径来更新所述虚拟光标的位置。
在第10方面,根据方面9所述的可穿戴显示系统,其中,所述硬件处理器被编程为:响应于来自所述用户输入装置的用户输入的停止,至少部分地基于所述较早运动路径来更新所述虚拟光标的所述位置。
在第11方面,根据方面1-10中任一项所述的可穿戴显示系统,其中,所述硬件处理器被编程为:确定所述虚拟光标的所述位置与所述对象的一部分之间的距离;以及响应于确定所述距离小于阈值:在所述虚拟光标前方渲染所述对象;或者停止渲染所述虚拟光标。
在第12方面,提供了一种在混合现实环境中相对于对象渲染光标的方法,所述方法包括:在包括显示器和硬件处理器的混合现实显示装置的控制下:确定所述光标在所述混合现实环境中的位置;确定与所述对象相关联的位置;确定在所述对象与所述光标之间是否发生重叠;响应于确定没有发生所述重叠,渲染所述光标;以及响应于确定发生了所述重叠,在所述光标前方渲染所述对象,或者停止所述光标的渲染。
在第13方面,根据方面12所述的方法,其中,确定在所述对象与所述光标之间是否发生重叠包括:确定所述光标的位置与所述对象的位置之间的距离是否低于距离阈值。
在第14方面,根据方面12或方面13所述的方法,其中,响应于确定发生了所述重叠,所述方法进一步包括渲染与所述对象相关联的聚焦指示符。
在第15方面,根据方面14所述的方法,其中,所述聚焦指示符包括以下中的一个或多个:至少部分地围绕所述对象的辉光或光环、所述对象的尺寸或深度变化、或者图形突出显示。
在第16方面,根据方面12-15中任一项所述的方法,进一步包括:确定所述光标与所述对象之间的空间关系;以及至少部分地基于所述空间关系来渲染与所述对象相关联的聚焦指示符。
在第17方面,一种增强现实显示系统,包括:用户输入装置,其被配置为接收与光标在用户的环境中的位置相关的用户输入;显示器,用户通过所述显示器能够感知所述用户的环境中的虚拟对象;与所述用户输入装置和所述显示器通信的硬件处理器,所述硬件处理器被编程为:使虚拟对象经由所述显示器被渲染;至少部分地基于所述用户输入来跟踪所述光标在所述环境中的位置;识别所述虚拟对象的位置;确定所述虚拟对象与所述光标的所述位置之间的第一距离是否满足距离阈值;响应于确定所述第一距离满足所述距离阈值,使接近所述对象的聚焦指示符经由所述显示器被渲染。
在第18方面,根据方面17所述的系统,其中,响应于确定所述第一距离不满足所述距离阈值,所述硬件处理器被进一步编程为使得指示所述光标的所述位置的标线经由所述显示器被渲染。
在第19方面,根据方面17或方面18所述的系统中,其中,所述虚拟对象包括可选对象,使得响应于选择所述对象的用户输入,所述硬件处理器执行与所述可选对象相关联的动作。
在第20方面,根据方面17-19中任一项所述的系统,其中,当所述光标的所述位置与所述虚拟对象的所述至少一部分重叠时,所述第一距离满足所述距离阈值。
在第21方面,根据方面17-20中的任一项所述的系统,其中,当所述光标的所述位置和所述虚拟对象的至少一部分将被映射到所述显示器上的相同像素时,所述第一距离满足所述距离阈值。
在第22方面,根据方面17-21中任一项所述的系统,其中,当所述光标的所述位置和所述虚拟对象的至少一部分在被渲染在所述显示器上时被共同定位时,所述第一距离满足所述距离阈值。
在第23方面,根据方面17-22中任一项所述的系统,其中,所述虚拟对象是第一对象,其中所述聚焦指示符是第一聚焦指示符,并且其中所述硬件处理器进一步被编程为:使得第二虚拟对象经由所述显示器被渲染;识别所述第二对象的位置;确定所述第二对象与所述光标的所述位置之间的距离是否满足第二距离阈值,响应于确定所述第二对象与所述光标的所述位置之间的所述距离满足所述第二距离阈值,使接近所述第二虚拟对象的第二聚焦指示符经由所述显示器被渲染。
在第24方面,根据方面23所述的系统,其中,所述硬件处理器被编程为:响应于确定所述第一虚拟对象与所述光标之间的所述距离小于所述第二虚拟对象与所述光标之间的所述距离:使所述第一聚焦指示符比所述第二聚焦指示符被更突出地渲染。
在第25方面,根据方面24所述的系统,其中,为了使所述第一聚焦指示符比所述第二聚焦指示符被更突出地渲染,所述硬件处理器被编程为执行以下中的一个或多个:使所述第一聚焦指示符比所述第二聚焦指示符被渲染得更亮;使所述第一聚焦指示符比所述第二聚焦指示符被渲染得更大;或者使所述第一聚焦指示符在朝向所述光标的方向上比远离所述光标的方向上被更突出地渲染。
在第26方面,根据方面17-25中任一项所述的系统,其中,所述硬件处理器被编程为:识别所述虚拟对象的形状;确定所述光标相对于所述虚拟对象的取向;以及至少部分地基于所述虚拟对象的所述形状和所述光标相对于所述虚拟对象的所述取向来渲染所述聚焦指示符。
在第27方面,根据方面26所述的系统,其中,所述硬件处理器被编程为使所述聚焦指示符沿着所述光标与所述虚拟对象之间的线被更突出地渲染。
在第28方面,一种增强现实显示系统,包括:用户输入装置,其被配置为接收与光标在用户的环境中的位置相关的用户输入;显示器,用户通过所述显示器能够感知所述用户的环境中的虚拟对象;与所述用户输入装置和所述显示器通信的硬件处理器,所述硬件处理器被编程为:使多个虚拟对象经由所述显示器被渲染;跟踪所述光标在所述显示器的视野中的位置;识别所述多个虚拟对象的位置;比较所述光标的所述位置和所述多个虚拟对象的所述位置,以确定与所述光标的所述位置最近的对象;使聚焦指示符经由所述显示器被渲染为接近所述最近的对象。
在第29方面,根据方面28所述的系统,其中,所述硬件处理器被编程为:使所述第二聚焦指示符被渲染为接近不是所述最近的对象的至少另一个虚拟对象,其中,所述第一聚焦指示符比所述第二聚焦指示符被更突出地渲染。
在第30方面,根据方面28或方面29所述的系统,其中,所述硬件处理器被编程为:确定所述光标的所述位置是否与所述最近的对象重叠;以及响应于确定没有发生所述重叠,渲染所述光标;以及响应于确定发生了所述重叠,在所述光标前方渲染所述最近的对象或停止所述光标的渲染。
在第31方面,根据方面28-30中的任一项所述的系统,其中,所述硬件处理器被编程为:将所述光标的所述位置加速到所述最近的对象的所述位置。
在第32方面,提供了一种渲染用于混合现实显示装置的图形用户界面的方法,所述方法包括:在包括显示器和硬件处理器的混合现实显示装置的控制下:确定光标在所述显示器的视野中的位置;渲染与所述显示器的所述视野中的对象相关联的聚焦指示符;跟踪所述光标相对于所述对象的移动;以及至少部分地基于所述光标相对于所述对象的所述移动来调整所述聚焦指示符的所述渲染。
在第33方面,根据方面32所述的方法,其中,所述聚焦指示符包括以下中的一个或多个:至少部分地围绕所述对象的辉光或光环、所述对象的尺寸或深度变化、或图形突出显示。
在第34方面,根据方面32或方面33所述的方法,进一步包括渲染所述光标。
在第35方面,根据方面34所述的方法,进一步包括:如果所述光标位于所述对象的后方,则较少突出地或根本不渲染所述光标。
在第36方面,根据方面32-35中的任一项所述的方法,其中,渲染所述聚焦指示符包括:与在远离所述光标的方向相比,在朝向所述光标的方向上更突出地渲染所述聚焦指示符的至少一部分。
在第37方面,根据方面36所述的方法,其中,更突出地渲染所述聚焦指示符的至少一部分包括以下中的一个或多个:更亮地渲染所述部分、将所述部分渲染得更大、以不同的颜色渲染所述部分、或以不同的图形样式渲染所述部分。
在第38方面,根据方面32-37中的任一项所述的方法,其中,调整所述聚焦指示符的所述渲染包括:模拟所述聚焦指示符与所述光标之间的吸引的视觉外观。
在第39方面,根据方面32-38中的任一项所述的方法,其中,调整所述聚焦指示符的所述渲染包括:与所述聚焦指示符的远离所述光标的第二部分的视觉外观相比,强调所述聚焦指示符的靠近所述光标的第一部分的视觉外观。
在第40方面,根据方面32-39中的任一项所述的方法,其中,调整所述聚焦指示符的所述渲染包括:模拟所述光标的视觉外观,所述光标从所述对象朝向所述光标拉动所述聚焦指示符的一部分。
在第41方面,一种可穿戴显示系统,包括:显示器,其被配置为位于用户的眼睛前方,所述显示器被配置为朝向所述用户的眼睛投射虚拟内容;用户输入装置,其被配置为接收与虚拟光标在虚拟环境中的移动相关联的用户输入数据;以及与所述显示器和所述用户输入装置通信的硬件处理器,所述硬件处理器被编程为:指导所述显示器在虚拟环境中在第一深度处渲染虚拟图标;指导所述显示器在所述虚拟环境中在第二深度处渲染虚拟光标;跟踪所述虚拟光标在所述虚拟环境中的移动;确定在所述虚拟光标与所述虚拟图标之间是否发生重叠;以及响应于所述重叠的确定,指导所述显示器在比所述第一深度或所述第二深度更靠近所述用户的第三深度处渲染所述虚拟图标。
在第42方面,根据方面41所述的可穿戴显示系统,其中,所述用户输入装置包括以下中的一个或多个:包括触敏表面的手持式图腾、被配置为检测用户手势的面向外成像系统、被配置为检测所述用户的眼睛姿势的面向内成像系统、或者被配置为检测所述用户的头部姿势的惯性测量单元。
在第43方面,根据方面41或方面42所述的可穿戴显示系统,其中,所述第一深度与所述第二深度相同。
在第44方面,根据方面41-43中的任一项所述的可穿戴显示系统,其中,进一步响应于对所述重叠的确定,所述硬件处理器被编程为:与所述虚拟光标的视觉外观相比,强调虚拟图标的视觉外观。
在第45方面,根据方面44所述的可穿戴显示系统,其中,为了强调所述虚拟图标的所述视觉外观,所述硬件处理器被编程指导所述显示器:比在所述第一深度处渲染所述虚拟图标时更大地渲染所述虚拟图标;或者在所述虚拟图标的至少一部分周围渲染聚焦指示符;或者渲染与所述虚拟图标相关联的标题;或者使用比在所述第一深度处渲染所述虚拟图标时更多的虚拟内容来渲染所述虚拟图标;或者以比在所述第一深度处渲染所述虚拟图标时更高的分辨率或亮度来渲染所述虚拟图标;停止所述虚拟光标的所述渲染;或者以降低的亮度或增加的透明度来渲染所述虚拟光标。
在第46方面,根据方面41-45中的任一项所述的可穿戴显示系统,其中,所述硬件处理器进一步被编程为接受用户输入以选择所述虚拟图标。
在第47方面,根据方面41-46中任一项所述的可穿戴显示系统,其中,所述硬件处理器经一部被编程为:跟踪所述虚拟光标在所述虚拟环境中的进一步移动;以及确定所述虚拟光标与所述虚拟图标之间的所述重叠是否停止发生;以及响应于确定所述重叠停止发生,指导所述显示器在所述第一深度渲染所述虚拟图标。
在第48方面,根据方面47所述的可穿戴显示系统,其中,所述硬件处理器被编程为:用与所述重叠之前的所述虚拟图标的视觉外观相同的视觉外观来渲染所述虚拟图标;或者以与所述重叠之前的所述虚拟光标的视觉外观相同的视觉外观来渲染所述虚拟光标。
在第49方面,根据方面41-48中任一项所述的可穿戴显示系统,其中,所述硬件处理器被编程为:渲染包括多个虚拟图标的虚拟布局,其中,所述多个虚拟图标包括所述虚拟图标。
在第50方面,根据方面49所述的可穿戴显示系统,其中,所述硬件处理器被编程为接收用于滚动所述虚拟布局的用户指示。
在第51方面,根据方面50所述的可穿戴显示系统,其中,所述用户指示包括滚动方向或滚动速度。
在第52方面,根据方面50或方面51所述的可穿戴显示系统,其中,所述用户指示包括所述虚拟光标在所述虚拟布局的边缘处的悬停。
在第53方面,根据方面50-52中的任一项所述的可穿戴显示系统,其中,所述硬件处理器被编程为指导所述显示器:滚动所述虚拟布局;以及渲染虚拟内容面板,所述虚拟内容面板包括在所述滚动之前未被渲染的虚拟图标的表示。
在第54方面,根据方面53所述的可穿戴显示系统,其中,在与所述虚拟布局的至少一部分被渲染的深度不同的深度处渲染所述虚拟内容面板。
在第55方面,根据方面49-54中任一项所述的可穿戴显示系统,其中,所述虚拟布局包括规则网格或不规则网格。
在第56方面,根据方面41-55中的任一项所述的可穿戴显示系统,其中,所述虚拟图标包括应用或媒体文件的缩略图。
在第57方面,根据方面56所述的可穿戴显示系统,其中,所述媒体文件包括视频文件、音频文件或文档文件。
在第58方面,一种可穿戴显示系统,包括:显示器,其被配置为位于用户的眼睛前方,所述显示器被配置为朝向所述用户的眼睛投射虚拟内容;用户输入装置,其被配置为接收与虚拟光标在虚拟环境中的移动相关联的用户输入数据;以及与所述显示器和所述用户输入装置通信的硬件处理器,所述硬件处理器被编程为:指导所述显示器渲染多个虚拟图标的虚拟布局,其中所述虚拟布局中的所述多个虚拟图标的至少一些被渲染在所述虚拟环境中的第一深度处;接收用于滚动所述虚拟布局的用户指示;以及响应于接收到用于滚动所述虚拟布局的所述用户指示,指导所述显示器:渲染虚拟内容面板,所述虚拟内容面板包括在所述滚动之前未被渲染的虚拟图标的表示,所述虚拟内容面板被渲染在所述虚拟环境中的第二深度处。
在第59方面,根据方面58所述的可穿戴显示系统,其中,所述第一深度不同于所述第二深度。
在第60方面,根据方面58或方面59所述的可穿戴显示系统,其中,所述用户指示包括滚动方向或滚动速度。
在第61方面,根据方面58-60中任一项所述的可穿戴显示系统,其中,所述用户指示包括所述虚拟光标在所述虚拟布局的边缘处的悬停。
在第62方面,根据方面58-61中的任一项所述的可穿戴显示系统,其中,所述虚拟内容面板包括消息,所述消息指示正被滚动的所述多个图标的所述内容。
在第63方面,根据方面58-62中的任一项所述的可穿戴显示系统,其中,所述虚拟图标的所述表示包括缩略图。
在第64方面,根据方面58-63中的任一项所述的可穿戴显示系统,其中,用动量或阻力来执行所述虚拟布局的所述滚动。
在第65方面,根据方面58-64中的任一项所述的可穿戴显示系统,其中,所述硬件处理器进一步被编程为:接收用于停止所述虚拟布局的所述滚动的用户指示;以及响应于接收到用于停止所述虚拟布局的所述滚动的所述用户指示,指导所述显示器:停止所述虚拟布局的所述滚动;以及停止所述虚拟内容面板的所述渲染。
其他考虑事项
本文描述或附图中描绘的过程、方法和算法中的每一个可以体现在由一个或多个物理计算系统、硬件计算机处理器、应用专用电路或被配置为执行特定和特殊的计算机指令的电子硬件所执行的代码模块中并且完全或部分地由该代码模块自动化。例如,计算系统可以包括用特定计算机指令编程的通用计算机(例如,服务器)或专用计算机、专用电路等等。代码模块可以被编译并链接到可执行程序中,安装在动态链接库中,或者可以用解释的编程语言编写。在一些实施方式中,特定操作和方法可以由专用于给定功能的电路来执行。
此外,本公开的功能的某些实施方式在数学上、计算上或技术上是足够复杂的,使得应用专用硬件或一个或多个物理计算装置(利用适当的专用可执行指令)对于执行功能可能是必需的,例如由于所涉及的计算的数量或复杂性或为了基本上实时提供结果。例如,视频可以包括许多帧,每帧具有数百万个像素,并且具体地编程的计算机硬件对于处理视频数据是必需的以在商业上合理的时间量内提供期望的图像处理任务或应用。
代码模块或任何类型的数据可以存储在任何类型的非暂时性计算机可读介质上,诸如物理计算机存储器,包括硬盘驱动器、固态存储器、随机存取存储器(RAM)、只读存储器(ROM)、光盘、易失性或非易失性存储器、其组合等。方法和模块(或数据)也可以在各种计算机可读传输介质上作为生成的数据信号(例如,作为载波或其他模拟或数字传播信号的一部分)传输,所述传输介质包括基于无线的和有线/基于线缆的介质,并且可以采取多种形式(例如,作为单个或多路复用模拟信号的一部分,或者作为多个离散数字分组或帧)。所公开的方法或方法步骤的结果可以持久地或以其他方式存储在任何类型的非暂时性有形计算机存储器中,或者可以经由计算机可读传输介质来通信。
在此描述的和/或在附图中描绘的流程图中的任何过程、框、状态、步骤或功能应当被理解为潜在地表示代码模块、代码段或代码部分,代码包括一个或多个可执行指令以实现特定功能(例如,逻辑或算术)或方法中的步骤。各种方法、框、状态、步骤或功能可以与本文提供的说明性示例相组合,重新排列,添加,删除,修改或以其他方式改变。在一些实施例中,附加的或不同的计算系统或代码模块可以执行本文描述的功能中的一些或全部。本文描述的方法和过程也不限于任何特定的序列,并且与其相关的块、步骤或状态可以以适当的其他序列来执行,例如串行、并行或以某种其他方式。可以向所公开的示例性实施例添加任务或事件或者从中移除任务或事件。此外,本文描述的实现中的各种系统组件的分离是出于说明的目的,并且不应该被理解为在所有实施方式中都需要这种分离。应该理解,所描述的程序组件、方法和系统通常可以一起集成在单个计算机产品中或者封装到多个计算机产品中。许多实施方式变化是可能的。
过程、方法和系统可以在网络(或分布式)计算环境中实施。网络环境包括企业范围的计算机网络、内联网、局域网(LAN)、广域网(WAN)、个人区域网络(PAN)、云计算网络、众包计算网络、因特网和万维网。网络可以是有线或无线网络或任何其他类型的通信网络。
本公开的系统和方法各自具有若干创新性方面,其中没有单独一个对于本文公开的期望属性完全负责或需要。上述各种特征和过程可以彼此独立地使用,或者可以以各种方式组合。所有可能的组合和子组合均旨在落入本公开的范围内。对于本公开中所描述的实施方式的各种修改对于本领域技术人员来说可能是显而易见的,并且在不脱离本公开的精神或范围的情况下,可将本文中定义的一般原理应用于其他实施方式。因此,权利要求不旨在限于本文所示的实施方式,而是应被赋予与本公开一致的最宽范围、本文公开的原理和新颖特征。
在本说明书中在分开的实施方式的情境中描述的某些特征也可以在单个实施方式中组合实施。相反,在单个实施方式的情境中描述的各种特征也可以分开或者以任何合适的子组合在多个实施方式中实施。此外,尽管上文可以将特征描述为以某些组合起作用并且甚至最初如此要求,但是来自所要求保护的组合的一个或多个特征可以在一些情况下从组合中删除,并且所要求保护的组合可以针对子组合或变体的子组合。没有单个特征或特征组对于每一个实施例是必要或是必不可少的。
除非另有明确说明,否则本文中使用的条件语言,诸如“能够”、“可能”“应该”、“可以”、“例如”等等,或者在情境中以其他方式理解的,为一般地意在表达某些实施例包括,而其他实施例不包括某些特征、元件或步骤。因此,这样的条件语言通常不旨在暗示特征、元素或步骤以任何方式对于一个或多个实施例是必需的,或者一个或多个实施例必然包括用于在有或者没有作者输入或提示的情况下决定是否这些特征、元件或步骤包括在任何特定实施例中或将在任何特定实施例中执行。术语“包括”、“包含”、“具有”等是同义词,并且以开放式的方式包含性地使用,并且不排除附加的元件、特征、动作、操作等等。此外,术语“或”以其包含性含义(而不是其专有含义)使用,因此当用于例如连接元素列表时,术语“或”表示一个、一些或全部列表中的元素。另外,除非另有说明,否则本申请和所附权利要求中使用的冠词“一”、“一个”和“所述”应被解释为表示“一个或多个”或“至少一个”。
如本文所使用的,提及项目列表中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。举例来说,“A、B或C中的至少一个”旨在覆盖:A、B、C、A和B、A和C、B和C以及A、B和C。连接语言例如短语“X、Y和Z中的至少一个”,除非另有特别说明,否则在通常用于表达项目,术语等可以是X、Y或Z中的至少一个。因此,这样的连接语言通常并不意味着某些实施方案需要X中的至少一个,Y中的至少一个和Z中的至少一个存在。
类似地,尽管可以在特定顺序中在附图中描绘操作,但应认识到,这些操作不需要以所示出的特定顺序或按顺序执行,或者所有所示操作都要执行,以实现理想的结果。此外,附图可以以流程图的形式示意性地描绘一个或多个示例过程。然而,未示出的其他操作可以并入示意性说明的示例性方法和过程中。例如,可以在任何所示操作之前、之后、同时或之间执行一个或多个附加操作。另外,在其他实施中,操作可以重新安排或重新排序。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施方式中的各种系统组件的分离不应该被理解为在所有实施方式中都需要这种分离,并且应该理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品。另外,其他实施方式在以下权利要求的范围内。在一些情况下,权利要求中列举的动作可以以不同的顺序执行并且仍然实现期望的结果。
附录A
本附录的部分公开内容包含受版权保护的材料。版权所有者不反对任何人以在专利和商标局专利文件或记录中出现的形式复制专利文件或专利公开(其包括本附录),但除此之外保留所有版权。
以下的计算机代码和描述旨在说明遮挡光标技术的各种实施例,而不旨在限制遮挡光标技术的范围。
I.遮挡光标概述
遮挡光标表示在使用指向装置时突出显示用户选择的一种方式。与显示在可选内容上方或前方显示小指针‘子图形’的常规方法相比,遮挡光标在该内容后方移动,并经由从所选项的后方放射出的辉光的运动向用户提供位置反馈。通过即使在突出显示选定项的同时也继续准确地跟踪用户输入,遮挡辉光将使位置移位以向用户提供持续的输入反馈和光标位置的准确感觉。在本附录中描述的示例中,用户通过移动触摸控制的光标或聚焦指示符、使用遮挡光标来定位平面用户界面(UI)元素。相对光标的逻辑和数据基于由紧握图腾(GripTotem)脚本提供的触摸板信息。本文档示出了相对遮挡光标输入算法的示例。
II.遮挡光标特征
光标可以具有惯性。光标位置可以被剪切到面板上。面板可以具有倒圆设置,以便输入区域可以是倒圆、胶囊或具有一定程度的圆角的矩形。当用户的手指从触摸板上释放时,光标可以具有捕捉到元素上的功能。
III.相对力学
类光标相对输入可以实现相对光标。它可以响应于用户输入(例如,图腾触摸板反馈)来更新位于3D平面的边界区域内的光标的位置。术语相对可用于描述光标的核心输入到运动响应:当用户按在图腾的触摸板时,系统将更新光标,使得其看起来像在控制平面内沿等效的运动方向前进;每一个运动步骤可以相对于先前的位置。
A.光标和面板交互
遮挡面板生成光标相对输入的实例(作为多个光标控件选择中的一者)。面板可以为光标提供活动范围的概念-当面板具有焦点时,可以更新光标实例。它还可以限定光标运动的边界以及光标可以与之交互的主要元素组(例如,作为同一面板实例的子级的按钮)。
遮挡面板的示例在图22中示出。“社交”、“应用”和“商店”下方的区域是遮挡面板。
光标边界可以被限定为矩形区域,该区域精确地映射到为遮挡面板指定的尺寸,或者光标边界可以是由面板提供的第二组自定义边界(例如,如果控制区域仅代表面板所占空间的子集)。
面板可以具有与其他遮挡元素一致的“倒圆”属性。这可能意味着面板(以及由此的光标边界)可以是一个完美的圆形或胶囊、尖角的正方形或矩形、或介于两者之间的任何圆角形状。由于可以应用,因此相对光标会遵循面板的倒圆状态。
在一些情况下,可以存在任意数量的面板处于活动状态。因此,可能存在多个相对光标实例。在一些情况下,只有一个面板可以具有输入焦点。这可能是将主动更新其光标的唯一面板。这可以经由来自中央遮挡UI类的调用来实现,并且此更新的结果可以是从用户中心位置(例如,头部姿势或图腾位置)穿过面板控制平面上的位置投射的光标射线。
除了检测属于主机面板的按钮之外或者作为其替代,光标可以检测属于其他面板的按钮,该其他面板允许与活动的输入面板共享焦点。
B.光标碰撞
使用有输入面板的光标更新提供的光标射线,遮挡UI可以对活动的可交互元素(例如,属于当前具有焦点的面板的按钮)执行射线投射。这里执行的测试可以使用基于数学的光线投射,与使用对撞机相比,该光线投射具有多个优点。例如,优点可以包括但不限于:
·测试可以反映按钮的倒圆形状(例如,使用与渲染按钮相同的数学以获得最佳一致性)。
·系统可以确定按钮是否正悬停以及按钮与光标的接近度。这可以起到至少两个重要功能。首先,系统可以确定哪些按钮接近光标,并且基于此确定,系统可以在接近这些按钮时开始显示遮挡辉光。其次,在一些情况下,希望找到与当前光标位置最近的按钮(例如,
用于重力井支持)。
·通过避免关于对撞机的需要,可以使场景看起来更整洁,并且系统可以避开正确过滤碰撞所固有的复杂性,或者避免其他按钮或其他基于场景的对撞机对按钮的意外遮挡。
至少部分地基于射线投射,系统可以确定特定按钮已被“击中”。在一些情况下,响应于此确定,系统可以采用基于二级对撞机的测试。此测试可以在按钮位置发射相同的光标射线。然而,这次,系统测试具有‘UI’碰撞层的对撞机。在一些情况下,这提供了一种机制,该机制允许给定的遮挡面板配置有坚固的“背板”。换句话说,它可以防止光标射线投射穿过面板中的缝隙而击中可能位于面板后方的可交互对象。一个示例是位于活动搜索结果前方的键盘。那些结果通过键盘交互是不希望的。相反,可能希望结果仅在与键盘相邻时才是交互式的。
碰撞实现:
可以针对每帧(例如,要被击中的第一帧)一个可交互对象来记录碰撞。然而,系统可以继续测试其他对象,以更新其的接近度辉光状态。
可以对一些可交互对象进行优先级测试。例如,可以在针对同一可交互对象测试每一帧时,为包含先前更新的悬停的可交互对象的该帧赋予优先级。这可以帮助确保稳定的碰撞响应。
在一些情况下,如果帧未命中,则系统将再次在它将占据的位置处测试它是否未被悬停。这是解决磁滞情况的一种措施,否则如果按钮响应于被悬停而前进,则可能会发生磁滞情况。在这种情况下,光标位置可能保持不变,导致下一个光标射线错过按钮,从而使其再次后退并循环。
用户可能能够为主动悬停的按钮修改碰撞大小标量。例如,这对于小按钮可能很有用,以使其在尝试使用触控板按压以单击按钮时,更难以意外地使它们过冲或远离它们。例如,在悬停时可以稍微增加按钮的尺寸,并且在不被悬停时可以返回到1到1比例。一旦光标将交互式元素悬停,可以由特定类处理进一步的交互(例如,按钮按压)。这可以通过悬停/不悬停(OnHover/DeHover)、单击(OnClick)、单击开始/结束(OnClickStart/End)样式事件通过标准遮挡事件机制发生。
C.光标渲染
光标处理的另一方面可以是光标渲染。在大多数情况下,只有一个光标是可见的(例如,来自输入焦点面板的一个光标)。可以通过遮挡渲染通道显示该光标。
光标的位置是否以遮挡‘后辉光’、更常规的位置点等形式显示,至少部分地基于各种因素。例如,因素可以包括:遮挡元素当前是否被悬停;如果不是,则是否允许‘点’光标关于活动面板是可见的。在一些情况下,光标可以被完全隐藏。
IV.相对光标更新的实现
对于任何光标模式,系统都有一个设定结构(在一些情况下,可以按面板配置),该结构允许用户或系统自定义行为。例如,对于相对光标,该设定结构可以包括但不限于:
·运动标量
o这允许控制光标的速度。例如,它可以允许控制基于触摸板输入的移动步长的大小。
·选择X或Y输入/正交滑动
o这些选项可以允许偏向于输入处理,以相对于另一轴偏向于一个轴或偏向于基本运动方向。例如,选项可以允许在当前的触摸输入的X或Y分量中较大的一个之间进行选择。偏向因素可以增加附加控制。
o正交滑动可以表示当某个轴上的输入超出阈值时,另一轴上的运动可以为零。例如,这对于在网格中放置许多按钮的键盘来说很有用的,系统知道了其中用户的意图通常是使光标沿着一行相邻的字母利落地移动。
·重力井支持
o当用户释放触摸板时,这些选项允许光标滑动(例如,好像被重力拉动)到最近的按钮内的位置。在一些情况下,光标的这种滑动可能总是发生、永远不会发生、或者仅在最近的按钮位于一定距离公差内的情况下才发生。设定可以包括光标是否将移动到最近的按钮上的最近位置、或者移动到与按钮的X和Y轴中的一个或两个对准的位置(例如,如果存在一行长且相邻的按钮,则对于较小的圆形按钮的垂直堆叠,可能期望捕捉到中央Y或者也许捕捉到中央X)。设定还可以包括是否只需要在主机面板内使用重力井、或者是否也可以考虑其他“对焦”
面板上呈现的元素。
·边缘推动
o使用触摸板控件,用户可以将输入焦点从一个面板切换到另一个面板。当光标击中面板的边缘边界时,系统可以向用户发送事件,用户可以使用该事件根据推动方向启动面板过渡。在一些情况下,系统可以选择弹簧加载边缘,这会引起视觉反馈(例如,主机面板的运动),以帮助传达发生了边缘推动。在这种情况下,如果未超过某个推动范围,则面板可以弹回至其原始位置,而没有发送边缘推动事件。在一些情况下,这些设定包括定时选项(例如,相对于边缘推动持续一定时间)和双击选项(例如,相对于边缘的碰撞、释放输入然后再次相对于同一边缘滑动)。
·惯性控制
o每当用户提供触摸板输入并且确定或渲染光标运动时,系统还可以关联可以模拟‘惯性’程度的光标移动。例如,可以从活动输入停止的那一刻起应用该移动。它可能导致光标沿其运动路径继续,直到阻尼力将‘惯性’减小到零。控制可以限制能够累积多少惯性以及允许在快速‘滑动’动作结束时(例如,对应于可配置的阈值)用户释放触摸板的事件中应用惯性增强。
惯性增强旨在支持快速滑动通过长项列表(例如,使得如果用户选择,则允许一次巨型滑动来从上到下携带光标)。
·滚动支持
o在面板具有超出其可用屏幕的实际面积的内容的情况下,可以滚动。相对光标可以具有内置的推动-滚动支持。
可配置的参数可以控制距面板边缘的距离,在该距离处将应用推动-滚运动步骤。
基于相对光标如何被配置(例如,通过可配置的设定),相对光标更新可以包括以下步骤中的一个或多个:
·检查触摸板滑动)
o例如,检查在触摸板上的快速手指运动是否刚刚结束。
o潜在地应用惯性增强。
·检查常规触摸输入
o将运动应用于光标位置
o建立方向惯性。
·如果没有触摸板输入
o将基于惯性的运动应用于光标位置
o如果触摸板输入刚刚结束,则查找最近的重力井
o执行潜在的重力阱处理以应用光标运动。
■注意:这可以层叠在惯性的顶部上,以便两者可以一起操作。例如,一旦惯性充分减退,重力捕捉可以开始。
·处理用于滚动面板类型的推动-滚动
o相对于推动-滚动边界剪切光标位置、对滚动偏移应用‘溢出’
·将光标位置剪切到面板的边界。
o这可以以确保光标可以在任何弯曲的角周围利落地滑动的方式来实现。
·检查边缘推动
o跟踪基于时间/双击/弹簧加载的边缘推动或向用户发送事件。
·使惯量衰减
V.输入语言
·遮挡UI
遮挡UI是一组统一(Unity)类,以支持按钮和光标的渲染。
遮挡面板
遮挡面板是遮挡UI中的类。面板支持每面板光标渲染和设定。光标相对输入(和其他可选的光标类型类)由遮挡面板实例分配和更新。面板具有‘焦点’(可以单击其按钮)和‘输入焦点’(它们的光标将被刷新并将渲染为活动的系统光标)的概念。当头部姿势对面板定位时可以设定‘焦点’,面板具有该‘焦点’。可以存在多个‘焦点’面板,但只有一个具有‘输入焦点’的面板。
光标相对输入
光标相对输入类由ICursor界面实现。该光标具有惯性、按钮捕捉和边缘推动特征。
·图腾
触控板
触摸板是用于在图腾上指向(控制输入定位)的圆形表面(装置)
A.紧握图腾
紧握图腾是从串行端口读取原始数据的类。
VI.遮挡面板
A.[参数]
//Notes:
//Area can be set based on Dimensions and Rounding values(See“Clipthe Cursor Position to a Panel”).
//Each instance of EclipsePanel may have differentEclipseRelativeCursorSettings settings.
//EclipsePanel limits the cursor’s position to the defined panel areaVector2 Dimensions;
[Range(0.0f,1.0f)]
[Tooltip("Rounding value for panel.0=round,1=square")]
public float rounding;
public EclipseRelativeCursorSettings relativeCursorSettings;
bool EclipsePanelShowCursor
private ICursor cursor;//Cursor behavior active while panel'HasFocus'
private Transform cursorTransform;//Transform supplying a cursorposition.
public bool hasFocus;
public bool hasInputFocus;
B.[功能]
//RefreshCursor is called from LateUpdate of a panel that has inputfocus.public void RefreshCursor(bool ignoreLimits=false)
{
cursor.Refresh(cursorTransform,ignoreLimits);
}
VII.ICursor
//ICursor
//RefreshCursor is called from LateUpdate of a panel that has inputfocus.
//All cursor update can be performed in the local space of the hostpanel.
public interface ICursor
{
Vector2 LocalPosition{get;set;}
void Reset();
void Set(Vector2 pos);
void Refresh(Transform cursorTransform,bool ignoreLimits);
}
VIII.相对光标
A.[可串行的(Serializable)类]
[System.Serializable]
EclipseRelativeCursorSettings
public class EclipseRelativeCursorSettings
{
[Tooltip("Scalar for global cursor motion rate")]
public Vector2 motionScalar=Vector2.one;
[Tooltip("Should cursor trat buttons as gravity wells?")]
public EclipseGravityWellSupport gravityWellSupport;
[Tooltip("Should we always center on buttons when gravity wellsnapping?")]
public bool centerOnGravityWells=false;
[Tooltip("Should only we consider gravity wells within the hostpanel?")]
public bool hostGravityWellsOnly=false;
[Tooltip("Detect relative cursor'push'action at edge of bounds?")]
public bool detectEdgePush=true;
[Tooltip("Support cursor snap?")]
public bool supportCursorSnap=false;
[Tooltip("Orthogonalize swipes for cursor snap?")]
public bool orthogonalizeSwipes=true;
[Tooltip("Scope cursor snap to host panel?")]
public bool scopeSnappingToHostPanel=true;
[Tooltip("Minimum swipe velocity to trigger cursor snap")]
public float cursorSnapSwipeVelocity=2.0f;
[Tooltip("Maximum duration of swipe to trigger cursor snap")]
public float cursorSnapSwipeMaxDuration=0.35f;
}
B.[参数]
private EclipsePanel parentPanel;//Panel that owns this'cursor'.
private Vector2 targetPosition;//
private Vector2 position;
private Vector2 inertia;
private Vector2 edgePushTimers;
private EclipseEdgeMask edgePushFlags;
private EclipseEdgeMask edgePushLatched;
private float blendToTargetTimer;
private EclipseRelativeCursorSettings settings;
C.[功能]
//cursorTransform is the transform of an object which belong to thehost paneland represents the cursor position in world-space.It can be updatedhere.
//Cursor has inertia
public void Refresh(Transform cursorTransform,bool ignoreLimits)
{
If(setting supportCursorSnap==true&&Detect swipe gesture on totem==true){
//If the system detects swipe gesture,cursor will try to findEclipseButtons andsnap to button’s position
//Handle Snap button here
}else{
//While the user keeps their finger on the touchpad,the system buildsup aninertia vector.When the user releases the touch,the inertia will beapplied tothe targetPosition
if(EclipseUI.instance.CheckForInput(InputState.Touch)){
Vector2 ms=settings.motionScalar;
Vector2 diff=Vector2.Scale(EclipseUI.TrackpadDelta,
Vector2.Scale(EclipseSettings.Cursor.misc.relativeCursorSensitivity,ms))*
Time.deltaTime;
float iMag=diff.sqrMagnitude>inertia.sqrMagnitude?diff.magnitude:inertia.magnitude;
inertia+=diff*EclipseSettings.Cursor.misc.relativeCursorInertiaFrac;
inertia=inertia.normalized*iMag;
targetPosition+=diff;
allowEdgePush=true;
}else{
targetPosition+=inertia;
edgePushLatched=edgePushFlags;
edgePushTimers=Vector2.zero;
}
}
//Handle Gravity well here
//Clip the position to the given panel dimensions
Vector2 unbounded=targetPosition;
targetPosition=parentPanel.ClipPointToCursorBOunds(targetPosition);
//Handle Edge Push
//This can be a time independent dampening function that deceleratestowardsthe given target position over a specified time.
position=Util.ExpStep(position,targetPosition,targetBlendRate);
cursorTransform.position=parentPanel.transform.TransformPoint(position);
//Inertia falls off over the specified dampening period…
inertia.x=Util.ExpStep(inertia.x,0.0f,
EclipseSettings.Cursor.misc.relativeCursorInertiaDampening.x);
inertia.y=Util.ExpStep(inertia.y,0.0f,
EclipseSettings.Cursor.misc.relativeCursorInertiaDampening.y);
//Handle Gravity well here
if(EclipseUI.instance.CheckForInput(InputState.Touch)){
//We have touch input that will move the cursor.In some cases,anyinertia or gravity well processing can cease immediately
//gravityWell=null;
checkForGravityWell=true;//Next time there's no input
Vector2 ms=settings.motionScalar;
if(parentPanel.invertHorizontalCursorHandling){
ms.x=-ms.x;
}
Vector2 delta=EclipseUI.TrackpadDelta;
if(!settings.IsMovingXandY){
float deltaDiff=Mathf.Abs(delta.y)-Mathf.Abs(delta.x);
if(deltaDiff>settings.XBias){
delta.x=0;
}else{
delta.y=0;
}
}
Vector2 diff=Vector2.Scale(delta,
Vector2.Scale(EclipseSettings.Cursor.misc.relativeCursorSensitivity,ms))*
Time.deltaTime;
//Build up an inertia vector while we have touch input...
float iMag=diff.sqrMagnitude>inertia.sqrMagnitude?diff.magnitude:inertia.magnitude;
inertia+=diff*EclipseSettings.Cursor.misc.relativeCursorInertiaFrac;
inertia=inertia.normalized*iMag;
targetPosition+=diff;
allowEdgePush=true;
}else{
//No input but inertia will potentially keep the cursor in motion.
float inertiaStepLen=Mathf.Min(inertia.magnitude,settings.maxInertiaStep);
//Debug.Log("Inertia Step:"+inertiaStepLen);
bool refreshGravityWell=gravityWell!=null;
if((settings.gravityWellSupport!=EclipseGravityWellSupport.None)&&
checkForGravityWell&&
((settings.gravityWellSupport==EclipseGravityWellSupport.Always)||
(inertiaStepLen<EclipseSettings.Cursor.misc.gravityWellInertiaThreshold)))
{
//Choose a gravity well target(if available)and start blend to it
CheckForGravityWell();
checkForGravityWell=refreshGravityWell=false;
}
if(refreshGravityWell){
//Gravity well position may shift as inertia carries cursor forward.
//We can ensure that the position doesn't exceed button bounds
if(gravityWell.DistanceToButton>0.0f){
gravityWell.Refresh();
gravityWell.ForceAsHit(settings.centerOnGravityWells);
}
}
targetPosition+=inertia.normalized*inertiaStepLen;
if((gravityWell!=null)&&(blendToTargetTimer>0.0f)){
//Blend from inertial motion to exact gravity well position
float f=1.0f-(blendToTargetTimer/EclipseSettings.Cursor.misc.gravityWellBlendTime);
targetPosition=Vector2.Lerp(targetPosition,
(Vector2)pt.InverseTransformPoint(gravityWell.ResultPoint),f);
}
edgePushLatched=edgePushFlags;
edgePushTimers=Vector2.zero;
}
IX.将光标位置剪切到面板
//Refresh function.Rounding settings for the panel mean the inputarea may be round,a capsule,or a rectangle with some degree of cornerrounding.
public Vector2 ClipPointToCursorBounds(Vector2 pt)
{
if(customCursorBounds){
if(TotemInput.instance.CurrentDeviceType==typeof(KeyboardMouseTotem))
{
pt-=cursorBoundsOffset;
}
return Util.ClipPointToShape(cursorBoundsDimensions,rounding,pt);
}else{
return Util.ClipPointToShape(FrameDimensions,rounding,pt);
}
}
//Clip point to be within a rounded shape sized by input dimensionsand with corner rounding controlled by a 0->1value where 0=round,1=square.public static Vector2 ClipPointToShape(Vector2 shapeDims,floatshapeRounding,Vector2 p)
{
float hd,r;
Vector2 l0;
Vector2 l1;
if(shapeDims.x>shapeDims.y){
r=shapeDims.y*0.5f;
hd=Mathf.Max(0.0f,(shapeDims.x-shapeDims.y)*0.5f);
l0=new Vector2(-hd,0.0f);
l1=new Vector2(hd,0.0f);
}else{
r=shapeDims.x*0.5f;
hd=Mathf.Max(0.0f,(shapeDims.y-shapeDims.x)*0.5f);
l0=new Vector2(0.0f,-hd);
l1=new Vector2(0.0f,hd);
}
Vector3 d=DistanceToLinePoint(l0,l1,p,shapeRounding);
float lim=r*d.z;
if(d.x>lim){
Vector2 lp=l0+((l1-l0)*d.y);
return lp+((p-lp).normalized*lim);
}
return p;
}

Claims (21)

1.一种可穿戴显示系统,包括:
显示器,其被配置为位于用户的眼睛前方,所述显示器被配置为朝向所述用户的所述眼睛投射虚拟内容;
用户输入装置,其被配置为接收与虚拟光标的移动相关联的用户输入数据;以及
与所述显示器和所述用户输入装置通信的硬件处理器,所述硬件处理器被编程为:
识别所述虚拟光标在所述用户的环境中的位置;
确定所述虚拟光标与所述用户的环境中的对象之间的空间关系;以及
指导所述显示器至少部分地基于所述空间关系来渲染与所述对象相关联的聚焦指示符。
2.根据权利要求1所述的可穿戴显示系统,其中,所述用户输入装置包括以下中的一个或多个:包括触敏表面的手持式图腾、被配置为检测用户手势的面向外成像系统、被配置为检测所述用户的眼睛姿势的面向内成像系统、或者被配置为检测所述用户的头部姿势的惯性测量单元。
3.根据权利要求1所述的可穿戴显示系统,其中,为了确定所述虚拟光标与所述对象之间的所述空间关系,所述硬件处理器被编程为:
确定所述虚拟光标的位置与所述对象的一部分之间的距离;或者
确定所述虚拟光标与所述对象之间的相对取向;以及
指导所述显示器至少部分地基于所确定的距离或所确定的取向来渲染所述聚焦指示符。
4.根据权利要求1所述的可穿戴显示系统,其中,所述聚焦指示符包括以下中的一个或多个:至少部分地围绕所述对象的辉光或光环、所述对象的尺寸或深度变化、或者图形突出显示。
5.根据权利要求1所述的可穿戴显示系统,其中,为了指导所述显示器渲染聚焦指示符,所述硬件处理器被编程为:
执行第一渲染通道以将光标辉光渲染到第一缓冲器,所述光标辉光的位置至少部分地基于所述虚拟光标的位置;
执行第二渲染通道以将所述对象的形状遮罩表示渲染到第二缓冲器;
执行第三渲染通道以将与所述对象相关联的辉光遮罩渲染到第三缓冲器;以及
执行第四渲染通道,所述第四渲染通道被配置为至少组合第一缓冲器、第二缓冲器和第三缓冲器以用于向所述用户的呈现。
6.根据权利要求5所述的可穿戴显示系统,其中,为了执行所述第四渲染通道,所述硬件处理器被编程为至少将所述第一缓冲器、所述第二缓冲器和所述第三缓冲器与包括虚拟场景内容的第四缓冲器组合。
7.根据权利要求1所述的可穿戴显示系统,其中,所述硬件处理器进一步被编程为:
确定所述虚拟光标的所述位置与所述对象之间的距离;以及
如果所述距离小于阈值距离,则将所述虚拟光标的所述位置更新为代表所述对象的位置。
8.根据权利要求1所述的可穿戴显示系统,其中,所述硬件处理器被编程为:
确定所述虚拟光标的所述位置与所述对象之间的取向;以及
指导所述显示器以将所述聚焦指示符渲染成优先朝向所述虚拟光标的所述取向。
9.根据权利要求1所述的可穿戴显示系统,其中,所述硬件处理器被编程为:
至少部分地基于所述虚拟光标的较早运动路径来更新所述虚拟光标的位置。
10.根据权利要求9所述的可穿戴显示系统,其中,所述硬件处理器被编程为:响应于来自所述用户输入装置的用户输入的停止,至少部分地基于所述较早运动路径来更新所述虚拟光标的所述位置。
11.根据权利要求1所述的可穿戴显示系统,其中,所述硬件处理器被编程为:
确定所述虚拟光标的所述位置与所述对象的一部分之间的距离;以及
响应于确定所述距离小于阈值:
在所述虚拟光标前方渲染所述对象;或者
停止渲染所述虚拟光标。
12.一种在混合现实环境中相对于对象渲染光标的方法,所述方法包括:
在包括显示器和硬件处理器的混合现实显示装置的控制下:
确定所述光标在所述混合现实环境中的位置;
确定与所述对象相关联的位置;
确定在所述对象与所述光标之间是否发生重叠;
响应于确定没有发生所述重叠,
渲染所述光标;以及
响应于确定发生了所述重叠,
在所述光标前方渲染所述对象,或者
停止所述光标的渲染。
13.根据权利要求12所述的方法,其中,确定在所述对象与所述光标之间是否发生重叠包括:确定所述光标的位置与所述对象的位置之间的距离是否低于距离阈值。
14.根据权利要求12所述的方法,其中,响应于确定发生了所述重叠,所述方法进一步包括渲染与所述对象相关联的聚焦指示符。
15.根据权利要求14所述的方法,其中,所述聚焦指示符包括以下中的一个或多个:至少部分地围绕所述对象的辉光或光环、所述对象的尺寸或深度变化、或者图形突出显示。
16.根据权利要求12所述的方法,进一步包括:
确定所述光标与所述对象之间的空间关系;以及
至少部分地基于所述空间关系来渲染与所述对象相关联的聚焦指示符。
17.一种增强现实显示系统,包括:
用户输入装置,其被配置为接收与光标在用户的环境中的位置相关的用户输入;
显示器,用户通过所述显示器能够感知所述用户的环境中的虚拟对象;
与所述用户输入装置和所述显示器通信的硬件处理器,所述硬件处理器被编程为:
使虚拟对象经由所述显示器被渲染;
至少部分地基于所述用户输入来跟踪所述光标在所述环境中的位置;
识别所述虚拟对象的位置;
确定所述虚拟对象与所述光标的所述位置之间的第一距离是否满足距离阈值;
响应于确定所述第一距离满足所述距离阈值,使接近所述对象的聚焦指示符经由所述显示器被渲染。
18.一种增强现实显示系统,包括:
用户输入装置,其被配置为接收与光标在用户的环境中的位置相关的用户输入;
显示器,用户通过所述显示器能够感知所述用户的环境中的虚拟对象;
与所述用户输入装置和所述显示器通信的硬件处理器,所述硬件处理器被编程为:
使多个虚拟对象经由所述显示器被渲染;
跟踪所述光标在所述显示器的视野中的位置;
识别所述多个虚拟对象的位置;
比较所述光标的所述位置和所述多个虚拟对象的所述位置,以确定与所述光标的所述位置最近的对象;
使聚焦指示符经由所述显示器被渲染为接近所述最近的对象。
19.一种渲染用于混合现实显示装置的图形用户界面的方法,所述方法包括:
在包括显示器和硬件处理器的混合现实显示装置的控制下:
确定光标在所述显示器的视野中的位置;
渲染与所述显示器的所述视野中的对象相关联的聚焦指示符;
跟踪所述光标相对于所述对象的移动;以及
至少部分地基于所述光标相对于所述对象的所述移动来调整所述聚焦指示符的所述渲染。
20.一种可穿戴显示系统,包括:
显示器,其被配置为位于用户的眼睛前方,所述显示器被配置为朝向所述用户的眼睛投射虚拟内容;
用户输入装置,其被配置为接收与虚拟光标在虚拟环境中的移动相关联的用户输入数据;以及
与所述显示器和所述用户输入装置通信的硬件处理器,所述硬件处理器被编程为:
指导所述显示器在虚拟环境中在第一深度处渲染虚拟图标;
指导所述显示器在所述虚拟环境中在第二深度处渲染虚拟光标;
跟踪所述虚拟光标在所述虚拟环境中的移动;
确定在所述虚拟光标与所述虚拟图标之间是否发生重叠;以及
响应于所述重叠的确定,指导所述显示器在比所述第一深度或所述第二深度更靠近所述用户的第三深度处渲染所述虚拟图标。
21.一种可穿戴显示系统,包括:
显示器,其被配置为位于用户的眼睛前方,所述显示器被配置为朝向所述用户的眼睛投射虚拟内容;
用户输入装置,其被配置为接收与虚拟光标在虚拟环境中的移动相关联的用户输入数据;以及
与所述显示器和所述用户输入装置通信的硬件处理器,所述硬件处理器被编程为:
指导所述显示器渲染多个虚拟图标的虚拟布局,其中所述虚拟布局中的所述多个虚拟图标的至少一些被渲染在所述虚拟环境中的第一深度处;
接收用于滚动所述虚拟布局的用户指示;以及
响应于接收到用于滚动所述虚拟布局的所述用户指示,指导所述显示器:
渲染虚拟内容面板,所述虚拟内容面板包括在所述滚动之前未被渲染的虚拟图标的表示,所述虚拟内容面板被渲染在所述虚拟环境中的第二深度处。
CN201980017747.9A 2018-01-30 2019-01-25 用于混合现实显示器中的虚拟内容的遮挡光标 Pending CN111819522A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/884,117 2018-01-30
US15/884,117 US10540941B2 (en) 2018-01-30 2018-01-30 Eclipse cursor for mixed reality displays
US15/920,830 US11567627B2 (en) 2018-01-30 2018-03-14 Eclipse cursor for virtual content in mixed reality displays
US15/920,830 2018-03-14
PCT/US2019/015274 WO2019152286A2 (en) 2018-01-30 2019-01-25 Eclipse cursor for virtual content in mixed reality displays

Publications (1)

Publication Number Publication Date
CN111819522A true CN111819522A (zh) 2020-10-23

Family

ID=67393385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980017747.9A Pending CN111819522A (zh) 2018-01-30 2019-01-25 用于混合现实显示器中的虚拟内容的遮挡光标

Country Status (9)

Country Link
US (2) US11567627B2 (zh)
EP (2) EP3746870B1 (zh)
JP (3) JP7123148B2 (zh)
KR (1) KR20200115531A (zh)
CN (1) CN111819522A (zh)
AU (1) AU2019215346A1 (zh)
CA (1) CA3087775A1 (zh)
IL (3) IL312455A (zh)
WO (1) WO2019152286A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117891352A (zh) * 2024-03-14 2024-04-16 南京市文化投资控股集团有限责任公司 一种基于元宇宙的文旅内容推荐系统及方法

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD762693S1 (en) * 2014-09-03 2016-08-02 Apple Inc. Display screen or portion thereof with graphical user interface
US10147211B2 (en) 2015-07-15 2018-12-04 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
US11095869B2 (en) 2015-09-22 2021-08-17 Fyusion, Inc. System and method for generating combined embedded multi-view interactive digital media representations
US10222932B2 (en) 2015-07-15 2019-03-05 Fyusion, Inc. Virtual reality environment based manipulation of multilayered multi-view interactive digital media representations
US11006095B2 (en) 2015-07-15 2021-05-11 Fyusion, Inc. Drone based capture of a multi-view interactive digital media
US10242474B2 (en) 2015-07-15 2019-03-26 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
US11783864B2 (en) 2015-09-22 2023-10-10 Fyusion, Inc. Integration of audio into a multi-view interactive digital media representation
US10437879B2 (en) 2017-01-18 2019-10-08 Fyusion, Inc. Visual search using multi-view interactive digital media representations
US10313651B2 (en) 2017-05-22 2019-06-04 Fyusion, Inc. Snapshots at predefined intervals or angles
US11069147B2 (en) 2017-06-26 2021-07-20 Fyusion, Inc. Modification of multi-view interactive digital media representation
USD847841S1 (en) * 2017-11-01 2019-05-07 Apple Inc. Display screen or portion thereof with graphical user interface
USD865778S1 (en) * 2018-01-08 2019-11-05 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
USD877160S1 (en) 2018-01-30 2020-03-03 Magic Leap, Inc. Display panel or portion thereof with a transitional mixed reality graphical user interface
US10540941B2 (en) 2018-01-30 2020-01-21 Magic Leap, Inc. Eclipse cursor for mixed reality displays
US11567627B2 (en) 2018-01-30 2023-01-31 Magic Leap, Inc. Eclipse cursor for virtual content in mixed reality displays
EP4123644B1 (en) * 2018-04-11 2024-08-21 Dolby International AB 6dof audio decoding and/or rendering
US10592747B2 (en) 2018-04-26 2020-03-17 Fyusion, Inc. Method and apparatus for 3-D auto tagging
US10916065B2 (en) * 2018-05-04 2021-02-09 Facebook Technologies, Llc Prevention of user interface occlusion in a virtual reality environment
US11301050B2 (en) * 2018-06-03 2022-04-12 Apple Inc. Method and device for presenting a synthesized reality user interface
US11157159B2 (en) 2018-06-07 2021-10-26 Magic Leap, Inc. Augmented reality scrollbar
US20220114807A1 (en) * 2018-07-30 2022-04-14 Optimum Semiconductor Technologies Inc. Object detection using multiple neural networks trained for different image fields
GB2576213A (en) * 2018-08-10 2020-02-12 Sony Corp A method for mapping an object to a location in virtual space
USD904422S1 (en) * 2018-08-28 2020-12-08 Intuit, Inc. Display screen or portion thereof with transitional graphical user interface
WO2020050497A1 (ko) * 2018-09-04 2020-03-12 주식회사 엠투에스 가상현실 기반의 시야검사 방법 및 시스템
US11004270B2 (en) * 2018-09-11 2021-05-11 Houzz, Inc. Virtual item placement system
US10911732B2 (en) 2019-01-14 2021-02-02 Fyusion, Inc. Free-viewpoint photorealistic view synthesis from casually captured video
US11644940B1 (en) * 2019-01-31 2023-05-09 Splunk Inc. Data visualization in an extended reality environment
US11009698B2 (en) * 2019-03-13 2021-05-18 Nick Cherukuri Gaze-based user interface for augmented and mixed reality device
USD914722S1 (en) * 2019-04-25 2021-03-30 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
USD962981S1 (en) 2019-05-29 2022-09-06 Magic Leap, Inc. Display screen or portion thereof with animated scrollbar graphical user interface
US20210097776A1 (en) * 2019-09-28 2021-04-01 Apple Inc. Devices, Methods, and Graphical User Interfaces for Interacting with Three-Dimensional Environments
JP2021068000A (ja) * 2019-10-18 2021-04-30 株式会社東海理化電機製作所 制御装置、プログラム、及びシステム
CN114846434A (zh) 2019-10-25 2022-08-02 奇跃公司 非均匀立体渲染
US11308698B2 (en) * 2019-12-05 2022-04-19 Facebook Technologies, Llc. Using deep learning to determine gaze
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
USD956065S1 (en) * 2020-03-31 2022-06-28 Google Llc Display screen with animated graphical user interface
USD956064S1 (en) * 2020-03-31 2022-06-28 Google Llc Display screen with animated graphical user interface
GB202009874D0 (en) * 2020-06-29 2020-08-12 Microsoft Technology Licensing Llc Visual interface for a computer system
GB202009876D0 (en) * 2020-06-29 2020-08-12 Microsoft Technology Licensing Llc Visual interface for a computer system
US11176755B1 (en) 2020-08-31 2021-11-16 Facebook Technologies, Llc Artificial reality augments and surfaces
US11227445B1 (en) 2020-08-31 2022-01-18 Facebook Technologies, Llc Artificial reality augments and surfaces
CN114327028A (zh) * 2020-09-30 2022-04-12 伊姆西Ip控股有限责任公司 管理虚拟视觉内容的方法、设备和计算机程序产品
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
USD1036475S1 (en) 2021-02-01 2024-07-23 Huawei Technologies Co., Ltd. Display screen or portion thereof with graphical user interface
USD1035674S1 (en) * 2021-05-11 2024-07-16 Spotify Ab Display screen with graphical user interface
US11762952B2 (en) 2021-06-28 2023-09-19 Meta Platforms Technologies, Llc Artificial reality application lifecycle
US11521361B1 (en) 2021-07-01 2022-12-06 Meta Platforms Technologies, Llc Environment model with surfaces and per-surface volumes
US12056268B2 (en) 2021-08-17 2024-08-06 Meta Platforms Technologies, Llc Platformization of mixed reality objects in virtual reality environments
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
US12093447B2 (en) 2022-01-13 2024-09-17 Meta Platforms Technologies, Llc Ephemeral artificial reality experiences
KR102464232B1 (ko) * 2022-03-22 2022-11-09 주식회사 위피엠 온라인 기반의 가상 전시회를 제공하는 가상현실 콘텐츠 관리시스템의 전시회 설계 및 관리 방법
US12026527B2 (en) 2022-05-10 2024-07-02 Meta Platforms Technologies, Llc World-controlled and application-controlled augments in an artificial-reality environment
WO2024025126A1 (ko) * 2022-07-26 2024-02-01 삼성전자 주식회사 웨어러블 전자 장치 및 그 동작 방법
US20240094862A1 (en) * 2022-09-21 2024-03-21 Apple Inc. Devices, Methods, and Graphical User Interfaces for Displaying Shadow and Light Effects in Three-Dimensional Environments
CN118244934A (zh) * 2022-12-23 2024-06-25 北京小米移动软件有限公司 信息交互方法及装置、电子设备、存储介质
WO2024172607A1 (ko) * 2023-02-17 2024-08-22 삼성전자 주식회사 아이콘을 표시하기 위한 전자 장치, 그 동작 방법과, 비 일시적 컴퓨터 판독 가능 저장 매체

Family Cites Families (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222525B1 (en) 1992-03-05 2001-04-24 Brad A. Armstrong Image controllers with sheet connected sensors
US5745713A (en) * 1995-08-03 1998-04-28 Silicon Graphics, Inc. Movie-based facility for launching application programs or services
US5670988A (en) 1995-09-05 1997-09-23 Interlink Electronics, Inc. Trigger operated electronic device
JP3148133B2 (ja) * 1996-10-30 2001-03-19 三菱電機株式会社 情報検索装置
US6091415A (en) 1997-05-02 2000-07-18 Inventec Corporation System and method for displaying multiple dialog boxes in a window display
US6882354B1 (en) 1997-09-17 2005-04-19 Sun Microsystems, Inc. Scroll bars with user feedback
US6918087B1 (en) 1999-12-16 2005-07-12 Autodesk, Inc. Visual clues to navigate three-dimensional space in a computer-implemented graphics system
US6636239B1 (en) 2000-02-24 2003-10-21 Sanavigator, Inc. Method of operating a graphical user interface to selectively enable and disable a datapath in a network
US6981229B1 (en) 2000-04-28 2005-12-27 Alias Systems Corp. System for dynamically mapping input device movement as a user's viewpoint changes
USD462076S1 (en) 2001-01-08 2002-08-27 Apple Computer, Inc. User interface for computer display
US7439975B2 (en) 2001-09-27 2008-10-21 International Business Machines Corporation Method and system for producing dynamically determined drop shadows in a three-dimensional graphical user interface
US20030079224A1 (en) 2001-10-22 2003-04-24 Anton Komar System and method to provide additional information associated with selectable display areas
US7202867B1 (en) 2003-01-31 2007-04-10 Microsoft Corporation Generation of glow effect
WO2004107763A1 (ja) * 2003-05-28 2004-12-09 Sanyo Electric Co., Ltd. 立体映像表示装置及びプログラム
WO2005052774A2 (en) 2003-11-27 2005-06-09 Koninklijke Philips Electronics N.V. Method of visualizing a pointer during interaction
US7365738B2 (en) 2003-12-02 2008-04-29 International Business Machines Corporation Guides and indicators for eye movement monitoring systems
US7546543B2 (en) 2004-06-25 2009-06-09 Apple Inc. Widget authoring and editing environment
US8302020B2 (en) 2004-06-25 2012-10-30 Apple Inc. Widget authoring and editing environment
US7489306B2 (en) 2004-12-22 2009-02-10 Microsoft Corporation Touch screen accuracy
US20060248447A1 (en) * 2005-05-02 2006-11-02 Nokia Corporation Indicating loading status of information from a computer network
US8696113B2 (en) 2005-10-07 2014-04-15 Percept Technologies Inc. Enhanced optical and perceptual digital eyewear
US11428937B2 (en) 2005-10-07 2022-08-30 Percept Technologies Enhanced optical and perceptual digital eyewear
US20070081123A1 (en) 2005-10-07 2007-04-12 Lewis Scott W Digital eyewear
US7765491B1 (en) 2005-11-16 2010-07-27 Apple Inc. User interface widget for selecting a point or range
US7644373B2 (en) * 2006-01-23 2010-01-05 Microsoft Corporation User interface for viewing clusters of images
US8014760B2 (en) 2006-09-06 2011-09-06 Apple Inc. Missed telephone call management for a portable multifunction device
JP2009080345A (ja) 2007-09-26 2009-04-16 Seiko Epson Corp 画像表示装置およびその制御方法並びにプログラム
US20110202869A1 (en) 2008-02-28 2011-08-18 Valups Corporation Method for searching items
US8612888B2 (en) * 2008-04-01 2013-12-17 Litl, Llc Method and apparatus for managing digital media content
CN102187694A (zh) 2008-05-28 2011-09-14 谷歌公司 在移动计算设备上的运动控制的视图
US20100180186A1 (en) * 2008-09-16 2010-07-15 James Skinner System and Method for Storage and Distribution of Electronic Publications by Content Creators and Online Publishers with Referral-Based Commissions
US8490026B2 (en) 2008-10-27 2013-07-16 Microsoft Corporation Painting user controls
US20100131886A1 (en) 2008-11-26 2010-05-27 Honeywell International Inc. Display system and method for generating enhanced scrollbar
TWI397840B (zh) 2009-07-23 2013-06-01 Ind Tech Res Inst 基於軌跡之控制方法及裝置
US8291322B2 (en) 2009-09-30 2012-10-16 United Video Properties, Inc. Systems and methods for navigating a three-dimensional media guidance application
USD660313S1 (en) 2009-10-26 2012-05-22 Amazon Technologies, Inc. Display screen portion with user interface
US20130278631A1 (en) 2010-02-28 2013-10-24 Osterhout Group, Inc. 3d positioning of augmented reality information
JP2011210138A (ja) * 2010-03-30 2011-10-20 Sony Corp 電子機器、画像出力方法及びプログラム
JP5574849B2 (ja) 2010-06-28 2014-08-20 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
GB201015720D0 (en) 2010-09-20 2010-10-27 Gammons Richard Findability of data elements
US9304319B2 (en) 2010-11-18 2016-04-05 Microsoft Technology Licensing, Llc Automatic focus improvement for augmented reality displays
US8823732B2 (en) 2010-12-17 2014-09-02 Pictometry International Corp. Systems and methods for processing images with edge detection and snap-to feature
CA2822978C (en) 2010-12-24 2019-02-19 Hong Hua An ergonomic head mounted display device and optical system
US10156722B2 (en) 2010-12-24 2018-12-18 Magic Leap, Inc. Methods and systems for displaying stereoscopy with a freeform optical system with addressable focus for virtual and augmented reality
US8497838B2 (en) * 2011-02-16 2013-07-30 Microsoft Corporation Push actuation of interface controls
US20120218395A1 (en) 2011-02-25 2012-08-30 Microsoft Corporation User interface presentation and interactions
JP6316186B2 (ja) 2011-05-06 2018-04-25 マジック リープ, インコーポレイテッドMagic Leap,Inc. 広範囲同時遠隔ディジタル提示世界
US8676937B2 (en) 2011-05-12 2014-03-18 Jeffrey Alan Rapaport Social-topical adaptive networking (STAN) system allowing for group based contextual transaction offers and acceptances and hot topic watchdogging
JP2015504616A (ja) 2011-09-26 2015-02-12 マイクロソフト コーポレーション 透過近眼式ディスプレイのセンサ入力に基づく映像表示修正
US10795448B2 (en) 2011-09-29 2020-10-06 Magic Leap, Inc. Tactile glove for human-computer interaction
US9047688B2 (en) * 2011-10-21 2015-06-02 Here Global B.V. Depth cursor and depth measurement in images
RU2017115669A (ru) 2011-10-28 2019-01-28 Мэджик Лип, Инк. Система и способ для дополненной и виртуальной реальности
KR102116697B1 (ko) 2011-11-23 2020-05-29 매직 립, 인코포레이티드 3차원 가상 및 증강 현실 디스플레이 시스템
US9324183B2 (en) 2011-11-29 2016-04-26 Apple Inc. Dynamic graphical interface shadows
CN102662569B (zh) 2012-03-26 2015-11-25 华为技术有限公司 选择光标操作方法、对象显示方法及终端设备
US20130263044A1 (en) * 2012-03-30 2013-10-03 Ebay Inc. Method and system to provide a scroll map
KR102028732B1 (ko) 2012-04-05 2019-10-04 매직 립, 인코포레이티드 능동 포비에이션 능력을 갖는 와이드-fov(field of view) 이미지 디바이스들
US9477303B2 (en) 2012-04-09 2016-10-25 Intel Corporation System and method for combining three-dimensional tracking with a three-dimensional display for a user interface
KR20130134195A (ko) 2012-05-30 2013-12-10 삼성전자주식회사 오디오 스트림을 고속 시각화시키는 전자 장치 및 방법
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
US9310559B2 (en) 2012-06-11 2016-04-12 Magic Leap, Inc. Multiple depth plane three-dimensional display using a wave guide reflector array projector
US9285973B1 (en) 2012-08-08 2016-03-15 John S Gable Systems and methods for detecting and displaying bias
KR20140020568A (ko) 2012-08-09 2014-02-19 삼성전자주식회사 디스플레이 장치 및 이의 제어 방법
AU2013315607A1 (en) 2012-09-11 2015-04-02 Magic Leap, Inc Ergonomic head mounted display device and optical system
USD712920S1 (en) 2012-09-28 2014-09-09 Nest Labs, Inc. Display screen or portion thereof with an animated graphical user interface
KR101755625B1 (ko) 2013-01-07 2017-07-07 삼성전자주식회사 디스플레이 장치, 그의 ui 표시 방법 및 컴퓨터 판독가능 기록매체
IL293789B2 (en) 2013-01-15 2023-08-01 Magic Leap Inc A system for scanning electromagnetic imaging radiation
JP1527512S (zh) 2013-02-22 2015-06-29
CN105188516B (zh) 2013-03-11 2017-12-22 奇跃公司 用于增强和虚拟现实的系统与方法
AU350005S (en) 2013-03-13 2013-07-31 Samsung Electronics Co Ltd Display screen for an electronic device
US10220303B1 (en) * 2013-03-15 2019-03-05 Harmonix Music Systems, Inc. Gesture-based music game
KR102458124B1 (ko) 2013-03-15 2022-10-21 매직 립, 인코포레이티드 디스플레이 시스템 및 방법
JP6076795B2 (ja) 2013-03-27 2017-02-08 シャープ株式会社 画像提供装置、セットトップボックス、表示装置、表示システム、テレビジョン受像機および制御方法
US9245387B2 (en) 2013-04-12 2016-01-26 Microsoft Technology Licensing, Llc Holographic snap grid
US9874749B2 (en) 2013-11-27 2018-01-23 Magic Leap, Inc. Virtual and augmented reality systems and methods
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US9360672B2 (en) 2013-07-11 2016-06-07 Seiko Epson Corporation Head mounted display device and control method for head mounted display device
US9952042B2 (en) 2013-07-12 2018-04-24 Magic Leap, Inc. Method and system for identifying a user location
US9529513B2 (en) 2013-08-05 2016-12-27 Microsoft Technology Licensing, Llc Two-hand interaction with natural user interface
USD750661S1 (en) 2013-08-27 2016-03-01 Bsh Home Appliances Corporation Kitchen appliance with computer-generated graphical user interface
JP6492419B2 (ja) 2014-05-23 2019-04-03 セイコーエプソン株式会社 頭部装着型表示装置、頭部装着型表示装置を制御する方法、コンピュータープログラム、画像表示システム、および、情報処理装置
US20150062164A1 (en) 2013-09-05 2015-03-05 Seiko Epson Corporation Head mounted display, method of controlling head mounted display, computer program, image display system, and information processing apparatus
IL302408B2 (en) 2013-10-16 2024-09-01 Magic Leap Inc An augmented or virtual reality head device with intrapupillary distance adjustment
CN110542938B (zh) 2013-11-27 2023-04-18 奇跃公司 虚拟和增强现实系统与方法
US9857591B2 (en) 2014-05-30 2018-01-02 Magic Leap, Inc. Methods and system for creating focal planes in virtual and augmented reality
JP6393986B2 (ja) 2013-12-26 2018-09-26 セイコーエプソン株式会社 頭部装着型表示装置、画像表示システム、および、頭部装着型表示装置の制御方法
US20150205358A1 (en) 2014-01-20 2015-07-23 Philip Scott Lyren Electronic Device with Touchless User Interface
US9311718B2 (en) 2014-01-23 2016-04-12 Microsoft Technology Licensing, Llc Automated content scrolling
US9588343B2 (en) 2014-01-25 2017-03-07 Sony Interactive Entertainment America Llc Menu navigation in a head-mounted display
US9619105B1 (en) 2014-01-30 2017-04-11 Aquifi, Inc. Systems and methods for gesture based interaction with viewpoint dependent user interfaces
NZ722903A (en) 2014-01-31 2020-05-29 Magic Leap Inc Multi-focal display system and method
CN106461955B (zh) 2014-01-31 2019-08-13 奇跃公司 显示增强现实的方法
US10203762B2 (en) 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US9940006B2 (en) 2014-03-26 2018-04-10 Unanimous A. I., Inc. Intuitive interfaces for real-time collaborative intelligence
WO2016018488A2 (en) 2014-05-09 2016-02-04 Eyefluence, Inc. Systems and methods for discerning eye signals and continuous biometric identification
CN113253476B (zh) 2014-05-30 2022-12-27 奇跃公司 采用虚拟或增强现实装置生成虚拟内容显示的方法和系统
TWD175825S (zh) 2014-06-13 2016-05-21 樂視致新電子科技(天津)有限公司; 顯示螢幕之圖形化使用者介面
KR102217561B1 (ko) 2014-06-23 2021-02-19 엘지전자 주식회사 헤드 마운티드 디스플레이 및 그것의 제어방법
US9904055B2 (en) 2014-07-25 2018-02-27 Microsoft Technology Licensing, Llc Smart placement of virtual objects to stay in the field of view of a head mounted display
US9880631B2 (en) 2014-09-02 2018-01-30 Stmicroelectronics International N.V. Instrument interface for reducing effects of erratic motion
US20160132139A1 (en) 2014-11-11 2016-05-12 Qualcomm Incorporated System and Methods for Controlling a Cursor Based on Finger Pressure and Direction
KR102329124B1 (ko) * 2015-01-05 2021-11-19 삼성전자주식회사 영상 표시 장치 및 영상 표시 방법
USD758367S1 (en) 2015-05-14 2016-06-07 Magic Leap, Inc. Virtual reality headset
US9658736B2 (en) 2015-06-04 2017-05-23 Microsoft Technology Licensing, Llc Contrast-oriented cursor presentation
JP5876607B1 (ja) 2015-06-12 2016-03-02 株式会社コロプラ フローティング・グラフィカルユーザインターフェース
US10102579B2 (en) * 2015-07-16 2018-10-16 Chicago Mercantile Exchange Inc. Facilitation of deterministic interaction with a dynamically changing transaction processing environment
USD771653S1 (en) 2015-07-29 2016-11-15 Apple Inc. Display screen or portion thereof with animated graphical user interface
US9928029B2 (en) * 2015-09-08 2018-03-27 Apple Inc. Device, method, and graphical user interface for providing audiovisual feedback
AU2016341196B2 (en) 2015-10-20 2021-09-16 Magic Leap, Inc. Selecting virtual objects in a three-dimensional space
KR102450416B1 (ko) * 2015-11-04 2022-10-05 삼성전자주식회사 전자 장치, 웨어러블 장치 및 전자 장치에서 디스플레이되는 객체를 제어하는 방법
JP6518582B2 (ja) * 2015-12-21 2019-05-22 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および操作受付方法
KR20230098927A (ko) 2016-03-31 2023-07-04 매직 립, 인코포레이티드 포즈들 및 멀티-dof 제어기들을 사용하는 3d 가상 객체들과상호작용들
USD797138S1 (en) 2016-04-28 2017-09-12 Wells Fargo Bank, N.A. Electronic display with animated graphical user interface
US10146334B2 (en) 2016-06-09 2018-12-04 Microsoft Technology Licensing, Llc Passive optical and inertial tracking in slim form-factor
US20180046352A1 (en) * 2016-08-09 2018-02-15 Matthew Johnson Virtual cursor movement
CA3033344A1 (en) 2016-08-11 2018-02-15 Magic Leap, Inc. Automatic placement of a virtual object in a three-dimensional space
USD797735S1 (en) 2016-08-22 2017-09-19 Magic Leap, Inc. Mixed reality head mounted display
USD806107S1 (en) 2016-09-16 2017-12-26 Salesforce.Com, Inc. Display screen or portion thereof with animated graphical user interface
USD820307S1 (en) 2016-11-16 2018-06-12 Airbnb, Inc. Display screen with graphical user interface for a video pagination indicator
USD862464S1 (en) 2016-11-16 2019-10-08 Magic Leap, Inc. Head mounted audio-visual display system
JP2018124651A (ja) * 2017-01-30 2018-08-09 セイコーエプソン株式会社 表示システム
US11269580B2 (en) * 2017-02-13 2022-03-08 Comcast Cable Communications, Llc Guided collaborative viewing of navigable image content
JP2018160735A (ja) 2017-03-22 2018-10-11 セイコーエプソン株式会社 透過型表示装置、表示制御方法、およびコンピュータープログラム
USD797767S1 (en) 2017-03-31 2017-09-19 Microsoft Corporation Display system with a virtual three-dimensional graphical user interface
US10768775B2 (en) 2017-04-06 2020-09-08 Microsoft Technology Licensing, Llc Text direction indicator
CN111133365B (zh) 2017-05-01 2023-03-31 奇跃公司 内容到空间3d环境的匹配
US20180350145A1 (en) 2017-05-30 2018-12-06 Reston Restoration Augmented Reality Devices and Methods Thereof for Rendering Virtual Objects
USD908728S1 (en) 2017-08-22 2021-01-26 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional graphical user interface
USD850464S1 (en) 2017-08-31 2019-06-04 Aristocrat Technologies Australia Pty Limited Display screen or portion thereof with transitional graphical user interface
US10930075B2 (en) 2017-10-16 2021-02-23 Microsoft Technology Licensing, Llc User interface discovery and interaction for three-dimensional virtual environments
USD858549S1 (en) 2017-10-27 2019-09-03 Waymo Llc Display screen portion with graphical user interface
USD858550S1 (en) 2017-10-27 2019-09-03 Waymo Llc Display screen portion with graphical user interface
USD897353S1 (en) 2017-10-27 2020-09-29 Waymo Llc Display screen portion with graphical user interface
USD829239S1 (en) 2017-12-08 2018-09-25 Technonet Co., Ltd. Video player display screen or portion thereof with graphical user interface
USD851113S1 (en) 2017-12-19 2019-06-11 HumanCode, Inc. Display screen with graphical user interface
US11567627B2 (en) 2018-01-30 2023-01-31 Magic Leap, Inc. Eclipse cursor for virtual content in mixed reality displays
US10540941B2 (en) 2018-01-30 2020-01-21 Magic Leap, Inc. Eclipse cursor for mixed reality displays
US11157159B2 (en) 2018-06-07 2021-10-26 Magic Leap, Inc. Augmented reality scrollbar
USD879821S1 (en) 2018-08-02 2020-03-31 Palantir Technologies, Inc. Display screen or portion thereof with graphical user interface
USD934872S1 (en) 2018-09-18 2021-11-02 Magic Leap, Inc. Mobile computing support system having an illumination region
USD934873S1 (en) 2018-09-18 2021-11-02 Magic Leap, Inc. Mobile computing support system having an illumination region
USD923028S1 (en) 2018-09-28 2021-06-22 Exfo, Inc. Display screen or portion thereof with graphical user interface
USD905730S1 (en) 2018-10-03 2020-12-22 Allstate Insurance Company Display screen with graphical user interface
USD934885S1 (en) 2019-07-31 2021-11-02 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
USD915424S1 (en) 2019-08-16 2021-04-06 Butterfly Network, Inc. Display panel or portion thereof with graphical user interface
USD936093S1 (en) 2019-10-10 2021-11-16 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional graphical user interface
USD938978S1 (en) 2019-11-12 2021-12-21 X Development Llc Display panel portion with an animated icon

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117891352A (zh) * 2024-03-14 2024-04-16 南京市文化投资控股集团有限责任公司 一种基于元宇宙的文旅内容推荐系统及方法
CN117891352B (zh) * 2024-03-14 2024-05-31 南京市文化投资控股集团有限责任公司 一种基于元宇宙的文旅内容推荐系统及方法

Also Published As

Publication number Publication date
CA3087775A1 (en) 2019-08-08
US20230266859A1 (en) 2023-08-24
JP2024105363A (ja) 2024-08-06
EP4333427A3 (en) 2024-05-15
IL276047A (en) 2020-08-31
IL305114A (en) 2023-10-01
IL312455A (en) 2024-06-01
EP3746870B1 (en) 2023-11-22
IL276047B2 (en) 2024-01-01
EP3746870A4 (en) 2022-02-09
AU2019215346A1 (en) 2020-07-23
JP7526226B2 (ja) 2024-07-31
EP4333427A2 (en) 2024-03-06
US11567627B2 (en) 2023-01-31
JP7123148B2 (ja) 2022-08-22
US20190235729A1 (en) 2019-08-01
IL305114B2 (en) 2024-09-01
JP2022119960A (ja) 2022-08-17
WO2019152286A3 (en) 2019-09-19
WO2019152286A2 (en) 2019-08-08
IL276047B1 (en) 2023-09-01
JP2021512353A (ja) 2021-05-13
EP3746870A2 (en) 2020-12-09
IL305114B1 (en) 2024-05-01
KR20200115531A (ko) 2020-10-07

Similar Documents

Publication Publication Date Title
US11520477B2 (en) Augmented reality scrollbar
US11741917B2 (en) Eclipse cursor for mixed reality displays
JP7526226B2 (ja) 複合現実ディスプレイにおける仮想コンテンツのための掩蔽カーソル
JP7411133B2 (ja) 仮想現実ディスプレイシステム、拡張現実ディスプレイシステム、および複合現実ディスプレイシステムのためのキーボード
JP7492558B2 (ja) 視野周辺の視覚的背光
EP3436863B1 (en) Interactions with 3d virtual objects using poses and multiple-dof controllers

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