CN116719413A - 用于操纵环境中的对象的方法 - Google Patents

用于操纵环境中的对象的方法 Download PDF

Info

Publication number
CN116719413A
CN116719413A CN202310680857.1A CN202310680857A CN116719413A CN 116719413 A CN116719413 A CN 116719413A CN 202310680857 A CN202310680857 A CN 202310680857A CN 116719413 A CN116719413 A CN 116719413A
Authority
CN
China
Prior art keywords
user
dimensional
hand
manipulation
location
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310680857.1A
Other languages
English (en)
Inventor
W·D·林德梅尔
M·斯陶贝尔
S·O·勒梅
M·J·森德斯特龙
M·科迪尔
K·E·鲍尔利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of CN116719413A publication Critical patent/CN116719413A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye 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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

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 Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

在一些实施方案中,电子设备增强二维绘图。在一些实施方案中,电子设备操纵三维环境中的对象。在一些实施方案中,电子设备在三维环境中显示上下文菜单或移动对象。在一些实施方案中,电子设备在三维环境中基于对象离用户的距离来将对象移动一定量。在一些实施方案中,电子设备扫描真实世界对象。在一些实施方案中,电子设备操纵远处对象。

Description

用于操纵环境中的对象的方法
本申请是国际申请日为2021年9月8日、国家申请号为202180066218.5(国际申请号为PCT/US2021/049520)、发明名称为“用于操纵环境中的对象的方法”的发明专利申请的分案申请。
相关申请的交叉引用
本申请要求2020年9月11日提交的美国临时申请号63/077,521的权益,该美国临时申请的内容全文以引用方式并入本文以用于所有目的。
技术领域
本发明整体涉及计算机系统,该计算机系统具有呈现图形用户界面的显示生成部件和一个或多个输入设备,包括但不限于经由显示生成部件呈现包括虚拟对象的三维环境的电子设备。
背景技术
近年来,用于增强现实的计算机系统的发展显著增加。示例增强现实环境包括至少一些替换或增强物理世界的虚拟元素。用于计算机系统和其他电子计算设备的输入设备(诸如相机、控制器、操纵杆、触敏表面和触摸屏显示器)用于与虚拟/增强现实环境进行交互。示例性虚拟元素包括虚拟对象(包括数字图像、视频、文本、图标、控制元素(诸如按钮),以及其他图形)。
但用于与包括至少一些虚拟元素的环境(例如,应用程序、增强现实环境、混合现实环境和虚拟现实环境)进行交互的方法和界面麻烦、低效且受限。例如,提供用于执行与虚拟对象相关联的动作的不足反馈的系统、需要一系列输入来在增强现实环境中实现期望结果的系统,以及虚拟对象操纵复杂、繁琐且容易出错的系统,会给用户造成巨大的认知负担,并且减损虚拟/增强现实环境的体验感。此外,这些方法花费比所需时间更长的时间,从而浪费能量。这后一考虑在电池驱动的设备中是特别重要的。
发明内容
因此,需要具有改进的方法和界面的计算机系统来向用户提供计算机生成的体验,从而使得用户与计算机系统的交互对用户来说更高效且更直观。此类方法和界面任选地补充或替换用于向用户提供计算机生成的现实体验的常规方法。此类方法和界面通过帮助用户理解所提供的输入与设备对这些输入的响应之间的联系,减少了来自用户的输入的数量、程度和/或性质,从而形成了更有效的人机界面。
所公开的系统减少或消除了与用于计算机系统的用户界面相关联的上述缺陷和其他问题,这些计算机系统具有显示生成部件和一个或多个输入设备。在一些实施方案中,计算机系统是具有相关联显示器的台式计算机。在一些实施方案中,计算机系统是便携式设备(例如,笔记本电脑、平板电脑或手持式设备)。在一些实施方案中,计算机系统是个人电子设备(例如,可穿戴电子设备,诸如手表或头戴式设备)。在一些实施方案中,计算机系统具有触控板。在一些实施方案中,计算机系统具有一个或多个相机。在一些实施方案中,计算机系统具有触敏显示器(也称为“触摸屏”或“触摸屏显示器”)。在一些实施方案中,计算机系统具有一个或多个眼睛跟踪部件。在一些实施方案中,计算机系统具有一个或多个手部跟踪部件。在一些实施方案中,除显示生成部件之外,计算机系统还具有一个或多个输出设备,这些输出设备包括一个或多个触觉输出发生器和一个或多个音频输出设备。在一些实施方案中,计算机系统具有图形用户界面(GUI)、一个或多个处理器、存储器和一个或多个模块、存储在存储器中用于执行多个功能的程序或指令集。在一些实施方案中,用户通过触控笔和/或手指在触敏表面上的接触和手势、用户的眼睛和手部在相对于GUI或用户身体的空间中的移动(如由相机和其他移动传感器捕获的)以及语音输入(如由一个或多个音频输入设备捕获的)与GUI进行交互。在一些实施方案中,通过交互执行的功能任选地包括图像编辑、绘图、演示、文字处理、电子表格制作、玩游戏、接打电话、视频会议、收发电子邮件、即时通讯、测试支持、数字摄影、数字视频录制、网页浏览、数字音乐播放、记笔记和/或数字视频播放。用于执行这些功能的可执行指令任选地被包括在被配置用于由一个或多个处理器执行的非暂态计算机可读存储介质或其他计算机程序产品中。
需要具有用于与三维环境中的对象进行交互的改进方法和界面的电子设备。此类方法和界面可以补充或替换用于与三维环境中的对象进行交互的常规方法。此类方法和界面减少了来自用户的输入的数量、程度和/或性质,并且产生更高效的人机界面。
在一些实施方案中,电子设备根据用户的手部的一个或多个特征来与对象进行交互。在一些实施方案中,电子设备显示用于增强二维绘图(诸如通过将其替换为三维对象)的一个或多个可选选项。在一些实施方案中,电子设备在根据用户的手部的手势和/或移动来操纵对象的同时显示操纵指示符。在一些实施方案中,电子设备基于用户的手部的手势和/或移动来显示上下文菜单或移动对象。在一些实施方案中,电子设备在三维环境中基于对象与用户之间的距离来移动该对象。在一些实施方案中,电子设备显示扫描指示以标记物理对象的部分以供扫描。在一些实施方案中,电子设备显示远处对象的放大视图以增加可见度并实现远处对象的直接操纵。
需注意,上述各种实施方案可与本文所述任何其他实施方案相结合。本说明书中描述的特征和优点并不全面,具体来说,根据附图、说明书和权利要求书,许多另外的特征和优点对本领域的普通技术人员将是显而易见的。此外,应当指出,出于可读性和指导性目的,在原则上选择了本说明书中使用的语言,并且可以不这样选择以描绘或界定本发明的主题。
附图说明
为了更好地理解各种所述实施方案,应结合以下附图参考下面的具体实施方式,其中类似的附图标号在所有附图中指示对应的部分。
图1是示出根据一些实施方案的用于提供CGR体验的计算机系统的操作环境的框图。
图2是示出根据一些实施方案的计算机系统的被配置为管理和协调用户的CGR体验的控制器的框图。
图3是示出根据一些实施方案的计算机系统的被配置为向用户提供CGR体验的视觉组成部分的显示生成部件的框图。
图4是示出根据一些实施方案的计算机系统的被配置为捕获用户的手势输入的手部跟踪单元的框图。
图5是示出根据一些实施方案的计算机系统的被配置为捕获用户的注视输入的眼睛跟踪单元的框图。
图6A是示出根据一些实施方案的闪光辅助的注视跟踪管道的流程图。
图6B示出了根据一些实施方案的提供CGR体验的电子设备的示例性环境。
图7A至图7D示出了根据一些实施方案的电子设备如何增强二维绘图的示例。
图8A至图8G是示出根据一些实施方案的增强二维绘图的方法的流程图。
图9A至图9C示出了根据一些实施方案的操纵三维环境中的对象的示例。
图10A至图10O是示出根据一些实施方案的操纵三维环境中的对象的方法的流程图。
图11A至图11C示出了根据一些实施方案的在三维环境中显示上下文菜单或移动对象的示例。
图12A至图12G是示出根据一些实施方案的在三维环境中显示上下文菜单或移动对象的方法的流程图。
图13A至图13B示出了根据一些实施方案的在三维环境中基于对象离用户的距离来将该对象移动一定量的示例。
图14A至图14G是示出根据一些实施方案的在三维环境中基于对象离用户的距离来将该对象移动一定量的方法的流程图。
图15A至图15F示出了根据一些实施方案的扫描真实世界对象的示例。
图16A至图16J是示出根据一些实施方案的扫描真实世界对象的方法的流程图。
图17A至图17E示出了根据一些实施方案的操纵远处对象的示例。
图18A至图18K是示出根据一些实施方案的操纵远处对象的方法的流程图。
具体实施方式
根据一些实施方案,本公开涉及用于向用户提供计算机生成的现实(CGR)体验的用户界面。
本文所述的系统、方法和GUI为电子设备提供了与三维环境中的对象进行交互并操纵这些对象的改进方式。
在一些实施方案中,计算机系统增强了二维绘图。用户(例如,经由触笔设备)绘制的二维绘图由设备识别并分析,该设备提供一个或多个可选选项来增强二维绘图。在一些实施方案中,增强二维绘图可包括对二维绘图进行归一化(例如,平滑处理)、对二维绘图执行填充操作、执行挤出操作和/或执行体积化(volumize)操作。在一些实施方案中,增强二维绘图包括将绘图替换为三维对象。在一些实施方案中,可将二维绘图识别为三维对象的绘图并且可向用户提供一个或多个选项以插入所识别的三维对象的表示。增强二维绘图允许用户更自然且高效地插入和/或生成内容。此外,增强二维绘图允许用户生成三维对象,而不需要用户在三维中绘制。
在一些实施方案中,计算机系统操纵三维环境中的对象。基于用户手部之间的距离,计算系统任选地能够确定用户正请求的操纵操作(例如,移动、旋转、调整尺寸等)。在一些实施方案中,显示操纵指示,从而引导用户执行所请求的操纵类型。例如,用户能够与操纵指示进行交互以执行期望的操纵类型。在操纵对象时显示操纵指示为用户提供了关于如何执行操纵、正执行的操纵类型和正执行多少操纵的指导和反馈,这允许用户更自然且高效地操纵内容。
在一些实施方案中,计算机系统在三维环境中显示上下文菜单或移动对象。计算系统任选地基于由用户的一只或多只手执行的手势来确定用户是否正请求显示与虚拟对象相关联的上下文菜单或正请求朝向用户移动虚拟对象。在一些实施方案中,用户的注视用于确定哪个虚拟对象是焦点对象。在三维环境中显示上下文菜单或移动对象允许用户对虚拟对象执行多个操作,而不需要用户在多个用户界面或菜单中进行导航或使用除用户手部之外的输入设备,这允许用户更自然且高效地与虚拟对象进行交互。
在一些实施方案中,计算机系统在三维环境中基于对象离用户的距离来将该对象移动一定量。与三维环境中离用户更近的对象相比,三维环境中离用户更远的对象任选地具有移动的更大缩放因子。在一些实施方案中,用户的手部的移动控制虚拟对象的移动。因此,响应于将用户的手部移动相应量,更近的对象的移动程度小于更远的对象。在三维环境中基于对象离用户的距离来将该对象移动一定量允许用户移动远处对象,而不需要用户执行多个移动操作,这允许用户更自然且高效地移动虚拟对象(例如,移动与其离用户的距离成比例的量)。
在一些实施方案中,计算机系统扫描真实世界对象。可由计算系统扫描真实世界对象,例如以用于基于真实世界对象来生成虚拟对象或计算机模型的目的。在一些实施方案中,可通过由指向设备(诸如触笔)扫描来标记真实世界对象。可将真实世界对象中已被标记的部分与扫描指示一起显示,该扫描指示指示相应部分已被标记以供扫描或已被扫描。在一些实施方案中,可由对象的扫描部分生成三维对象。使用指向设备指示对象的部分以供扫描允许用户更自然且高效地选择对象的部分以供扫描。
在一些实施方案中,计算机系统操纵远处对象。在一些实施方案中,可经由间接操纵技术操纵远处对象(例如,远离用户的对象)。在一些实施方案中,计算系统可在用户附近的位置处显示远处对象的表示,使得用户能够经由直接操纵技术操纵远处对象,而不需要用户移动或靠近三维环境中的远处对象。在一些实施方案中,远处对象的表示是远处对象的放大视图。在一些实施方案中,对该表示执行的操纵操作是(例如,同时)对远处对象执行的。在用户附近显示远处对象的表示允许用户更自然且高效地对远处对象执行直接操纵操作。
图1至图6提供了用于向用户提供CGR体验的示例性计算机系统的描述(诸如下文相对于方法800、1000、1200、1400和1600及1800所述)。在一些实施方案中,如图1中所示,经由包括计算机系统101的操作环境100向用户提供CGR体验。计算机系统101包括控制器110(例如,便携式电子设备的处理器或远程服务器)、显示生成部件120(例如,头戴式设备(HMD)、显示器、投影仪、触摸屏等)、一个或多个输入设备125(例如,眼睛跟踪设备130、手部跟踪设备140、其他输入设备150)、一个或多个输出设备155(例如,扬声器160、触觉输出发生器170和其他输出设备180)、一个或多个传感器190(例如,图像传感器、光传感器、深度传感器、触觉传感器、取向传感器、接近传感器、温度传感器、位置传感器、运动传感器、速度传感器等),以及任选地一个或多个外围设备195(例如,家用电器、可穿戴设备等)。在一些实施方案中,输入设备125、输出设备155、传感器190和外围设备195中的一者或多者与显示生成部件120集成(例如,在头戴式设备或手持式设备中)。
在描述CGR体验时,各种术语用于区别地指代用户可以感测并且/或者用户可以与其进行交互(例如,利用由生成CGR体验的计算机系统101检测到的输入进行交互,这些输入使得生成CGR体验的计算机系统生成与提供给计算机系统101的各种输入对应的音频、视觉和/或触觉反馈)的若干相关但不同的环境。以下是这些术语的子集:
物理环境:物理环境是指人们在没有电子系统帮助的情况下能够感测和/或交互的物理世界。物理环境诸如物理公园包括物理物品,诸如物理树木、物理建筑物和物理人。人们能够诸如通过视觉、触觉、听觉、味觉和嗅觉来直接感测物理环境和/或与物理环境交互。
计算机生成的现实:相反地,计算机生成的现实(CGR)环境是指人们经由电子系统进行感测和/或交互的完全或部分模拟环境。在CGR中,跟踪人的物理运动的子集或其表示,并且作为响应,以符合至少一个物理定律的方式调节在CGR环境中模拟的一个或多个虚拟对象的一个或多个特征。例如,CGR系统可以检测人的头部转动,并且作为响应,以与此类视图和声音在物理环境中变化的方式类似的方式调节呈现给人的图形内容和声场。在一些情况下(例如,出于可达性原因),对CGR环境中虚拟对象的特征的调节可以响应于物理运动的表示(例如,声音命令)来进行。人可以利用其感觉中的任一者来感测CGR对象和/或与之交互,包括视觉、听觉、触觉、味觉和嗅觉。例如,人可以感测音频对象和/或与音频对象交互,该音频对象创建3D或空间音频环境,该3D或空间音频环境提供3D空间中点音频源的感知。又如,音频对象可以使能音频透明度,该音频透明度在有或者没有计算机生成的音频的情况下选择性地引入来自物理环境的环境声音。在某些CGR环境中,人可以感测和/或只与音频对象交互。
CGR的示例包括虚拟现实和混合现实。
虚拟现实:虚拟现实(VR)环境是指被设计成对于一个或多个感官完全基于计算机生成的感官输入的模拟环境。VR环境包括人可以感测和/或交互的多个虚拟对象。例如,树木、建筑物和代表人的化身的计算机生成的图像是虚拟对象的示例。人可以通过在计算机生成的环境内人的存在的模拟和/或通过在计算机生成的环境内人的物理移动的一个子组的模拟来感测和/或与VR环境中的虚拟对象交互。
混合现实:与被设计成完全基于计算机生成的感官输入的VR环境相比,混合现实(MR)环境是指被设计成除了包括计算机生成的感官输入(例如,虚拟对象)之外还引入来自物理环境的感官输入或其表示的模拟环境。在虚拟连续体上,混合现实环境是完全物理环境作为一端和虚拟现实环境作为另一端之间的任何状况,但不包括这两端。在一些MR环境中,计算机生成的感官输入可以对来自物理环境的感官输入的变化进行响应。另外,用于呈现MR环境的一些电子系统可以跟踪相对于物理环境的位置和/或取向,以使虚拟对象能够与真实对象(即,来自物理环境的物理物品或其表示)交互。例如,系统可以导致移动使得虚拟树木相对于物理地面看起来是静止的。
混合现实的示例包括增强现实和增强虚拟。
增强现实:增强现实(AR)环境是指其中一个或多个虚拟对象叠加在物理环境或物理环境的表示上方的模拟环境。例如,用于呈现AR环境的电子系统可具有透明或半透明显示器,人可以透过该显示器直接查看物理环境。该系统可以被配置为在透明或半透明显示器上呈现虚拟对象,使得人利用该系统感知叠加在物理环境之上的虚拟对象。另选地,系统可以具有不透明显示器和一个或多个成像传感器,该成像传感器捕获物理环境的图像或视频,这些图像或视频是物理环境的表示。系统将图像或视频与虚拟对象组合,并在不透明显示器上呈现组合物。人利用系统经由物理环境的图像或视频而间接地查看物理环境,并且感知叠加在物理环境之上的虚拟对象。如本文所用,在不透明显示器上显示的物理环境的视频被称为“透传视频”,意味着系统使用一个或多个图像传感器捕获物理环境的图像,并且在不透明显示器上呈现AR环境时使用那些图像。进一步另选地,系统可以具有投影系统,该投影系统将虚拟对象投射到物理环境中,例如作为全息图或者在物理表面上,使得人利用该系统感知叠加在物理环境之上的虚拟对象。增强现实环境也是指其中物理环境的表示被计算机生成的感官信息进行转换的模拟环境。例如,在提供透传视频中,系统可以对一个或多个传感器图像进行转换以施加与成像传感器所捕获的视角不同的选择视角(例如,视点)。又如,物理环境的表示可以通过图形地修改(例如,放大)其部分而进行转换,使得经修改部分可以是原始捕获图像的代表性的但不是真实的版本。再如,物理环境的表示可以通过以图形方式消除其部分或将其部分进行模糊处理而进行转换。
增强虚拟:增强虚拟(AV)环境是指其中虚拟环境或计算机生成环境结合了来自物理环境的一项或多项感官输入的模拟环境。感官输入可以是物理环境的一个或多个特性的表示。例如,AV公园可以具有虚拟树木和虚拟建筑物,但人的脸部是从对物理人拍摄的图像逼真再现的。又如,虚拟对象可以采用一个或多个成像传感器所成像的物理物品的形状或颜色。再如,虚拟对象可以采用符合太阳在物理环境中的定位的阴影。
硬件:有许多不同类型的电子系统使人能够感测各种CGR环境和/或与各种CGR环境进行交互。示例包括头戴式系统、基于投影的系统、平视显示器(HUD)、集成有显示能力的车辆挡风玻璃、集成有显示能力的窗户、被形成为被设计用于放置在人眼睛上的透镜的显示器(例如,类似于隐形眼镜)、耳机/听筒、扬声器阵列、输入系统(例如,具有或没有触觉反馈的可穿戴或手持控制器)、智能电话、平板电脑、和台式/膝上型计算机。头戴式系统可以具有一个或多个扬声器和集成的不透明显示器。另选地,头戴式系统可以被配置成接受外部不透明显示器(例如,智能电话)。头戴式系统可以结合用于捕获物理环境的图像或视频的一个或多个成像传感器、和/或用于捕获物理环境的音频的一个或多个麦克风。头戴式系统可以具有透明或半透明显示器,而不是不透明显示器。透明或半透明显示器可以具有媒介,代表图像的光通过该媒介被引导到人的眼睛。显示器可以利用数字光投影、OLED、LED、uLED、硅基液晶、激光扫描光源或这些技术的任意组合。媒介可以是光学波导、全息图媒介、光学组合器、光学反射器、或它们的任意组合。在一个实施方案中,透明或半透明显示器可被配置为选择性地变得不透明。基于投影的系统可以采用将图形图像投影到人的视网膜上的视网膜投影技术。投影系统还可以被配置为将虚拟对象投影到物理环境中例如作为全息图,或者投影到物理表面上。在一些实施方案中,控制器110被配置为管理和协调用户的CGR体验。在一些实施方案中,控制器110包括软件、固件和/或硬件的合适组合。下文参考图2更详细地描述控制器110。在一些实施方案中,控制器110是相对于场景105(例如,物理环境)处于本地或远程位置的计算设备。例如,控制器110是位于场景105内的本地服务器。又如,控制器110是位于场景105之外的远程服务器(例如,云服务器、中央服务器等)。在一些实施方案中,控制器110经由一个或多个有线或无线通信通道144(例如,蓝牙、IEEE 802.11x、IEEE 802.16x、IEEE 802.3x等)与显示生成部件120(例如,HMD、显示器、投影仪、触摸屏等)通信地耦接。在另一个示例中,控制器110包括在显示生成部件120(例如,HMD或包括显示器和一个或多个处理器的便携式电子设备等)、输入设备125中的一个或多个输入设备、输出设备155中的一个或多个输出设备、传感器190中的一个或多个传感器和/或外围装设备195中的一个或多个外围装设备的壳体(例如,物理外壳)内,或者与上述设备中的一者或多者共享相同的物理壳体或支撑结构。
在一些实施方案中,显示生成部件120被配置为向用户提供CGR体验(例如,至少CGR体验的视觉组成部分)。在一些实施方案中,显示生成部件120包括软件、固件和/或硬件的合适组合。下文相对于图3更详细地描述了显示生成部件120。在一些实施方案中,控制器110的功能由显示生成部件120提供和/或与该显示生成部件组合。
根据一些实施方案,当用户虚拟地和/或物理地存在于场景105内时,显示生成部件120向用户提供CGR体验。
在一些实施方案中,显示生成部件穿戴在用户身体的一部分上(例如,他/她的头部上、他/她的手部上等)。这样,显示生成部件120包括被提供用于显示CGR内容的一个或多个CGR显示器。例如,在各种实施方案中,显示生成部件120包围用户的视场。在一些实施方案中,显示生成部件120是被配置为呈现CGR内容的手持式设备(诸如智能电话或平板电脑),并且用户握持具有朝向用户的视场的显示器和朝向场景105的相机的设备。在一些实施方案中,手持式设备被任选地放置在穿戴在用户的头部上的壳体内。在一些实施方案中,手持式设备被任选地放置在用户前面的支撑件(例如,三脚架)上。在一些实施方案中,显示生成部件120是被配置为呈现CGR内容的CGR室、壳体或房间,其中用户不穿戴或握持显示生成部件120。参考用于显示CGR内容的一种类型的硬件(例如,手持式设备或三脚架上的设备)描述的许多用户界面可以在用于显示CGR内容的另一种类型的硬件(例如,HMD或其他可穿戴计算设备)上实现。例如,示出基于发生在手持式设备或三脚架安装的设备前面的空间中的交互而触发的与CGR内容的交互的用户界面可以类似地用HMD来实现,其中交互发生在HMD前面的空间中,并且对CGR内容的响应经由HMD来显示。类似地,示出基于手持式设备或三脚架安装的设备相对于物理环境(例如,场景105或用户身体的一部分(例如,用户的眼睛、头部或手部))的移动而触发的与CRG内容的交互的用户界面可以类似地用HMD来实现,其中移动是由HMD相对于物理环境(例如,场景105或用户身体的一部分(例如,用户的眼睛、头部或手部))的移动引起的。
尽管在图1中示出了操作环境100的相关特征,但本领域的普通技术人员将从本公开中认识到,为了简洁起见并且为了不模糊本文所公开的示例性实施方案的更多相关方面,未示出各种其他特征。
图2是根据一些实施方案的控制器110的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不使本文所公开的实施方案的更多相关方面晦涩难懂,未示出各种其他特征。为此,作为非限制性示例,在一些实施方案中,控制器110包括一个或多个处理单元202(例如,微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、中央处理单元(CPU)、处理内核等)、一个或多个输入/输出(I/O)设备206、一个或多个通信接口208(例如,通用串行总线(USB)、IEEE802.3x、IEEE 802.11x、IEEE 802.16x、全球移动通信系统(GSM)、码分多址(CDMA)、时分多址(TDMA)、全球定位系统(GPS)、红外(IR)、蓝牙、ZIGBEE以及/或者类似类型的接口)、一个或多个编程(例如,I/O)接口210、存储器220以及用于互连这些部件和各种其他部件的一条或多条通信总线204。
在一些实施方案中,一条或多条通信总线204包括互连和控制系统部件之间的通信的电路。在一些实施方案中,一个或多个I/O设备206包括键盘、鼠标、触控板、操纵杆、一个或多个麦克风、一个或多个扬声器、一个或多个图像传感器、一个或多个显示器等中的至少一种。
存储器220包括高速随机存取存储器,诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、双倍数据速率随机存取存储器(DDR RAM)或者其他随机存取固态存储器设备。在一些实施方案中,存储器220包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器220任选地包括远离一个或多个处理单元202定位的一个或多个存储设备。存储器220包括非暂态计算机可读存储介质。在一些实施方案中,存储器220或者存储器220的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作系统230和CGR体验模块240。
操作系统230包括用于处理各种基础系统服务和用于执行硬件相关任务的指令。在一些实施方案中,CGR体验模块240被配置为管理和协调一个或多个用户的单重或多重CGR体验(例如,一个或多个用户的单重CGR体验,或一个或多个用户的相应群组的多重CGR体验)。为此,在各种实施方案中,CGR体验模块240包括数据获取单元242、跟踪单元244、协调单元246和数据传输单元248。
在一些实施方案中,数据获取单元242被配置为从图1的至少显示生成部件120,以及任选地从输入设备125、输出设备155、传感器190和/或外围设备195中的一者或多者获取数据(例如,呈现数据、交互数据、传感器数据、位置数据等)。出于该目的,在各种实施方案中,数据获取单元242包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
在一些实施方案中,跟踪单元244被配置为映射场景105,并且跟踪至少显示生成部件120相对于图1的场景105的位置,以及任选地跟踪输入设备125、输出设备155、传感器190和/或外围设备195中的一者或多者的位置。出于该目的,在各种实施方案中,跟踪单元244包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。在一些实施方案中,跟踪单元244包括手部跟踪单元243和/或眼睛跟踪单元245。在一些实施方案中,手部跟踪单元243被配置为跟踪用户的手部的一个或多个部分的位置,以及/或者用户的手部的一个或多个部分相对于图1的场景105的、相对于显示生成部件120和/或相对于坐标系(该坐标系是相对于用户的手部定义的)的运动。下文相对于图4更详细地描述了手部跟踪单元243。在一些实施方案中,眼睛跟踪单元245被配置为跟踪用户注视(或更广泛地,用户的眼睛、面部或头部)相对于场景105(例如,相对于物理环境和/或相对于用户(例如,用户的手部))或相对于经由显示生成部件120显示的CGR内容的位置或移动。下文相对于图5更详细地描述了眼睛跟踪单元245。
在一些实施方案中,协调单元246被配置为管理和协调由显示生成部件120,以及任选地由输出设备155和/或外围装设备195中的一者或多者呈现给用户的CGR体验。出于该目的,在各种实施方案中,协调单元246包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
在一些实施方案中,数据传输单元248被配置为将数据(例如,呈现数据、位置数据等)传输到至少显示生成部件120,并且任选地传输到输入设备125、输出设备155、传感器190和/或外围设备195中的一者或多者。出于该目的,在各种实施方案中,数据传输单元248包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
尽管数据获取单元242、跟踪单元244(例如,包括眼睛跟踪单元243和手部跟踪单元244)、协调单元246和数据传输单元248被示为驻留在单个设备(例如,控制器110)上,但应当理解,在其他实施方案中,数据获取单元242、跟踪单元244(例如,包括眼睛跟踪单元243和手部跟踪单元244)、协调单元246和数据传输单元248的任何组合可以位于单独计算设备中。
此外,图2更多地用作可以存在于特定具体实施中的各种特征的功能描述,与本文所述的实施方案的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图2中单独示出的一些功能模块可在单个模块中实现,并且单个功能块的各种功能可在各种实施方案中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些实施方案中,部分地取决于为特定具体实施选择的硬件、软件和/或固件的特定组合。
图3是根据一些实施方案的显示生成部件120的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不使本文所公开的实施方案的更多相关方面晦涩难懂,未示出各种其他特征。出于所述目的,作为非限制性示例,在一些实施方案中,HMD 120包括一个或多个处理单元302(例如,微处理器、ASIC、FPGA、GPU、CPU、处理核心等)、一个或多个输入/输出(I/O)设备及传感器306、一个或多个通信接口308(例如,USB、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、GSM、CDMA、TDMA、GPS、IR、BLUETOOTH、ZIGBEE以及/或者类似类型的接口)、一个或多个编程(例如,I/O)接口310、一个或多个CGR显示器312、一个或多个任选的面向内部并且/或者面向外部的图像传感器314、存储器320以及用于互连这些部件和各种其他部件的一条或多条通信总线304。
在一些实施方案中,一条或多条通信总线304包括用于互连和控制各系统部件之间的通信的电路。在一些实施方案中,一个或多个I/O设备及传感器306包括惯性测量单元(IMU)、加速度计、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测仪、心率监测仪、血液氧传感器、血糖传感器等)、一个或多个传声器、一个或多个扬声器、触觉引擎以及/或者一个或多个深度传感器(例如,结构光、飞行时间等)等。
在一些实施方案中,一个或多个CGR显示器312被配置为向用户提供CGR体验。在一些实施方案中,一个或多个CGR显示器312对应于全息、数字光处理(DLP)、液晶显示器(LCD)、硅上液晶(LCoS)、有机发光场效应晶体管(OLET)、有机发光二极管(OLED)、表面传导电子发射显示器(SED)、场发射显示器(FED)、量子点发光二极管(QD-LED)、微机电系统(MEMS)以及/或者类似的显示器类型。在一些实施方案中,一个或多个CGR显示器312对应于衍射、反射、偏振、全息等波导显示器。例如,HMD 120包括单个CGR显示器。又如,HMD 120包括针对用户的每只眼睛的CGR显示器。在一些实施方案中,一个或多个CGR显示器312能够呈现MR和VR内容。在一些实施方案中,一个或多个CGR显示器312能够呈现MR或VR内容。
在一些实施方案中,一个或多个图像传感器314被配置为获取与用户面部的包括用户的眼睛的至少一部分对应的图像数据(并且可被称为眼睛跟踪相机)。在一些实施方案中,一个或多个图像传感器314被配置为获取与用户的手部以及任选地用户的手臂的至少一部分对应的图像数据(并且可被称为手部跟踪相机)。在一些实施方案中,一个或多个图像传感器314被配置为面向前方,以便获取与在不存在HMD 120的情况下用户将会看到的场景对应的图像数据(并且可被称为场景相机)。一个或多个任选图像传感器314可包括一个或多个RGB相机(例如,具有互补金属氧化物半导体(CMOS)图像传感器或电荷耦合器件(CCD)图像传感器)、一个或多个红外(IR)相机以及/或者一个或多个基于事件的相机等。
存储器320包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备。在一些实施方案中,存储器320包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器320任选地包括远离一个或多个处理单元302定位的一个或多个存储设备。存储器320包括非暂态计算机可读存储介质。在一些实施方案中,存储器320或者存储器320的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作系统330和CGR呈现模块340。
操作系统330包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。在一些实施方案中,CGR呈现模块340被配置为经由一个或多个CGR显示器312向用户呈现CGR内容。出于该目的,在各种实施方案中,CGR呈现模块340包括数据获取单元342、CGR呈现单元344、CGR映射生成单元346和数据传输单元348。
在一些实施方案中,数据获取单元342被配置为至少从图1的控制器110获取数据(例如,呈现数据、交互数据、传感器数据、位置数据等)。出于所述目的,在各种实施方案中,数据获取单元342包括指令以及/或者用于指令的逻辑以及启发法和用于启发法的元数据。
在一些实施方案中,CGR呈现单元344被配置为经由一个或多个CGR显示器312呈现CGR内容。出于所述目的,在各种实施方案中,CGR呈现单元344包括指令以及/或者用于指令的逻辑以及启发法和用于启发法的元数据。
在一些实施方案中,CGR映射生成单元346被配置为基于媒体内容数据生成CGR映射图(例如,混合现实场景的3D映射图或可以在其中放置计算机生成对象的物理环境以生成计算机生成现实的映射图)。出于所述目的,在各种实施方案中,CGR映射生成单元346包括指令以及/或者用于该指令的逻辑以及启发法和用于该启发法的元数据。
在一些实施方案中,数据传输单元348被配置为将数据(例如,呈现数据、位置数据等)传输到至少控制器110,以及任选地输入设备125、输出设备155、传感器190和/或外围设备195中的一者或多者。出于所述目的,在各种实施方案中,数据传输单元348包括指令以及/或者用于指令的逻辑以及启发法和用于启发法的元数据。
尽管数据获取单元342、CGR呈现单元344、CGR映射生成单元346和数据传输单元348被示出为驻留在单个设备(例如,图1的显示生成部件120)上,但应当理解,在其他实施方案中,数据获取单元342、CGR呈现单元344、CGR映射生成单元346和数据传输单元348的任何组合可位于单独计算设备中。
此外,图3更多地用作可能存在于特定实施方案中的各种特征的功能描述,与本文所述的实施方案的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图3中单独示出的一些功能模块可在单个模块中实现,并且单个功能块的各种功能可在各种实施方案中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些实施方案中,部分地取决于为特定具体实施选择的硬件、软件和/或固件的特定组合。
图4是手部跟踪设备140的示例性实施方案的示意性图解。在一些实施方案中,手部跟踪设备140(图1)由手部跟踪单元243控制(图2)来跟踪用户的手部的一个或多个部分的位置,以及/或者用户的手部的一个或多个部分相对于图1的场景105(例如,相对于用户周围的物理环境的一部分、相对于显示生成部件120,或者相对于用户的一部分(例如,用户的面部、眼睛或头部),以及/或者相对于坐标系(该坐标系是相对于用户的手部定义的))的运动。在一些实施方案中,手部跟踪设备140是显示生成部件120的一部分(例如,嵌入头戴式设备中或附接到头戴式设备)。在一些实施方案中,手部跟踪设备140与显示生成部件120分开(例如,位于单独的外壳中或者附接到单独的物理支撑结构)。
在一些实施方案中,手部跟踪设备140包括捕获至少包括人类用户的手部406的三维场景信息的图像传感器404(例如,一个或多个IR相机、3D相机、深度相机和/或彩色相机等)。图像传感器404以足够的分辨率捕获手部图像,以使手指及其相应位置能够被区分。图像传感器404通常捕获用户身体的其他部分、还或可能捕获身体的所有部分的图像,并且可以具有缩放能力或具有增大放大率的专用传感器以用期望分辨率捕获手部的图像。在一些实施方案中,图像传感器404还捕获手部406的2D彩色视频图像和场景的其他元素。在一些实施方案中,图像传感器404与其他图像传感器结合使用以捕获场景105的物理环境,或者用作捕获场景105的物理环境的图像传感器。在一些实施方案中,以将图像传感器404或其一部分的视场用于限定交互空间的方式相对于用户或用户的环境定位图像传感器,在该交互空间中,由图像传感器捕获的手部移动被视为到控制器110的输入。
在一些实施方案中,图像传感器404将包含3D映射数据(以及此外,可能的彩色图像数据)的帧序列输出到控制器110,该控制器从映射数据提取高级信息。该高级信息通常经由应用程序接口(API)提供给在控制器上运行的应用程序,该应用程序相应地驱动显示生成部件120。例如,用户可以通过移动他的手部408并改变他的手部姿势来与在控制器110上运行的软件交互。
在一些实施方案中,图像传感器404将斑点图案投影到包含手部406的场景上并且捕获所投影图案的图像。在一些实施方案中,控制器110基于图案中斑点的横向偏移来通过三角测量计算场景中的点(包括用户的手部的表面上的点)的3D坐标。这种方法是有利的,因为该方法不需要用户握持或穿戴任何种类的信标、传感器或其他标记。该方法给出了场景中的点在距图像传感器404的特定距离处相对于预先确定的参考平面的深度坐标。在本公开中,假设图像传感器404限定x轴、y轴、z轴的正交集合,使得场景中的点的深度坐标对应于由图像传感器测量的z分量。另选地,手部跟踪设备440可基于单个或多个相机或其他类型的传感器而使用其他3D映射方法,诸如立体成像或飞行时间测量。
在一些实施方案中,手部跟踪设备140在用户移动他的手部(例如,整个手部或一根或多根手指)时捕获并处理包含用户的手部的深度映射图的时间序列。在图像传感器404和/或控制器110中的处理器上运行的软件处理3D映射数据以提取这些深度映射图中手部的图像块描述符。软件可基于先前的学习过程将这些描述符与存储在数据库408中的图像块描述符匹配,以便估计每个帧中手部的位姿。位姿通常包括用户的手部关节和手指尖端的3D位置。
软件还可以分析手部和/或手指在序列中的多个帧上的轨迹以识别手势。本文所述的位姿估计功能可以与运动跟踪功能交替,使得每两个(或更多个)帧仅执行一次基于图像块的位姿估计,而跟踪用于找到在剩余帧上发生的位姿的变化。经由上述API向在控制器110上运行的应用程序提供位姿、运动和手势信息。该程序可以例如响应于位姿和/或手势信息而移动和修改呈现在显示生成部件120上的图像,或者执行其他功能。
在一些实施方案中,软件可以例如通过网络以电子形式下载到控制器110,或者可以另选地在有形非暂态介质诸如光学、磁性或电子存储器介质上提供。在一些实施方案中,数据库408同样存储在与控制器110相关联的存储器中。另选地或除此之外,计算机的所描述的功能中的一些或全部可以在专用硬件(诸如,定制或半定制集成电路或可编程数字信号处理器(DSP))中实现。尽管在图4中示出了控制器110,但是举例来说,作为与图像传感器440分开的单元,控制器的处理功能中一些或全部可以由合适的微处理器和软件或由手部跟踪设备402的外壳内的专用电路或与图像传感器404相关联的其他设备执行。在一些实施方案中,这些处理功能中的至少一些可由与显示生成部件120(例如,在电视接收机、手持式设备或头戴式设备中)集成或与任何其他合适的计算机化设备(诸如,游戏控制台或媒体播放器)集成的合适处理器执行。图像传感器404的感测功能同样可以集成到将由传感器输出控制的计算机或其他计算机化装置中。
图4还包括根据一些实施方案的由图像传感器404捕获的深度映射图410的示意图。如上所述,深度图包括具有相应深度值的像素的矩阵。与手部406对应的像素412已经从该映射图中的背景和手腕分割出来。深度映射图410内的每个像素的亮度与其深度值(即,测量的距图像传感器404的z距离)成反比,其中灰色阴影随着深度的增加而变得更暗。控制器110处理这些深度值以便识别和分割图像的具有人类手部特征的组成部分(即,一组相邻像素)。这些特征可包括例如总体大小、形状和从深度映射图序列中的帧到帧的运动。
图4还示意性地示出了根据一些实施方案的控制器110最终从手部406的深度映射图410提取的手部骨骼414。在图4中,骨骼414叠加在已经从原始深度映射图分割出来的手部背景416上。在一些实施方案中,手部的以及任选地在连接到手部的手腕或手臂上的关键特征点(例如,与指关节、手指尖端、手掌中心、手部的连接到手腕的端部等对应的点)被识别并位于手部骨骼414上。在一些实施方案中,控制器110使用这些关键特征点在多个图像帧上的位置和移动来根据一些实施方案确定由手部执行的手势或手部的当前状态。
图5示出了眼睛跟踪设备130(图1)的示例性实施方案。在一些实施方案中,眼睛跟踪设备130由眼睛跟踪单元245(图2)控制来跟踪用户注视相对于场景105或相对于经由显示生成部件120显示的CGR内容的位置和移动。在一些实施方案中,眼睛跟踪设备130与显示生成部件120集成。例如,在一些实施方案中,当显示生成部件120是头戴式设备(诸如,头戴式耳机、头盔、护目镜或眼镜)或放置在可穿戴框架中的手持式设备时,该头戴式设备包括生成CGR内容以供用户观看的部件以及用于跟踪用户相对于CGR内容的注视的部件两者。在一些实施方案中,眼睛跟踪设备130与显示生成部件120分开。例如,当显示生成部件是手持式设备或CGR室时,眼睛跟踪设备130任选地是与手持式设备或CGR室分开的设备。在一些实施方案中,眼睛跟踪设备130是头戴式设备或头戴式设备的一部分。在一些实施方案中,头戴式眼睛跟踪设备130任选地与也是头戴式的显示生成部件或不是头戴式的显示生成部件结合使用。在一些实施方案中,眼睛跟踪设备130不是头戴式设备,并且任选地与头戴式显示生成部件结合使用。在一些实施方案中,眼睛跟踪设备130不是头戴式设备,并且任选地是非头戴式显示生成部件的一部分。
在一些实施方案中,显示生成部件120使用显示机构(例如,左近眼显示面板和右近眼显示面板)来在用户眼睛前面显示包括左图像和右图像的帧,从而向用户提供3D虚拟视图。例如,头戴式显示生成部件可包括位于显示器和用户眼睛之间的左光学透镜和右光学透镜(在本文中被称为眼睛透镜)。在一些实施方案中,显示生成部件可包括或耦接到一个或多个外部摄像机,该一个或多个外部摄像机捕获用户的环境的视频以用于显示。在一些实施方案中,头戴式显示生成部件可具有透明或半透明显示器,并且在该透明或半透明显示器上显示虚拟对象,用户可以透过该透明或半透明显示器直接观看物理环境。在一些实施方案中,显示生成部件将虚拟对象投影到物理环境中。虚拟对象可例如被投影在物理表面上或作为全息图被投影,使得个体使用系统观察叠加在物理环境上方的虚拟对象。在这种情况下,可能不需要用于左眼和右眼的单独的显示面板和图像帧。
如图5中所示,在一些实施方案中,注视跟踪设备130包括至少一个眼睛跟踪相机(例如,红外(IR)或近红外(NIR)相机),以及朝向用户眼睛发射光(例如,IR或NIR光)的照明源(例如,IR或NIR光源,诸如LED的阵列或环)。眼睛跟踪相机可指向用户眼睛以接收光源直接从眼睛反射的IR或NIR光,或者另选地可指向位于用户眼睛和显示面板之间的“热”镜,这些热镜将来自眼睛的IR或NIR光反射到眼睛跟踪相机,同时允许可见光通过。注视跟踪设备130任选地捕获用户眼睛的图像(例如,作为以每秒60帧-120帧(fps)捕获的视频流),分析这些图像以生成注视跟踪信息,并将注视跟踪信息传送到控制器110。在一些实施方案中,用户的两只眼睛通过相应的眼睛跟踪相机和照明源来单独地跟踪。在一些实施方案中,通过相应的眼睛跟踪相机和照明源来跟踪用户的仅一只眼睛。
在一些实施方案中,使用设备特定的校准过程来校准眼睛跟踪设备130以确定用于特定操作环境100的眼睛跟踪设备的参数,例如LED、相机、热镜(如果存在的话)、眼睛透镜和显示屏的3D几何关系和参数。在将AR/VR装备递送给终端用户之前,可以在工厂或另一个设施处执行设备特定的校准过程。设备特定的校准过程可以是自动校准过程或手动校准过程。根据一些实施方案,用户特定的校准过程可以包括对特定用户的眼睛参数的估计,例如瞳孔位置、中央凹位置、光轴、视轴、眼睛间距等。根据一些实施方案,一旦针对眼睛跟踪设备130确定了设备特定参数和用户特定参数,就可以使用闪光辅助方法来处理由眼睛跟踪相机捕获的图像,以确定当前视轴和用户相对于显示器的注视点。
如图5中所示,眼睛跟踪设备130(例如,130A或130B)包括眼睛透镜520和注视跟踪系统,该注视跟踪系统包括定位在用户面部的被执行眼睛跟踪的一侧上的至少一个眼睛跟踪相机540(例如,红外(IR)或近红外(NIR)相机),以及朝向用户眼睛592发射光(例如,IR或NIR光)的照明源530(例如,IR或NIR光源,诸如NIR发光二极管(LED)的阵列或环)。眼睛跟踪相机540可指向位于用户眼睛592和显示器510(例如,头戴式显示器的左显示器面板或右显示器面板,或者手持式设备的显示器、投影仪等)之间的镜子550(这些镜子反射来自眼睛592的IR或NIR光,同时允许可见光通过)(例如,如图5的顶部部分所示),或者另选地可指向用户眼睛592以接收来自眼睛592的反射IR或NIR光(例如,如图5的底部部分所示)。
在一些实施方案中,控制器110渲染AR或VR帧562(例如,用于左显示面板和右显示面板的左帧和右帧)并且将帧562提供给显示器510。控制器110将来自眼睛跟踪相机540的注视跟踪输入542用于各种目的,例如用于处理帧562以用于显示。控制器110任选地基于使用闪光辅助方法或其他合适的方法从眼睛跟踪相机540获取的注视跟踪输入542来估计用户在显示器510上的注视点。根据注视跟踪输入542估计的注视点任选地用于确定用户当前正在看向的方向。
以下描述了用户当前注视方向的几种可能的使用案例,并且不旨在进行限制。作为示例性使用案例,控制器110可以基于所确定的用户注视的方向不同地渲染虚拟内容。例如,控制器110可以在根据用户当前注视方向确定的中央凹区域中以比在外围区域中的分辨率更高的分辨率生成虚拟内容。作为另一个示例,控制器可至少部分地基于用户当前注视方向来在视图中定位或移动虚拟内容。作为另一个示例,控制器可至少部分地基于用户当前注视方向来在视图中显示特定虚拟内容。作为AR应用程序中的另一个示例性使用案例,控制器110可引导用于捕获CGR体验的物理环境的外部相机在所确定方向上聚焦。然后,外部相机的自动聚焦机构可以聚焦于显示器510上用户当前正看向的环境中的对象或表面上。作为另一个示例性使用案例,眼睛透镜520可以是可聚焦透镜,并且控制器使用注视跟踪信息来调整眼睛透镜520的焦点,使得用户当前正看向的虚拟对象具有适当的聚散度以匹配用户眼睛592的会聚。控制器110可以利用注视跟踪信息来引导眼睛透镜520调整焦点,使得用户正看向的靠近的对象出现在正确距离处。
在一些实施方案中,眼睛跟踪设备是头戴式设备的一部分,该部分包括安装在可穿戴外壳中的显示器(例如,显示器510)、两个眼睛透镜(例如,眼睛透镜520)、眼睛跟踪相机(例如,眼睛跟踪相机540)以及光源(例如,光源530(例如,IR或NIR LED))。光源朝向用户眼睛592发射光(例如,IR或NIR光)。在一些实施方案中,光源可围绕透镜中的每个透镜布置成环或圆圈,如图5中所示。在一些实施方案中,例如,八个光源530(例如,LED)围绕每个透镜520布置。然而,可使用更多或更少的光源530,并且可使用光源530的其他布置和位置。
在一些实施方案中,显示器510发射可见光范围内的光,并且不发射IR或NIR范围内的光,并且因此不会在注视跟踪系统中引入噪声。需注意,眼睛跟踪相机540的位置和角度以举例的方式给出,并且不旨在进行限制。在一些实施方案中,单个眼睛跟踪相机540位于用户面部的每一侧上。在一些实施方案中,可在用户面部的每一侧上使用两个或更多个NIR相机540。在一些实施方案中,可在用户面部的每一侧上使用具有较宽视场(FOV)的相机540和具有较窄FOV的相机540。在一些实施方案中,可在用户面部的每一侧上使用以一个波长(例如,850nm)操作的相机540和以不同波长(例如,940nm)操作的相机540。
如图5中所示的注视跟踪系统的实施方案可例如用于计算机生成的现实、虚拟现实和/或混合现实应用程序,以向用户提供计算机生成的现实、虚拟现实、增强现实和/或增强虚拟体验。
图6A示出了根据一些实施方案的闪光辅助的注视跟踪管道。在一些实施方案中,注视跟踪管道通过闪光辅助的注视跟踪系统(例如,如图1和图5中所示的眼睛跟踪设备130)来实现。闪光辅助的注视跟踪系统可保持跟踪状态。最初,跟踪状态为关闭或“否”。当处于跟踪状态时,当分析当前帧以跟踪当前帧中的瞳孔轮廓和闪光时,闪光辅助的注视跟踪系统使用来自先前帧的先前信息。当未处于跟踪状态时,闪光辅助的注视跟踪系统尝试检测当前帧中的瞳孔和闪光,并且如果成功,则将跟踪状态初始化为“是”并且在跟踪状态下继续下一个帧。
如图6A中所示,注视跟踪相机可捕获用户左眼和右眼的左图像和右图像。然后将所捕获的图像输入到注视跟踪管道以用于在610处开始处理。如返回到元素600的箭头所指示的,注视跟踪系统可例如以每秒60至120帧的速率继续捕获用户眼睛的图像。在一些实施方案中,可以将每组所捕获的图像输入到管道以用于处理。然而,在一些实施方案中或在一些条件下,不是所有所捕获的帧都由管道处理。
在610处,对于当前所捕获的图像,如果跟踪状态为是,则方法前进到元素640。在610处,如果跟踪状态为否,则如620处所指示的,分析图像以检测图像中的用户瞳孔和闪光。在630处,如果成功检测到瞳孔和闪光,则方法前进到元素640。否则,方法返回到元素610以处理用户眼睛的下一个图像。
在640处,如果从元素410前进,则分析当前帧以部分地基于来自先前帧的先前信息来跟踪瞳孔和闪光。在640处,如果从元素630前进,则基于当前帧中检测到的瞳孔和闪光来初始化跟踪状态。检查元素640处的处理结果以验证跟踪或检测的结果可以是可信的。例如,可检查结果以确定是否在当前帧中成功跟踪或检测到用于执行注视估计的瞳孔和足够数量的闪光。在650处,如果结果不可能是可信的,则跟踪状态被设置为否,并且方法返回到元素610以处理用户眼睛的下一个图像。在650处,如果结果是可信的,则方法前进到元素670。在670处,跟踪状态被设置为YES(如果尚未为是),并且瞳孔和闪光信息被传递到元素680以估计用户的注视点。
图6A旨在用作可用于特定具体实施的眼睛跟踪技术的一个示例。如本领域普通技术人员所认识到的,根据各种实施方案,在用于向用户提供CGR体验的计算机系统101中,当前存在或未来开发的其他眼睛跟踪技术可用于取代本文所述的闪光辅助的眼睛跟踪技术或与该闪光辅助的眼睛跟踪技术组合使用。
图6B示出了根据一些实施方案的提供CGR体验的电子设备101的示例性环境。在图6B中,真实世界环境602包括电子设备101、用户608和真实世界对象(例如,桌子604)。如图6B所示,电子设备101任选地安装在三脚架上或以其他方式固定在真实世界环境602中,使得用户608的一只或多只手空闲(例如,用户608任选地未用一只或多只手握持设备101)。如上所述,设备101任选地具有定位在设备101的不同侧面上的一组或多组传感器。例如,设备101任选地包括传感器组612-1和传感器组612-2,它们分别位于设备101的“后”侧和“前”侧上(例如,它们能够从设备101的相应侧面捕获信息)。如本文所用,设备101的前侧是面向用户608的侧面,并且设备101的后侧是背对用户608的侧面。
在一些实施方案中,传感器组612-2包括眼睛跟踪单元(例如,上文参考图2所述的眼睛跟踪单元245),该眼睛跟踪单元包括用于跟踪用户的眼睛和/或注视的一个或多个传感器,使得眼睛跟踪单元能够“看”向用户608并且以先前所述的方式跟踪用户608的眼睛。在一些实施方案中,设备101的眼睛跟踪单元能够捕获用户608的眼睛的移动、取向和/或注视并且将所述移动、取向和/或注视看作输入。
在一些实施方案中,传感器组612-1包括手部跟踪单元(例如,上文参考图2所述的手部跟踪单元243),该手部跟踪单元能够跟踪保持在设备101的“后”侧上的用户608的一只或多只手,如图6B所示。在一些实施方案中,手部跟踪单元任选地包括在传感器组612-2中,使得在设备101跟踪一只或多只手的位置时用户608能够附加地或另选地将一只或多只手保持在设备101的“前”侧上。如上所述,设备101的手部跟踪单元能够捕获用户608的一只或多只手的移动、位置和/或手势并且将所述移动、位置和/或手势看作输入。
在一些实施方案中,传感器组612-1任选地包括一个或多个传感器,该一个或多个传感器被配置为捕获包括桌子604的真实世界环境602的图像(例如,诸如上文参考图4所述的图像传感器404)。如上所述,设备101能够捕获真实世界环境602的部分(例如,一些或全部)的图像并且经由设备101的一个或多个显示生成部件(例如,设备101的显示器,该显示器任选地位于设备101的面向用户的侧面上,与设备101的面向真实世界环境602的捕获的部分的侧面相对)向用户呈现真实世界环境602的捕获的部分。
在一些实施方案中,真实世界环境602的捕获的部分用于向用户提供CGR体验,例如一个或多个虚拟对象叠加在真实世界环境602的表示上方的混合现实环境。
因此,本文说明书描述了包括真实世界对象的表示和虚拟对象的表示的三维环境(例如,CGR环境)的一些实施方案。例如,三维环境任选地包括存在于物理环境中的桌子的表示,该桌子(例如,经由电子设备的相机和显示器主动地,或经由电子设备的透明或半透明显示器被动地)在三维环境中捕获和显示。如先前所述,三维环境任选地是混合现实系统,其中三维环境基于由设备的一个或多个传感器捕获并经由显示生成部件显示的物理环境。作为混合现实系统,该设备任选地能够选择性地显示物理环境的部分和/或对象,使得物理环境的相应部分和/或对象看起来好像它们存在于由电子设备显示的三维环境中。类似地,该设备任选地能够通过将虚拟对象放置在三维环境中的相应位置处(所述相应位置具有真实世界中的对应位置)来在三维环境中显示虚拟对象以看起来好像虚拟对象存在于真实世界(例如,物理环境)中。例如,该设备任选地显示花瓶,使得看起来好像真实花瓶放置在物理环境中的桌子的顶部上。在一些实施方案中,三维环境中的每个位置具有物理环境中的对应位置。因此,当该设备被描述为在相对于物理对象的相应位置(例如,诸如用户的手部处或附近或物理桌子处或附近的位置)处显示虚拟对象时,该设备在三维环境中的特定位置处显示虚拟对象,使得看起来好像虚拟对象在物理世界中的物理对象处或附近(例如,虚拟对象在与物理环境中的位置相对应的三维环境中的位置处显示,在该位置处虚拟对象将被显示为好像其是该特定位置处的真实对象)。
在一些实施方案中,在三维环境中显示的存在于物理环境中的真实世界对象可与仅存在于三维环境中的虚拟对象进行交互。例如,三维环境可包括桌子和放置在桌子的顶部上的花瓶,其中桌子是物理环境中的物理桌子的视图(或其表示),并且花瓶是虚拟对象。
类似地,用户任选地能够使用一只或多只手与三维环境中的虚拟对象进行交互,就好像虚拟对象是物理环境中的真实对象。例如,如上所述,该设备的一个或多个传感器任选地捕获用户的手部中的一只或多只手并且在三维环境中显示用户的手部的表示(例如,以与在上述三维环境中显示真实世界对象类似的方式),或在一些实施方案中,用户的手部通过显示生成部件经由透过用户界面看见物理环境的能力而可见,这是由于正显示用户界面的显示生成部件的一部分的透明度/半透明度或用户界面投影到透明/半透明表面上或用户界面投影到用户的眼睛上或投影到用户的眼睛的视场中。因此,在一些实施方案中,用户的手部在三维环境中的相应位置处显示并且被看作好像它们是三维环境中的对象,它们能够与三维环境中的虚拟对象进行交互,就好像这些虚拟对象是物理环境中的真实物理对象。在一些实施方案中,用户能够移动他或她的手部以使得三维环境中的手部的表示连同用户手部的移动一起移动。
在下述实施方案中的一些实施方案中,该设备任选地能够确定物理世界中的物理对象与三维环境中的虚拟对象之间的“有效”距离,例如以用于确定物理对象是否正与虚拟对象进行交互(例如,手部是否正触摸、抓取、握持等虚拟对象或在离虚拟对象的阈值距离内)的目的。例如,该设备在确定用户是否正与虚拟对象进行交互和/或用户正如何与虚拟对象进行交互时确定用户的手部与虚拟对象之间的距离。在一些实施方案中,该设备通过确定三维环境中的手部的位置与三维环境中的感兴趣的虚拟对象的位置之间的距离来确定用户的手部与虚拟对象之间的距离。例如,用户的一只或多只手位于物理世界中的特定位置处,该设备任选地在三维环境中的特定对应位置(例如,手部将被显示为好像手部是虚拟手部而不是物理手部的三维环境中的位置)处捕获并显示手部。任选地将三维环境中的手部的位置与三维环境中的感兴趣的虚拟对象的位置进行比较以确定用户的一只或多只手与虚拟对象之间的距离。在一些实施方案中,该设备任选地通过比较物理世界中的位置(例如,而不是比较三维环境中的位置)来确定物理对象与虚拟对象之间的距离。例如,当确定用户的一只或多只手与虚拟对象之间的距离时,该设备任选地确定虚拟对象在物理世界中的对应位置(例如,虚拟对象将位于物理世界中好像其是物理对象而不是虚拟对象的位置),然后确定对应物理位置与用户的一只或多只手之间的距离。在一些实施方案中,相同技术任选地用于确定任何物理对象与任何虚拟对象之间的距离。因此,如本文所述,当确定物理对象是否与虚拟对象接触或物理对象是否在虚拟对象的阈值距离内时,该设备任选地执行上述技术中的任何技术以将物理对象的位置映射到三维环境和/或将虚拟对象的位置映射到物理世界。
在一些实施方案中,相同或类似的技术用于确定用户的注视指向何处和什么东西和/或用户握持的物理触笔指向何处和什么东西。例如,如果用户的注视指向物理环境中的特定位置,则该设备任选地确定三维环境中的对应位置,并且如果虚拟对象位于该对应虚拟位置处,则该设备任选地确定用户的注视指向该虚拟对象。类似地,该设备任选地能够基于物理触笔的取向来确定触笔正指向物理世界中的何处。在一些实施方案中,基于该确定,该设备确定与触笔正指向的物理世界中的位置相对应的三维环境中的对应虚拟位置,并且任选地确定触笔正指向三维环境中的对应虚拟位置。
类似地,本文所述的实施方案可涉及用户(例如,该设备的用户)的位置和/或三维环境中的该设备的位置。在一些实施方案中,该设备的用户正握持、穿戴该电子设备或以其他方式位于该电子设备处或附近。因此,在一些实施方案中,该设备的位置用作用户的位置的代理。在一些实施方案中,物理环境中的该设备和/或用户的位置对应于三维环境中的相应位置。在一些实施方案中,相应位置是三维环境的“相机”或“视图”从其延伸的位置。例如,该设备的位置将是物理环境中的位置(及其在三维环境中的对应位置),从此处,如果用户是以面向由显示生成部件显示的物理环境的相应部分的方式站在该位置处,则用户将以由该设备的显示生成部件显示物理环境中的对象时相同的位置、取向和/或尺寸(例如,在绝对方面和/或相对于彼此)看到这些对象。类似地,如果三维环境中显示的虚拟对象是物理环境中的物理对象(例如,放置在物理环境中与它们处于三维环境中时相同的位置处,并且在物理环境中具有与三维环境中相同的尺寸和取向),则该设备和/或用户的位置是用户将以由该设备的显示生成部件显示物理环境中的虚拟对象时相同的位置、取向和/或尺寸(例如,在绝对方面和/或相对于彼此和真实世界对象)看到这些虚拟对象的位置。
在本公开中,相对于与计算机系统的交互来描述各种输入方法。当使用一个输入设备或输入方法来提供示例,并且使用另一个输入设备或输入方法来提供另一个示例时,应当理解,每个示例可与相对于另一个示例描述的输入设备或输入方法兼容并且任选地利用该输入设备或输入方法。类似地,相对于与计算机系统的交互来描述各种输出方法。当使用一个输出设备或输出方法来提供示例,并且使用另一个输出设备或输出方法来提供另一个示例时,应当理解,每个示例可与相对于另一个示例描述的输出设备或输出方法兼容并且任选地利用该输出设备或输出方法。类似地,相对于通过计算机系统与虚拟环境或混合现实环境进行的交互来描述各种方法。当使用与虚拟环境的交互来提供示例时,并且使用混合现实环境来提供另一个示例时,应当理解,每个示例可与相对于另一个示例描述的方法兼容并且任选地利用这些方法。因此,本公开公开了作为多个示例的特征的组合的实施方案,而无需在每个示例性实施方案的描述中详尽地列出实施方案的所有特征。
此外,在本文所述的其中一个或多个步骤取决于已满足一个或多个条件的方法中,应当理解,所述方法可在多次重复中重复,使得在重复的过程中,在方法的不同重复中已满足决定方法中的步骤的所有条件。例如,如果方法需要执行第一步骤(如果满足条件),以及执行第二步骤(如果不满足条件),则普通技术人员将会知道,重复所声明的步骤,直到满足条件和不满足条件两者(不分先后)。因此,可将被描述为具有取决于已满足一个或多个条件的一个或多个步骤的方法重写为重复直到已满足该方法中所述的每个条件的方法。然而,这不需要系统或计算机可读介质声明该系统或计算机可读介质包含用于基于对应的一个或多个条件的满足来执行视情况而定的操作的指令,并且因此能够确定是否已满足可能的情况,而无需明确地重复方法的步骤直到已满足决定方法中的步骤的所有条件。本领域的普通技术人员还将理解,类似于具有视情况而定的步骤的方法,系统或计算机可读存储介质可根据需要多次重复方法的步骤,以确保已执行所有视情况而定的步骤。
用户界面和相关联的过程
现在将注意力转向可在具有显示生成部件、一个或多个输入设备以及(任选)一个或多个相机的计算机系统(诸如,便携式多功能设备或头戴式设备)上实现的用户界面(“UI”)和相关联过程的实施方案。
图7A至图7D示出了根据一些实施方案的电子设备如何增强二维绘图的示例。
图7A示出了经由显示生成部件(例如,图1的显示生成部件120)在用户界面上显示三维环境704的电子设备101。如上文参考图1至图6所述,电子设备101任选地包括显示生成部件(例如,触摸屏)和多个图像传感器(例如,图3的图像传感器314)。图像传感器任选地包括以下中的一者或多者:可见光相机;红外相机;深度传感器;或当用户与电子设备101交互时电子设备101能够用来捕获用户或用户的一部分的一个或多个图像的任何其他传感器。在一些实施方案中,下文所示的用户界面也可在头戴式显示器上实现,该头戴式显示器包括向用户显示用户界面的显示生成部件以及用于检测物理环境和/或用户手部的移动的传感器(例如,从用户面向外的外部传感器)和/或用于检测用户的注视的传感器(例如,向内面朝用户的面部的内部传感器)。
如图7A所示,设备101捕获设备101周围的真实世界环境702(例如,操作环境100)的一个或多个图像,包括设备101周围的真实世界环境702中的一个或多个对象。在一些实施方案中,设备101在三维环境704中显示真实世界环境的表示。例如,三维环境704包括房间的后拐角和在房间的后壁上的相框706的至少一部分的表示。类似地,在图7A中,三维环境704包括握持触笔的手部716的表示。如上文相对于图6B所述,手部716的表示是由该设备的一个或多个传感器捕获的该设备的用户的手部的表示。
在图7A中,三维环境704包括三维环境704中的相应位置处(例如,相应x、y和z位置处)的二维绘图708。在一些实施方案中,经由绘图输入(任选地使用由手部716握持的触笔)将二维绘图708插入三维环境704中。例如,用户使用触笔执行一个或多个绘图手势并且设备101检测到触笔的尖端的移动并将二维绘图708在用户输入的相应位置处插入三维环境704中,就好像用户正在设备101的物理环境中绘制二维绘图708。在一些实施方案中,一个或多个绘图手势包括在触笔的尖端移动时的选择输入。在一些实施方案中,选择输入包括触笔上的轻击和/或触笔上的轻击并保持。在一些实施方案中,如果未检测到选择输入,则不会响应于触笔的移动而在三维环境704中绘制二维绘图708。在一些实施方案中,由该设备的后侧上的一个或多个传感器(诸如上文在图6B中所述)确定和/或捕获触笔(和/或触笔的尖端)的位置、取向和/或移动。在一些实施方案中,经由任何其他合适的内容绘图过程将二维绘图708插入三维环境704中。例如,用户能够通过与正显示三维环境704的设备101的触摸屏(其任选地在设备101的前侧和/或面向用户的侧面上)进行交互来绘制二维绘图708。
在图7A中,设备101检测到用户的注视710-1指向二维绘图708。在一些实施方案中,响应于检测到注视610-1指向二维绘图708,设备101显示绘图增强菜单712,如图7A所示。在一些实施方案中,响应于在注视710-1指向二维绘图708时检测到选择输入,诸如手部716在触笔上的轻击输入、可选选项的选择、选择手势诸如手部716的两个或更多个手指(例如,拇指和食指等)的捏合,而显示绘图增强菜单712。在一些实施方案中,触笔是有源设备并且能够检测手指的轻击并向设备101传输检测到轻击手势的信息。在一些实施方案中,触笔是无源设备并且设备101经由设备101的一个或多个传感器检测到手部716在触笔上轻击(例如,设备101使用捕获真实世界环境702(其包括手部716和由手部716握持的触笔)的一个或多个相机“看到”手部716在触笔上轻击)。
在一些实施方案中,在二维绘图708的位置附近或该位置处显示绘图增强菜单712(例如,诸如图7A所示)。在一些实施方案中,在手部716(例如,执行手势以使绘图增强菜单712显示的手部)的位置处或附近显示绘图增强菜单712。
在一些实施方案中,绘图增强菜单712包括可选择以增强二维绘图708的一个或多个可选选项(例如,示能表示)。例如,如图7A所示,绘图增强菜单712包括与“简化”操作相对应的可选选项714-1、与“挤出”操作相对应的可选选项714-2以及与“体积化”选项相对应的可选选项714-3。在一些实施方案中,更多或更少的选项是可能的。例如,绘图增强菜单712可包括用于使用基于二维对象708的颜色的实色(例如,相同或类似颜色)来填充二维对象708的可选选项。
在一些实施方案中,可选选项714-1可选择以将二维绘图708替换为二维圆。在一些实施方案中,设备101将二维绘图708识别为圆的绘图,并且可选选项714-1通过对该圆进行归一化来增强二维绘图708。例如,设备101将二维绘图708替换为良好成型的和/或圆形的(例如,完美圆形的)圆。在一些实施方案中,所得的二维圆具有基于二维绘图708的尺寸的尺寸。在一些实施方案中,基于二维绘图708的平均半径、二维绘图708的最大半径、二维绘图708的最小半径或确定二维绘图708的代表性尺寸的任何其他合适的方法来确定所得的二维圆的半径。在一些实施方案中,二维圆的参数基于二维绘图708。例如,所得的二维圆具有基于二维绘图708的颜色和/或线宽(例如,相同或类似)。下文将相对于图7B和图7C进一步详细地描述可选选项714-2和714-3。如图7A所示,每个可选选项包括将替换二维绘图的对应对象的表示(例如,图标、图形等)。例如,可选选项714-1包括良好成型的圆的表示,可选选项714-2包括圆柱体的表示,并且可选选项714-3包括球体的表示。因此,在一些实施方案中,这些表示自身基于二维绘图708。
在图7A中,在显示绘图增强菜单712时,设备101检测到用户的注视710-2指向可选选项714-1(例如,绘图增强菜单712的可选选项)。在一些实施方案中,响应于确定注视710-2指向可选选项714-1,可选选项714-1与其他可选选项相比在视觉上增强,如图7A所示。例如,可选选项714-1被突出显示或以其他方式在视觉上改变。在一些实施方案中,并不使用注视710-2来确定将被选择的选项,设备101使用触笔的取向来确定触笔指向哪个可选选项。例如,用户能够使用握持在手部716中的触笔来指向相应可选选项,任选地使该可选选项被突出显示或以其他方式在视觉上改变(例如,此时选择输入引起相应可选选项的致动)。因此,设备101能够向用户指示响应于选择输入而将被选择(例如,被致动)的可选选项。
在一些实施方案中,设备101使用设备101的一个或多个传感器(任选地在触笔保持在设备101的后侧上时设备101的后侧上背对用户的传感器,或任选地在触笔保持在设备101的前侧上时设备101的前侧上面向用户的传感器)来确定触笔正指向何处和什么东西。在一些实施方案中,设备101确定触笔正指向或指着物理世界(例如,真实世界环境702)中的特定位置并且使物理世界中的位置与三维环境704中的位置相关。例如,由于三维环境704包括真实世界环境702的表示,因此真实世界环境702中的位置具有三维环境704中的对应位置并且反之亦然。因此,例如,如果设备101确定触笔在真实世界中指向与三维环境704中可选选项714-1的位置相关的真实世界环境702中的特定位置,则设备101确定触笔指向可选选项714-1。在一些实施方案中,相同或类似的过程用于确定用户的注视(例如,注视710-1和710-2)指向何处和什么东西和/或手部716正与什么东西进行交互(例如,以实现直接操纵交互)。
在一些实施方案中,用户通过看向相应可选选项(例如,如上所述)并且执行预先确定的手势(例如,“手势A”)来选择相应可选选项。在一些实施方案中,手势A是手部716执行的被预先确定为对应于选择输入的手势。例如,手部716的手指(例如,食指、拇指等)在触笔上的轻击任选地被解释为选择输入。在一些实施方案中,触笔上的双击被解释为选择输入。在一些实施方案中,触笔上的挤压手势被解释为选择输入。在一些实施方案中,使用触笔的指向或轻击手势被解释为选择输入。被预先确定为对应于选择输入的其他合适的手势是可能的。
在一些实施方案中,响应于接收到选择相应可选选项的用户输入(例如,选择手势),由手部716握持的触笔生成指示已发生选择的触觉反馈。例如,触笔生成模拟物理按钮按压的振动输出。在一些实施方案中,如果用户执行选择输入,但同时未正确地看向可选选项或指向可选选项,则触笔不生成触觉输出。
图7B示出了二维绘图708已被替换为圆柱体718(例如,响应于在用户的注视指向可选选项714-2时的选择输入)。在一些实施方案中,圆柱体718位于与二维绘图708相同的位置处。在一些实施方案中,圆柱体718中的中心位于二维绘图708的中心所在的位置。在一些实施方案中,圆柱体718的边界或边缘位于二维绘图708的边界或边缘所在的位置。例如,如果将二维绘图708绘制到对象(例如,桌子、地板等)的表面上,则将圆柱体718放置在该对象的表面上。
在一些实施方案中,圆柱体718是基于二维绘图708的三维圆柱体。例如,圆柱体718的半径基于二维绘图708的半径(例如,按与上文使用可选选项714-1所述的类似的方式)。在一些实施方案中,圆柱体718的圆形形状是基于二维绘图708的归一化和/或良好成型的圆。在一些实施方案中,圆柱体718的圆形形状是二维绘图708的初始手绘形状(例如,不对该圆进行归一化和/或平滑处理)。因此,在一些实施方案中,圆柱体718是在对二维绘图708执行挤出操作之后(例如,任选地在对二维绘图708进行归一化和/或平滑处理之后)所得的三维对象。在一些实施方案中,对二维绘图708执行挤出操作包括呈现二维绘图708的形状(例如,任选地在归一化之后)并且横向地扩大该形状以生成所得的对象。在一些实施方案中,所得对象的横截面尺寸和/或形状在整个该对象中是恒定的并且与二维绘图708相同或基于该二维绘图。
在一些实施方案中,如图7B所示,绘图增强菜单712在接收到用户输入之后继续显示,使得用户能够选择另一个可选选项以将圆柱体718替换为相应对象。
图7C示出了二维绘图708已被替换为球体720(例如,响应于在用户的注视指向可选选项714-3时的选择输入)。在一些实施方案中,球体720是基于二维绘图708的三维圆柱体。例如,球体720的半径基于二维绘图708的半径(例如,按与上文使用可选选项714-1所述的类似的方式)。在一些实施方案中,球体720的形状是基于二维绘图708的归一化和/或良好成型的圆。在一些实施方案中,球体720的形状是二维绘图708的初始手绘形状(例如,不对该圆进行归一化和/或平滑处理)。因此,在一些实施方案中,球体720是在对二维绘图708执行体积化操作之后(例如,任选地在对二维绘图708进行归一化和/或平滑处理之后)所得的三维对象。在一些实施方案中,对二维绘图708执行体积化操作包括旋转二维绘图708(例如,360度旋转、180度旋转等)以生成三维对象。
在一些实施方案中,三维对象是体积对象(例如,具有基于二维绘图708的边界的中空对象)。在一些实施方案中,三维对象是具有基于二维绘图708的形状的三维点云)。
因此,如上所述,在用户手绘二维绘图对象之后(例如,任选地在确定用户正注视着该对象之后和/或响应于接收到选择输入),设备101显示绘图增强菜单。使用绘图增强菜单,用户任选地能够通过以下方式增强二维绘图:对二维绘图执行一个或多个操作以将二维绘图替换为基于初始二维绘图的二维对象或基于初始二维绘图的三维对象。在一些实施方案中,绘图增强菜单712中提供的可选选项取决于二维绘图。例如,在上文所示的实施方案中,如果二维绘图被识别为手绘圆,则该设备提供用于对该圆进行清理和/或平滑处理的选项和/或与圆相对应的选项(例如,诸如与球体相对应的可选选项714-3)。在一些实施方案中,如果二维绘图被识别为手绘正方形,则该设备提供用于对正方形进行清理和/或平滑处理的选项和/或与正方形相对应的选项(例如,诸如与立方体相对应的可选选项)。又如,如果二维绘图被识别为三角形,则该设备提供与三角形相对应的选项(例如,诸如与圆锥相对应的可选选项和/或与棱锥相对应的可选选项)。在一些实施方案中,如果二维绘图被识别为手写文本,则该设备提供用于将二维绘图转换成基于字体的文本(例如,作为二维对象或三维对象)的选项。因此,基于二维绘图,任选地在绘图增强菜单712上呈现不同选项。
在一些实施方案中,二维绘图被识别为三维对象的绘图并且设备101呈现可选选项以将二维绘图替换为所识别的三维对象的表示。相比之下,在图7A至图7C所示的实施方案中,二维绘图706被识别为形状的绘图并且设备101呈现用于对手绘形状执行操作的选项。例如,如果设备101将二维绘图706识别为圆、三角形、正方形、线条、矩形等或任何其他形状,则设备101呈现与形状相关联的选项。另一方面,如果设备101将二维绘图706识别为物理对象的绘图(例如,除简单形状之外),则设备101任选地呈现与物理对象相关联的选项,如将在下图7D中所示的。
在图7D中,三维环境704包括汽车的手绘二维绘图722和绘图增强菜单712。如上所述,任选地响应于确定注视710指向二维绘图722(任选地响应于检测到手部716的“手势A”)而显示绘图增强菜单712。在一些实施方案中,绘图增强菜单722包括可选选项714-1,该可选选项可选择以执行“填充”操作(例如,使用基于二维绘图722的颜色(例如,线条的颜色)的实色来填充二维绘图722的内部)。在一些实施方案中,绘图增强菜单712包括可选选项714-2,该可选选项可选择以执行与上文相对于图7B所述的类似的“挤出”操作。
如上所述,二维绘图722任选地被识别为三维对象(例如,汽车)的手绘绘图(例如,二维绘图)。因此,绘图增强菜单712包括所识别的三维对象的表示(例如,汽车的表示)的一个或多个选项。在图7D中,绘图增强菜单712包括可选选项714-3,该可选选项可选择以将二维绘图722替换为汽车的三维表示。在一些实施方案中,从可用汽车的数据库和/或库选择汽车的三维表示,并且选择并在绘图增强菜单712中提供被识别为与二维绘图722类似(例如,最类似)的汽车的一个或多个三维对象。例如,二维绘图722被识别为特定类型的汽车(例如,轿车、SUV、卡车等)或特定品牌和型号的汽车,并且绘图增强菜单712包括与所识别的类型的汽车或所识别的品牌和型号的汽车的三维模型相对应的可选选项。在一些实施方案中,如果二维绘图722被识别为可能两种或更多种不同类型的汽车或可能两种型号的汽车,则绘图增强菜单712包括与不同识别类型或型号的汽车相对应的多个可选选项。在一些实施方案中,由二维绘图722参数式地生成三维表示。
因此,如上所述,二维绘图可辨识和/或识别为对象的绘图(例如,而不是如上文相对于图7A至图7C所述的简单形状)并且绘图增强菜单712任选地包括用于将二维绘图替换为所识别的对象的三维表示的选项。在图7D中所述的示例中,二维绘图被识别为汽车并且绘图增强菜单712包括与汽车相对应的可选选项。二维绘图任选地识别为任何类型的对象,诸如玩具、房屋、建筑物、桌子、椅子等。
图8A至图8G是示出根据一些实施方案的增强二维绘图的方法800的流程图。在一些实施方案中,方法800在计算机系统(例如,图1中的计算机系统101,诸如平板电脑、智能电话、可穿戴计算机或头戴式设备)处执行,该计算机系统包括显示生成部件(例如,图1、图3和图4中的显示生成部件120)(例如,平视显示器、显示器、触摸屏、投影仪等)和一个或多个相机(例如,向下指向用户手部的相机(例如,颜色传感器、红外传感器和其他深度感测相机)或从用户头部向前指向的相机)。在一些实施方案中,方法800通过存储在非暂态计算机可读存储介质中并由计算机系统的一个或多个处理器诸如计算机系统101的一个或多个处理器202(例如,图1A中的控制单元110)执行的指令来管理。方法800中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
在方法800中,在一些实施方案中,与显示生成部件和一个或多个输入设备通信的电子设备(例如,图1中的计算机系统101)(例如,移动设备(例如,平板电脑、智能电话、媒体播放器或可穿戴设备)或计算机)经由一个或多个输入设备接收(802)与二维绘图相对应的用户输入,诸如在图7A中绘制二维绘图708的用户输入(例如,接收绘制、生成、插入二维绘图或以其他方式引起二维绘图的显示的用户输入)。
在一些实施方案中,显示生成部件是与电子设备集成的显示器(任选地触摸屏显示器)、外部显示器诸如监视器、投影仪、电视机或用于投影用户界面或使得用户界面对一个或多个用户可见的硬件部件(任选地集成的或外部的)等。在一些实施方案中,一个或多个输入设备包括能够接收用户输入(例如,捕获用户输入、检测用户输入等)并将与用户输入相关联的信息传输到电子设备的电子设备或部件。输入设备的示例包括触摸屏、鼠标(例如,外部的)、触控板(任选地集成的或外部的)、触摸板(任选地集成的或外部的)、遥控设备(例如,外部的)、另一个移动设备(例如,与电子设备分开)、手持设备(例如,外部的)、控制器(例如,外部的)、触笔、相机、深度传感器和/或运动传感器(例如,手部跟踪传感器、手部运动传感器)等。
在一些实施方案中,二维绘图是自由绘图。在一些实施方案中,二维绘图是预先确定的形状(例如,由模板形状生成)。在一些实施方案中,用户输入包括绘制二维绘图的移动。在一些实施方案中,用户输入从与一个或多个输入设备进行交互(例如,与触敏表面诸如触摸屏接触)的触笔接收到。在一些实施方案中,用户输入从与一个或多个输入设备进行交互(例如,与触敏表面诸如触摸屏接触)的手指或手部接收到。在一些实施方案中,用户输入是一个或多个输入设备检测到的手势或用户移动(例如,与电子设备通信的手部运动传感器检测到的手势)。
在一些实施方案中,响应于接收到与二维绘图相对应的用户输入,电子设备经由显示生成部件显示(804)二维绘图的表示,诸如在图7A中响应于绘图输入而显示的二维绘图708(例如,显示二维绘图的表示)。在一些实施方案中,二维绘图是自由绘图、可识别的形状等。在一些实施方案中,在显示区域的相应位置处的一个平面上显示二维绘图。在一些实施方案中,在该设备所生成、显示或以其他方式使得可由该设备看见的三维环境(例如,计算机生成的现实(CGR)环境,诸如虚拟现实(VR)环境、混合现实(MR)环境或增强现实(AR)环境等)中显示二维绘图。在一些实施方案中,相应位置是与用户输入的位置相关联的位置。例如,如果用户执行指向显示区域中的第一位置的自由绘图输入,则任选地在接收到用户输入时,在显示区域中的第一位置处显示绘图输入的表示。
在一些实施方案中,在接收到用户输入之后(例如,响应于接收到用户输入或响应于检测到用户输入的结束)并且在显示二维绘图的表示时,电子设备经由显示生成部件显示(806)一个或多个可选选项,诸如图7A中的绘图增强菜单712上的可选选项714-1至714-3(例如,用于执行与二维绘图相关联的功能的一个或多个可选选项)。在一些实施方案中,分析二维绘图并且呈现一个或多个可选选项以将二维绘图转换(例如,替换)为基于用户绘制的二维绘图的二维对象或三维对象。
在一些实施方案中,在显示一个或多个可选选项时,电子设备检测(808)一个或多个可选选项中的相应可选选项的选择,诸如在图7A中检测在注视710-2指向可选选项时由手部716(例如,“手势A”)执行的选择输入(例如,相应可选选项上的选择输入)。在一些实施方案中,经由输入设备接收选择输入。在一些实施方案中,选择输入包括焦点和致动。例如,选择相应可选选项包括当接收到致动(例如,按钮的点击、触敏表面上的轻击等)时,检测到用户的注视指向(例如,看向)相应可选选项。
在一些实施方案中,响应于检测到相应可选选项的选择,电子设备将二维绘图的显示替换(809)为具有基于二维绘图的外观来确定的外观的三维对象,诸如将二维绘图708替换为图7B中的圆柱体718或图7C中的球体720(例如,在接收到绘制、插入等二维绘图的用户输入之后,呈现用于基于二维绘图来生成三维对象的一个或多个选项)。
在一些实施方案中,一个或多个选项对应于要对二维绘图执行的不同三维功能或变换。例如,如果该绘图识别为圆或圆形形状,则一个选项可选择以基于该绘图来生成球体(例如,该球体的半径基于该绘图的半径)和/或第二选项可选择以生成圆柱体(例如,该圆柱体的半径基于该绘图的半径)。在一些实施方案中,一个或多个选项包括用于基于初始二维绘图来生成二维对象的选项。例如,如果该绘图可识别为圆或圆形形状,则一个选项可选择以对该圆进行归一化(例如,基于该绘图来生成平滑圆)。在一些实施方案中,在三维对象中,任选地在所生成的对象基于的二维对象的位置附近,显示所生成的对象(例如,三维对象或二维对象)。
上述由二维绘图生成三维对象的方式(例如,通过在显示二维绘图的表示之后呈现用于基于二维绘图来显示三维对象的一个或多个可选选项)提供了三维对象的快速且高效的创建和/或显示(例如,而不需要用户绘制三维对象或执行附加输入来将二维绘图手动变换成三维对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,一个或多个可选选项包括第一可选选项和第二选择选项(810),诸如图7A中的可选选项714-2和714-3(例如,在包括多个可选选项的菜单用户界面中显示这些可选选项)。在一些实施方案中,根据确定相应可选选项是一个或多个可选选项中的第一可选选项,三维对象是第一三维对象(812),诸如在图7B中可选择以将二维绘图708替换为圆柱体718的可选选项714-2(例如,菜单用户界面中的第一可选选项可选择以将用户的二维绘图替换为第一三维对象)。在一些实施方案中,根据确定相应可选选项是一个或多个可选选项中与第一可选选项不同的第二可选选项,三维对象是与第一三维对象不同的第二三维对象(814),诸如在图7C中可选择以将二维绘图708替换为球体720的可选选项714-3(例如,菜单用户界面中的第二可选选项可选择以将用户的二维绘图替换为第二三维对象)。
在一些实施方案中,第二三维对象是与第一三维对象不同的对象。在一些实施方案中,第一三维对象和第二三维对象是不同类型的对象(例如,圆柱体和球体)。在一些实施方案中,第一三维对象和第二三维对象是相同类型的对象的不同变型(例如,两辆不同汽车、两辆相同汽车但颜色不同等)。
上述由二维绘图生成三维对象的方式(例如,通过呈现多个选项并且基于用户的选择来将二维对象替换为第一三维对象)提供了三维对象的快速且高效的创建和/或显示(例如,通过自动地向用户呈现基于二维绘图的多个选项,而不需要用户执行多个输入来浏览要插入的不同三维对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,根据确定二维绘图对应于第一形状,一个或多个可选选项包括基于第一形状的第一组可选选项(816),诸如在图7A中显示与作为圆的二维绘图708相关联的可选选项714-1至714-3(例如,这些可选选项基于二维绘图)。在一些实施方案中,该设备检测二维绘图中的形状或对象的类型并且呈现与所识别的形状或对象的三维型式相对应的选项。例如,圆的绘图被识别为圆并且向用户呈现用于将该圆替换为圆柱体(例如,在每端上均包括基于用户绘制的圆的圆)的第一选项以及用于将该圆替换为球体(例如,具有基于用户绘制的圆的半径)的第二选项。
在一些实施方案中,根据确定二维绘图对应于与第一形状不同的第二形状,一个或多个可选选项包括与第一组可选选项不同的基于第二形状的第二组可选选项并且不包括第一组选项(818),诸如在图7D中显示与作为汽车的二维绘图722相关联的可选选项714-1至714-3(例如,如果二维绘图具有第二形状,则这些选项对应于第二形状的三维型式)。例如,三角形的绘图被识别为三角形并且向用户呈现用于将三角形替换为圆锥的第一选项以及用于将三角形替换为棱锥的第二选项。
上述由二维绘图生成三维对象的方式(例如,通过呈现用于显示基于二维绘图的三维对象的一个或多个可选选项)提供了三维对象的快速且高效的创建和/或显示(例如,而无需向用户呈现与二维绘图无关的选项),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,一个或多个可选选项中的相应可选选项包括具有基于二维绘图的外观来确定的外观的三维对象的表示(820),诸如在图7A至图7D中包括缩略图、图标或二维绘图将被替换为什么的其他合适表示的可选选项714-1至714-3(例如,可选选项包括将被插入的三维对象的表示)。在一些实施方案中,该表示是三维对象的图标、绘图、轮廓、漫画等。在一些实施方案中,该表示是静态图像或动画。因此,在一些实施方案中,可选选项的外观基于二维绘图并且指示将替换二维绘图的对象的类型。例如,如果二维绘图是圆的二维绘图,则菜单包括具有圆柱体的表示的可选选项以及具有球体的表示的可选选项,但如果二维绘图是三角形的二维绘图,则菜单包括具有圆锥的表示的可选选项以及具有棱锥的表示的可选选项。
上述由二维绘图生成三维对象的方式(例如,通过呈现包括其相应三维对象的表示的一个或多个可选选项)提供了三维对象的快速且高效的创建和/或显示(例如,而不需要用户记住哪个可选选项对应于哪些三维对象和/或执行附加输入以选择特定可选选项来确定生成哪个三维对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,一个或多个可选选项包括以下各项中的一者或多者(822):第一选项,该第一选项可选择以将二维绘图的显示替换为与二维绘图相对应的相应形状的表示,其中相应形状的表示的边界的路径不同于二维绘图的边界的路径(824),诸如在图7A中可选择以对二维绘图708的圆形形状进行平滑处理的可选选项714-1(例如,基于二维绘图中识别的形状和/或图形来对二维绘图进行归一化和/或“清理”的可选选项)。
例如,如果二维绘图是圆的草图,则第一选项可选择以将用户的圆的草图替换为由电子设备生成而不是由用户生成的“光洁”和/或(例如,完美)自动形成的圆,而没有可能位于二维绘图中的(例如,任何)缺陷(例如,如果用户的绘图不完美并且包括缺陷的话)。类似地,如果二维绘图是正方形的二维绘图,则第一选项可选择以将用户的正方形的草图替换为“光洁”和/或(例如,完美)自动形成的正方形(例如,具有平而直的线条和90度角)。在一些实施方案中,相应形状的表示仍然为二维对象。
在一些实施方案中,一个或多个可选选项包括以下各项中的一者或多者:第二选项,该第二选项可选择以填充二维绘图的内部(826),诸如在图7D中可选择以使用实色填充二维绘图722的内部的可选选项714-1(例如,用于使用实色填充二维绘图的内部区域(例如,如果绘图是闭合回路绘图的话)的选项)。在一些实施方案中,实色基于二维绘图的边界的颜色或与该颜色相同。在一些实施方案中,第二选项不会使二维绘图被替换为归一化的形状。在一些实施方案中,第二选项对该形状进行归一化并且使用实色填充归一化的形状的内部区域。在一些实施方案中,二维绘图仍然为二维的。在一些实施方案中,选择第二选项不会使二维绘图归一化(例如,如上文相对于第一选项所述)。在一些实施方案中,响应于用户选择第二选项而对第二选项进行归一化和填充。
在一些实施方案中,一个或多个可选选项包括以下各项中的一者或多者:第三选项,该第三选项可选择以将二维绘图的显示替换为包括具有与二维绘图相对应的形状的第一侧面和与第一侧面相对的第二侧面的第一三维对象(828),诸如在图7B中可选择以执行挤出操作的可选选项714-2(例如,第三选项将二维绘图替换为作为二维绘图的挤出的三维对象)。例如,二维绘图的形状用作三维对象的一个侧面并且被挤出而使得三维对象的横截面自始至终为相同形状(例如,并且与二维绘图相同)。在一些实施方案中,第三选项使二维绘图在执行挤出操作之前归一化。在一些实施方案中,第三选项不会使所得的三维对象填充有实色(例如,任选地,三维对象的边界具有与二维绘图的边界相同或类似的颜色)。在一些实施方案中,第三选项使所得的三维对象填充有实色(例如,与上文相对于第二选项所述的类似)。
在一些实施方案中,一个或多个可选选项包括以下各项中的一者或多者:第四选项,该第四选项可选择以将二维绘图的显示替换为与相应三维对象的表示相对应的第二三维对象,其中二维绘图对应于相应三维对象的二维绘图(830),诸如在图7C中可选择以将二维绘图718替换为球体720的可选选项714-3(例如,二维绘图被识别为特定三维对象的绘图并且二维绘图被替换为所识别的三维对象的三维表示)。例如,如果二维绘图是圆,则圆被识别为球体的二维绘图并且因此第四选项将圆的绘图替换为球体(例如,三维对象)。在一些实施方案中,第四选项不会使所得的三维对象填充有实色(例如,任选地,三维对象的边界具有与二维绘图的边界相同或类似的颜色)。在一些实施方案中,第四选项使所得的三维对象填充有实色(例如,与上文相对于第二选项所述的类似)。
在一些实施方案中,一个或多个可选选项包括以下各项中的一者或多者:第五选项,该第五选项可选择以将二维绘图的显示替换为与二维绘图相对应的基于字体的文本(832),诸如在图7A中将二维绘图708替换为文本“圆”(例如,二维绘图被识别为手写文本并且第五选项将手写文本替换为基于字体的文本)。在一些实施方案中,如果二维绘图不是手写文本而是对象或形状的绘图,则第五选项可选择以将绘图替换为所识别的对象或形状的文本描述。例如,如果二维绘图是圆的二维绘图,则第五选项可选择以将二维绘图替换为词语“圆”。
上述由二维绘图生成对象的方式(例如,通过呈现一个或多个可选选项以将二维绘图替换为不同二维对象和三维对象)提供了基于用户的二维草图来创建和/或显示经处理的对象的快速且高效的方法(例如,通过识别二维绘图内的对象和/或元素并且自动地建议要将二维绘图变换成的不同对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,根据确定二维绘图对应于第一相应三维对象的二维绘图,三维对象对应于第一相应三维对象的表示(834),诸如在图7D中二维绘图722对应于汽车的绘图并且可选选项714-3被选择以将二维绘图722替换为汽车对象(例如,如果二维绘图被识别为特定三维对象的绘图,则提供用于将二维绘图替换为三维对象的三维表示的选项)。例如,如果绘图是圆,则圆被识别为可能球体的二维绘图,并且因此提供用于将二维圆转换成球体的选项。又如,如果绘图是正方形,则正方形被识别为可能立方体的二维绘图,并且因此提供用于将二维圆转换成立方体的选项。在一些实施方案中,二维绘图被替换为体积三维对象。在一些实施方案中,二维绘图被替换为三维点云。
在一些实施方案中,根据确定二维绘图对应于与第一相应三维对象不同的第二相应三维对象的二维绘图,三维对象对应于第二相应三维对象的表示(836),诸如在图7D中二维绘图722对应于不同汽车的绘图并且可选选项714-3被选择以将二维绘图722替换为不同汽车对象(例如,如果二维绘图被识别为另一个三维对象的绘图,则提供用于将二维绘图替换为另一三维对象的三维表示的选项)。在一些实施方案中,该设备将绘图识别为对应于第一相应三维对象或第二相应三维对象中的任一者而不是两者,并且提供将二维绘图替换为二维绘图中识别的对象(例如,任选地,体积对象或点云)的选项。
上述由二维绘图生成三维对象的方式(例如,通过从二维绘图内识别三维对象并且呈现用于将二维绘图替换为所识别的三维对象的三维表示的选项)提供了基于二维绘图来创建和/或显示三维对象的快速且高效的方法(例如,通过自动地识别二维绘图内的对象,而不需要用户执行附加输入来从与二维绘图无关的选项中选择),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,根据确定二维绘图对应于第一相应三维对象的二维绘图并且还对应于与第一相应三维对象不同的第三相应三维对象的二维绘图(838),诸如图7D中与两个不同的绘图相对应的二维绘图722(例如,该设备识别二维绘图对应于多个不同三维对象)。例如,如果绘图是圆,则绘图任选地对应于球体和圆柱体两者。又如,如果绘图是三角形,则绘图任选地对应于圆锥和棱锥。
在一些实施方案中,一个或多个可选选项包括可选择以将二维绘图的显示替换为第一相应三维对象的表示的相应可选选项(840),诸如在图7D中绘图增强菜单712包括与第一汽车相关联的第一选项的情况(例如,该设备提供可选择以将二维绘图替换为第一所识别的三维对象的第一可选选项)。
在一些实施方案中,一个或多个可选选项包括可选择以将二维绘图的显示替换为第三相应三维对象的表示的第二相应可选选项(842),诸如在图7D中绘图增强菜单712包括与第二汽车相关联的第二选项的情况(例如,该设备提供可选择以将二维绘图替换为第二所识别的三维对象的第二可选选项)。例如,如果绘图是圆,则该设备提供用于将圆替换为圆柱体的第一选项以及用于将圆替换为球体的第二选项。如果绘图是三角形,则该设备提供用于将三角形替换为圆锥的第一选项以及用于将三角形替换为棱锥的第二选项。
上述由二维绘图生成三维对象的方式(例如,通过从二维绘图内识别多个三维对象并且呈现用于将二维绘图替换为所识别的三维对象的多个选项)提供了基于二维绘图来创建和/或显示三维对象的快速且高效的方法(例如,通过自动地识别不同潜在三维对象,而不需要用户执行附加输入来从不同类型的三维对象中选择),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,使用与电子设备通信的指向设备来接收与二维绘图相对应的用户输入(844),该指向设备诸如为由图7A中的手部716握持的触笔(例如,经由指向设备诸如触笔来接收用户输入)。在一些实施方案中,用户输入包括使用指向设备来指向三维环境中与相应可选选项相关联的位置。在一些实施方案中,用户输入包括检测与指向设备的交互,诸如触笔上的位置处检测到的轻击。
在一些实施方案中,检测一个或多个可选选项中的相应可选选项的选择包括经由与电子设备通信的眼睛跟踪设备确定在指向设备处接收到选择输入时电子设备的用户的注视指向相应可选选项(846),诸如在图7A中注视710-2指向可选选项714-1(例如,用户输入指向的可选选项基于在接收到用户输入(例如,触笔上的轻击)时用户的注视指向的可选选项)。例如,该设备可跟踪用户眼睛的焦点并且确定在用户执行选择输入(诸如触笔上的轻击)时用户正看向相应可选选项。
上述选择可选选项的方式(例如,通过确定在指向设备处接收到选择输入时用户的注视指向相应可选选项)提供了将二维绘图替换为三维对象的快速且高效的方法(例如,通过在与用于绘制二维对象的输入设备相同的输入设备上接收用户输入并且使用用户的注视来确定要选择哪个可选选项),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,使用与电子设备通信的指向设备来接收与二维绘图相对应的用户输入(848),该指向设备诸如为由图7A中的手部716握持的触笔(例如,经由指向设备诸如触笔来接收用户输入)。在一些实施方案中,用户输入包括检测与指向设备的交互,诸如触笔上的位置处检测到的轻击。
在一些实施方案中,检测一个或多个可选选项中的相应可选选项的选择包括确定在指向设备处接收到选择输入时指向设备指向相应可选选项(850),诸如在图7A中检测到由手部716握持的触笔指向与绘图增强菜单712上的可选选项相关联的位置(例如,用户输入指向的可选选项基于指向设备的取向)。例如,如果在接收到用户输入时指向设备指向三维环境中与相应可选选项相关联的位置,则选择相应可选选项。例如,该设备可跟踪触笔的取向并且确定在用户执行选择输入(诸如触笔上的轻击)时触笔指向相应可选选项。在一些实施方案中,经由触笔自身中的一个或多个传感器来确定触笔的取向。在一些实施方案中,经由该设备的一个或多个相机或传感器来确定触笔的取向。
上述选择可选选项的方式(例如,通过确定在指向设备处接收到选择输入时用户的注视指向相应可选选项)提供了将二维绘图替换为三维对象的快速且高效的方法(例如,通过在与用于绘制二维对象的输入设备相同的输入设备上接收用户输入并且使用用户的注视来确定要选择哪个可选选项),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,响应于在指向设备处接收到选择输入,电子设备使得(852)在指向设备处生成触觉输出,诸如在图7A中响应于检测到选择手势(例如,“手势A”)而在由手部716握持的触笔上生成触觉输出(例如,生成指示已执行选择的触觉反馈)。在一些实施方案中,该设备向指向设备传达已发生有效可选选项的选择,并且作为响应,指向设备生成触觉输出。在一些实施方案中,该设备将命令传输到指向设备以生成触觉输出。在一些实施方案中,触觉输出是振动、点击、轻击等。在一些实施方案中,在指向设备上接收到选择输入的位置(例如,轻击的位置)处生成触觉输出。
上述选择可选选项的方式(例如,通过响应于接收到选择输入而在指向设备处产生触觉输出)提供了提供已发生选择的反馈的快速且高效的方法(例如,通过在接收到该输入的设备上提供触觉反馈,而不需要用户在视觉上确认已执行选择),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,三维对象的颜色基于二维绘图的颜色(854),诸如图7B中的圆柱体718具有与二维绘图708的至少一部分(诸如二维绘图708的边界)相同的颜色(例如,替换二维绘图的三维对象的颜色基于二维绘图的颜色)。在一些实施方案中,三维对象的颜色与二维绘图的颜色相同。在一些实施方案中,三维对象的一部分的颜色与二维绘图的颜色相同。在一些实施方案中,二维绘图的颜色用于识别要向用户建议的三维对象并且三维对象的颜色与二维绘图的颜色类似。例如,如果二维绘图是蓝色汽车的二维绘图,则三维对象是深蓝色汽车或天蓝色汽车等。
上述由二维绘图生成三维对象的方式(例如,通过生成具有基于二维绘图的颜色的颜色的三维对象)提供了三维对象的快速且高效的创建和/或显示(例如,而不需要用户在将二维绘图替换为三维对象之后执行附加输入来编辑三维对象的颜色),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,基于二维绘图来参数式地生成三维对象(856),诸如由二维绘图708参数式地生成图7B中的圆柱体718和图7C中的球体720(例如,使用参数模型生成三维对象的形状)。在一些实施方案中,参数模型的参数基于二维绘图的参数。例如,参数模型使用二维绘图的尺寸、形状、颜色等生成最能代表二维绘图所示的对象的一个或多个三维对象。例如,如果二维绘图是汽车的绘图,则该设备基于二维绘图来参数式地生成三维汽车。在一些实施方案中,由该设备生成三维对象。在一些实施方案中,由单独设备(诸如服务器)生成三维对象,并且将三维对象提供给该设备。
上述由二维绘图生成三维对象的方式(例如,通过基于二维绘图来参数式地生成三维对象)提供了三维对象的快速且高效的创建和/或显示(例如,通过生成准确反映二维绘图的三维对象,而不需要用户在将二维绘图替换为三维对象之后执行附加输入来编辑所得的三维对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,基于二维绘图来从三维对象的预先确定的库中选择三维对象(858),诸如从可用对象的库中选择用于图7D中的可选选项714-3的汽车型号(例如,从可用三维对象的库和/或数据库中选择向用户提供的可选选项)。在一些实施方案中,该库和/或数据库包括可用的三维对象的模型。在一些实施方案中,该库和/或数据库被组织成不同类型的对象并且该设备能够基于二维绘图被识别为的对象类型来过滤该数据库。在一些实施方案中,该设备确定该库中与二维绘图最密切相关的一个或多个对象并且向用户呈现用于将二维绘图替换为所确定的对象的选项。
上述由二维绘图生成三维对象的方式(例如,通过从预先确定的库中选择三维对象)提供了三维对象的快速且高效的创建和/或显示(例如,通过一旦在填充该库时就生成三维对象,而不需要该设备或另一个设备在需要三维对象时按需生成三维对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,三维对象包括具有与二维绘图相对应的形状的第一侧面和与第一侧面相对的第二侧面(860),诸如图7B中的圆柱体718(例如,三维对象是二维绘图的挤出,使得三维绘图包括具有与二维绘图的形状相同或基于二维绘图的形状的形状的第一侧面和与第一侧面相对的第二侧面)。在一些实施方案中,三维对象的横截面在整个三维对象中相同(例如,并且具有与三维对象的第一侧面和第二侧面相同的形状)。
在一些实施方案中,第一侧面和第二侧面的边界的路径对应于二维绘图的一个或多个属性(862),诸如在图7B中圆柱体718的半径具有与二维绘图708相同或类似的半径(例如,该对象的侧面的尺寸和/或形状基于二维绘图的侧面的尺寸和/或形状)。例如,如果二维绘图是圆(例如,手绘圆),则三维对象的第一侧面和第二侧面是具有基于手绘圆的半径(例如,等于手绘圆的平均半径、等于手绘圆的最大半径、等于手绘圆的最小半径等)的半径的圆。
在一些实施方案中,第一侧面和第二侧面的边界的路径不同于二维绘图的边界的路径(864),诸如在图7B中圆柱体718的端部是基于二维绘图708来归一化的(例如,平滑化的)圆(例如,在执行挤出操作之前对二维绘图进行归一化)。因此,三维绘图的侧面的形状具有光洁形状(例如,完美圆、完美正方形(例如,直线和90度角)等)。在一些实施方案中,通过先执行挤出操作再对所得三维对象进行归一化来生成三维对象。
上述由二维绘图生成三维对象的方式(例如,通过对二维绘图进行归一化并且挤出归一化的形状以生成三维对象)提供了三维对象的快速且高效的创建和/或显示(例如,通过自动地对绘图进行归一化并且执行挤出操作,而不需要用户执行附加输入来先对绘图进行归一化,再执行挤出操作),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,响应于经由与电子设备通信的眼睛跟踪设备确定电子设备的用户的注视指向二维绘图的表示而执行显示一个或多个可选选项(866),该注视诸如为图7A中指向二维绘图708的注视710-1(例如,在已绘制二维绘图之后,确定用户的注视指向二维绘图,并且作为响应,显示包括用于将二维绘图替换为三维对象的一个或多个可选选项的菜单用户界面)。
在一些实施方案中,在用户的注视已在二维绘图上停留长于阈值时间量(例如,0.2秒、0.5秒、1秒、3秒、5秒等)之后显示菜单。在一些实施方案中,响应于在用户的注视指向二维绘图时接收到用户输入(例如,由用户的手部作出的手势、与指向设备的交互、可选选项的选择等)而显示菜单。在一些实施方案中,如果在已绘制绘图之后(例如,在完成绘图的5秒、10秒、30秒、1分钟内)或在长于阈值时间量内用户的注视未指向二维绘图,则不显示菜单。
上述显示可选选项的方式(例如,响应于检测到用户的注视指向二维绘图)提供了向用户提供用于将二维绘图替换为三维对象的选项的快速且高效的方法(例如,而不需要用户执行附加输入并在多个用户界面中进行导航以使得显示可用选项),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
图9A至图9C示出了根据一些实施方案的操纵三维环境中的对象的示例。
图9A示出了经由显示生成部件(例如,图1的显示生成部件120)在用户界面上显示三维环境910的电子设备101。如上文参考图1至图6所述,电子设备101任选地包括显示生成部件(例如,触摸屏)和多个图像传感器(例如,图3的图像传感器314)。图像传感器任选地包括以下中的一者或多者:可见光相机;红外相机;深度传感器;或当用户与电子设备101交互时电子设备101能够用来捕获用户或用户的一部分的一个或多个图像的任何其他传感器。在一些实施方案中,下文所示的用户界面也可在头戴式显示器上实现,该头戴式显示器包括向用户显示用户界面的显示生成部件以及用于检测物理环境和/或用户手部的移动的传感器(例如,从用户面向外的外部传感器)和/或用于检测用户的注视的传感器(例如,向内面朝用户的面部的内部传感器)。
如图9A所示,设备101捕获设备101周围的真实世界环境900(例如,操作环境100)的一个或多个图像,包括设备101周围的真实世界环境900中的一个或多个对象。在一些实施方案中,设备101在三维环境910中显示真实世界环境的表示。例如,三维环境900包括房间的后拐角、房间的后壁上的相框908的至少一部分的表示以及桌子902的表示。类似地,在图9A中,三维环境910包括第一只手916-1的表示和第二只手916-2的表示。如上文相对于图6B所述,第一只手916-1和第二只手916-2的表示是保持在设备101后方(例如,在设备101的与用户相对的侧面上)并由该设备的一个或多个传感器(例如,任选地由在设备101的与用户相对的侧面上的传感器)捕获的该设备的用户的手部的表示。在一些实施方案中,该设备的用户的手部保持在该设备的前方(例如,在设备101的与用户相同的侧面上)并由设备101的一个或多个传感器(例如,任选地由在设备101的与用户相同的侧面上的传感器)捕获。
在图9A中,三维环境910包括在桌子902的表示的顶部上的圆柱体912。如上所述,桌子902是真实世界环境900中的对象,设备101能够使用设备101的一个或多个传感器捕获该真实世界环境的图像并且在三维环境910中显示桌子902的表示(例如,照片级真实表示、简化表示、卡通、漫画等)(例如,桌子902的“透传”显示,其中捕获桌子902的观感(look-and-feel)并将其呈现给用户,任选地不作修改)。在一些实施方案中,设备101的显示生成部件包括透明或半透明显示器,在该显示器上呈现三维环境900,并且通过该显示器,用户能够看见真实世界环境900。在一些实施方案中,显示生成部件允许用户看见真实世界环境900中的对象,例如,通过不主动地使真实世界环境900中的对象的视图模糊。在一些实施方案中,设备101允许或遮挡真实世界环境900的部分的视图以控制真实世界环境900的什么部分或来自真实世界环境900的什么对象存在于三维环境910中。
在一些实施方案中,圆柱体912是三维虚拟对象。例如,圆柱体912不是真实世界环境900中的物理对象。相反,圆柱体912是存在于三维环境910的虚拟环境中的对象。如图9A所示,圆柱体912位于桌子902的表示的顶表面上。因此,虚拟对象能够与真实世界对象的表示进行交互。在一些实施方案中,由于圆柱体912是虚拟对象,因此用户能够操纵圆柱体912(例如,而不真正操纵真实世界环境900中的对象),诸如执行旋转、移动和/或调整尺寸操作,如下文将进一步详细地描述。
在图9A中,设备101检测到用户的第一只手916-1已执行特定手势(例如,“手势B”)。在一些实施方案中,手势B包括由第一只手916-1的两个或更多个手指(例如,由拇指和食指)作出的捏合手势。在一些实施方案中,手势B被解释为操纵圆柱体912的请求。在一些实施方案中,响应于检测到第一只手916-1执行手势B,设备101显示操纵球914。在一些实施方案中,操纵球914是操纵指示,其任选地指示可供执行的操纵类型、正执行的操纵的量值和/或如何执行操纵操作。例如,操纵球914包括一个或多个部件和/或元件,每个部件和/或元件对应于不同操纵类型。如图9A所示,操纵球914包括三个圆,这三个圆沿着对应于三个不同旋转取向(例如,俯仰、横滚、偏航旋转)的三个不同方向延伸。
在一些实施方案中,只有在第一只手916-1执行手势B时第二只手916-2在第一只手916-1的阈值距离(例如,1英寸、3英寸、6英寸、1英尺、3英尺等)以内的情况下才显示操纵球914。在一些实施方案中,如果在第一只手916-1执行手势B时第二只手916-2在离第一只手916-1的阈值距离以内,则用户输入(例如,由用户的一只或多只手执行的手势序列,任选地包括手部的位置)被解释为执行旋转操纵的请求。如下文将相对于图9C进一步详细地描述,如果在第一只手916-1执行手势B时第二只手916-2不在离第一只手916-1的阈值距离以内,则用户输入不被解释为执行旋转操纵的请求(任选地该输入被解释为执行调整尺寸操纵的请求),并且设备101不显示操纵球914。
如上所讨论,操纵球914任选地包括对应于三个旋转取向(例如,俯仰、横滚和偏航)的三个圆形元素(例如,它们将在下文称为操纵球914的圆形元素914-1至914-3)。在一些实施方案中,虚拟对象基于用户正与哪个圆形元素进行交互来在三个取向之一上旋转。例如,如果用户与对应于俯仰旋转的圆形元素进行交互,则相应虚拟对象在俯仰取向上旋转,如果用户与对应于俯仰旋转的圆形元素进行交互,则相应虚拟对象在偏航取向上旋转等。在一些实施方案中,在操纵球914上显示选择指示符以指示响应于由第二只手916-2作出的选择输入,用户将选择哪个圆形元素。例如,设备101在与俯仰旋转相对应的圆形元素上的特定位置处显示圆点以指示如果第二只手916-2执行选择输入(例如,捏合手势),则选择俯仰旋转并且用户能够使虚拟对象在俯仰取向上旋转(例如,通过按所选择的圆形元素所指示的方式在圆弧中移动第二只手916-2,任选地同时保持选择输入)。
在一些实施方案中,将被选择的圆形元素(例如,及因此,包括选择指示符的圆形元素)基于第二只手916-2离圆形元素的接近度。例如,当第二只手916-2接近离操纵球914的任何圆形元素的第二阈值距离以内(例如,在1英寸、3英寸、6英寸、1英尺等以内)时,离第二只手916-2最近的圆形元素被确定为响应于由第二只手916-2作出的选择输入而将被选择的圆形元素。因此,用户不必将第二只手916-2移动到特定圆形元素的位置以选择该圆形元素,而是任选地可移动到离期望的圆形元素的第二阈值距离以内。
在一些实施方案中,设备101基于从第二只手916-2到真实世界环境702中与圆形元素相关联的位置的距离来确定第二只手916-2离圆形元素的接近度。例如,在与真实世界环境702中的特定位置相对应的三维环境910中的特定位置处显示操纵球914的圆形元素。因此,当第二只手916-2靠近真实世界环境702中的特定位置时,第二只手916-2在三维环境910中看起来接近操纵球914。在一些实施方案中,第二只手916-2与真实世界环境702中的操纵球914的圆形元素的相应位置之间的距离用于确定第二只手916-2离三维环境910中的操纵球914的圆形元素的接近度。
在一些实施方案中,在操纵球914上离第二只手916-2最近的位置处显示选择指示符。在一些实施方案中,如果第二只手916-2环绕着移动,使得操纵球914的不同部分离第二只手916-2最近,则选择指示符沿着操纵球914的圆形元素移动。例如,如果第二只手916-2向上移动,则选择指示符任选地根据第二只手916-2的向上移动而沿着操纵球914的圆形元素之一向上移动。
在一些实施方案中,如果第二只手916-2不在离操纵球914的第二阈值距离以内(例如,但任选地仍在离第一只手916-1的第一阈值距离以内),则不在操纵球914上显示选择指示符。在一些实施方案中,如果第二只手916-2要执行捏合手势,则在与捏合的位置相对应的第二只手916-2处或附近的位置处显示选择指示符。例如,在第二只手916-2的拇指和食指之间的位置(例如,在用户要执行捏合时用户将捏合的位置)处显示选择指示符。在一些实施方案中,在第二只手916-2处或附近显示选择指示符时,则响应于执行选择输入(例如,捏合手势),设备101将内容在选择指示符的位置处插入三维环境910中。例如,在第二只手916-2处或附近显示选择指示符时用第二只手916-2捏合(任选地同时在保持捏合手势时移动第二只手916-2)使得内容根据第二只手916-2的移动而“绘制”到三维环境910中(例如,而不是在操纵球914上显示选择指示符时用第二只手916-2捏合,这任选地使得操纵球914的圆形元素之一被选择)。在一些实施方案中,当第二只手916-2跨越离操纵球914的第二阈值距离时,选择指示符从与第二只手916-2相关联的位置移动到操纵球914上的位置或反之亦然,视情况而定。在一些实施方案中,移动选择指示符包括显示选择指示符从一个位置飞到另一位置的动画。在一些实施方案中,响应于检测到第二只手916-2正执行选择输入(例如,执行捏合手势,使得对虚拟对象执行操作等),则选择指示符停止在第二只手916-2处或附近显示(例如,任选地在操纵球914的相应圆形元素上显示)。
因此,如上所述,响应于检测到第一只手916-1执行手势B,设备101显示操纵球914。在一些实施方案中,如果在第一只手916-1执行手势B时注视915指向第一只手916-1或第二只手916-2中的任何一只手,则在第一只手916-1处或附近显示操纵球914。如图9A所示,在第一只手916-1的手指附近(例如,右侧)显示操纵球914。在一些实施方案中,手势B是捏合手势并且在由第一只手916-1作出的捏合的位置处或附近显示操纵球914。在一些实施方案中,在第一只手916-1继续执行手势B时(例如,在保持捏合手势时),操纵球914根据第一只手916-1的移动来移动。例如,如果用户向左移动第一只手916-1,则操纵球914根据第一只手916-1的移动来向左移动(例如,就像操纵球914附着于第一只手916-1一样和/或就像第一只手916-1拿着和/或捏着操纵球914一样)。
在一些实施方案中,如果在第一只手916-1执行手势B时注视915指向圆柱体912,则在圆柱体912处或附近显示操纵球914。例如,围绕圆柱体912显示操纵球914,使得操纵球914的中心是圆柱体912的中心。在一些实施方案中,操纵球914的尺寸取决于圆柱体912的尺寸。例如,操纵球914具有至少比圆柱体912的最长尺寸更大的直径,使得操纵球914的圆形元素不与圆柱体912相交或冲突。在一些实施方案中,操纵球914的尺寸取决于圆柱体912的位置。例如,当圆柱体912在离用户的阈值距离以内(例如,在3英尺、5英尺、10英尺、20英尺等以内)时,操纵球914的尺寸随圆柱体912的尺寸而缩放。例如,如果圆柱体912在离用户5英尺时具有第一尺寸,并且操纵球914为第二尺寸,那么如果圆柱体912移动到10英尺远,则圆柱体912的尺寸减半(例如,由于离用户的距离是原来的两倍),同时操纵球914的尺寸也减半。因此,操纵球914以与圆柱体912的尺寸变化成比例的方式改变尺寸。
在一些实施方案中,如果圆柱体912远于离用户的阈值距离,则操纵球914不以与圆柱体912的尺寸变化成比例的方式缩放。例如,如果圆柱体912离用户10英尺远并且具有第一尺寸,同时操纵球914具有第二尺寸,那么如果圆柱体912移动到20英尺远,则圆柱体912的尺寸减半(例如,由于离用户的距离是原来的两倍),同时操纵球914的尺寸减小25%。因此,操纵球914减小的尺寸仅是圆柱体912减小的尺寸的一半。因此,在一些实施方案中,超过该阈值距离,操纵球914的尺寸会减小圆柱体912的尺寸减小的减幅量(dampenedamount)。在一些实施方案中,操纵球914在阈值距离处达到最小尺寸并且不会响应于圆柱体912的尺寸减小而尺寸减小。因此,在一些实施方案中,在某个阈值距离处,操纵球914的尺寸减小量没有圆柱体912的尺寸减小量那样大以便保持操纵球914的可见度。这样,操纵球914通过以下方式保持可见度:任选地防止操纵球914变得太小而使得用户不能够看见操纵球914或与该操纵球进行交互。在一些实施方案中,并非阈值距离是操纵球914成比例地缩放时到操纵球914不成比例地缩放时的触发,而是操纵球914的尺寸用于确定何时从成比例缩放模式切换到不成比例缩放模式。例如,当操纵球914的半径减小到1英尺时,则操纵球914进入不成比例缩放模式,在该模式下,操纵球914的尺寸减小量小于圆柱体912的减小量(任选地完全不减小)。
图9B示出了第二只手916-2执行选择手势(例如,“手势C”)。在一些实施方案中,该选择手势包括在离操纵球914的相应圆形元素的第二阈值距离以内时由第二只手916-2作出的捏合。如图9B所示,第二只手916-2离与横滚旋转取向相对应的操纵球914的圆形元素914-1最近。因此,响应于该选择手势,选择操纵球914的圆形元素914-1。在一些实施方案中,当选择圆形元素914-1时(例如,在第二只手916-2保持该选择手势时),圆形元素914-1与操纵球914的其他圆形元素在视觉上区分开。例如,响应于该选择,圆形元素914-1被突出显示或以不同颜色显示。在一些实施方案中,响应于该选择,圆形元素914-1的尺寸增加或减小。在一些实施方案中,当第二只手916-2保持该选择手势时,圆形元素914-1上的选择指示符918(例如,类似于上述选择指示符)(例如,如果显示的话)改变视觉特征,从而指示已选择圆形元素914-1(例如,而不是圆形元素914-1响应于用户输入而将被选择的指示符)。例如,圆形元素914-1响应于选择输入而改变颜色和/或尺寸。
在一些实施方案中,圆形元素914-1在圆柱体912将发生旋转的方向上延伸。例如,圆形元素914-1在x-y轴上为圆,并具有恒定z位置。因此,使用圆形914-1旋转圆柱体912使得圆柱体912沿着x-y轴旋转,同时保持恒定z位置(例如,“横滚”旋转)。图9B示出了第二只手916-2以圆形方式围绕操纵球914移动(例如,同时保持手势C)。在一些实施方案中,以圆形方式围绕操纵球914移动第二只手916-2使得选择指示符918根据第二只手916-2的移动以圆形方式沿着圆形元素914-1移动。在一些实施方案中,选择指示符918跟随着离第二只手916-2最近的位置处的圆形元素914-1。因此,在一些实施方案中,对圆柱体912执行的横滚旋转的量等于选择指示符918沿着圆形元素914-1移动的角度。例如,如果选择指示符918沿着圆形元素914-1顺时针移动30度,则圆柱体912顺时针移动30度。类似地,如果第二只手916-2以逆时针方式围绕圆形元素914-1移动,则选择918沿着圆形元素914-1逆时针移动并且圆柱体912相应地逆时针旋转。在一些实施方案中,旋转的速度基于手部的移动的速度。例如,如果第二只手916-2按每秒20度的速度以圆形方式围绕圆形元素914-1移动,则圆柱体912按每秒20度在相应方向上旋转。
在一些实施方案中,操纵的量(例如,旋转的量)基于第二只手916-2围绕预先确定的参考位置的移动。在一些实施方案中,预先确定的参考位置是操纵球914的中心,因此围绕操纵球的中心旋转一定角量使得所操纵的虚拟对象也发生那么多的角旋转。在一些实施方案中,预先确定的参考位置是第一只手916-1的捏合位置,因此第二只手916-2围绕第一只手916-1的捏合位置旋转一定角量使得所操纵的虚拟对象也发生那么多的角旋转。在一些实施方案中,预先确定的参考位置与特定元素(例如,而不是三维环境中的绝对位置)相关联,因此该元素的移动使得预先确定的参考位置也移动(例如,并且任选地使得对所操纵的第一对象进行操纵)。例如,如果预先确定的参考位置是第一只手916-1的捏合位置,那么如果第一只手916-1围绕第二只手916-2旋转,则第二只手916-2已有效地围绕预先确定的参考位置旋转,因此使得虚拟对象旋转一定量,该量等于第二只手916-2相对于第一只手916-1的捏合位置的位置变化。
在一些实施方案中,在第二只手916-2保持选择手势(例如,手势C)时,圆形元素914-1仍然被选择,而不论第二只手916-2是否移动成比离操纵球914的第二阈值距离更远、比离第一只手916-1的第一阈值距离更远或离操纵球916的另一个圆形元素更近(例如,只要第二只手916-2保持该选择手势,圆形元素914-1的选择就保持锁定并且不跳转到另一个圆形元素)。在一些实施方案中,在第二只手916-2选择相应圆形元素时,如果第二只手916-2以不围绕相应圆形元素的方式移动,则圆柱体912不旋转。例如,如果在选择对应于横滚旋转的圆形元素914-1时,第二只手916-2在“偏航”取向上(例如,在向左或向右移动时朝向或远离用户)围绕操纵球914移动,则由于第二只手916-2的移动不包括“横滚”取向上的移动,圆柱体912不在偏航或横滚取向上旋转。因此,圆柱体912的旋转类型被“锁定”成所选择的旋转取向并且不会在其他方向上旋转,即使第二只手916-2在那些方向上移动。在一些实施方案中,如果第二只手916-2的移动包括在对应方向上移动的分量,则圆柱体912基于在适当方向上移动的分量来旋转。例如,如果第二只手916-2以在偏航和横滚方向上围绕操纵球914旋转的方式移动,则仅分离横滚分量并丢弃偏航分量,并且圆柱体912根据第二只手916-2的移动的横滚分量来旋转。在一些实施方案中,如果第二只手916-2在保持选择手势的情况下移动,则圆柱体912任选地根据第二只手916-2的移动来移动(例如,在与第二只手916-2的移动相同的方向上移动,任选地移动如下文参考方法1400所述的量)。在一些实施方案中,只有在接收到选择输入时第二只手916-2对圆柱体912执行直接操纵(例如,第二只手916-2与圆柱体912相交或在离圆柱体912的阈值距离诸如1英寸、3英寸、6英寸、1英尺等以内)的情况下,圆柱体912才根据第二只手916-2的移动来移动。
图9B还示出了用于与操纵球914的偏航和俯仰旋转取向进行交互的实施方案922和928。例如,在实施方案922中,第二只手920-2离对应于偏航旋转取向的圆形元素914-2最近。因此,选择指示符924在圆形元素914-2上显示并且根据第二只手920-2围绕圆形元素914-2的移动来跟随着圆形元素914-2。在实施方案922中,圆形元素914-2响应于检测到由第二只手920-2作出的选择输入而在视觉上区分开,并且响应于第二只手920-2围绕圆形元素914-2的移动,圆柱体912根据第二只手920-2的移动而在偏航取向上旋转(例如,在相应方向上旋转、旋转相应量并以相应速度旋转,这任选地基于第二只手920-2的移动的方向、量和/或速度)。
在实施方案928中,第二只手926-2离对应于俯仰旋转取向的圆形元素914-3最近。因此,选择指示符930在圆形元素914-2上显示并且根据第二只手926-2围绕圆形元素914-3的移动来跟随着圆形元素914-3。在实施方案928中,圆形元素914-3响应于检测到由第二只手926-2作出的选择输入而在视觉上区分开,并且响应于第二只手926-2围绕圆形元素914-3的移动,圆柱体912根据第二只手926-2的移动而在俯仰取向上旋转(例如,在相应方向上旋转、旋转相应量并以相应速度旋转,这任选地基于第二只手926-2的移动的方向、量和/或速度)。
图9C示出了执行调整尺寸操纵操作的实施方案。在图9C中,第一只手916-1正执行选择手势(例如,“手势D”),而第二只手916-2正在离第一只手916-1超过阈值距离(例如,1英寸、3英寸、6英寸、1英尺、3英尺等)时执行选择手势(例如,“手势E”)。在一些实施方案中,由于在第一只手916-1执行选择手势时第二只手916-2离第一只手916-1超过阈值距离,因此不显示操纵球(任选地如果在第一只手916-1正执行选择手势时第二只手916-2移动到阈值距离以内,则显示操纵球)。
在一些实施方案中,响应于检测到由第二只手916-2作出的选择手势(任选地在注视915指向圆柱体912时),选择调整尺寸操作并且显示调整尺寸指示符932,如图9C所示。在一些实施方案中,调整尺寸指示符932是在第一只手916-1和第二只手916-2之间显示(例如,在三维环境910中与第一只手916-1的捏合相关联的位置和三维环境910中与第二只手916-2的捏合相关联的位置之间显示)的线条。在一些实施方案中,调整尺寸指示符932是从第一只手916-1的捏合位置显示到第二只手916-2的捏合位置的线条。如图9C所示,在保持选择输入时,第二只手916-2向右移动,使得第一只手916-1与第二只手916-2之间的距离改变。在一些实施方案中,响应于检测到第一只手916-1与第二只手916-2之间的距离已改变,调整尺寸指示符932根据距离的变化来扩大和/或缩小,并且圆柱体912根据距离的变化来调整尺寸。例如,在图9C中,第二只手916-2与第一只手916-2之间的距离增加,并且作为响应,圆柱体912的尺寸相应地增加。在一些实施方案中,对圆柱体912进行尺寸调整的量基于第一只手916-1与第二只手916-2之间的距离的变化量。例如,如果手部之间的距离增加30%,则圆柱体912的尺寸增加30%,但如果手部之间的距离减小50%,则圆柱体912的尺寸减小50%。因此,对圆柱体912进行尺寸调整的量任选地基于第一只手916-1与第二只手916-2之间的初始距离以及该距离改变的量。在一些实施方案中,调整尺寸的速度基于手部的移动的速度。例如,如果第二只手916-2以每秒10%的速度远离第一只手916-1,则圆柱体912的尺寸每秒增加10%。
在一些实施方案中,由用户的一只或多只手(例如,第一只手916-1和/或第二只手916-2)握持的设备101和/或输入设备在对象的操纵达到预先确定的增量时生成触觉输出。例如,在图9A至图9B所示的旋转实施方案中,当圆柱体912的旋转达到预先确定的增量(例如,从初始取向的30度、45度、60度和/或90度等的旋转)时,设备101生成触觉输出以指示该操纵已达到预先确定的增量。在一些实施方案中,预先确定的增量包括在该操纵接近该吸附点的阈值距离以内时该操纵将吸附到该增量的“吸附(snapping)”功能。例如,一个或多个吸附点遍布于感兴趣的点处(例如,初始取向处、每30度、45度、60度和/或90度)的操纵,使得当旋转接近离该吸附点的阈值距离(例如,2度、5度、10度等)以内时,该旋转将吸附到该吸附点并且任选地生成触觉输出。类似地,在执行调整尺寸操作时,吸附点任选地位于初始尺寸和规则增量(例如,每10%、25%、50%尺寸变化)。
图10A至图10O是示出根据一些实施方案的操纵三维环境中的对象的方法1000的流程图。在一些实施方案中,方法1000在计算机系统(例如,图1中的计算机系统101,诸如平板电脑、智能电话、可穿戴计算机或头戴式设备)处执行,该计算机系统包括显示生成部件(例如,图1、图3和图4中的显示生成部件120)(例如,平视显示器、显示器、触摸屏、投影仪等)和一个或多个相机(例如,向下指向用户手部的相机(例如,颜色传感器、红外传感器和其他深度感测相机)或从用户头部向前指向的相机)。在一些实施方案中,方法1000通过存储在非暂态计算机可读存储介质中并由计算机系统的一个或多个处理器诸如计算机系统101的一个或多个处理器202(例如,图1A中的控制单元110)执行的指令来管理。方法1000中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
在方法1000中,在一些实施方案中,与显示生成部件和手部跟踪设备通信的电子设备(例如,图1中的计算机系统101)(例如,移动设备(例如,平板电脑、智能电话、媒体播放器或可穿戴设备)或计算机)经由显示生成部件显示(1002)包括第一虚拟对象的三维环境,诸如图9A中的三维环境910(例如,在计算机生成的现实中,显示第一虚拟对象)。
在一些实施方案中,显示生成部件是与电子设备集成的显示器(任选地触摸屏显示器)、外部显示器诸如监视器、投影仪、电视机或用于投影用户界面或使得用户界面对一个或多个用户可见的硬件部件(任选地集成的或外部的)等。在一些实施方案中,手部跟踪设备包括图像传感器、相机、深度传感器和/或运动传感器等,其能够确定电子设备的真实世界环境中的用户手部的位置(例如,真实世界环境中的绝对位置或与真实世界环境中的其他对象相比的相对位置)、用户手部的相对移动和/或手部的手指的位置等。
在一些实施方案中,计算机生成的现实是虚拟现实(VR)环境、混合现实(MR)环境或增强现实(AR)环境等,并且在该环境中显示第一虚拟对象(例如,任选地遮挡真实世界环境的至少一部分的视图)。在一些实施方案中,第一虚拟对象是可操纵的。例如,第一虚拟对象能够旋转、缩放、移动等。
在一些实施方案中,在显示包括第一虚拟对象的三维环境时,电子设备经由手部跟踪设备接收(1004)与电子设备的用户的手部相关联的用户输入,该用户输入对应于操纵第一虚拟对象的请求,诸如在图9A中第一只手916-1执行相应手势(例如,“手势B”)(例如,经由手部跟踪设备检测与和相应操纵操作相关联的预先确定的手势相对应的用户的一只或多只手的移动)。
在一些实施方案中,该用户输入包括捏合手势、在执行捏合手势时的移动、用户的一只或多只手向预先确定的位置(任选地相对于彼此向预先确定的位置)的移动等。在一些实施方案中,如果手部处于相对于三维环境中的虚拟对象的位置的物理空间中的相应位置处(例如,物理空间中的用户手部的位置在离与三维环境中的虚拟对象的位置相对应的物理空间中的位置的阈值距离(例如,0.5英寸、1英寸、3英寸、5英寸、1英尺、2英尺等)以内),则该用户输入对应于操纵第一虚拟对象的请求。例如,预先确定的手势(如果在用户手部不在离与虚拟对象相对应的物理空间中的位置的阈值距离以内时执行)不被解释为操纵第一虚拟对象的请求。
在一些实施方案中,在接收到用户输入时(1006),根据确定操纵第一虚拟对象的请求对应于第一操纵类型(例如,用户输入对应于第一操纵类型操作。在一些实施方案中,该设备检测到用户输入对应于与第一操纵类型操作相关联的预先确定的手势或移动。在一些实施方案中,第一操纵类型操作包括缩放操作、旋转操作、移动操作等中的一者或多者),电子设备更新(1008)三维环境以包括与第一虚拟对象并与三维环境中用户的手部的表示在视觉上分开的第一操纵指示,诸如在图9A中响应于旋转圆柱体912的请求而显示操纵球914(例如,基于电子设备的用户的手部的移动而移动的用户界面对象),其中第一操纵指示指示正对第一虚拟对象执行第一操纵类型(例如,显示三维环境中的视觉元素或修改三维环境中的元素的视觉特征以指示将执行或正执行的操纵类型(例如,对应于用户输入的操纵类型))。
手部的表示任选地是真实世界环境中(例如,诸如混合现实环境或增强现实环境中)的用户手部的视图。例如,如果显示生成部件包括半透明或透明显示器,则电子设备能够允许查看包括用户手部的真实世界环境的部分(例如,通过不使用户手部的视图模糊)。在一些实施方案中,手部的表示是基于用户手部的虚拟对象(例如,诸如增强现实环境或虚拟现实环境中的透传视频)。例如,与电子设备通信的手部跟踪设备和/或一个或多个相机能够捕获手部的位置、定位和/或特征,并且经由显示生成部件显示三维环境中的手部的表示(例如,照片级真实表示、漫画、卡通等),该表示任选地反映手部的位置、定位和/或特征。
在一些实施方案中,在正发生该操纵时(例如,在接收到该操纵输入时)显示该视觉元素。在一些实施方案中,还在已发生该操纵之前显示该视觉元素。例如,响应于操纵的意图(例如,响应于在接收到使得该操纵发生的后续用户输入之前用户执行与该操纵操作相对应的初始手势)而显示该视觉元素。在一些实施方案中,该视觉元素不响应于初始手势来显示,而是响应于实际执行的操纵操作来显示(例如,仅在该操纵开始之后显示)。在一些实施方案中,在三维环境中第一虚拟对象和/或用户的一只或多只手附近、周围、旁边等的位置处显示该指示。在一些实施方案中,该指示包括从一只手延伸到另一只手的线条(例如,指示缩放操纵)。在一些实施方案中,该指示包括弯曲(例如,弧线)或圆形元素(例如,指示旋转操纵)。在一些实施方案中,在执行该操纵操作时显示该操纵指示。在一些实施方案中,该操纵指示根据该操纵操作的执行和/或进度来改变(例如,向用户提供如何执行该操纵的指导和/或该操纵的效果)。
上述指示正执行的操纵类型的方式(例如,通过基于操纵操作的类型来在三维环境中显示操纵指示)在操纵虚拟对象时提供了快速且高效的反馈(例如,通过显示与正操纵的虚拟对象分开的指示,从而向用户提供用于监测该操纵的另一个视觉元素),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在接收到用户输入时(1010),根据确定操纵第一虚拟对象的请求对应于与第一操纵类型不同的第二操纵类型,电子设备更新(1012)三维环境以包括指示正对第一虚拟对象执行第二操纵类型的第二操纵指示,其中第二操纵指示与第一虚拟对象并与三维环境中用户的手部的表示在视觉上分开,并且不同于第一操纵指示,诸如在图9C中响应于调整圆柱体912的尺寸的请求而显示调整尺寸指示符932(例如,如果用户输入是执行第二操纵类型的请求,则显示指示将执行或正执行的第二操纵类型的不同操纵指示)。
在一些实施方案中,如果该操纵是旋转操纵,则基于旋转的类型和/或旋转的方向,该设备可显示不同操纵指示。例如,如果在偏航、俯仰或横滚方向上旋转该对象,则显示不同操纵指示。在一些实施方案中,如果该操纵是调整尺寸操纵,则显示调整尺寸操纵指示。
上述指示正执行的操纵类型的方式(例如,通过基于正执行的操纵类型来显示不同操纵指示)提供了正对虚拟对象执行的操纵类型的快速且高效的反馈(例如,通过使用该操纵指示来提供关于正执行的操纵类型的反馈,而不需要用户操纵该对象来确定已选择什么操纵类型),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在三维环境中与第一虚拟对象相关联的位置处显示第一操纵指示(1014),诸如在图9A中围绕圆柱体912显示操纵球914的情况(例如,在该对象处、附近或围绕该对象显示该操纵指示)。例如,该操纵指示是围绕该对象显示的圆,使得遵循该圆的曲率执行旋转输入引起第一虚拟对象以相同方式旋转。在一些实施方案中,该操纵指示的取向基于该操纵的取向。例如,“z”方向上的旋转操纵使得显示在“z”方向上(例如,任选地在恒定x和/或y位置处)延伸的圆。
上述显示操纵指示的方式(例如,在正操纵的虚拟对象附近或围绕该虚拟对象)提供了正操纵哪个对象的快速且高效的反馈(例如,通过在正操纵的对象附近且不在不正操纵的其他对象附近显示该指示,而不需要用户执行操纵来在视觉上确定是否操纵的是正确的对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在三维环境中与用户的手部的表示相关联的位置处显示第一操纵指示(1016),诸如在图9A中的第一只手916-1附近显示(例如,在用户的手部之一处、附近或围绕用户的手部之一显示)的操纵球914。
在一些实施方案中,在三维环境中显示用户的手部的表示。在一些实施方案中,用户输入包括由用户的手部执行的手势并且在执行该手势的手部处、附近或围绕该手部显示该操纵指示。例如,如果用户输入包括由用户的左手作出的捏合手势,并且响应于该捏合手势而显示该操纵指示,则在捏合点的位置处或附近显示该操纵指示(例如,该操纵指示的一部分、该操纵指示的中心等)。在一些实施方案中,在用户的左手附近显示该操纵指示时,用户的右手能够与该操纵指示进行交互以使得第一虚拟对象被操纵。例如,如果该操纵指示是与第一虚拟对象在x-y方向上(例如,在“横滚”取向上)的旋转相对应的“x-y”方向上的圆,则用户能够用右手在该操纵指示上捏合并且在保持该捏合的同时遵循该操纵指示的曲率以圆形方式移动右手,从而使得第一虚拟对象相应地在x-y方向上旋转。
上述显示操纵指示的方式(例如,在手部的表示附近或围绕该表示)提供了操纵该虚拟对象的快速且高效的方法(例如,通过在正用于或将用于执行该对象的操纵的手部附近显示该指示),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,根据确定在接收到用户输入时电子设备的用户的注视指向第一虚拟对象,在三维环境中与第一虚拟对象相关联的位置处显示第一操纵指示(1018),诸如在图9A中注视915指向圆柱体912的情况(例如,如果在接收到使得显示该操纵指示的用户输入时用户的注视指向要操纵的虚拟对象,则在该虚拟对象处、附近或围绕该虚拟对象显示该操纵指示)。
在一些实施方案中,当接收到用户输入时,不在三维环境中显示用户的手部的表示。在一些实施方案中,当接收到用户输入时,用户的注视未指向手部的表示。
在一些实施方案中,根据确定在接收到用户输入时电子设备的用户的注视指向用户的该手部的表示,在三维环境中与用户的该手部的表示相关联的位置处显示第一操纵指示(1020),诸如注视915指向图9A中的第一只手916-1(例如,如果在接收到使得显示该操纵指示的用户输入时用户的注视指向该手部的表示,则在该手部的表示处、附近或围绕该表示显示该操纵指示)。
因此,用户能够指示应在何处显示该操纵指示。例如,如果用户正看向该手部的表示,则有利的是在用户正看向的位置附近显示该操纵指示,但如果用户正看向该虚拟对象,则有利的是在该虚拟对象附近显示该操纵指示。
上述显示操纵指示的方式(例如,如果用户正看向该虚拟对象,则在该虚拟对象附近或围绕该虚拟对象显示,或如果用户正看向手部的表示,则在该手部的表示附近或围绕该表示显示)提供了操纵该虚拟对象的快速且高效的方法(例如,通过在用户正看向的位置附近显示该指示,而不需要用户执行附加输入来移动该操纵指示或将用户的注视转移到三维环境的不同部分),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,第一操纵类型包括第一虚拟对象在三维环境中的移动(1022),诸如图9B中的圆柱体912的旋转(例如,第一操纵类型包括第一虚拟对象的取向的变化,诸如第一虚拟对象的旋转和/或横向移动。
在一些实施方案中,检测与移动第一虚拟对象的请求相对应的用户输入包括检测由用户的手部执行的第一手势以及检测在保持第一手势的同时用户的手部的移动(1024),诸如图9B中第二只手916-2以圆形方式的移动(例如,第一手势对应于操纵该对象的请求并且该手部的移动对应于操纵的类型和/或操纵的量)。
在一些实施方案中,第一手势包括由用户的手部作出的捏合(任选地在该注视指向第一虚拟对象时)和该手部的旋转移动,从而使得第一虚拟对象旋转。例如,如果移动分量是在偏航取向上的旋转,则第一虚拟对象在偏航取向上旋转。在一些实施方案中,如果移动分量包括在多个取向上的旋转,则第一虚拟对象仅在一个取向(任选地具有最大移动的取向)上旋转。在一些实施方案中,如果移动分量包括在多个取向上的旋转,则第一虚拟对象在多个取向上旋转。在一些实施方案中,在三维环境中旋转第一虚拟对象时,显示指示旋转的类型和/或轴线的指示符。例如,如果第一虚拟对象在偏航取向上旋转,则显示指示在偏航方向上的旋转的圆形箭头。在一些实施方案中,如果移动分量是横向移动,则第一虚拟对象在三维环境中在该手部的横向移动的方向上移动。在一些实施方案中,移动的量基于第一虚拟对象离用户的距离,诸如下文相对于方法1400所述。
上述操纵虚拟对象的方式(例如,响应于由用户的手部作出的第一手势以及在保持第一手势的同时该手部的移动)提供了操纵该虚拟对象的快速且高效的方法(例如,根据该手部的移动,而不需要用户执行附加输入来选择要执行的操纵类型),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,第一操纵类型包括三维环境中的第一虚拟对象的调整尺寸(1026),诸如图9C中的圆柱体912的调整尺寸(例如,第一操纵类型包括第一虚拟对象的尺寸的变化(例如,调整第一虚拟对象的尺寸))。
在一些实施方案中,检测与调整第一虚拟对象的尺寸的请求相对应的用户输入包括检测由用户的第一只手执行的第二手势和由用户的第二只手执行的第三手势,以及检测在分别保持第二手势和第三手势的同时第一只手相对于第二只手的移动(1028),诸如在图9C中检测第一只手916-1执行手势D且第二只手执行手势E以及第二只手916-2远离第一只手916-1的移动(例如,由用户的第一只手和第二只手作出的第二手势和第三手势对应于调整该对象的尺寸的请求,并且该手部的移动对应于用于调整该对象的尺寸的量)。
在一些实施方案中,第二手势和第三手势包括由用户的相应手部作出的捏合(任选地在用户的注视指向第一虚拟对象时),并且该手部的移动包括这两个捏合之间的距离变化。例如,使两只手在保持其相应手势的同时移开会使得第一虚拟对象扩大,而使两只手靠得更近会使得第一虚拟对象缩小。在一些实施方案中,在执行调整尺寸时,在这两个捏合位置之间显示线条。在一些实施方案中,该线条是提供关于已调整第一虚拟对象多少尺寸的一个或多个指导的操纵指示。例如,任选地在该线条上显示指示,其指示第一对象的初始尺寸,使得如果手部移动回该距离,则第一对象将在接收到调整尺寸操纵之前恢复其尺寸。在一些实施方案中,响应于接收到由第一只手作出的捏合手势(但在接收到由第二只手作出的捏合手势之前),显示旋转操纵指示符(例如,其任选地包括用于在相应方向上旋转第一虚拟对象的一个或多个弯曲或圆形元素)。在一些实施方案中,如果在第二只手执行捏合手势时第二只手与第一只手相距超过阈值距离(和/或与旋转操纵指示符的元素相距超过阈值距离)(例如,超过1英寸、超过3英寸、超过1英尺等),则将旋转操纵指示符替换为上述调整尺寸指示符(例如,用户输入被解释为调整第一虚拟对象的尺寸的请求而不是旋转第一虚拟对象的请求)。在一些实施方案中,响应于检测到由第二只手作出的捏合手势的松开,如果第一只手保持着捏合手势,则停止显示调整尺寸指示符并且恢复显示旋转操纵指示符。
上述调整虚拟对象的尺寸的方式(例如,响应于由用户的两只手作出的手势以及两只手之间的距离变化)提供了调整虚拟对象的尺寸的快速、高效且直观的方法(例如,根据改变两只手之间的距离的该手部的移动),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,当检测到第二手势和第三手势时,第一只手和第二只手分开相应距离(1030),诸如在图9C中(例如,在两只手之间的距离变化之前首先检测到用户输入时两只手之间的初始距离)。
在一些实施方案中,在接收到与调整第一虚拟对象的尺寸的请求相对应的用户输入时(1032),根据确定第一只手与第二只手之间的当前距离在相应距离的阈值距离以内,诸如图9C中第一只手916-1与第二只手916-2之间的距离接近两只手之间的初始距离(例如,由实心圆点表示)的阈值距离以内(例如,两只手之间的距离与首先检测到用户输入时两只手之间的初始距离相距阈值距离以内(例如,在离接收到用户输入时的初始距离的一定窗口诸如0.5英寸、1英寸、3英寸、6英寸等以内)的情况),电子设备更新(1034)第一虚拟对象以具有与接收到用户输入时的第一虚拟对象的尺寸相对应的尺寸,诸如在图9C中以其初始尺寸显示圆柱体912的情况(例如,在返回用户输入之前将第一虚拟对象的尺寸吸附到其初始尺寸)。因此,该设备提供吸附点以在两只手之间的距离恢复其初始距离(或离其初始距离的阈值距离)时取消调整尺寸操作。
上述使虚拟对象恢复回其初始尺寸的方式(例如,响应于两只手的距离在最初接收到用户输入时两只手之间的初始距离的阈值距离以内)提供了取消虚拟对象的调整尺寸的快速且高效的方法(例如,通过在用户将他或她的手部返回到其初始距离的阈值以内时自动地吸附回其初始尺寸,而不需要用户执行精密调节来使对象的尺寸恢复其初始尺寸),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,第一操纵类型包括在三维环境中旋转第一虚拟对象(1036),诸如图9B中的圆柱体912的旋转。在一些实施方案中,检测与旋转第一虚拟对象的请求相对应的用户输入包括检测由用户的第一只手执行的第一手势和由用户的第二只手执行的第二手势,以及检测分别在保持第一手势和第二手势的同时用户的第二只手相对于用户的第一只手的移动(1038),诸如如图9B所示,检测第一只手916-1执行手势B和第二只手916-2执行手势C以及第二只手916-2以圆形方式的移动(例如,由第一只手执行的捏合手势和由第二只手执行的捏合手势,之后是第二只手围绕三维环境中的相应位置的旋转移动)。
例如,如果第二只手在x-y方向上的空间中以圆形方式沿着弧线移动,则第一虚拟对象在x-y方向上旋转(例如,在“横滚”取向上旋转),并且如果第二只手在y-z方向上沿着弧线移动,则第一虚拟对象在y-z方向上旋转(例如,在“俯仰”取向上旋转)。在一些实施方案中,当第二只手在离相应操纵指示符的阈值距离以内时,由第二只手执行捏合手势。例如,如果第一操纵指示包括与三个不同旋转取向相对应的多个操纵元素,那么如果第二只手在与“横滚”取向相关联的操纵元素的阈值距离以内,则在第二只手执行捏合手势时选择“横滚”旋转并且沿着x-y方向的移动使得第一虚拟对象在横滚取向上旋转。在一些实施方案中,如果在第二只手与相应操纵指示符相距超过阈值距离时由第二只手执行捏合手势,则不选择任何旋转操纵,而是选择调整尺寸操纵操作,如上所述(例如,显示调整尺寸操纵指示)。
上述旋转虚拟对象的方式(例如,响应于由用户的两只手作出的手势,之后是用户的手部之一的旋转移动)提供了旋转虚拟对象的快速、高效且直观的方法(例如,通过基于用户的手部的移动的量和取向来按一定量和方向旋转虚拟对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在接收到用户输入时(1040),根据确定用户输入包括手部的移动,电子设备根据手部的移动来移动(1042)第一虚拟对象,诸如图13A至图13B中的圆柱体1308的移动(例如,在执行一个或多个手势时,检测用户的手部的移动)。在一些实施方案中,手部的移动是物理空间中的横向移动(例如,基本上直线的、在x、y和/或z方向上)。在一些实施方案中,响应于手部的移动,并且根据确定该移动是横向移动,基于手部的移动来按一定量和方向移动第一虚拟对象。例如,如果手部向右移动,则第一虚拟对象向右移动。在一些实施方案中,移动的量取决于对象离用户的距离,诸如下文相对于方法1400所述。
在一些实施方案中,根据确定用户输入包括手部的旋转,电子设备根据手部的旋转来旋转(1044)第一虚拟对象,该手部的旋转诸如为图9B中第二只手916-2以旋转方式围绕操纵球914的移动(例如,在执行一个或多个手势时,检测手部的取向的变化,诸如手部的旋转)。
在一些实施方案中,响应于检测到手部的旋转,第一虚拟对象根据手部的旋转来旋转。例如,如果手部逆时针旋转,则第一虚拟对象也逆时针旋转。在一些实施方案中,如果例如用户的手部正执行横向移动以及旋转,则执行第一虚拟对象的旋转,同时还移动第一虚拟对象。在一些实施方案中,第一虚拟对象一次锁定到一种操纵类型,因此第一虚拟对象基于手部的初始移动是横向移动还是旋转移动或者横向移动还是旋转移动为手部的移动的较大分量来移动或旋转。在一些实施方案中,如果用户输入是第一虚拟对象的直接操纵,则第一虚拟对象能够同时执行移动和旋转。例如,如果在接收到该手势时用户的手部与第一虚拟对象的至少一部分相交(或在第一虚拟对象的一部分的阈值距离诸如1英寸、3英寸、6英寸等以内)。
上述移动和旋转虚拟对象的方式(例如,分别响应于用户的手部移动和/或旋转)提供了移动和旋转虚拟对象的快速、高效且直观的方法(例如,通过在手部的取向旋转时旋转虚拟对象,并且在手部在物理空间中移动时移动虚拟对象,而不需要用户执行附加输入并且在旋转或移动操纵之间选择),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,用户输入包括第一部分,之后是第二部分,该第一部分包括诸如图9A中定位在与第一操纵类型相对应的一个或多个位置处的用户的一只或多只手(例如,用户输入包括用左手捏合,以及在保持该捏合的同时,右手接近离左手的阈值距离(例如,3英寸、6英寸、1英尺、2英尺、3英尺等)以内),该第二部分包括诸如图9B中来自用户的一只或多只手的附加输入以用于根据附加输入来操纵第一虚拟对象(1046)(例如,在两只手在阈值距离以内时,检测到用右手捏合,之后是右手的移动)。
在一些实施方案中,响应于用户输入的第一部分和第二部分而显示第一操纵指示。在一些实施方案中,响应于用户输入的第一部分而显示第一操纵指示。
在一些实施方案中,响应于检测到用户输入的第一部分而发生更新三维环境以包括第一操纵指示(1048),诸如显示图9A中的操纵球914(例如,响应于用户输入的第一部分而显示第一操纵指示)。在一些实施方案中,在显示第一操纵指示时并且在接收到用户输入的第二部分时,根据用户输入的第二部分来操纵第一虚拟对象。在一些实施方案中,响应于用户输入的第二部分,更新第一操纵指示以指示正执行的操纵类型和/或在对第一虚拟对象执行该操纵操作时提供反馈。在一些实施方案中,操纵的类型和/或操纵的量取决于用户与第一操纵指示的一部分的交互。
上述指示正执行的操纵类型的方式(例如,通过在执行该操纵之前响应于与操纵虚拟对象的请求相对应的用户输入的第一部分而显示操纵指示)在发生该操纵之前提供了要执行的操纵类型的快速且高效的反馈(例如,通过在发生该操纵之前显示指示,而不需要用户执行附加输入并且操纵该对象来确定已选择什么操纵类型),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,用户输入包括第一部分,之后是第二部分,该第一部分包括诸如图9A中定位在与第一操纵类型相对应的一个或多个位置处的用户的一只或多只手(例如,用户输入包括用左手捏合,以及在保持该捏合的同时,右手接近离左手的阈值距离(例如,3英寸、6英寸、1英尺、2英尺、3英尺等)以内),该第二部分包括诸如图9B中来自用户的一只或多只手的附加输入以用于根据附加输入来操纵第一虚拟对象(1050)(例如,在两只手在阈值距离以内时,检测到用右手捏合,之后是右手的移动)。
在一些实施方案中,响应于用户输入的第一部分和第二部分而显示第一操纵指示。在一些实施方案中,响应于用户输入的第一部分而显示第一操纵指示。在一些实施方案中,该输入的第二部分包括由右手作出的捏合并且响应于由右手作出的捏合而显示第一操纵指示。在一些实施方案中,该输入的第二部分包括由右手作出的捏合,之后是右手的移动,并且响应于由右手作出的捏合和移动而显示第一操纵指示。
在一些实施方案中,响应于检测到用户输入的第二部分而发生更新三维环境以包括第一操纵指示(1052),诸如在视觉上区分图9B中的圆形元素914-1(例如,响应于用户输入的第二部分而显示第一操纵指示)。在一些实施方案中,第一操纵指示指示正执行的操纵的类型和/或正执行的操纵的量。例如,如果该操纵是第一虚拟对象的旋转,则该操纵指示是圆,其包括沿着圆的曲线行进的指示符以指示用户输入的当前位置以及将如何旋转第一虚拟对象。在一些实施方案中,该圆被取向成与该旋转相同的取向(例如,如果该对象正在x-y方向上旋转,则该圆在x-y方向上延伸等)。
上述显示操纵的指示的方式(例如,在接收到用于执行该操纵的输入时并且在正操纵虚拟对象时)在正发生该操纵时提供了该操纵的快速且高效的反馈(例如,通过在操纵期间显示指示,从而向用户提供关于正执行的操纵类型、正执行或已执行多少操纵以及如何继续执行该操纵的反馈),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在接收到用户输入时(1054),电子设备在指示正执行的第一操纵类型的特征并对应于用户的手部的位置的第一操纵指示上的位置处显示(1056)输入元素,诸如图9B中的选择指示符918(例如,在与用户正与之进行交互的第一操纵指示的位置相对应的第一操纵指示上显示指示符)。
例如,如果用户的该手部接近第一操纵指示的一部分,则离该手部最近的第一操纵指示的部分包括该指示符。在一些实施方案中,如果用户的该手部执行相应手势诸如捏合手势,则更新该指示以指示用户已选择要对第一虚拟对象执行的相应操纵类型。在一些实施方案中,当该手部环绕着移动时和/或当该手部遵循第一操纵指示的曲率时(例如,如果第一操纵指示是圆),第一操纵指示上的指示符沿着第一操纵指示的边界跟随该手部的移动而移动。因此,在一些实施方案中,该指示符指示第一操纵指示上与用户的该手部的位置相对应的位置(例如,该指示符是第一操纵指示上显示的该手部的位置的代理)并且用户能够通过沿着第一操纵指示的曲率移动来使得该指示符沿着第一操纵指示移动。在一些实施方案中,只有在用户输入是间接操纵输入时(例如,在该手部的表示不在第一虚拟对象附近,不在第一虚拟对象的位置处,或与第一虚拟对象相距超过阈值距离诸如3英寸、6英寸、1英尺、3英尺等时),才响应于用户输入而显示第一操纵指示。
上述显示操纵的指示的方式(例如,在第一操纵指示上显示指示用户的该手部的对应选择位置的输入元素)提供了用户正在正确地执行操纵的快速且高效的反馈(例如,通过在操纵指示自身上显示输入元素,而不需要用户执行附加输入来确定用户是否正执行正确手势以操纵虚拟对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,根据确定用户的该手部正执行第一手势,输入元素具有第一视觉外观(1058),诸如图9B中选择指示符918具有未选定的外观(例如,在第一操纵指示上显示输入元素时,如果用户的该手部正执行捏合或选择手势,则输入元素以第一视觉外观显示,这指示用户已执行选择手势)。例如,与用户未执行第一手势时相比,输入元素显示得更小、更大和/或以不同颜色显示。因此,在用户的该手部正执行第一手势时,输入元素指示正执行什么操纵(例如,通过在与操纵类型相关联的第一操纵指示的部分上显示)以及正如何执行该操纵(例如,通过基于该操纵的量和该手部的移动的量来沿着第一操纵指示的部分移动)。
在一些实施方案中,根据确定用户的该手部未执行第一手势,输入元素具有与第一视觉外观不同的第二视觉外观(1060),诸如图9B中选择指示符918具有选定的外观(例如,在第一操纵指示上显示输入元素时,如果用户的手部未执行捏合或选择手势,则输入元素以第二视觉外观显示,这指示用户未执行选择手势)。例如,与用户正执行第一手势时相比,输入元素显示得更小、更大和/或以不同颜色显示。因此,在用户的手部未执行第一手势时,输入元素指示将执行哪个操纵(例如,通过在与相应操纵类型相关联的第一操纵指示的部分上显示)以及选择后将如何执行该操纵(例如,通过沿着指示执行相应操纵所需的该手部的移动的第一操纵指示的部分移动)。
上述显示操纵的指示的方式(例如,在用户正执行手势时在第一操纵指示上显示改变视觉外观的输入元素)提供了用户正在正确地执行操纵的快速且高效的反馈(例如,通过在用户正适当地执行该手势以执行该操纵时改变输入元素的视觉特征,而不需要用户执行附加输入来确定用户是否正执行正确手势以操纵虚拟对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,响应于检测到由用户的该手部作出的第一手势的终止(例如,用户不再保持由该手部作出的捏合手势),电子设备使输入元素远离指示正执行的第一操纵类型的特征的第一操纵指示上的位置移动(1062)到与用户的该手部相对于第一虚拟对象的当前位置相对应的三维环境中的位置,诸如在图9B中选择指示符918移动到第二只手916-2的潜在捏合位置的情况(例如,使输入元素(例如,选择点指示符)脱离第一操纵指示并且将输入元素重新定位在与用户的该手部相关联的位置处)。
在一些实施方案中,输入元素位于用户的该手部的拇指和食指之间(例如,在拇指和食指正执行捏合时捏合的位置)。在一些实施方案中,显示将输入元素从第一操纵指示上的位置移动到该手部的位置的动画。因此,在一些实施方案中,输入元素指示用户尚未与第一操纵指示进行交互和/或用户的该手部与第一操纵指示相距远于阈值距离,因此选择输入不会引起第一操纵指示的选择。
上述将选择点指示符从操纵指示符移动到该手部的表示的方式(例如,响应于检测到选择输入的终止)提供了用户不再执行操纵所需的手势的快速且高效的反馈(例如,通过将指示用户的选择的输入元素从操纵指示符移动到该手部的表示以指示用户不再执行操纵操作的选择,而不需要用户执行附加输入来确定用户是否正执行正确手势以操纵虚拟对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在第一虚拟对象位于与对应于用户的三维环境中的相应位置相距第一距离的三维环境中的第一位置处时(例如,在第一虚拟对象处于三维环境中的第一位置并且在第一虚拟对象处、围绕第一虚拟对象或在第一虚拟对象附近显示操纵指示时),电子设备将第一虚拟对象移动(1064)到与三维环境中的相应位置相距不同于第一距离的第二距离的三维环境中的第二位置,诸如在图9A中围绕圆柱体912显示操纵球914并且圆柱体912移动到离用户更远的地方的情况(例如,将第一虚拟对象移动到与用户相距第二距离的第二位置,诸如响应于移动第一虚拟对象的用户输入或检测到用户已移动到离第一虚拟对象更远的地方)。在一些实施方案中,第一虚拟对象移动的量取决于第一虚拟对象离用户的距离,如下文相对于方法1400所述。
在一些实施方案中,响应于将第一虚拟对象移动到三维环境中的第二位置(1066),电子设备根据将第一虚拟对象移动到第二位置来将第一虚拟对象的尺寸改变(1068)第一量,诸如在图9A中圆柱体912的尺寸因移动到离用户更远的地方而改变的情况(例如,以与第一虚拟对象离用户的距离变化成比例的方式改变第一虚拟对象的尺寸(例如,因透视效果而改变第一虚拟对象的显示尺寸))。
在一些实施方案中,电子设备改变(1070)第一操纵指示相对于第一虚拟对象的相对尺寸,诸如在操纵球914的尺寸未改变与操纵球914的尺寸变化相同的成比例的量的情况(例如,在第一虚拟对象在三维环境中移动(例如,移动得更近、更远或横向地移动)时,第一操纵指示保持其相对于第一虚拟对象的位置(例如,根据第一虚拟对象的移动来移动))。
在一些实施方案中,第一操纵指示的尺寸改变了不与第一虚拟对象改变的量成比例的量(例如,小于或大于第一虚拟对象的尺寸的变化,即使第一操纵指示在三维环境中根据第一虚拟对象的移动来移动)。在一些实施方案中,当第一虚拟对象移动到离用户更远的地方时,第一操纵指示的尺寸的变化小于第一虚拟对象的尺寸的变化。在一些实施方案中,第一操纵指示的尺寸不与第一虚拟对象成比例地减小以保持第一操纵指示的可见度。例如,如果第一虚拟对象离用户五英尺远并以第一尺寸显示并且第一操纵指示围绕第一虚拟对象显示,然后第一虚拟对象移动到离用户十英尺远并以其初始尺寸的一半显示(例如,由于距离是原来的两倍),则第一操纵指示与第一虚拟对象一起移动以保持围绕第一虚拟对象显示,但并非将其尺寸减半(例如,正如该距离变化原本这样建议),而是第一操纵指示不减小尺寸或仅将尺寸减小10%(例如,以保持第一操纵指示的可见度)。在一些实施方案中,在小于第一阈值距离(例如,小于1英尺、3英尺、5英尺、10英尺等)处,第一操纵指示将尺寸改变与第一虚拟对象相同的成比例的变化量。在一些实施方案中,在大于阈值距离(例如,超过5英尺、10英尺、20英尺、30英尺等)的距离处,第一操纵指示的尺寸是固定的并且不会响应于第一虚拟对象改变尺寸和/或距离而改变。
上述显示操纵指示的方式(例如,在第一虚拟对象处或附近显示该指示时、响应于第一虚拟对象移动到离用户更远或更近的地方并作为响应而改变尺寸、以与第一虚拟对象的尺寸的变化不成比例的方式改变操纵指示的尺寸)提供了虚拟对象的操纵的快速且高效的指示(例如,通过不成比例地减小操纵指示的尺寸以保持操纵指示的可见度,而不需要用户执行附加输入来将虚拟对象移动到离用户更近的地方),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,检测与操纵第一虚拟对象的请求相对应的用户输入包括检测由用户的该手部执行的指向第一操纵指示的相应位置的第一手势(例如,在显示第一操纵指示时,接收到由用户的该手部作出的捏合第一操纵指示的一部分的捏合手势),以及在保持第一手势的同时用户的该手部的移动以根据用户的该手部的移动和第一操纵指示的相应位置来操纵第一虚拟对象(1072),诸如如图9B所示,捏合在相应圆形元素处或附近(例如,在捏合(例如,选择)相应圆形元素(或相应弯曲元素)时该手部的移动使得虚拟对象基于该手部的移动来在相应取向上旋转)。
在一些实施方案中,第一操纵指示包括与不同操纵类型相对应的一个或多个部分。例如,第一操纵指示包括三个圆形元素(或弯曲元素),每个元素对应于不同旋转取向(例如,俯仰、横滚和偏航),并且与相应圆形元素(或相应弯曲元素)进行交互会对第一虚拟对象执行相应旋转。
在一些实施方案中,该手部在圆形元素(或弯曲元素)的方向上的旋转移动使得虚拟对象旋转与围绕圆形元素(或弯曲元素)的旋转量成比例的量。例如,如果该手部围绕圆形元素(或弯曲元素)移动90度,则虚拟元素旋转90度。
上述操纵虚拟对象的方式(例如,响应于指向操纵位置的一部分的手势以及在保持该手势的同时该手部的移动)提供了操纵虚拟对象的快速且高效的方法(例如,通过基于选择了操纵指示的哪个部分和该手部的移动的量来旋转虚拟对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在接收到用户输入时(1074),根据确定操纵第一虚拟对象的请求对应于移动第一虚拟对象的请求(1076)(例如,将第一虚拟对象移动到三维环境中的不同位置的请求),电子设备根据用户输入来移动(1078)第一虚拟对象,诸如图13A至图13B中(例如,在三维环境中移动第一虚拟对象)。在一些实施方案中,用户输入包括移动分量并且第一虚拟对象根据用户输入的移动分量来移动。
在一些实施方案中,根据确定第一虚拟对象与三维环境中的和第二(例如,虚拟)对象相关联的第一预先确定的位置相距小于阈值距离,电子设备将第一虚拟对象移动(1080)到第一预先确定的位置,诸如在图13B中将圆柱体1308吸附到与目标1314相关联的吸附位置(例如,如果第一虚拟对象移动到与预先确定的吸附位置相距小于阈值距离(例如,1英寸、3英寸、6英寸、1英尺等)的位置,则将第一虚拟对象吸附到预先确定的吸附位置)。在一些实施方案中,预先确定的吸附位置是另一个对象(例如,虚拟或真实)的一部分、另一个对象的表面、墙壁的表面、地板等。
上述移动虚拟对象的方式(例如,通过在该对象靠近另一个对象的阈值距离以内时将虚拟对象吸附到三维环境中的特定位置)提供了移动虚拟对象的快速且高效的方法(例如,通过自动地将虚拟对象与另一个对象对准,而不需要用户执行附加输入来完美地定位虚拟对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,第一操纵类型包括旋转第一虚拟对象,并且第一操纵指示包括与第一虚拟对象的多个不同类型的旋转相关联的多个操纵元素(1082),诸如在图9A中操纵球914-1包括与不同旋转取向相关联的多个圆形元素(例如,第一操纵指示包括与不同操纵类型相对应的多个元素)。例如,第一操纵指示包括一组三个圆形元素(或弯曲元素),每个元素对应于不同旋转取向(例如,俯仰、偏航和横滚旋转)。在一些实施方案中,与相应圆形元素(或相应弯曲元素)进行交互会使得第一虚拟对象在对应取向上旋转(并且任选地在选择相应圆形元素时第一虚拟对象不会在其他取向上旋转)。
上述旋转虚拟对象的方式(例如,通过显示与不同类型的旋转相关联的多个操纵元素)提供了旋转虚拟对象的快速且高效的方法(例如,通过向用户提供用于执行不同类型的旋转的多个元素,而不需要用户执行附加输入来改变要对第一虚拟对象执行的旋转类型),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在显示包括多个操纵元素的第一操纵指示时(1084),根据确定用户的该手部相对于与第一虚拟对象的第一旋转类型相对应的多个操纵元素中的第一操纵元素处于相应相对位置,电子设备将多个操纵元素中的第一操纵元素与多个操纵元素中的其他操纵元素在视觉上区分开(1086),诸如图9B中相应圆形元素的突出显示(例如,如果该手部的表示在相应操纵元素的阈值距离以内(例如,在1英寸、3英寸、6英寸、1英尺、3英尺等以内)(并且任选地不离另一个操纵元素更近),则突出显示相应操纵元素,改变相应操纵元素的颜色,或以其他方式将相应操纵元素与其他操纵元素在视觉上区分开)。
在一些实施方案中,在将第一操纵元素显示为与其他操纵元素在视觉上区分开时,电子设备检测(1088)由用户的该手部执行的相应手势,之后是在保持相应手势的同时该手部的移动,诸如在图9B中检测由第二只手916-2执行的手势C以及第二只手916-2围绕操纵球914旋转的移动(例如,检测由用户的该手部作出的捏合手势,之后是该手部的移动)。在一些实施方案中,在第一操纵元素在视觉上区分开时的捏合手势对应于第一操纵元素的选择以及执行与第一操纵元素相关联的操纵的请求。
在一些实施方案中,响应于检测到由用户的该手部执行的相应手势,之后是在保持相应手势的同时该手部的移动,电子设备根据该手部的移动来对第一虚拟对象执行(1090)第一旋转类型,诸如图9B中的圆柱体912的旋转(例如,执行与第一操纵元素相关联的旋转类型。例如,如果该手部离(例如,“横滚”、“俯仰”和“偏航”操纵元素中的)“横滚”操纵元素最近,则捏合手势引起“横滚”操纵的选择,并且该手部的移动使得虚拟对象在“横滚”取向上旋转)。
在一些实施方案中,旋转的量(例如,量值)、旋转的方向和/或旋转的速度基于用户的该手部的移动。例如,如果用户的该手部的移动围绕第一操纵元素顺时针旋转,则第一虚拟对象顺时针旋转。在一些实施方案中,如果该手部的移动旋转90度,则第一虚拟对象在相应方向上(例如,基于该手部的旋转方向如何来顺时针或逆时针)旋转90度。在一些实施方案中,如果该手部的移动的速度为每秒45度,则第一虚拟对象以每秒45度旋转。
上述旋转虚拟对象的方式(例如,通过将被选择的操纵元素在视觉上区分开并且根据该手部基于所选择的操纵元素的移动来旋转虚拟对象)提供了旋转虚拟对象的快速且高效的方法(例如,通过向用户提供用于执行不同类型的旋转的多个元素并且执行在由用户的该手部执行相应手势时突出显示的旋转类型,而不需要用户执行附加输入来选择要对第一虚拟对象执行的旋转类型),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在显示第一操纵指示时,电子设备检测(1092)到用户的该手部已远离第一操纵指示移动超过阈值距离,诸如在图9B中第二只手916-2移动到离操纵球914远于阈值距离的地方的情况(例如,用户的手部已远离第一操纵指示移动阈值量(例如,6英寸、1英尺、3英尺、5英尺等),任选地同时不执行第一手势)。
在一些实施方案中,响应于检测到用户的该手部已远离第一操纵指示移动超过阈值距离,电子设备停止(1094)显示第一操纵指示,诸如停止显示图9B中的操纵球914。在一些实施方案中,响应于检测到用户的第一只手正执行第一手势并且第二只手在第一只手的阈值距离以内,显示第一操纵指示。因此,在一些实施方案中,如果第一只手不再执行第一手势和/或如果第二只手不再在第一只手的阈值距离以内,则不再显示第一操纵指示。在一些实施方案中,如果用户正与第一操纵指示进行交互(例如,保持捏合手势)并且将该手部移动到远于阈值距离的地方,则第一操纵指示继续显示并且该手部的相应移动继续与第一操纵指示进行交互以使得对第一虚拟对象执行相应操纵。
上述停止显示操纵指示的方式(例如,响应于检测到用户的该手部已远离操纵指示移动)提供了在不太可能使用操纵指示时将操纵指示从显示中移除的快速且高效的方法(例如,在用户的该手部与操纵指示相距超过阈值距离时,而不需要用户执行附加输入来手动地从远处移除操纵指示),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,用户输入包括由用户的该手部执行的第一手势,之后是用户的该手部的移动(1096),诸如在图9B中第二只手916-2执行手势C。在一些实施方案中,在显示第一操纵指示时(1098),电子设备检测(1099)到用户的该手部已远离第一操纵指示移动超过阈值距离,诸如在图9B中第二只手916-2远离操纵球914移动超过阈值距离的情况(例如,用户的该手部已远离第一操纵指示移动阈值量(例如,6英寸、1英尺、3英尺、5英尺等))。
在一些实施方案中,响应于检测到用户的该手部已远离第一操纵指示移动超过阈值距离(1097),根据确定用户的该手部正保持第一手势,电子设备保持(1095)显示第一操纵指示,诸如如果在图9B中第二只手916-2在远离操纵球914移动超过阈值距离的同时保持手势C,则保持显示操纵球914(例如,如果用户的该手部正保持第一手势,则第一操纵指示是活动的(例如,仍被选择)并且正执行或将执行操纵)。
在一些实施方案中,如果用户的手部正保持第一手势,则该手部的移动使得对第一虚拟对象执行操纵。例如,如果用户正执行调整尺寸操纵,如果用户的该手部远离第一操纵指示移动超过阈值距离,则第一对象放大(例如,调整尺寸到更大尺寸),同时保持显示操纵指示。又如,如果用户正执行旋转操纵,如果用户的该手部远离第一操纵指示移动超过阈值距离,则旋转操纵仍为活动的并且用户能够以圆形运动方式移动该手部以使得第一虚拟对象旋转。
在一些实施方案中,根据确定用户的该手部未保持第一手势,电子设备停止(1093)显示第一操纵指示,诸如如果在图9B中第二只手916-2在远离操纵球914移动超过阈值距离的同时未保持手势C,则停止显示操纵球914(例如,如果用户的该手部未执行第一手势,则不执行操纵,因此停止显示第一操纵指示并且不对第一虚拟对象执行操纵)。
上述停止显示操纵指示的方式(例如,响应于检测到在用户的该手部未执行第一手势时该手部已远离操纵指示移动,但在执行第一手势时保持显示操纵指示)提供了提供操纵指示的快速且高效的方法(例如,在用户的该手部主动执行操纵时保持显示操纵指示,但在该手部未主动执行操纵时不保持显示操纵指示,而不需要用户执行附加输入来手动地从远处移除操纵指示),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在操纵第一虚拟对象时(1091),根据确定满足一个或多个对象操纵标准,包括在第一虚拟对象的当前操纵状态在第一虚拟对象的预先确定的操纵状态的操纵阈值以内时满足的标准,电子设备使得(1089)生成与对象操纵标准的满足相对应的触觉输出,诸如如果图9B中的圆柱体912的旋转和/或图9C中的圆柱体912的调整尺寸达到和/或接近预先确定的吸附点,则生成触觉输出以指示圆柱体912已吸附到特定旋转或尺寸(例如,在满足对象操纵标准时生成触觉输出)。
在一些实施方案中,在第一虚拟对象的操纵吸附到相应吸附位置中时满足一个或多个对象操纵标准。例如,如果该操纵是旋转输入,那么如果第一虚拟对象的旋转与预设旋转间隔(例如,每15度、30度、45度、90度、180度等)的偏差在阈值角度以内,则第一虚拟对象吸附到预设旋转,并且生成触觉输出。又如,如果该操纵是移动操纵,那么如果第一虚拟对象在离相应对象或表面的阈值距离以内,则第一虚拟对象吸附到相应对象或表面,并且生成触觉输出。在一些实施方案中,该设备向指向设备传达满足一个或多个对象操纵标准,并且作为响应,指向设备生成触觉输出。在一些实施方案中,该设备将命令传输到指向设备以生成触觉输出。
上述生成触觉输出的方式(例如,在第一虚拟输出的操纵吸附到相应操纵量值时)提供了提供该操纵已到达相应位置的反馈的快速且高效的方法(例如,通过在第一虚拟对象吸附到特定操纵量时生成触觉输出,而不需要用户在视觉上确定该对象是否已吸附到特定操纵量),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在一个或多个输入设备的外部输入设备处生成触觉输出(1087),诸如在由用户的手部握持的触笔处生成触觉输出,诸如图7A中(例如,在电子设备的外部并与电子设备通信的输入设备处生成触觉输出)。在一些实施方案中,输入设备是由用户的手部握持的触笔设备,并且在触笔设备处,任选地在执行用户输入(例如,食指接触触笔)的位置处生成触觉输出。在一些实施方案中,用户输入包括用户与触笔进行交互。例如,选择输入包括检测触笔上的轻击并保持手势,并且检测用户输入的终止包括检测手指从触笔抬起。在一些实施方案中,如果用户正使用触笔进行用户输入,则该设备使用触笔的尖端的位置而不是该手部的位置和/或捏合手势的位置。
上述生成触觉输出的方式(例如,在电子设备的外部的输入设备处)提供了向用户提供反馈的快速且高效的方法(例如,通过在用户正用来执行输入的输入设备处生成触觉输出),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在接收到用户输入之前,电子设备在三维环境中在与用户的第二只手的表示相关联的位置处显示(1085)第一用户界面元素,其中第一用户界面元素与向三维环境添加内容相关联,诸如在第二只手916-2的潜在捏合位置处显示与图9B中的选择指示符918类似的指示符(例如,在与用户的第二只手的表示相关联的位置处显示绘图指示符)。
在一些实施方案中,绘图指示符是在第二只手的表示的拇指与食指之间的位置处(例如,在第二只手要捏合拇指和食指时在捏合的位置、与捏合相关联的位置或相对于捏合的位置的预先确定的位置,诸如在捏合的位置前方一英寸、两英寸、六英寸等)显示的弯曲(例如,弧线)或圆形元素。在一些实施方案中,响应于检测到由用户的第二只手作出的捏合手势,该设备进入绘图模式,在该绘图模式下,当第二只手的表示围绕三维环境(例如,根据第二只手的移动)移动时,将内容绘制(例如,插入)在三维环境中捏合的位置处。
上述在三维环境中绘图的方式(例如,通过在第二只手的表示处显示绘图指示符,使得当用户执行捏合手势时,用户能够在三维环境中绘图)提供了指示绘制的内容将被插入的位置的快速且高效的方法(例如,通过在用户执行捏合手势时在绘制的内容将被插入的位置处显示绘图指示符,而不需要用户执行附加输入来确定绘制的内容将被插入在何处),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,响应于接收到用户输入,电子设备停止(1083)显示第一用户界面元素(例如,响应于用于操纵虚拟对象的用户输入,停止显示绘图指示符)。在一些实施方案中,当不再显示绘图指示符时,用户的该手部的移动引起虚拟对象的操纵。在一些实施方案中,在检测到用户输入的终止时,重新显示第一用户界面元素并且该设备进入内容输入模式(例如,而不是对象操纵模式),使得选择输入、之后是用户的该手部的移动使内容添加到三维环境(例如,用户能够“绘制”到三维环境中)。
上述停止显示绘图指示符的方式(例如,响应于用户正对虚拟对象执行操纵并且在用户正对虚拟对象执行操纵时)提供了在该设备未处于插入绘制的内容的状态时移除绘图指示符的快速且高效的方法(例如,在用户因操纵虚拟对象而不能够绘制内容时自动地移除绘图指示符的显示,而不需要附加输入来手动地禁用绘图指示符的显示),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,第一操纵类型包括三维环境中的第一虚拟对象的调整尺寸(1081),诸如图9C中。在一些实施方案中,检测与调整第一虚拟对象的尺寸的请求相对应的用户输入包括检测由用户的第一只手执行的第一手势和由用户的第二只手执行的第二手势,以及检测在分别保持第一手势和第二手势的同时第一只手相对于第二只手的移动(1079),诸如图9C中(例如,用于调整第一虚拟对象的尺寸的用户输入包括使用用户的两只手执行捏合手势,并且移动两只手,使得两个捏合之间的距离增加或减小(例如,以分别使得第一虚拟对象放大或缩小)。在一些实施方案中,当检测到第一手势和第二手势时,第一只手和第二只手分开相应距离(1077),诸如图9C中(例如,当最初由两只手执行捏合时,两个捏合之间的距离是相应距离)。
在一些实施方案中,在接收到用户输入时,电子设备检测(1075)第一只手相对于第二只手的相应移动量,诸如图9C中第二只手916-2远离第一只手916-1的移动(例如,由一只或两只手进行的移动,使得两只手之间的距离改变(例如,两只手的捏合位置之间的距离改变)相应量)。
在一些实施方案中,响应于检测到第一只手相对于第二只手的相应移动量(1073),根据确定相应距离是第一距离,电子设备根据第一只手相对于第二只手的相应移动量来对第一虚拟对象调整尺寸(1071)达第一量,诸如图9C中(例如,如果两个捏合位置之间的初始距离是第一距离,则对第一虚拟对象调整尺寸达第一量),并且根据确定相应距离是与第一距离不同的第二距离,电子设备根据第一只手相对于第二只手的相应移动量来对第一虚拟对象调整尺寸(1069)达与第一量不同的第二量(例如,如果两个捏合位置之间的初始距离是第二距离,则对第一虚拟对象调整尺寸达第二量)。
因此,对第一虚拟对象调整尺寸的量和/或速度基于两只手的捏合位置之间的初始距离和捏合位置之间的距离变化中的一者或两者。在一些实施方案中,对第一虚拟对象调整尺寸的量基于两只手之间的距离的成比例变化量。在一些实施方案中,如果两只手之间的距离是第一距离,则响应于两只手之间的距离改变第一量,对第一虚拟对象调整尺寸达第一量,但如果两只手之间的距离是第二距离,则响应于两只手之间的距离的相同变化(例如,改变第一量),对第一虚拟对象调整尺寸达第二不同量。在一些实施方案中,如果两只手之间的初始距离较小且该距离增加一定量,则对该对象调整尺寸(例如,增加)达比两只手之间的距离较大且该距离增加相同量时更多的量。例如,由于在两只手之间的初始距离较小时变化量是更大百分比,因此调整尺寸的量比两只手之间的初始距离较小时更大。例如,如果两只手之间的初始距离为1英尺并且距离变化为1英尺(例如,使得最终距离为2英尺),那么由于距离变化为100%增加,因此第一虚拟对象的尺寸增加100%(例如,尺寸变为两倍)。又如,如果两只手之间的初始距离为2英尺并且距离变化为一英尺,那么由于距离变化为50%增加,因此第一虚拟对象的尺寸增加50%(例如,即使距离变化是与先前示例中相同的1英尺)。在一些实施方案中,如果两只手之间的初始距离较小且该距离减小一定量,则对该对象调整尺寸(例如,减小)达比两只手之间的距离较大且该距离减小相同量时更多的量。例如,由于在两只手之间的初始距离较小时变化量是更大百分比,因此调整尺寸的量比两只手之间的初始距离较小时更大。在一些实施方案中,如果两只手之间的初始距离较小且该距离增加一定量,则对该对象调整尺寸达比两只手之间的距离较大且该距离增加相同量时更小的量(例如,与上述相反)。在一些实施方案中,对第一虚拟对象调整尺寸的速度基于两只手之间的距离变化的速度。例如,在一些实施方案中,在两只手之间的距离变化的同时(例如,在相同时间或在两只手的距离变化之后的阈值时间诸如0.5秒、1秒、3秒、5秒等以内)对第一虚拟对象调整尺寸,并且当手部之间的距离改变时,相应地对第一虚拟对象调整尺寸。因此,在一些实施方案中,如果两只手之间的距离快速改变,则快速对第一虚拟对象调整尺寸,并且如果两只手之间的距离缓慢改变,则缓慢对第一虚拟对象调整尺寸等。
上述对虚拟对象调整尺寸的方式(例如,基于用户的两只手之间的初始距离和用户的两只手之间的距离变化来按一定量调整尺寸)提供了对虚拟对象调整尺寸的快速且高效的方法(例如,基于用户的两只手之间的距离的成比例增加或减小量,而不需要用户执行附加输入来改变调整尺寸的尺度),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,基于用户的该手部的预定义的部分的相应位置来定义第一操纵类型的参考点(例如,在相对于用户的左手的预定义的位置处设定相应操纵参考点),并且第一操纵类型的量基于用户的第二只手相对于第一操纵类型的参考点的距离(1067),诸如在图9B中参考点位于第一只手916-1的捏合点处的情况(例如,操纵量基于右手离用于操纵的参考点的距离)。
在一些实施方案中,参考点是三维环境中由用户的第一只手执行的捏合手势的捏合点的当前位置。在一些实施方案中,参考点是用户的左手和右手的捏合手势之间的位置。例如,如果用户正执行调整尺寸操纵操作并且右手与参考点之间的距离为3英寸,并且右手远离参考点移动3英寸,则在一些实施方案中,第一虚拟对象的尺寸变为两倍(例如,距离变为两倍),但如果右手移动6英寸远,则第一虚拟对象的尺寸变为三倍(例如,距离变为三倍)。又如,如果右手靠近参考点移动1.5英寸(例如,距离减半),则第一虚拟对象的尺寸减半。因此,在一些实施方案中,定义的参考点基于从用户的一只或多只手到参考点的距离变化或一只或多只手从参考点的取向变化来确定操纵的量值。
在一些实施方案中,在接收到用户输入并且对第一虚拟对象执行第一操纵类型时(1065),电子设备检测(1063)到用户的该手部的预定义的部分已移动到三维环境中的第二相应位置,诸如在图9B中第一只手916-1移动的情况(例如,用户的第一只手移动,使得捏合位置处于不同位置,从而使得用于操纵的参考点相应地移动)。
例如,如果参考点是由第一只手作出的捏合的位置,则响应于第一只手的移动,参考点也随第一只手的移动而移动。在一些实施方案中,如果参考点是第一只手和第二只手之间的位置(例如,在中间),则响应于由第一只手作出的移动,参考点相应地调节以保持在第一只手和第二只手之间的相同相对位置处(例如,在中间)。
在一些实施方案中,响应于检测到用户的该手部的预定义的部分已移动到三维环境中的第二相应位置,电子设备依据基于该手部的预定义的部分移动到第二相应位置的第一操纵类型的更新的参考点来按一定量对第一虚拟对象执行(1061)第一操纵类型,诸如在因第一只手916-1和第二只手916-2的捏合点之间的距离改变而对圆柱体912调整尺寸的情况(例如,基于两只手相对于操纵的参考点的位置的变化来对第一虚拟对象执行第一操纵类型)。
例如,如果参考点是左手的捏合的位置,那么如果在右手保持不动时左手远离右手移动,则响应于确定右手与参考点(例如,左手的捏合的位置)之间的距离和/或取向已改变,相应地操纵第一虚拟对象。在一些实施方案中,如果参考点是左手的捏合的位置并且如果左手不移动但右手移动,则响应于确定右手与参考点之间的距离和/或取向改变,相应地操纵第一虚拟对象。在一些实施方案中,参考点是相对于用户的第一只手的预定义的部分的预先确定的位置(例如,捏合的位置、离捏合的预定义的距离,诸如2英寸、3英寸、6英寸等),而不考虑用户是正执行直接操纵输入还是间接操纵输入。例如,如果用户正在第一虚拟对象的一部分上(例如,用左手)捏合(例如,直接操纵),则操纵的参考点任选地被定义为捏合位置,该捏合位置任选地与被捏合的第一虚拟对象的部分重合。因此,在正操纵该对象时,与参考点相对应的第一对象的部分任选地保持在捏合的位置处(例如,如果正捏合第一对象的第一部分的该手部未移动,则第一对象的第一部分保持固定,而第一对象的其他部分根据操纵操作来操纵)。又如,如果用户正执行第一虚拟对象的间接操纵(例如,在用户的手部不与第一虚拟对象接触或不在第一虚拟对象的阈值距离以内时操纵该对象),则在执行操纵时保持固定的第一虚拟对象的部分任选地不一定对应于该手部的捏合位置(例如,如上述直接操纵示例中)。例如,如果用户通过在将右手远离左手移动的同时保持左手的位置来执行调整尺寸操纵,则任选地通过将第一虚拟对象的右侧部分远离第一虚拟对象的左侧部分扩大(例如,使得在第一虚拟对象的右侧部分移动时第一虚拟对象的左侧部分保持在相同地方)来对第一虚拟对象调整尺寸,或通过将第一虚拟对象的边界远离(或朝向,视情况而定)第一虚拟对象的中心扩大(例如,使得在第一虚拟对象的其他部分移动时第一虚拟对象的中心保持在相同地方)来对第一虚拟对象调整尺寸。在一些实施方案中,在旋转操纵期间,操纵的中心是在虚拟对象的其他点围绕中心旋转时虚拟对象上不移动的点。在调整尺寸操纵期间,操纵的中心任选地是在虚拟对象的其他点根据该调整尺寸而扩大或缩小时保持固定的点。因此,在操纵虚拟对象时,操纵的中心任选地是虚拟对象上不会响应于由手部作出的移动而移动的位置。在一些实施方案中,操纵的中心是与对象的中心不同的位置。在一些实施方案中,例如当执行虚拟对象的直接操纵时,操纵的中心基于该手部的预定义的部分(例如,与左手捏合点重合,以及任选地由左手捏合点定义的操纵的参考点)。通过基于用户的手部(例如,而不是基于或相对于对象)来定义操纵的参考点,电子设备确保即使用户的手部在操纵期间相对于对象移动,用户也能够控制操纵。
上述操纵虚拟对象的方式(例如,通过依据基于用户的该手部的位置的参考点来操纵虚拟对象)提供了操纵虚拟对象的快速且高效的方法(例如,通过将操纵的参考点选择为用户的该手部的特定部分,使得围绕用户的该手部的该部分执行操纵,从而增强操纵量的控制),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在接收到用户输入时(1059),根据确定操纵第一虚拟对象的请求对应于第一操纵类型,电子设备根据用户输入来对第一虚拟对象执行(1057)第一操纵类型,诸如图9B中的圆柱体912的旋转(例如,如果用户输入是旋转第一虚拟对象的请求,则旋转第一虚拟对象)。
在一些实施方案中,如果用户输入是移动第一虚拟对象或对第一虚拟对象调整尺寸的请求,则分别移动第一虚拟对象或对第一虚拟对象调整尺寸。在一些实施方案中,在对第一虚拟对象执行第一操纵类型时显示第一操纵指示。在一些实施方案中,第一操纵指示指示在发生操纵时的操纵量(例如,第一操纵指示提供关于操纵的量值的实时反馈)。在一些实施方案中,操纵的量(例如,量值)、操纵的方向和/或操纵的速度基于用户的该手部的移动。例如,对于旋转操纵而言,该手部的移动的方向确定旋转的方向,该手部的移动的量确定旋转的量,和/或移动的速度确定旋转的速度。类似地,对于调整尺寸操纵而言,增加两只手之间的距离会增加对象的尺寸,而减小两只手之间的距离会减小对象的尺寸,和/或距离变化的速度确定调整尺寸的速度。
上述操纵虚拟对象的方式(例如,通过根据用户输入来对虚拟对象执行所请求的操纵类型)提供了操纵虚拟对象的快速且高效的方法,这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
图11A至图11C示出了根据一些实施方案的在三维环境中显示上下文菜单或移动对象的示例。
图11A示出了经由显示生成部件(例如,图1的显示生成部件120)在用户界面上显示三维环境1104的电子设备101。如上文参考图1至图6所述,电子设备101任选地包括显示生成部件(例如,触摸屏)和多个图像传感器(例如,图3的图像传感器314)。图像传感器任选地包括以下中的一者或多者:可见光相机;红外相机;深度传感器;或当用户与电子设备101交互时电子设备101能够用来捕获用户或用户的一部分的一个或多个图像的任何其他传感器。在一些实施方案中,下文所示的用户界面也可在头戴式显示器上实现,该头戴式显示器包括向用户显示用户界面的显示生成部件以及用于检测物理环境和/或用户手部的移动的传感器(例如,从用户面向外的外部传感器)和/或用于检测用户的注视的传感器(例如,向内面朝用户的面部的内部传感器)。
如图11A所示,设备101捕获设备101周围的真实世界环境702(例如,操作环境100)的一个或多个图像,包括设备101周围的真实世界环境702中的一个或多个对象。在一些实施方案中,设备101在三维环境1104中显示真实世界环境的表示。例如,三维环境1104包括房间的后拐角和在房间的后壁上的相框1102的至少一部分的表示。类似地,在图11A中,三维环境1104包括手部1110的表示。如上文相对于图6B所述,手部1110的表示是保持在设备101后方(例如,在设备101的与用户相对的侧面上)并由该设备的一个或多个传感器(例如,任选地由在设备101的与用户相对的侧面上的传感器)捕获的该设备的用户的该手部的表示。在一些实施方案中,该设备的用户的该手部保持在该设备的前方(例如,在设备101的与用户相同的侧面上)并由设备101的一个或多个传感器(例如,任选地由在设备101的与用户相同的侧面上的传感器)捕获。
在图11A中,三维环境1104包括圆柱体1106。在一些实施方案中,圆柱体1106是三维虚拟对象。例如,圆柱体1106不是真实世界环境1104中的物理对象。相反,圆柱体1106任选地是存在于三维环境1104的虚拟环境中的对象。在图11A中,设备101检测手部1110执行手势F或手势G。在一些实施方案中,手势F被预先确定为对应于显示上下文菜单的请求,并且手势G被预先确定为对应于使圆柱体1106靠近手部1110的请求,如下文将进一步详细地描述。在一些实施方案中,设备101检测到在注视1108指向圆柱体1106时手部1110正执行手势F或手势G。在一些实施方案中,如果在设备101检测到手势F或手势G时注视1108不指向圆柱体1106,则用户输入(例如,由手部1110作出的手势)不指向圆柱体1106(并且任选地在注视1108指向另一个对象时指向另一个对象)。
在一些实施方案中,响应于检测到在注视1108指向圆柱体1106时手部1110正执行手势F,设备101在三维环境1104中与圆柱体1106相关联的位置处显示上下文菜单1112,如图11B所示。在一些实施方案中,手势F是由手部1110执行的单捏合手势或由手部1110握持的触笔上的单击手势。在一些实施方案中,在圆柱体1106的位置处或附近显示上下文菜单1112。在一些实施方案中,在手部1110的表示处或附近(或在手部1110正握持触笔时在触笔处或附近)显示上下文菜单1112。如上所述,在三维环境1104中的相应位置处显示上下文菜单1112,使得看起来好像上下文菜单1112正漂浮在真实世界环境1100中的相应位置处。如上所述,三维环境1104中的每个位置任选地具有真实世界环境1100中的对应位置(例如,由于三维环境1104基于真实世界环境1100)并且在三维环境1104中的特定位置处显示虚拟对象具有看起来好像虚拟对象位于真实世界环境1100中的对应位置处的效果。
在一些实施方案中,上下文菜单1112包括可选择以执行与圆柱体1106相关联的一个或多个操作的一个或多个可选选项(例如,可选选项1114-1至1114-3)。例如,上下文菜单1112包括用于将圆柱体1106替换为三维对象的一个或多个选项,诸如上文相对于方法800所述。在一些实施方案中,上下文菜单1112包括用于将圆柱体1106拷贝到剪贴板中、删除圆柱体1106和/或复制圆柱体1106等的选项。
在一些实施方案中,显示上下文菜单1112直到接收到从上下文菜单1112中选择选项的用户输入。在一些实施方案中,显示上下文菜单1112直到用户对圆柱体1106执行操纵。例如,用户能够通过执行捏合手势以及在保持捏合手势的同时的移动(或任选地触笔上的轻击并保持手势以及在保持与触笔接触的同时的移动)来移动圆柱体1106,并且响应于移动圆柱体1106,取消上下文菜单1112直到接收到使得显示上下文菜单1112的未来输入。
在一些实施方案中,响应于检测到在注视1108指向圆柱体1106时手部1110正执行手势G,设备101将三维环境1104中的圆柱体1106移动到与手部1110相关联的位置(例如,朝向用户移动),如图11C所示。在一些实施方案中,手势G是由手部1110执行的双捏合手势或由手部1110握持的触笔上的双击手势。在一些实施方案中,圆柱体1106移动到与捏合和/或轻击相关联的位置(例如,在捏合和/或轻击的位置处或附近)。在一些实施方案中,圆柱体1106移动到手部1110的表示的阈值距离(例如,1英寸、3英寸、6英寸、1英尺等)以内,使得由手部1110作出的捏合手势被解释为圆柱体1106的选择(例如,而不需要手部1110朝向圆柱体1106移动以选择圆柱体1106)。例如,用户能够在不移动手部1110的位置的情况下对圆柱体1106执行直接操纵操作。例如,用户能够直接操纵圆柱体1106以任选地按与本文相对于方法1000和1400所述的那些类似的方式执行移动操作、旋转、调整尺寸操作等。
因此,圆柱体1106任选地移动到基于手部1110的位置的位置。如果例如手部1110的表示位于显示区域的左侧附近,则圆柱体1106移动到显示区域的左侧附近,但如果手部1110的表示位于显示区域的右侧附近,则圆柱体1106移动到显示区域的右侧附近。在一些实施方案中,如果用户输入是触笔上的轻击手势,则圆柱体1106移动到与触笔相关联的位置。
在一些实施方案中,如果另一个虚拟对象位于在移动到手部1110的位置时将至少部分地与圆柱体1106重叠的位置处,则另一虚拟对象被撞飞或以其他方式移动,使得另一虚拟对象不与圆柱体1106重叠或冲突(例如,由于两个对象不能同时处于相同位置)。在一些实施方案中,如果由于先前用户输入使另一虚拟对象移动到手部1110的位置(类似于上述过程)(例如,响应于检测到手势G)而使另一虚拟对象处于手部1110的位置,则另一虚拟对象任选地在接收到用户输入之前返回到其位置(例如,在其移动到手部1110的位置之前的其初始位置)。
在一些实施方案中,在将圆柱体1106移动到手部1110的位置之后,用户能够在圆柱体1106移动到手部1110之前使圆柱体1106返回到其初始位置。在一些实施方案中,响应于执行相应手势(例如,松开手势)和/或响应于检测到由手部1110作出的选择手势(例如,“手势G”)的终止,设备101在圆柱体1106移动到手部1110之前使圆柱体1106返回到其初始位置。
图12A至图12G是示出根据一些实施方案的在三维环境中显示上下文菜单或移动对象的方法1200的流程图。在一些实施方案中,方法1200在计算机系统(例如,图1中的计算机系统101,诸如平板电脑、智能电话、可穿戴计算机或头戴式设备)处执行,该计算机系统包括显示生成部件(例如,图1、图3和图4中的显示生成部件120)(例如,平视显示器、显示器、触摸屏、投影仪等)和一个或多个相机(例如,向下指向用户手部的相机(例如,颜色传感器、红外传感器和其他深度感测相机)或从用户头部向前指向的相机)。在一些实施方案中,方法1200通过存储在非暂态计算机可读存储介质中并由计算机系统的一个或多个处理器诸如计算机系统101的一个或多个处理器202(例如,图1A中的控制单元110)执行的指令来管理。方法1200中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
在方法1200中,在一些实施方案中,与显示生成部件和手部跟踪设备通信的电子设备(例如,图1中的计算机系统101)(例如,移动设备(例如,平板电脑、智能电话、媒体播放器或可穿戴设备)或计算机)经由显示生成部件显示(1202)包括第一位置处的第一对象以及与第一位置不同(例如,与第一位置相距超过阈值距离)的第二位置处的电子设备的用户的手部的表示(例如,基于电子设备的用户的该手部的移动来移动的用户界面对象)的三维环境,诸如图11A中包括圆柱体1106和手部1110的表示的三维环境1104(例如,在三维环境(例如,计算机生成的现实(CGR)环境,诸如虚拟现实(VR)环境、混合现实(MR)环境或增强现实(AR)环境等)中显示第一对象)。
在一些实施方案中,显示生成部件是与电子设备集成的显示器(任选地触摸屏显示器)、外部显示器诸如监视器、投影仪、电视机或用于投影用户界面或使得用户界面对一个或多个用户可见的硬件部件(任选地集成的或外部的)等。在一些实施方案中,手部跟踪设备包括图像传感器、相机、深度传感器和/或运动传感器等,其能够确定电子设备的真实世界环境中的用户手部的位置(例如,真实世界环境中的绝对位置或与真实世界环境中的其他对象相比的相对位置)、用户手部的相对移动和/或手部的手指的位置等。
手部的表示任选地是真实世界环境中(例如,诸如混合现实环境或增强现实环境中)的用户手部的视图。例如,如果显示生成部件包括半透明或透明显示器,则电子设备能够允许查看包括用户手部的真实世界环境的部分(例如,通过不使用户手部的视图模糊)。在一些实施方案中,手部的表示是基于用户手部的虚拟对象(例如,诸如增强现实环境或虚拟现实环境中的透传视频)。例如,与电子设备通信的手部跟踪设备和/或一个或多个相机能够捕获手部的位置、定位和/或特征,并且经由显示生成部件显示三维环境中的手部的表示(例如,照片级真实表示、漫画、卡通等),该表示任选地反映手部的位置、定位和/或特征。第一对象任选地是由电子设备在三维环境中显示(例如,由电子设备生成和/或渲染)的虚拟对象。在一些实施方案中,三维环境包括该设备的用户的手部。
在一些实施方案中,在第一位置处(例如,在三维环境中与手部的表示相距超过阈值距离的位置处)显示第一对象时,电子设备经由手部跟踪设备检测(1204)来自该手部的用户输入,诸如在图11A中手部1110执行手势F或手势G(例如,检测与执行相应操纵的请求相对应的手部的手势、移动、运动和/或手势、移动和/或运动序列)。在一些实施方案中,通过使用手部跟踪设备监测用户的一只或多只手来检测用户输入。用户输入的示例包括由该手部的拇指和食指(或该手部的任何其他两个或更多个手指)作出的捏合手势、该手部的移动、由该手部的手指作出的轻击手势、由该手部的手指作出的指向手势等。
在一些实施方案中,响应于检测到用户输入(1206),根据确定用户输入满足一个或多个标准,电子设备将第一对象从第一位置移动(1208)到三维环境中与该手部的表示相关联(例如,与该手部的表示相距小于阈值距离)的相应位置,诸如在图11C中如果手部1110执行手势G,则圆柱体1106朝向手部1110移动(例如,如果用户输入包括与使第一对象靠近用户的手部的请求相对应的预先确定的手势,则将三维环境中的第一对象移动到用户的手部)。
在一些实施方案中,该手势包括捏合手势(例如,单个捏合、接连的两个捏合、捏合并移动等),并且第一对象移动到三维环境中的位置,使得看起来好像该手部正捏合第一对象的一部分或该对象在用户的手部和/或用户捏合的位置的阈值距离(例如,1英寸、2英寸等)以内。在一些实施方案中,使第一对象靠近用户手部的请求不包括由用户手部伸出以直接选择第一对象(例如,抓取第一对象的至少一部分)而作出的移动。在一些实施方案中,在该手部的表示处于与第一对象不同的位置时执行用户输入。
上述在三维环境中操纵虚拟对象的方式(例如,通过响应于接收到由用户手部作出的预先确定的手势而将对象移动到用户手部的位置)提供了操纵虚拟对象的快速且高效的方法(例如,通过将对象移动到用户手部,使得用户能够直接操纵对象,而不需要用户把手伸向对象或移动到对象的手可触及的范围以内),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户执行附加输入来直接操纵对象),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,一个或多个标准包括在来自该手部的用户输入是双击手势时满足的标准(1210),诸如在图11C中手部1110执行手势G(例如,任选地经由手部跟踪设备检测到的短轻击(例如,与输入设备的小于阈值时间量诸如0.1秒、0.5秒、1秒、3秒等的接触,且该接触不移动超过阈值量诸如0.1mm、0.5mm、1mm、5mm等),之后是第二次短轻击(例如,在阈值时间量诸如0.25秒、0.5秒、1秒、3秒、5秒等以内))。在一些实施方案中,轻击手势包括拇指与食指(或该手部的任何其他两个或更多个手指)之间的小于阈值时间量(例如,0.25秒、0.5秒、1秒、3秒等)的捏合。
上述在三维环境中移动虚拟对象的方式(例如,响应于由用户的该手部作出的双击手势)提供了操纵虚拟对象的快速且高效的方法(例如,通过使用用户手部执行预先确定的手势,而不需要用户执行附加输入来选择示能表示或使用输入设备),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要使用专用输入设备),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,响应于检测到用户输入(1212),根据确定用户输入满足与一个或多个标准不同的一个或多个第二标准,其中一个或多个第二标准包括在来自该手部的用户输入是单击手势(例如,任选地经由手部跟踪设备检测到的单次短轻击,且在阈值时间量内该单次短轻击之后没有第二次短轻击)时满足的标准,电子设备经由显示生成部件在第一位置处显示(1214)与第一对象相关联的上下文菜单,诸如在图11B中响应于手部1110执行手势F而显示上下文菜单1112(例如,而不将第一对象从第一位置移动到三维环境中的相应位置)。
在一些实施方案中,上下文菜单包括可选择以执行与第一对象相关联的功能的一个或多个可选选项。例如,上下文菜单包括用于拷贝对象的可选选项、用于剪切对象的可选选项、用于复制对象的可选选项等。在一些实施方案中,上下文菜单在三维环境中第一对象处或附近的位置处显示。在一些实施方案中,上下文菜单在第一对象上方显示(例如,任选地以与第一对象相同的z-深度漂浮在对象上方)。在一些实施方案中,上下文菜单包括用于将二维绘图替换为三维对象的一个或多个可选选项,诸如上文相对于方法800所述。
上述显示与虚拟对象相关联的菜单的方式(例如,响应于由用户的该手部作出的单击手势)提供了显示用于操纵虚拟对象的选项的快速且高效的方法(例如,通过使用用户手部执行预先确定的手势,而不需要用户执行附加输入来选择示能表示或使用输入设备),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要使用专用输入设备),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在显示第一对象和与第一对象相关联的上下文菜单时,电子设备经由手部跟踪设备检测(1216)来自该手部的第二用户输入,诸如在图13B中手部1312执行手势H和手部1312的移动(例如,检测与执行相应操纵的请求相对应的手部的手势、移动、运动和/或手势、移动和/或运动序列)。在一些实施方案中,通过使用手部跟踪设备监测用户的一只或多只手来检测用户输入。
在一些实施方案中,响应于检测到来自该手部的第二用户输入(1218),根据确定第二用户输入对应于将第一对象从三维环境中的第一位置移动到第三位置的请求(1220)(例如,由该手部作出的手势,包括该手部的移动、从上下文菜单中选择可选选项以移动第一对象等),电子设备停止(1222)显示上下文菜单,诸如在图11B中的上下文菜单1112停止显示的情况(例如,自动地终止上下文菜单的显示(例如,而不接收作为移动第一对象的请求的替代或补充的用户输入)),并且根据第二用户输入来将第一对象从第一位置移动(1223)到第三位置,诸如图13B中(例如,根据移动请求来在三维环境中移动第一对象)。
在一些实施方案中,如果第二用户输入是包括由用户的该手部作出的移动分量的直接操纵输入(例如,在用户的该手部伸出以直接与第一对象进行交互时该手部的操纵),则第一对象根据用户的该手部的移动来移动,任选地按与用户输入的移动分量相同的量和/或相同的速度移动。在一些实施方案中,如果第二用户输入是包括由用户的该手部作出的移动分量的间接操纵输入(例如,在该手部未伸出以直接与第一对象进行交互时(诸如在该手部与第一对象相距超过阈值距离时)的操纵),则第一对象基于对象离用户的距离来移动一定缩放量,诸如下文相对于方法1400所述。
上述停止显示菜单的方式(例如,响应于虚拟对象的操纵)提供了简化用户界面的快速且高效的方法(例如,通过在用户正对虚拟对象执行操纵操作并且未与菜单进行交互时自动地移除菜单),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,通过简化用户界面,而不需要用户执行附加输入来关闭菜单),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在第一对象附近显示上下文菜单(1224),诸如图11B中(例如,在三维环境中第一对象处或附近的位置处显示上下文菜单)。例如,在第一对象左侧、右侧、上方或下方,任选地以与第一对象相同的z-深度显示上下文菜单。在一些实施方案中,当在第一对象附近显示上下文菜单时,用户能够通过以下方式选择可选选项:看向相应可选选项并且执行选择输入,或任选地伸出手部以与相应可选选项进行交互和/或选择相应可选选项。
上述显示与虚拟对象相关联的菜单的方式(例如,在与第一对象相邻的位置处)提供了指示菜单与虚拟对象相关联的快速且高效的方法(例如,通过将菜单放在虚拟对象附近),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要执行附加输入来确定菜单是否与该虚拟对象或另一个虚拟对象相关联),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在该手部的表示附近显示上下文菜单(1226),诸如在图11B中在手部1112处或附近显示上下文菜单1112(这类似于在图9A中在第一只手916-1附近显示操纵球914)的情况(例如,在三维环境中用户的该手部的表示处或附近的位置处显示上下文菜单)。例如,在该手部的表示左侧、右侧、上方或下方显示上下文菜单。在一些实施方案中,当在该手部的表示附近显示上下文菜单时,用户更容易能够把手伸出并且直接与上下文菜单的可选选项进行交互以激活相应可选选项。在此类实施方案中,在上述不与第一对象相关联和/或不与第一对象相邻的位置处显示上下文菜单。
上述显示与虚拟对象相关联的菜单的方式(例如,在与用户手部相邻的位置处)提供了与菜单进行交互的快速且高效的方法(例如,通过将菜单放在用户手部附近,使得用户能够与菜单进行交互,同时使用户手部所需的移动的量最小化),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户执行附加输入来将菜单移动到离该手部更近的位置并且不需要用户伸出他或她的手部来够到不位于该手部附近的菜单),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,来自该手部的用户输入包括与和电子设备分开的输入设备的交互,该输入设备诸如为由手部1110握持的触笔(例如,在电子设备外部并与电子设备通信的输入设备,诸如无线鼠标、无线键盘、遥控设备、另一个移动设备、手持设备、触笔、指向工具、控制器等),并且在三维环境中输入设备的表示附近显示上下文菜单(1228),诸如在由1110握持的触笔处或附近显示上下文菜单1112的情况(例如,三维环境包括用户的该手部的表示的显示和/或包括由用户的该手部握持的输入设备的表示)。在一些实施方案中,电子设备识别由用户和/或用户的该手部握持的输入设备并且在输入设备处或附近的位置处显示上下文菜单。例如,在输入设备的表示左侧、右侧、上方或下方显示上下文菜单。在此类实施方案中,在上述不与第一对象相关联和/或不与第一对象或该手部的表示相邻的位置处显示上下文菜单。
上述显示与虚拟对象相关联的菜单的方式(例如,在与接收到用户输入的输入设备相邻的位置处)提供了与菜单进行交互的快速且高效的方法(例如,通过将菜单放在输入设备附近,使得用户能够与菜单进行交互,同时使用户手部所需的移动的量最小化),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户执行附加输入来将菜单移动到离输入设备更近的位置并且不需要用户伸出他或她的手部来够到不位于输入设备附近的菜单),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,响应于检测到用户输入(1230),根据确定用户输入满足与一个或多个标准不同的一个或多个第二标准,其中一个或多个第二标准包括在来自该手部的用户输入是单击并拖动手势(例如,用户的该手部握持着输入设备并且用户对输入设备执行轻击手势(例如,由食指作出的与输入设备的短接触并松开,或任选地由食指作出的与输入设备的接触并持续接触))时满足的标准,电子设备根据用户输入来将第一对象从三维环境中的第一位置移动(1232)到第三位置,诸如在图11C中将圆柱体1106移动到与手部1110相关联的位置(例如,基于拖动手势来在三维环境中移动第一对象)。
在一些实施方案中,在保持轻击手势时或在轻击手势之后的阈值时间(例如,0.5秒、1秒、3秒、5秒、10秒等)以内,检测到拖动手势(例如,用户的该手部的移动、输入设备的移动、用户的该手部的取向的变化和/或输入设备的取向的变化)。
例如,如果拖动手势包括物理环境中的向右移动,则第一对象包括三维环境中的向右移动。在一些实施方案中,移动的量和/或移动的方向基于用户输入的移动(例如,任选地缩放、减小、放大等)。在一些实施方案中,移动的量基于第一对象离用户的距离,如下文相对于方法1400所讨论。在一些实施方案中,移动的速度基于用户输入的移动的速度(例如,任选地以与下文相对于方法1400所讨论的类似的方式缩放、减小、放大等)。
上述移动虚拟对象的方式(例如,响应于轻击手势,之后是移动手势)提供了移动对象的快速且高效的方法(例如,通过基于用户的该手部的移动来移动对象的直观方法),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户使用专用输入设备来移动虚拟对象),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,一个或多个标准包括在用户的注视指向第一对象时满足的标准(1234),诸如在图11A中注视1108指向圆柱体1106(例如,如果在接收到用户输入时用户的注视指向(例如,聚焦于、看向、看着等)第一对象,则选择第一对象来输入,使得操纵输入(例如,用户的手部输入)引起对第一对象执行操纵)。
如果在接收到用户输入时注视指向第二对象,则操纵输入(例如,用户的手部输入)将引起对第二对象而不是第一对象的操纵。因此,在一些实施方案中,用户的注视确定被选择和/或被操纵的对象。在一些实施方案中,经由与电子设备通信的一个或多个眼睛跟踪设备(例如,能够确定用户注视的方向和/或位置的相机和/或运动传感器)来确定用户的注视。
上述选择虚拟对象来输入的方式(例如,在用户的注视指向虚拟对象时)提供了确定用户输入指向的虚拟对象的快速且高效的方法(例如,通过基于用户正看向的对象来自动地确定用户输入指向哪个虚拟对象,而不需要用户执行附加输入来将焦点从一个虚拟对象切换到另一个虚拟对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,根据确定用户的该手部的表示处于三维环境中的第一相应位置,相应位置是三维环境中的第二相应位置(1236),诸如图11C中(例如,第一对象移动到与该手部的表示相关联的位置,使得如果该手部的表示处于三维环境中的第一位置,则第一对象移动到与该第一位置相关联(例如,在第一位置处、附近等,诸如在3英寸、6英寸、1英尺、2英尺、5英尺等以内)的位置。
在一些实施方案中,根据确定用户的该手部的表示处于三维环境中与第一相应位置不同的第三相应位置,相应位置是三维环境中与第二相应位置不同的第四相应位置(1238),诸如图11C中(例如,如果该手部的表示处于三维环境中的第三位置,则第一对象移动到与该第三位置相关联的位置)。
因此,第一对象移动到的位置基于该手部的表示的位置。在一些实施方案中,第一对象移动到该手部的表示的拇指和食指(或任选地手部的任何两个或更多个手指,或任选地任何两个或更多个手指或不同手部)之间的位置。
上述移动虚拟对象的方式(例如,通过将对象移动到用户手部的表示的位置)提供了操纵虚拟对象的快速且高效的方法(例如,通过将对象移动到用户手部,使得用户能够直接操纵对象,而不需要用户把手伸向对象或移动到对象的手可触及的范围以内),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户执行附加输入来直接操纵对象),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,相应位置是用户的该手部的相应部分的位置(1240),诸如图11C中手部1110的捏合点的位置(例如,第一对象移动到用户手部的表示上的位置)。在一些实施方案中,第一对象移动到用户手部的表示的手掌中(例如,就像该手部正抓取第一对象一样)。在一些实施方案中,第一对象移动到用户手部的表示的拇指和食指之间(例如,就像该手部正捏合第一对象一样)。
上述移动虚拟对象的方式(例如,通过将对象移动到用户手部的表示的位置)提供了操纵虚拟对象的快速且高效的方法(例如,通过将对象移动到用户手部,使得用户能够直接操纵对象,而不需要用户把手伸向对象或移动到对象的手可触及的范围以内),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户执行附加输入来直接操纵对象),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,相应位置与第二位置相距预先确定的距离(1242),诸如在图11C中圆柱体1106放置在离手部1110的捏合点的几英寸之外的情况(例如,第一对象移动到与该手部的表示相距一定距离的位置)。例如,第一对象移动到该手部正前方的位置(例如,具有与该手部的表示上的特定点诸如捏合位置、食指的尖端等相距1英寸、6英寸、1英尺、3英尺、5英尺的z-深度和/或x/y距离)。
上述移动虚拟对象的方式(例如,通过将对象移动到与该手部的表示相距预先确定的距离的位置)提供了操纵虚拟对象的快速且高效的方法(例如,通过将对象移动到用户手部附近,从而在操纵对象时为用户提供一些移动自由度),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在相应位置处显示第一对象并且在三维环境中的第二位置处显示该手部的表示时,电子设备经由手部跟踪设备检测(1244)与操纵第一对象的请求相对应的来自该手部的第二用户输入,其中该手部的表示在第二用户输入期间保持在三维环境中的第二位置处,诸如在图11C中在圆柱体1106移动到该手部的位置之后检测由手部1110作出的操纵手势(例如,检测与操纵第一对象的请求相对应的来自用户的该手部的手势、移动或者手势或移动系列)。
在一些实施方案中,第二用户输入包括捏合手势、抓取手势、指示手势。在一些实施方案中,来自该手部的手势被解释为指向第一对象(例如,任选地由于该手部在第一对象的阈值距离以内和/或对象被显示为由该手部握持)。在一些实施方案中,在执行这些手势之后,用户能够执行一个或多个移动、旋转等以使得对象移动、旋转等。在一些实施方案中,用户能够选择第一对象来操纵而无需将该手部伸向第一对象。例如,第一对象自动地靠近一定位置,该位置允许用户开始对第一对象执行直接操纵而不需要用户对用户手部的位置作出任何进一步的变化(例如,不必伸出、移动用户手部或以其他方式调节用户手部的位置)。
在一些实施方案中,响应于检测到第二用户输入,电子设备根据第二用户输入来操纵(1246)第一对象,诸如对图11C中的圆柱体1106进行调整尺寸、移动、旋转等(例如,根据操纵第一对象的请求来操纵第一对象)。
在一些实施方案中,操纵第一对象的请求包括由用户的该手部作出的捏合手势,之后是在保持捏合手势的同时该手部的移动或取向变化。例如,如果第二用户输入是旋转第一对象的请求(例如,在保持捏合手势的同时该手部的旋转),则相应地旋转第一对象。如果第二用户输入是移动第一对象的请求(例如,在保持捏合手势的同时该手部的移动),则任选地相应地移动第一对象。在一些实施方案中,第一对象被操纵与第一只手的变化相同的量。例如,如果该手部旋转90度,则第一对象旋转90度。如果该手部向右移动1英尺,则第一对象向右移动1英尺。在一些实施方案中,操纵的速度基于手部的移动的速度。因此,在一些实施方案中,第一对象与该手部的表示保持相同的相对位置和/或距离。
上述移动虚拟对象的方式(例如,通过将虚拟对象移动到一定位置,使得用户能够直接操纵对象)提供了操纵虚拟对象的快速且高效的方法(例如,无需执行附加输入或移动来把手伸向虚拟对象并与虚拟对象进行交互),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户执行附加输入来直接操纵对象),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在三维环境中的相应位置处显示第一对象时,电子设备经由手部跟踪设备检测(1248)来自该手部的第二用户输入,诸如在图11C中圆柱体1106移动到该手部的位置之后检测由手部1110作出的操纵手势(例如,在将第一对象移动到与该手部的表示相关联的相应位置之后或在第一对象处于与该手部的表示相关联的相应位置时,接收与针对第一对象执行功能的请求相对应的用户输入)。
在一些实施方案中,响应于检测到第二用户输入(1250),根据确定第二用户输入包括单捏合手势,之后是拖动手势(例如,检测到用户的该手部包括或已执行捏合手势(例如,用拇指和食指捏合)以及在保持捏合手势的同时该手部的移动),电子设备根据第二用户输入来操纵(1252)第一对象,诸如在图11C中对圆柱体1106进行调整尺寸、移动、旋转等(例如,基于第二用户输入来对第一对象执行操纵功能)。
在一些实施方案中,经由手部跟踪设备检测这些手势。例如,如果该手势是该手部的横向移动,则对第一对象执行移动功能,并且如果该手势是该手部的旋转移动(例如,该手部的扭转),则对第一对象执行旋转功能。在一些实施方案中,操纵的方向和速度基于手部的移动的方向和速度。
上述操纵虚拟对象的方式(例如,通过在对象移动到与用户的表示相关联的位置之后响应于捏合并拖动手势而操纵对象)提供了操纵虚拟对象的快速且高效的方法(例如,通过将对象移动到用户手部,使得用户能够直接操纵对象,而不需要用户把手伸向对象或移动到对象的手可触及的范围以内),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户执行附加输入来直接操纵对象),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在检测到来自该手部的用户输入时在三维环境中的相应位置处显示第二对象(1254),诸如在图11C中在三维环境1104中手部1110的捏合点处或附近的位置处显示的除圆柱体1106之外的虚拟对象(例如,三维环境包括至少与相应位置重叠和/或在离相应位置的阈值距离以内(例如,在1英寸、6英寸、1英尺、3英尺、5英尺等以内)的第二虚拟对象)。例如,第二对象处于三维环境中的一定位置处的情况,在第一对象放置在相应位置处时该位置将至少部分地与第一对象重叠(例如,两个对象的体积将冲突、相交和/或重叠)。
在一些实施方案中,响应于检测到用户输入(1256),根据确定用户输入满足一个或多个标准,在三维环境中的相应位置处显示第一对象之前电子设备将第二对象远离三维环境中的相应位置移动(1258),诸如在图11C中移动在手部1110的捏合点处或附近的另一虚拟对象以便为圆柱体1106腾出空间(例如,如果满足一个或多个标准,则将第一对象移动到相应位置,并且如果第二对象至少部分地位于相应位置处,则将第二对象远离相应位置移动(任选地移动到远离相应位置的至少阈值距离,诸如1英寸、6英寸、1英尺、3英尺、5英尺等))。
在一些实施方案中,移动第二对象会防止两个虚拟对象占据相同空间。在一些实施方案中,显示在第一对象朝向相应位置移动时移开第二对象的动画。在一些实施方案中,显示第一对象取代第二对象(例如,与第二对象进行接触并推开第二对象)的动画。在一些实施方案中,第二对象重新定位到与相应位置相邻或在相应位置附近的位置。在一些实施方案中,如果响应于满足一个或多个标准的先前输入而使第二对象处于相应位置(例如,如果通过与使第一对象移动到相应位置的用户输入类似的用户输入来将第二对象移动到相应位置),则第二对象返回到其在移动到相应位置之前具有的位置。在一些实施方案中,在移动第二对象之后,用户能够操纵第二对象和/或与第二对象进行交互而不移动或以其他方式改变该手部的位置。在一些实施方案中,在移动第二对象之后,用户能够通过将该手部的表示移动到第二对象的新位置来与第二对象进行交互(例如,第二对象移动到超过阈值距离之远,使得该手部在不移动的情况下不能够与第二对象进行交互,诸如3英寸、6英寸、1英尺、3英尺等)。
上述将虚拟对象移动到相应位置的方式(例如,通过将处于相应位置的其他虚拟对象远离相应位置移动)提供了移动虚拟对象的快速且高效的方法(例如,通过自动地移开原本会干扰虚拟对象的其他对象,而不需要用户执行附加输入来移开其他对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
图13A至图13B示出了根据一些实施方案的在三维环境中基于对象离用户的距离来将该对象移动一定量的示例。
图13A示出了经由显示生成部件(例如,图1的显示生成部件120)在用户界面上显示三维环境1304的电子设备101。如上文参考图1至图6所述,电子设备101任选地包括显示生成部件(例如,触摸屏)和多个图像传感器(例如,图3的图像传感器314)。图像传感器任选地包括以下中的一者或多者:可见光相机;红外相机;深度传感器;或当用户与电子设备101交互时电子设备101能够用来捕获用户或用户的一部分的一个或多个图像的任何其他传感器。在一些实施方案中,下文所示的用户界面也可在头戴式显示器上实现,该头戴式显示器包括向用户显示用户界面的显示生成部件以及用于检测物理环境和/或用户手部的移动的传感器(例如,从用户面向外的外部传感器)和/或用于检测用户的注视的传感器(例如,向内面朝用户的面部的内部传感器)。
如图13A所示,设备101捕获设备101周围的真实世界环境1300(例如,操作环境100)的一个或多个图像,包括设备101周围的真实世界环境1300中的一个或多个对象。在一些实施方案中,设备101在三维环境1304中显示真实世界环境的表示。例如,三维环境1304包括房间的后拐角、房间的后壁上的相框1302的至少一部分的表示以及桌子1306的表示。类似地,在图13A中,三维环境1304包括手部1312的表示。如上文相对于图6B所述,手部1312的表示是保持在设备101后方(例如,在设备101的与用户相对的侧面上)并由该设备的一个或多个传感器(例如,任选地由在设备101的与用户相对的侧面上的传感器)捕获的该设备的用户的该手部的表示。在一些实施方案中,该设备的用户的该手部保持在该设备的前方(例如,在设备101的与用户相同的侧面上)并由设备101的一个或多个传感器(例如,任选地由在设备101的与用户相同的侧面上的传感器)捕获。
在图13A中,三维环境1304包括两个不同位置中的圆柱体。例如,圆柱体1308-1在桌子1306的表示的顶部上离用户的第一距离处显示,并且圆柱体1308-2在三维环境1304中离用户的第二更远距离处显示。如图13A所示,圆柱体1308-1和1308-2是相同圆柱体(例如,本文称为圆柱体1308),但放置在离用户的两个不同距离处以示出虚拟对象的移动如何基于对象离用户的距离。例如,圆柱体1308-1和圆柱体1308-2不由显示生成部件同时显示(例如,圆柱体1308-1和圆柱体1308-2在不同时间显示并且具有下述相应行为)。在一些实施方案中,圆柱体1308是三维虚拟对象。例如,圆柱体1308不是真实世界环境1304中的物理对象。相反,圆柱体1308是存在于三维环境1304的虚拟环境中的对象。在一些实施方案中,由于圆柱体1308是虚拟对象,因此用户能够操纵圆柱体1308(例如,而不真正操纵真实世界环境1304中的对象),诸如执行移动操作,如下文将进一步详细地描述。
在图13A中,设备101检测在用户的注视指向圆柱体1308时手部1312执行选择手势(例如,“手势H”)。例如,在第一实施方案中,注视1310-1指向圆柱体1308-1(例如,在离该设备的第一距离处显示时的圆柱体1308),并且在第二实施方案中,注视1310-2指向圆柱体1308-2(例如,在离该设备的第二距离处显示时的圆柱体1308)。在一些实施方案中,选择手势是由手部1312作出的捏合手势。在一些实施方案中,响应于检测到在注视位于圆柱体1308上时由手部1312作出的选择手势,选择用于操纵的圆柱体1308。
在图13B中,在保持由手部1312作出的选择手势时(例如,在保持捏合手势时),设备101检测与移动圆柱体1308的请求相对应的由手部1312作出的移动。如图13B所示,响应于检测到由手部1312作出的移动,圆柱体1308根据手部1312的移动(例如,在与手部1312的移动相同的方向上)来移动。在一些实施方案中,在移动圆柱体1308之前需要手部1312的最小阈值移动量(例如,1英寸、3英寸、6英寸等),例如以防止圆柱体1308的意外移动。图13B示出了圆柱体1308-1和圆柱体1308-2两者均响应于手部1312的移动而移动,但应当理解,圆柱体1308-1和圆柱体1308-2不同时显示并且圆柱体1308-1示出了圆柱体1308与用户相距第一距离的示例,而圆柱体1308-2示出了圆柱体1308与用户相距第二距离的示例(例如,用于移动圆柱体1308-1的用户输入和用于移动圆柱体1308-2的用户输入在不同时间接收到,但任选地包括相同的向右移动量)。
在一些实施方案中,圆柱体1308按手部1312移动缩放一定缩放因子的量移动。在一些实施方案中,缩放因子基于圆柱体1308离用户的距离。例如,在图13B中,圆柱体1308-1(例如,在放置在离用户的第一距离处时的圆柱体)响应于手部1312按第一量的向右移动来向右移动,而圆柱体1308-2(例如,在放置在离用户的第二更远距离处时的圆柱体)响应于手部1312按第二更大量的相同向右移动来向右移动。因此,在一些实施方案中,离用户更远的虚拟对象的移动具有比离用户更近的虚拟对象的移动更大的缩放因子(或反之亦然)。这样,用户能够将远方对象移动跨越三维环境(例如,由显示生成部件显示的三维环境的部分)而不需要用户执行多个移动操作
在一些实施方案中,如果圆柱体1308在离用户和/或手部1312的阈值距离以内(例如,在3英寸、6英寸、1英尺、3英尺等以内),则圆柱体1308的缩放因子为1(例如,圆柱体1308按与手部1312的移动相同的量移动)。在一些实施方案中,如果圆柱体1308大于离用户和/或手部1312的阈值距离,则圆柱体1308的移动缩放大于1的量并且基于离用户和/或手部1312的距离来改变。例如,如果圆柱体1308-1离用户5英尺远,则响应于手部1312向右移动1英尺,圆柱体1308-1向右移动2英尺(例如,缩放因子为2),并且如果圆柱体1308-2离用户10英尺远,则响应于手部1312向右移动1英尺,圆柱体1308-2向右移动4英尺(例如,缩放因子为4)。在一些实施方案中,缩放因子与距离成比例(例如,缩放因子随距离线性地增加)。在一些实施方案中,缩放因子不随距离成比例地增加(例如,缩放因子是阶梯函数、分段函数、对数式地、指数式地、根据多项式函数增加等)。在一些实施方案中,缩放因子具有最大值,使得对于离用户超过第二阈值距离(例如,5英尺、10英尺、30英尺、50英尺等)的距离,缩放因子为其最大值并且不再增加。
在一些实施方案中,虚拟对象的移动的速度基于手部的移动的速度。例如,如果手部1312如图13B所示的那样以缓慢速度向右移动,则圆柱体1308-1和圆柱体1308-2以缓慢速度向右移动,但如果手部1312以快速速度向右移动,则圆柱体1308-1和圆柱体1308-2以快速速度向右移动。在一些实施方案中,圆柱体1308的移动的速度按与移动的量值的缩放相同的量缩放(例如,如果移动的量值缩放两倍,则速度缩放两倍)。
在一些实施方案中,仅水平和垂直移动(例如,在x和y方向上)基于对象离用户的距离来缩放并且z方向上的移动(例如,虚拟对象远离或朝向用户的移动)任选地不基于对象离用户的距离来缩放。在一些实施方案中,如果用户在同时水平地和垂直地移动时改变距离的对角线方向上移动圆柱体1308,则移动的缩放随距离改变而改变。例如,由于虚拟对象在水平地移动时移动到更远的地方,因此对象首先以低缩放因子水平地移动,然后以较高缩放因子水平地移动(例如,由于对象移动到离用户更远的地方)。因此,缩放因子任选地在单次移动期间动态地改变(例如,而不需要用户松开选择输入并且重新执行选择输入)。
在一些实施方案中,如图13B所示,当圆柱体1308移动到预先确定的吸附点的阈值距离(例如,1英寸、3英寸、6英寸、1英尺、3英尺等)以内时,设备101显示指示预先确定的吸附点的位置的目标1314。在一些实施方案中,预先确定的吸附点位于虚拟对象的表面上(或在虚拟对象上的感兴趣的点处)。在一些实施方案中,预先确定的吸附点位于物理对象的表示的表面上(或在虚拟对象上的感兴趣的点处)。
在图13B中,与目标1314相对应的预先确定的吸附点是桌子1306的顶表面上的相应位置。在一些实施方案中,目标1314具有基于圆柱体1308的形状的形状。例如,目标1314是圆柱体1308的占用空间(例如,在放置在相应吸附点处时将与桌子1306进行接触的圆柱体1308的尺寸和形状)。例如,在图13B中,如果圆柱体1308侧翻,则目标1314将任选地将尺寸和形状改变为线条(例如,将与桌子1306进行接触的圆柱体1308的部分具有线条的形状)。在一些实施方案中,目标1314是圆柱体1308的侧影。
在一些实施方案中,在显示与预先确定的吸附点相对应的目标1314时,响应于检测到选择输入的终止(例如,捏合手势的终止),圆柱体1308-1吸附到预先确定的吸附点(例如,任选地即使在选择输入终止时圆柱体1308-1不处于与预先确定的吸附点相关联的位置,也移动到与预先确定的吸附点相关联的位置)。在一些实施方案中,当圆柱体1308-1吸附到预先确定的吸附点时,设备101生成指示圆柱体1308-1已吸附到吸附点的触觉输出。在一些实施方案中,触觉输出是在设备101处或在由用户的一只或多只手握持的输入设备处生成的振动输出。在一些实施方案中,吸附点位于一个或多个感兴趣的点,诸如桌子的表面、地板、墙壁、椅子上等。在一些实施方案中,如果圆柱体1308移动到远于离预先确定的吸附点的阈值距离,则设备101停止显示目标1314。在一些实施方案中,吸附点的阈值距离取决于吸附点位于其上的表面类型和/或吸附到相应吸附点的对象。例如,如果用户正将花瓶朝向桌子的表面移动,则桌子表面处的吸附点的阈值距离比用户正将花瓶移动到地板时更大。由于花瓶更适宜放置在桌子而不是地板上,因此任选地在花瓶离桌子的表面3英尺远时在用于花瓶的桌子的表面上显示目标(例如,如果在花瓶3英尺远时用户停止选择手势,则花瓶将吸附到桌子的表面),而任选地仅当花瓶到达离地板6英寸远的地方时才在地板上显示目标(例如,如果在花瓶6英寸远时用户停止选择手势,则花瓶将吸附到地板)。
在一些实施方案中,作为在圆柱体1308将吸附到的位置处显示目标1314的补充或替代,在视觉上突出显示或在视觉上改变桌子1306的表面以指示圆柱体1308将吸附到桌子1306的表面。在一些实施方案中,作为显示目标1314的补充或替代,设备101显示圆柱体1308的阴影(例如,任选地与目标1314同时显示的、与目标1314不同的元素)。例如,在圆柱体1308漂浮在空中(例如,由于用户移动圆柱体1308)时,设备101在桌子1306的表面上或在地板的表面上(视情况而定)显示圆柱体1308的阴影(例如,圆柱体1308的侧影)。在一些实施方案中,圆柱体1308的阴影基于圆柱体1308的尺寸和/或形状,并且任选地取决于圆柱体1308在其上显示阴影的表面上方的距离。例如,如果圆柱体1308接近桌子1308,则阴影的尺寸与圆柱体1308的尺寸类似或相同,但如果圆柱体1308在桌子1308上方高处,则阴影的尺寸大于圆柱体1308的尺寸。
图14A至图14G是示出根据一些实施方案的在三维环境中基于对象离用户的距离来将该对象移动一定量的方法1400的流程图。在一些实施方案中,方法1400在计算机系统(例如,图1中的计算机系统101,诸如平板电脑、智能电话、可穿戴计算机或头戴式设备)处执行,该计算机系统包括显示生成部件(例如,图1、图3和图4中的显示生成部件120)(例如,平视显示器、显示器、触摸屏、投影仪等)和一个或多个相机(例如,向下指向用户手部的相机(例如,颜色传感器、红外传感器和其他深度感测相机)或从用户头部向前指向的相机)。在一些实施方案中,方法800通过存储在非暂态计算机可读存储介质中并由计算机系统的一个或多个处理器诸如计算机系统101的一个或多个处理器202(例如,图1A中的控制单元110)执行的指令来管理。方法1400中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
在方法1400中,在一些实施方案中,与显示生成部件和一个或多个输入设备通信的电子设备(例如,图1中的计算机系统101)(例如,移动设备(例如,平板电脑、智能电话、媒体播放器或可穿戴设备)或计算机)经由显示生成部件显示(1402)包括第一位置处的第一对象的三维环境(例如,计算机生成的现实(CGR)环境,诸如虚拟现实(VR)环境、混合现实(MR)环境或增强现实(AR)环境等),其中三维环境中与第一位置不同的第二位置对应于物理环境中电子设备的用户的预定义的部分(例如,用户的手部、用户的头部等)的位置,诸如图13A中包括与手部1312的位置不同的位置处的圆柱体1308-1和圆柱体1308-2的三维环境1304(例如,在三维环境中显示第一对象)。
在一些实施方案中,显示生成部件是与电子设备集成的显示器(任选地触摸屏显示器)、外部显示器诸如监视器、投影仪、电视机或用于投影用户界面或使得用户界面对一个或多个用户可见的硬件部件(任选地集成的或外部的)等。在一些实施方案中,一个或多个输入设备包括能够接收用户输入(例如,捕获用户输入、检测用户输入等)并将与用户输入相关联的信息传输到电子设备的电子设备或部件。输入设备的示例包括触摸屏、鼠标(例如,外部的)、触控板(任选地集成的或外部的)、触摸板(任选地集成的或外部的)、遥控设备(例如,外部的)、另一个移动设备(例如,与电子设备分开)、手持设备(例如,外部的)、控制器(例如,外部的)、相机、深度传感器和/或运动传感器(例如,手部跟踪传感器、手部运动传感器)等。
第一对象任选地是由电子设备在三维环境中显示(例如,由电子设备生成和/或渲染)的虚拟对象。在一些实施方案中,三维环境中的第二位置表示物理环境(例如,电子设备周围的物理环境)中该设备的用户(例如,用户的手部、用户的头部等)的位置。例如,三维环境的显示视图是从站在三维环境中的该位置处看向三维环境中的相应方向的用户的视角来看的。
在一些实施方案中,在显示包括第一位置处的第一对象的三维环境时,电子设备经由一个或多个输入设备接收(1404)包括具有第一量值的用户的预定义的部分的移动的用户输入,诸如在图13B中检测由手部1312执行的手势H和手部1312的向右移动(例如,接收包括用户的手部在物理环境中移动(例如,用户手部在真实世界中移动)第一量值的用户输入)。
在一些实施方案中,用户输入是经由与电子设备通信的手部跟踪设备(例如,手部跟踪传感器、手部运动传感器等)检测到的用户的手部的运动或手势。在一些实施方案中,用户输入是将第一对象移动到离用户更近的地方(例如,朝向三维环境中表示用户的位置移动)的请求。在一些实施方案中,用户输入是将第一对象移动到离用户更远的地方(例如,远离表示用户的位置移动)的请求。在一些实施方案中,用户输入是将第一对象横向地移动(例如,在保持离表示用户的位置的相同距离的同时跨越三维环境移动)的请求。在一些实施方案中,用户输入是捏合手势以及在保持捏合手势的同时,将该手部移动到离用户的身体更近的地方、离用户的身体更远的地方或将该手部跨越用户的身体移动。
在一些实施方案中,响应于接收到用户输入(1406),根据确定第一对象与第二位置相距第一距离,电子设备根据用户输入的第一量值来将三维环境中的第一对象从第一位置移动(1407)第一量,诸如在图13B中离用户第一距离的圆柱体1308-1向右移动第一量(例如,如果第一对象与用户的位置相距第一距离,则响应于该输入,第一对象在用户输入的移动分量的方向上移动第一量)。在一些实施方案中,第一量基于用户输入的移动分量的移动量(例如,用户输入的第一量值),任选地按第一因子缩放,如下文将更详细地描述。
在一些实施方案中,根据确定第一对象与第二位置相距不同于第一距离的第二距离,电子设备根据用户输入的第一量值来将三维环境中的第一对象从第一位置移动(1408)与第一量不同的第二量,诸如在图13B中离用户第二距离的圆柱体1308-2向右移动第二量(例如,如果第一对象与用户的位置相距第二距离,则响应于该输入,第一对象在用户输入的移动分量的方向上移动与第一量不同的第二量)。
在一些实施方案中,第二量基于用户输入的移动分量的移动量(例如,用户输入的第一量值)。在一些实施方案中,第一量和第二量是按一定因子缩放(例如,倍增)(任选地按不同因子缩放)的用户输入的移动分量的移动量。在一些实施方案中,缩放量基于对象离用户的位置的距离(例如,在接收到用户输入时的初始距离或在移动对象时的瞬时距离)。在一些实施方案中,如果对象更远,则将该移动缩放比对象更近时更大的量,从而允许用户以比该移动未缩放时更小的移动使远处的对象靠近,允许用户以比该移动未缩放时更小的移动将对象移动到远处,和/或允许用户以比该移动未缩放时更小的移动将对象横向地移动。在一些实施方案中,当对象靠近用户时,缩放因子相应地减小。在一些实施方案中,缩放因子随距离成比例地改变(例如,减小的距离任选地引起减小的缩放,并且增加的距离任选地引起增加的缩放)。在一些实施方案中,当对象根据用户输入来移动(连续地或周期性地)时,缩放因子改变。在一些实施方案中,缩放因子在接收到选择输入时设定并且在对象根据用户输入来移动时不会改变。在一些实施方案中,缩放因子线性地、对数式地、指数式地、根据多项式函数等减小(在对象靠近用户时)。在一些实施方案中,缩放因子与第一对象离用户的距离:该手部离用户的身体的距离成比例。在一些实施方案中,仅在第一对象正朝向用户移动时应用缩放效果(例如,不在用户正将对象移动到更远的地方时应用缩放)。
上述在三维环境中移动虚拟对象的方式(例如,通过基于对象离用户的位置的距离来按一定量移动对象)提供了在三维环境中移动虚拟对象的快速且高效的方法(例如,通过在对象在更远处时将对象移动更大的量,从而允许用户以更小的移动使对象靠近用户,而不需要用户执行多个移动输入来使对象靠近用户),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,用户的预定义的部分的移动具有第一方向(1410),诸如图13B中(例如,经由手部跟踪设备或其他感测机构检测用户手部在相应方向上第一量/量值的移动,诸如相对于三维环境中的电子设备的位置向左、向右、向前或向后移动)。
在一些实施方案中,在三维环境中移动第一对象是在基于第一方向的相应方向上(1412),诸如在图13B中圆柱体1308-1和圆柱体1308-2在与手部1312的移动相同的方向上移动(例如,第一对象在与用户手部的移动相同的方向上移动)。例如,如果用户的手部水平地向右移动,则第一对象水平地向右移动。在一些实施方案中,如果用户的手部改变深度(例如,靠近用户的躯干或远离用户的躯干),则第一对象在三维环境中靠近或远离用户移动。
上述移动虚拟对象的方式(例如,通过在与用户的预定义的部分的移动相同的方向上移动对象)提供了移动虚拟对象的快速且高效的方法(例如,通过直观地以与用户的移动相同的方式移动对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户执行附加输入来切换移动的方向或执行不直观的手势),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,第一距离和第二距离大于离第二位置的阈值距离(1414),诸如在图13A中圆柱体1308-1和圆柱体1308-2与手部1312相距超过阈值距离。在一些实施方案中,响应于接收到用户输入(1416),根据确定第一对象与第二位置相距小于阈值距离,电子设备在三维环境中将第一对象从第一位置移动(1418)第一量值,诸如在图13B中圆柱体1308与手部1312相距近于阈值距离并且响应于手部1312的向右移动,圆柱体1308向右移动与手部1312的向右移动相同的量的情况(例如,如果离第一对象和表示用户的位置的距离小于阈值距离(例如,6英寸、1英尺、3英尺、5英尺、10英尺等),则第一对象的移动不缩放并且移动与用户手部的移动相同的量)。
例如,如果用户将他或她的手部水平地向右移动1英尺,则第一对象向右移动1英尺。在一些实施方案中,当第一对象与第二位置相距小于阈值距离时,则第一对象的操纵处于直接操纵模式,使得以在整个操纵中保持第一对象与用户手部之间的距离的方式操纵第一对象。在一些实施方案中,当第一对象与第二位置相距超过阈值距离时,则第一对象的操纵处于间接操纵模式。在一些实施方案中,在处于间接操纵模式时,按等于缩放一定缩放因子的第一量值的量操纵第一对象。在一些实施方案中,缩放因子基于第一对象离第二位置的距离,如上所述。
上述移动虚拟对象的方式(例如,通过在对象在用户的阈值距离以内时将对象移动与用户的预定义的部分的移动相同的量)提供了移动虚拟对象的快速且高效的方法(例如,通过在对象在附近时直观地将对象移动与用户的移动相同的量),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户执行附加输入来在对象在附近时改变对象的移动的尺度),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,用户的预定义的部分的移动包括具有相应量值的移动的第一部分和具有相应量值的移动的第二部分(1420),诸如在图13B中在手部1312的移动向前移动或靠近用户移动,同时横向地移动的情况(例如,用户输入的移动包括按第一量的第一移动和按相同量的第二移动)。在一些实施方案中,用户输入的移动包括至少朝向或远离用户(例如,远离第二位置)的移动。
在一些实施方案中,在三维环境中将第一对象从第一位置移动包括(1422)改变第一对象离第二位置的距离(1424),诸如在图13B中基于手部1312靠近或远离用户移动来将圆柱体1308靠近或远离用户移动(例如,根据用户输入来将第一对象靠近或远离用户移动);根据用户的预定义的部分的移动的第一部分来将第一对象移动第一相应量(1426),诸如基于在手部1312的移动的第一部分期间圆柱体1308离用户的距离来将圆柱体1308移动第一量,诸如图13B中(例如,将第一对象移动基于第一对象离用户的距离的第一相应量);以及根据用户的预定义的部分的移动的第二部分来将第一对象移动与第一相应量不同的第二相应量(1428),诸如基于在手部1312的移动的第二部分期间圆柱体1308离用户的距离来将圆柱体1308移动第二量,诸如图13B中(例如,将第一对象移动基于第一对象离用户的距离的第二相应量)。
在一些实施方案中,用户输入的移动包括z分量(例如,在朝向或远离第二位置的方向上)的情况。在一些实施方案中,在第一对象与用户相距第一距离时接收到移动输入的第一部分,并且响应于移动的第一部分,对象移动按第一缩放因子缩放的相应量值,其中第一缩放因子基于第一距离。在一些实施方案中,在第一对象与用户相距第二距离时(例如,在改变第一对象离第二位置的距离之后)接收到移动输入的第二部分,并且响应于移动的第二部分,对象移动按与第一缩放因子不同的第二缩放因子缩放的相应量值,其中第二缩放因子基于第二距离。在一些实施方案中,当第一对象与第二位置之间的距离改变时,缩放因子改变。在一些实施方案中,缩放因子连续地(例如,作为平滑函数)改变。在一些实施方案中,缩放因子递增地(例如,阶梯式)改变。
上述移动虚拟对象的方式(例如,通过在对象变得离用户更近或更远时改变对象移动多少的尺度)提供了移动虚拟对象的快速且高效的方法(例如,通过自动地改变移动的尺度而不需要用户终止该操纵和重启该操纵来改变缩放因子或执行附加输入来改变或更新缩放因子),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,用户输入包括由用户的预定义的部分执行的捏合手势,之后是用户的预定义的部分的移动(1430),诸如在图13B中手部1312执行手势H并且在保持手势H的同时向右移动(例如,用户输入包括由用户的该手部作出的与选择手势相对应的捏合手势,以及在保持捏合手势的同时,与移动虚拟对象的请求相对应的用户的该手部的移动)。
上述移动虚拟对象的方式(例如,通过检测来自用户的该手部的捏合手势,之后是在保持捏合手势的同时该手部的移动)提供了移动虚拟对象的快速、高效且直观的方法(例如,通过向用户提供像对象是物理对象那样移动对象的机制,而不需要用户执行附加或不直观的输入来移动对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,接收用户输入包括经由眼睛跟踪设备检测电子设备的用户的注视指向第一对象(1432),诸如在图13A中指向圆柱体1308-1的注视1310-1或指向圆柱体1308-2的注视1310-2(例如,眼睛跟踪设备检测在接收到选择输入(例如,捏合手势)时用户的注视指向和/或聚焦于第一对象)。
在一些实施方案中,如果在接收到选择输入时用户的注视指向第一对象,则选择第一对象(例如,使得该手部的移动使第一对象移动),但如果在接收到选择输入时用户的注视指向第二对象,则选择第二对象(例如,使得该手部的移动使第二对象而不是第一对象移动)。
上述选择虚拟对象来操纵的方式(例如,通过确定在接收到选择和/或操纵输入时用户的注视指向虚拟对象)提供了选择虚拟对象的快速且高效的方法(例如,通过自动地确定用户聚焦于的对象,而不需要用户执行附加输入或手势来选择虚拟对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,三维环境包括相应预定义的位置,诸如在图13B中与目标1314相关联的桌子1306的表面上的吸附位置(例如,三维包括在移动对象时对象将“吸附”到的一个或多个预定义的位置)。在一些实施方案中,一个或多个预定义的位置基于均匀网格。在一些实施方案中,一个或多个预定义的位置基于其他对象(例如,其他对象的位置及尺寸和形状)。在一些实施方案中,预定义的位置是虚拟对象的边界、表面和/或感兴趣的点或者物理对象的表示的边界、表面和/或感兴趣的点(例如,三维环境中呈现的该设备周围的物理环境中的对象)),并且在三维环境中移动第一对象包括(1434)根据确定三维环境中的第一对象的当前位置在三维环境中的相应预定义的位置的阈值距离以内,将第一对象吸附到三维环境中的相应定义的位置(1436),诸如在图13B中将圆柱体1308-1吸附到与目标1314相关联的吸附位置(例如,如果第一对象移动到吸附位置的阈值距离(例如,3英寸、6英寸、1英尺、3英尺、5英尺、10英尺等)以内,则第一对象吸附到吸附位置)。
在一些实施方案中,吸附到吸附位置包括将第一对象的中心移动到吸附位置。在一些实施方案中,吸附到吸附位置包括移动第一对象,使得第一对象的边界/表面处于吸附位置。
上述移动虚拟对象的方式(例如,通过将对象吸附到附近位置)提供了移动虚拟对象的快速且高效的方法(例如,通过自动地将对象与预定义的位置对准,而不需要用户执行附加输入或执行精密调节来将对象与预定义的位置对准),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,根据确定三维环境中的第一对象的当前位置在三维环境中的相应预定义的位置的阈值距离以内(例如,如果第一对象在离预定义的位置的阈值距离以内,使得第一对象将被吸附到预定义的位置),电子设备经由显示生成部件显示(1438)三维环境中的相应预定义的位置的视觉指示,诸如图13B中的目标1314(例如,显示第一对象将被吸附到预定义的位置的指示)。
在一些实施方案中,在显示该指示时检测到选择输入的终止后,第一对象被吸附到预定义的位置。在一些实施方案中,该指示是第一对象的轮廓(例如,第一对象的侧影或其他合适的预览)。
上述移动虚拟对象的方式(例如,通过显示虚拟对象将吸附到的位置的视觉指示)提供了移动虚拟对象的快速且高效的方法(例如,通过在用户输入终止后虚拟对象将吸附到吸附位置时显示吸附位置的视觉指示,而不需要用户单独地确定预定义的吸附位置或尝试对象放置以找到吸附位置),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,相应预定义的位置的视觉指示的尺寸基于第一对象的尺寸(1440),诸如在图13B中目标1314的尺寸基于圆柱体1308-1的底侧的尺寸(例如,如果第一对象位于预定义的吸附位置,则视觉指示具有等于第一对象的尺寸的尺寸)。
在一些实施方案中,视觉指示是在吸附到预定义的位置时第一对象的侧影或占用空间的预览(例如,与第一对象接触的第一对象的尺寸和形状)。在一些实施方案中,视觉指示的形状基于第一对象的形状。在一些实施方案中,视觉指示是将与吸附位置相交和/或进行接触的第一对象的部分的轮廓。例如,如果对象是具有圆形底座的花瓶并且吸附位置是桌子的顶表面,则视觉指示是圆的轮廓(例如,圆形底座的尺寸和形状)。
上述显示吸附目标的方式(例如,通过显示具有一定尺寸的吸附目标的视觉指示(该尺寸基于要吸附到吸附目标的对象的尺寸))提供了显示吸附目标的视觉指示的快速且高效的方法(例如,通过在视觉上显示将由吸附到吸附目标时的第一对象包围的区域的预览,而不需要用户将对象吸附到吸附目标),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,相应预定义的位置的视觉指示的形状基于第一对象的形状,并且指示在第一对象放置在三维环境中的相应预定义的位置时第一对象的一部分将占用的三维环境的区域(1442),诸如在图13B中目标1314的形状基于圆柱体1308-1的底侧的形状(例如,如果第一对象位于视觉指示处,则视觉指示具有等于第一对象的尺寸和/或形状的尺寸和/或形状)。在一些实施方案中,视觉指示是在吸附到预定义的位置时第一对象的侧影或占用空间的预览(例如,与第一对象接触的第一对象的尺寸和形状)。
上述显示吸附目标的方式(例如,通过显示具有一定形状的吸附目标的视觉指示(该形状基于要吸附到吸附目标的对象的形状))提供了显示吸附目标的视觉指示的快速且高效的方法(例如,通过在视觉上显示将由吸附到吸附目标时的第一对象包围的区域的预览,而不需要用户将对象吸附到吸附目标),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,相应预定义的位置位于三维环境中的相应对象的表面上(例如,吸附位置位于对象的表面上)。在一些实施方案中,表面是墙壁、桌面、咖啡桌面、地板等。在一些实施方案中,表面是虚拟对象或真实世界物理对象的表面(例如,三维环境中呈现的该设备周围的环境中的真实世界对象)),并且显示相应预定义的位置的视觉指示包括在视觉上强调相应对象的表面(1444),诸如在图13B中突出显示桌子1306的顶表面(例如,与相应对象的其他部分相比突出显示相应对象的表面)。
在一些实施方案中,显示视觉指示包括改变对象的表面的颜色、阴影、亮度、对比度或任何其他视觉特征。在一些实施方案中,在表面的一部分上显示视觉指示。在一些实施方案中,在整个表面上显示视觉指示。
上述显示吸附目标的方式(例如,通过在视觉上强调对象将被吸附到的表面)提供了显示吸附目标的视觉指示的快速且高效的方法(例如,而不需要用户单独地确定预定义的吸附位置或尝试对象放置以找到吸附位置),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在三维环境中的第一对象的当前位置在三维环境中的相应预定义的位置的阈值距离以内时以及在显示三维环境中的相应预定义的位置的视觉指示时,电子设备检测(1446)第一对象向比离三维环境中的相应预定义的位置的阈值距离更远的距离的移动,诸如在图13B中手部1312的移动使圆柱体1308-1远离目标1314移动(例如,接收到包括将第一对象移动到远于离吸附点的阈值距离的移动的用户输入)。
在一些实施方案中,响应于检测到第一对象向比离三维环境中的相应预定义的位置的阈值距离更远的距离的移动,电子设备停止(1448)显示相应预定义的位置的视觉指示,诸如在图13B中停止显示目标1314(例如,响应于第一对象远于离吸附点的阈值距离和/或当第一对象远于离吸附点的阈值距离时,停止显示吸附点的视觉指示)。
在一些实施方案中,在任何一个时间仅显示一个视觉指示。在一些实施方案中,同时显示与多个吸附点相关联的超过一个视觉指示(例如,如果第一对象在离两个或更多个吸附点的阈值距离以内)。在一些实施方案中,如果显示多个吸附点的多个视觉指示,那么如果对象移动到远于离相应视觉指示的阈值距离的地方,则相应视觉指示停止显示(任选地,如果对象仍在离其他吸附点的阈值距离以内,则保持那些吸附点的显示)。
上述移动虚拟对象的方式(例如,通过在对象接近吸附目标时显示吸附目标的视觉指示,但在虚拟对象离开时停止显示视觉指示)提供了显示吸附目标的视觉指示的快速且高效的方法(例如,通过在对象移动超过吸附目标的吸附距离时自动地移除视觉指示的显示),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在三维环境中的第一对象的当前位置在三维环境中的相应预定义的位置的阈值距离以内时以及在显示三维环境中的相应预定义的位置的视觉指示时(例如,在显示吸附点的视觉指示,使得在用户输入终止后,第一对象将吸附到吸附点时),电子设备检测(1450)第一对象的操纵,诸如在图13B中在显示目标1314时旋转圆柱体1308-1的情况(例如,第一对象的取向的变化,使得从用户的视角来看和/或相对于三维环境的第一对象的占用空间和/或侧影改变)。
在一些实施方案中,响应于检测到第一对象的操纵,电子设备更新(1452)相应预定义的位置的视觉指示的显示以反映第一对象的操纵,诸如在图13B中目标1314基于圆柱体1308-1的旋转来改变尺寸和/或形状(例如,根据占用空间或侧影的变化来改变视觉指示)。
在一些实施方案中,视觉指示具有第一对象的占用空间的尺寸和形状(例如,将被第一对象占据的表面上的空间量),并且如果旋转或以其他方式操纵第一对象,则第一对象的占用空间改变并且视觉指示改变以反映新尺寸、形状、取向等。例如,如果第一对象是棱锥,那么当棱锥直立(例如,三角形末端向上和向下)时,则视觉指示(例如,桌子的表面上)是正方形(例如,棱锥的底部的形状)并且等于棱锥的底部的尺寸和/或形状(例如,反映棱锥在放置在该位置处时将占据的空间),但如果旋转棱锥,使得三角形末端将被放置在表面上(例如,而不是底部),则视觉指示改变为三角形并且任选地等于棱锥的三角形侧面的尺寸和形状(例如,反映棱锥在放置在该位置处时将占据的空间)。
上述显示吸附目标的方式(例如,通过在虚拟对象基于对象的旋转来旋转时显示改变尺寸和/或形状的视觉指示)提供了显示吸附目标的视觉指示的快速且高效的方法(例如,通过在虚拟对象的占用空间因虚拟对象的旋转而改变时更新视觉指示的尺寸和/或形状,而不需要用户在操纵虚拟对象之后执行附加输入来更新视觉指示),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,电子设备经由显示生成部件同时显示(1454)与三维环境中的第一对象相对应的阴影和相应预定义的位置的视觉指示,其中阴影不同于相应预定义的位置的视觉指示,诸如在图13B中在桌子1306的表面上与目标1314同时显示圆柱体1308-1的阴影的情况(例如,任选地在与吸附位置的视觉指示相同的表面上以及任选地在与吸附位置的视觉指示不同的(例如,相同对象或不同对象的)表面上示出第一对象的阴影)。
在一些实施方案中,第一对象的阴影具有基于在光从三维环境中的相应位置投射时对象的侧影的形状。在一些实施方案中,光从三维环境的顶部向下投射。在一些实施方案中,阴影的形状是与视觉指示不同的形状。在一些实施方案中,阴影的尺寸基于第一形状离阴影所在的表面的距离(例如,该形状有多少漂浮在该表面上方)。在一些实施方案中,占用空间不基于第一形状离该表面的距离来改变尺寸和/或形状。
上述移动虚拟对象的方式(例如,通过显示吸附目标的视觉指示和虚拟对象的阴影)提供了虚拟对象的移动的反馈(例如,通过同时显示虚拟对象的阴影(其指示虚拟对象相对于虚拟对象下方的表面的当前位置)和吸附点的视觉指示(其指示在对象吸附到吸附点时虚拟对象将处于的位置)),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,通过提供用于将对象的当前位置与吸附位置进行比较的方法),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在三维环境中移动第一对象时(1456),根据确定三维环境中的第一对象的当前位置在三维环境中的相应预定义的位置的阈值距离以内,电子设备经由电子设备生成(1458)相应触觉输出,诸如在图13B中在圆柱体1308-1吸附到与目标1314相关联的位置时设备101引起生成触觉输出的情况(例如,在一个或多个人类-设备界面处生成触觉输出,诸如振动、冲击等)。在一些实施方案中,在输入设备处生成触觉输出。例如,在与电子设备通信的触笔上生成振动输出。在一些实施方案中,在可穿戴设备(例如,电子设备)诸如手表、臂带、头带等处生成触觉输出。
上述将虚拟对象吸附到吸附位置的方式(例如,通过在虚拟对象吸附到吸附位置时生成触觉输出)提供了虚拟对象已吸附或可吸附到吸附位置的触觉反馈,这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,根据确定三维环境中的相应预定义的位置对应于三维环境中的第一类型的表面,阈值距离是第一阈值距离(1460),诸如在图13B中吸附距离是对于桌子1306的表面的第一距离(例如,如果吸附位置是第一类型的对象上的表面(诸如桌子的表面),则视觉指示被显示的距离和/或虚拟对象将吸附到吸附位置的距离是基于第一类型的表面的第一阈值距离)。
在一些实施方案中,根据确定三维环境中的相应预定义的位置对应于三维环境中与第一类型的表面不同的第二类型的表面,阈值距离是与第一阈值距离不同的第二阈值距离(1462),诸如在图13B中吸附距离是对于地板的第二不同距离(例如,如果吸附位置是第二类型的对象上的表面(诸如地板的表面),则视觉指示被显示的距离和/或虚拟对象将吸附到吸附位置的距离是基于第二类型的表面的第二阈值距离)。
在一些实施方案中,电子设备能够基于第一对象来确定某些表面是否更适当或不太适当并且根据该确定来改变吸附距离。例如,将花瓶放置在桌子上的吸附距离大于将花瓶放置在地板上的吸附距离,因为可确定花瓶更可能放置在桌子上而不是地板上。因此,为了将花瓶吸附到地板,将必须使花瓶比将花瓶吸附到桌子的表面时更加靠近地板。又如,将椅子放置在地板上的吸附距离大于将椅子放置在桌子上的吸附距离,因为可确定椅子更可能放置在地板上而不是桌子上。因此,为了将椅子吸附到地板,将必须使椅子比将椅子吸附到地板时更加靠近桌子。
上述将虚拟对象吸附到吸附位置的方式(例如,通过需要第一距离来吸附到第一类型的表面上的吸附位置,但需要第二不同距离来吸附到第二类型的表面上的吸附位置)提供了显示吸附目标的视觉指示的快速且高效的方法(例如,通过基于要吸附的对象和对象将被吸附到的表面类型来自动地更早或更晚显示吸附位置的指示),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,用户输入包括选择输入,之后是长于时间阈值的暂停输入,之后是用户的预定义的部分的移动(1464),诸如在图13A和图13B中在检测到由手部1312作出的手势H之后且在检测到手部1312的移动之前的暂停(例如,在看向对象时超过阈值时间量的捏合手势,之后是用户的该手部的移动)。
在一些实施方案中,对象在三维环境中根据该手部的移动(任选地按缩放因子缩放)来移动。在一些实施方案中,如果选择输入之后不是长于时间阈值的暂停(例如,在刚好在选择输入之后发生移动或选择输入未在移动之前保持阈值时间量),则对象不在三维环境中移动。
上述移动虚拟对象的方式(例如,通过需要选择输入在用户的该手部移动之前保持阈值时间量)提供了确保用户输入是移动虚拟对象的请求的快速且高效的方法(例如,通过确定选择手势是有意的),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,通过减少错误检测到移动对象的请求的机会),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,用户的预定义的部分的移动的第一量值大于量值阈值(1466),诸如图13B中的手部1312的移动大于最小量。在一些实施方案中,响应于接收到用户输入(1468),根据确定用户的预定义的部分的移动的第一量值小于量值阈值,电子设备将第一对象保持(1470)在三维用户界面中的第一位置处,诸如在图13B中由于手部1312的移动小于最小量而不移动圆柱体1308的情况(例如,如果用户的该手部的移动的量值小于阈值量(例如,0.5英寸、1英寸、3英寸、6英寸、1英尺),则不根据该手部的移动来移动第一对象)。
在一些实施方案中,需要最小移动防止了小移动或意外移动使第一对象移动。在一些实施方案中,如果该手部的移动超过量值阈值,则第一对象根据该手部的移动来移动。
上述移动虚拟对象的方式(例如,通过在用户的该手部的移动超过阈值距离时移动虚拟对象)提供了确保用户输入是移动虚拟对象的有意请求的快速且高效的方法(例如,通过需要最小移动),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,通过减少错误检测到移动对象的请求的机会),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
图15A至图15F示出了根据一些实施方案的扫描真实世界对象的示例。
图15A示出了经由显示生成部件(例如,图1的显示生成部件120)在用户界面上显示三维环境1504的电子设备101。如上文参考图1至图6所述,电子设备101任选地包括显示生成部件(例如,触摸屏)和多个图像传感器(例如,图3的图像传感器314)。图像传感器任选地包括以下中的一者或多者:可见光相机;红外相机;深度传感器;或当用户与电子设备101交互时电子设备101能够用来捕获用户或用户的一部分的一个或多个图像的任何其他传感器。在一些实施方案中,下文所示的用户界面也可在头戴式显示器上实现,该头戴式显示器包括向用户显示用户界面的显示生成部件以及用于检测物理环境和/或用户手部的移动的传感器(例如,从用户面向外的外部传感器)和/或用于检测用户的注视的传感器(例如,向内面朝用户的面部的内部传感器)。
如图15A所示,设备101捕获设备101周围的真实世界环境1500(例如,操作环境100)的一个或多个图像,包括设备101周围的真实世界环境1500中的一个或多个对象。在一些实施方案中,设备101在三维环境1504中显示真实世界环境的表示。例如,三维环境1504包括房间的后拐角、房间的后壁上的相框1502的至少一部分的表示以及桌子1506的表示。类似地,在图15A中,三维环境1504包括握持触笔1510的手部1508的表示。在一些实施方案中,如上文在图6B中所述,手部1508保持在设备101的前方或后方(例如,在设备101的与用户相对的侧面上)并由该设备的一个或多个传感器(例如,如上文在图6B中所示,任选地由在设备101的与用户相对的侧面上的传感器)捕获。在一些实施方案中,用户的手部1508握持着触笔1510,因此设备101显示握持触笔1510的表示的手部1508的表示。在一些实施方案中,该设备的用户的该手部保持在该设备的前方(例如,在设备101的与用户相同的侧面上)并由设备101的一个或多个传感器(例如,任选地由在设备101的与用户相同的侧面上的传感器)捕获。
在一些实施方案中,触笔1510是与设备101通信的有源设备,其包括一个或多个传感器,诸如取向传感器(例如,加速度计和/或陀螺仪)、一个或多个触觉输出发生器、一个或多个接触传感器(例如,用于检测用户输入)。在一些实施方案中,触笔1510是设备101能够用设备101的一个或多个传感器(例如,任选地由在设备101的与用户相对的侧面上的传感器)跟踪的无源指向设备(例如,铅笔、钢笔、激光指示器、指点杆等)。
在一些实施方案中,(例如,由设备101)部分地或完全地扫描真实世界对象以生成真实世界对象的部分或完整三维模型。在一些实施方案中,通过从多个角度和/或视角执行相应对象的多个捕获来扫描真实世界对象。在一些实施方案中,使用一个或多个相机和/或一个或多个飞行时间传感器(例如,深度传感器)执行这些捕获。在一些实施方案中,由设备101的传感器(例如,相机和/或飞行时间传感器)执行这些捕获。在一些实施方案中,由另一个设备的传感器执行这些捕获。在一些实施方案中,用户能够使用指向设备(诸如触笔)来标记真实世界对象的部分以供扫描。在一些实施方案中,由触笔的传感器执行这些捕获。在一些实施方案中,响应于用户标记真实世界对象的部分以供扫描,而扫描真实世界对象的部分。在一些实施方案中,在单独的未来时间扫描已被标记的真实世界对象的部分。如上所讨论,触笔用于标记真实世界对象的部分以供扫描并且设备101中(例如,而不是触笔中)的传感器用于扫描被标记以供扫描的部分。
在一些实施方案中,真实世界对象的扫描部分用于生成真实世界对象的扫描部分的模型,例如以创建基于真实世界对象的扫描部分的虚拟对象。这样,用户能够将任选地与真实世界对象相同的虚拟对象插入到三维环境中。
在图15A中,设备101检测到触笔1510指向桌子1506(例如,真实世界环境1500中的真实世界对象)的相应部分。在一些实施方案中,根据确定触笔1510指向桌子1506的相应部分,设备101显示十字线1512,该十字线指示正由触笔1510标记以供扫描的或将由该触笔标记以供扫描的桌子1506的相应部分,如图15A所示。在一些实施方案中,十字线1512具有基于触笔1510离将被标记以供扫描的部分的距离的尺寸。例如,如果触笔1510接近将被标记以供扫描的桌子1506的部分,则十字线1512具有小尺寸(例如,更小直径),但如果触笔1510远离将被标记以供扫描的桌子1506的部分,则十字线1512具有大尺寸(例如,更大直径)。因此,在一些实施方案中,十字线1512表现出类似手电筒的行为,其中增加离目标的距离使得十字线1512的尺寸增加并且减小离目标的距离使得十字线512的尺寸减小。如上所述,如果触笔1512离桌子1506更远,则桌子1506的更大部分被标记以供扫描(例如,对应于更大尺寸的十字线),并且如果触笔1512离桌子1506更近,则桌子1506的更小部分被标记以供扫描(例如,对应于更小尺寸的十字线)。
在一些实施方案中,设备101基于触笔1506的取向和/或角度来确定触笔1510指向的桌子1506的部分。在一些实施方案中,设备101响应于检测到由手部1508作出的选择手势(例如,“手势I”)而标记桌子1506的相应部分以供扫描。在一些实施方案中,选择手势包括触笔1510上的轻击手势和/或触笔1510上的轻击并保持手势。在一些实施方案中,轻击手势是由手部1508的手指(例如,食指、拇指等)作出的与触笔1510小于阈值时间量(例如,0.1秒、0.5秒、1秒、3秒等)的接触,之后是该接触的抬起。在一些实施方案中,轻击并保持手势是由手部1508的手指作出的与触笔1510小于阈值时间量的接触,之后是该接触的抬起,再之后是在从抬起以来的阈值时间量以内(例如,在0.1秒、0.5秒、1秒、3秒等以内)由手部1508的相同手指作出的持续接触。在一些实施方案中,响应于检测到选择手势,触笔1510指向的桌子1506的部分被标记以供扫描,如上所述。在一些实施方案中,如果未检测到选择手势(例如,在触笔1510指向桌子1506的一部分之前未检测到选择手势,或在触笔1510指向桌子1506的部分时未保持选择手势),则桌子1506的部分不被标记以供扫描。
在一些实施方案中,在桌子1506的一部分已被标记以供扫描之后,设备101显示扫描指示符1514,该扫描指示符指示已被标记以供扫描的桌子1506的部分(例如,任选地例如在桌子1506被实时扫描的实施方案中已被扫描的桌子1506的部分)。在一些实施方案中,扫描指示符1514是阴影、突出显示、网格图案或其他指示已被标记以供扫描的区域的合适方法。
在一些实施方案中,当手部1508移动和/或改变取向,使得触笔1510指向桌子1506的不同部分时(任选地在用户保持手势I时),十字线1512沿着桌子1506移动以跟随触笔1510指向的桌子1506的部分。在一些实施方案中,当十字线1512跨越桌子1506的不同部分移动时,桌子1506的不同部分被标记以供扫描。例如,在图15B中,用户已移动触笔1510以扫描桌子1506的腿部。在一些实施方案中,响应于检测到触笔1510跨越桌子1506的腿部的移动,设备101扩大扫描指示符1514以包括触笔1510在当前扫描会话期间迄今已指向的桌子1506的部分。例如,标记桌子1506的附加部分会将附加标记的部分添加到先前被标记以供扫描的桌子1506的部分。在一些实施方案中,用户能够重置桌子1506的标记部分(例如,通过选择可选选项以撤销或清除扫描指示符),使得桌子1506的任何部分都不被标记以供扫描。
在一些实施方案中,用户能够围绕对象移动和/或改变对象的取向以扫描原本在不改变对象的视图的情况下不可见的对象的部分。例如,在图15B中,用户能够绕着走动到桌子1506的侧面和/或旋转桌子1506以标记桌子1506的左侧、右侧和/或远侧以供扫描。在一些实施方案中,设备101检测到用户的取向和/或桌子1506的取向已改变并且能够移动扫描指示符1514以跟随视角的变化。例如,如果用户走到桌子1506的后方并且从后方面向桌子1506,则扫描指示符1514保持在桌子1506的左前角处显示,从用户的新视角来看,该扫描指示符在右后方显示。
在一些实施方案中,如果在用户保持选择输入并将触笔1510指向桌子1506时旋转桌子1506或用户围绕桌子1506移动,则设备101标记在移动期间触笔1510因视角的变化而指向的桌子1506的部分。例如,如果用户用触笔1510指向桌子1506的拐角,然后在保持触笔1510的取向的同时围绕桌子1506旋转,则围绕桌子1506的移动使得触笔1510指向桌子1506的另一个拐角(例如,以及任选地在用户围绕桌子1506旋转时触笔1510指向的桌子1506的其他部分),并且作为响应,设备101标记桌子1506的新拐角(例如,以及任选地在用户围绕桌子1506旋转时触笔1510指向的桌子1506的任何附加部分)以供扫描(例如,并且相应地扩大扫描指示1514)。因此,用户能够通过移动触笔1510、移动桌子1506和/或改变相对于桌子1506的位置来扫描桌子1506的不同部分。
在一些实施方案中,在完成用于标记桌子1506的部分以供扫描的过程之后(例如,在已标记所有部分以供扫描之后和/或响应于检测到指示标记供扫描的部分的完成的用户输入等),设备101显示用于执行与桌子1506的扫描部分相关联的操作的一个或多个可选选项(例如,任选地在上下文菜单中)。例如,一个或多个可选选项包括用于撤销最近操作(例如,取消标记最近标记以供扫描的部分)的选项、拷贝和/或复制选项(例如,用于基于迄今已被标记以供扫描的部分来生成三维对象,如下文将更详细地描述)和/或用于完成扫描过程(例如,用于丢弃扫描结果并停止显示扫描指示符1514)的选项。在一些实施方案中,在完成用于标记桌子1506的部分以供扫描的过程之后,设备101在扫描指示符1514处或附近显示移动示能表示,该移动示能表示可选择并可移动以使扫描指示符1514远离桌子1506移动(例如,从而生成三维对象,如下文将参考图15C所描述)。
在图15C中,在扫描桌子1506的一部分(例如,由扫描指示符1514指示)之后,电子设备101能够基于桌子1506的扫描部分来生成三维对象1516。在一些实施方案中,所生成的对象1516具有桌子1506的扫描部分的尺寸和形状并且具有基于桌子1506的扫描部分的颜色、纹理、形状和/或轮廓的颜色、纹理、形状和/或轮廓。例如,所生成的对象1516包括腿部部分和与腿部部分附接的桌子的表面的拐角,但不包括尚未被扫描和/或尚未被标记以供扫描的桌子的表面的其他部分和其他腿部。在一些实施方案中,所生成的对象1516是用户能够独立于桌子1506操纵(诸如移动、调整尺寸、旋转或执行任何其他操纵功能)的虚拟对象,诸如上文相对于方法1000、1200和/或1400所述的那些。
在一些实施方案中,响应于接收到使所生成的对象1516远离桌子1506移动的用户输入,所生成的对象1516与桌子1506解除关联(例如,由桌子1506的扫描部分生成)。例如,在扫描桌子1506的一部分之后(例如,在已扫描整个桌子1506之后,在阈值时间量诸如5秒、10秒、30秒等后桌子1506的附加部分未被标记以供扫描之后,和/或在接收到选择用于终止扫描过程的可选选项的用户输入之后),设备101任选地在桌子1506的扫描部分处或附近显示移动示能表示。在一些实施方案中,移动示能表示可交互以通过例如选择移动示能表示并使移动示能表示远离桌子1506移动(例如,从而将桌子1506的扫描部分与桌子1506解除关联)来生成所生成的对象1516。
在一些实施方案中,在将扫描指示符1514与桌子1506解除关联(例如,并且生成三维对象1516)之后,所生成的对象1516能够与桌子1506重新关联。例如,用户能够选择可选选项或使用在所生成的对象1516处或附近显示的移动示能表示来将所生成的对象移动回桌子1506中(例如,从而逆转用于使所生成的对象1516生成的步骤)以将扫描指示符1514重新关联和/或重新附接回桌子1506中。在一些实施方案中,所生成的对象1516在靠近离桌子1506的阈值距离(例如,1英寸、3英寸、6英寸、1英尺、3英尺等)以内和/或在离所生成的对象1516基于的桌子1506的相应部分的阈值距离以内(例如,在桌子1506的腿部和/或拐角的阈值距离以内)时吸附回桌子1506中。在一些实施方案中,将扫描指示符1514与桌子1506重新关联允许用户标记桌子1506的附加部分以供扫描或以其他方式修改已被标记以供扫描的桌子1506的部分。在一些实施方案中,在将扫描指示符1514与桌子1506重新关联之后,对桌子1506执行的操纵操作使得重新关联的扫描指示符1514也相应地被操纵(例如,移动桌子1506使得扫描指示符1514也移动)。
图15D至图15F示出了描画桌子1506的部分以生成三维对象的方法。在图15D中,设备101检测到手部1508的移动,使得在保持选择手势(例如,“手势J”)的同时触笔1510的尖端沿着桌子1506的顶表面的边缘描画。如上所述,桌子1506任选地是虚拟对象或任选地是真实世界环境1500中的真实世界对象的表示。在一些实施方案中,响应于检测到触笔1510沿着桌子1506的顶表面的边缘描画,设备101显示描画指示符1518-1。在一些实施方案中,描画指示符1518-1是跟随触笔1510沿着桌子1506的顶表面的边缘的描画的线条。在一些实施方案中,在触笔1510执行描画手势时显示描画指示符1518-1。例如,使用触笔1510,用户能够沿着桌子1506的顶表面的边缘“绘制”描画指示符1518-1。在一些实施方案中,如图15D所示,描画指示符1518-1具有基于触笔1510的移动的形状和/或纹理。在一些实施方案中,设备101清理描画指示符1518-1并且拉直线条。在一些实施方案中,设备101使描画指示符1518-1与桌子1506的边缘对准。如图15E所示,描画指示符1518-1在x方向(例如,水平向左和向右)和z方向(例如,远离用户和朝向用户)上延伸。因此,描画指示符1518-1能够捕获被描画的桌子1506的表面的尺寸、形状和/或取向。
在图15E中,设备101检测由沿着桌子1506的不同部分描画的触笔1510作出的进一步移动(例如,任选地由于由手部1508作出的移动)。在一些实施方案中,响应于进一步移动,设备101在用户执行描画手势的相应位置处“绘制”描画指示符1518-2和描画指示符1518-3。在一些实施方案中,用户在绘制描画指示符1518-1之后松开选择输入并且再次执行选择输入以沿着桌子1506的顶表面的边缘绘制描画指示符1518-2。在一些实施方案中,用户松开选择输入并且再次执行选择输入以沿着桌子1506的腿部的边缘绘制描画指示符1518-3。如图15E所示,由于用户在绘制描画指示符1518-1、1518-2和1518-3之间松开了选择输入,因此这些描画指示符不相连。在一些实施方案中,描画指示符1518-2和1518-3具有基于触笔1510的移动的尺寸和形状。例如,由于触笔1510跟随着桌子1506的顶表面的边缘,因此描画指示符1518-2跟随着桌子1506的顶表面的边缘。因此,描画指示符1518-2任选地在x方向(例如,沿着桌子1506的边缘水平向左和向右)和y方向(例如,沿着桌子1506的边缘向上和向下)上延伸。类似地,描画指示符1518-3跟随着桌子1506的腿部的前侧和左侧。因此,描画指示符1518-3任选地在x方向(例如,沿着桌子1506的腿部的顶部边界和底部边界水平向左和向右)、y方向(例如,沿着桌子1506的腿部的右侧和桌子1506的腿部的左后侧垂直向上和向下)和z方向(例如,沿着桌子1506的腿部的左侧远离和朝向用户)上延伸。因此,如上所示,描画指示符在任何方向上延伸并且能够在x、y和z方向中的任何方向上跟随真实世界对象的边缘。在一些实施方案中,描画指示符(例如,描画指示符1518-1、1518-2和1518-3)的组合任选地是三维对象并且任选地被分组在一起(例如,被当作单一虚拟对象的部分)。
在一些实施方案中,沿着真实世界对象的边缘描画包括触笔1510触摸用户希望描画的真实世界对象的相应部分(例如,任选地同时执行选择手势)。在一些实施方案中,沿着真实世界对象的边缘描画包括触笔1510到达离真实世界对象的相应部分的阈值距离以内(例如,在1英寸、3英寸、6英寸、1英尺等以内,任选地同时执行选择手势)。在一些实施方案中,沿着真实世界对象的边缘描画包括将触笔1510指向真实世界对象的相应部分(例如,任选地同时在阈值距离以内)。在一些实施方案中,由于真实世界对象是真实物理对象,因此用户能够沿着真实世界对象的边缘、边界、界线和/或表面描画,而不描画真实世界对象的内部(例如,触笔1510不能够进入真实世界对象的内部)。在一些实施方案中,如上所述,描画指示符“绘制”在真实世界对象的表面上触笔1510与之进行接触(或到达其阈值距离以内)的位置处。在一些实施方案中,描画指示符吸附到真实世界对象的最近边缘(例如,桌子1506的表面的拐角、桌子1506的腿部的边缘等)。
在一些实施方案中,在沿着桌子1506的边缘和/或表面描画之后,用户能够将描画指示符与桌子1506解除关联以生成基于桌子1506的形状的线框对象。例如,在图15F中,用户能够将描画指示符1518-1至1518-3与桌子1506解除关联并且使描画指示符1518-1至1518-3远离桌子1506移动。在一些实施方案中,描画指示符1518-1至1518-3是单个三维对象。在一些实施方案中,描画指示符1518-1至1518-3是三个单独三维对象。在一些实施方案中,描画指示符1518-1至1518-3保持其三维方位并且具有与桌子1506的其相应部分相同的尺寸、形状和/或深度。因此,用户能够生成桌子1506的已描画部分的线框模型。在一些实施方案中,在将描画指示符1518-1至1518-3与桌子1506解除关联之后,描画指示符是用户能够独立于桌子1506操纵(诸如移动、调整尺寸、旋转或执行任何其他操纵功能)的虚拟对象,诸如上文相对于方法1000、1200和/或1400所述的那些。在一些实施方案中,描画指示符能够以类似于上述将扫描指示符1514与桌子1506重新关联的方式与桌子1506重新关联。
图16A至图16J是示出根据一些实施方案的扫描真实世界对象的方法1600的流程图。在一些实施方案中,方法1600在计算机系统(例如,图1中的计算机系统101,诸如平板电脑、智能电话、可穿戴计算机或头戴式设备)处执行,该计算机系统包括显示生成部件(例如,图1、图3和图4中的显示生成部件120)(例如,平视显示器、显示器、触摸屏、投影仪等)和一个或多个相机(例如,向下指向用户手部的相机(例如,颜色传感器、红外传感器和其他深度感测相机)或从用户头部向前指向的相机)。在一些实施方案中,方法1600通过存储在非暂态计算机可读存储介质中并由计算机系统的一个或多个处理器诸如计算机系统101的一个或多个处理器202(例如,图1A中的控制单元110)执行的指令来管理。方法1600中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
在方法1600中,在一些实施方案中,与显示生成部件和一个或多个输入设备通信的电子设备(例如,图1中的计算机系统101)(例如,移动设备(例如,平板电脑、智能电话、媒体播放器或可穿戴设备)或计算机)经由显示生成部件显示(1602)与物理环境相对应的三维环境,其中物理环境包括第一物理对象,诸如图15A中的三维环境1504中显示的桌子1506(例如,呈现包括物理环境的表示的计算机生成的环境)。
在一些实施方案中,显示生成部件是与电子设备集成的显示器(任选地触摸屏显示器)、外部显示器诸如监视器、投影仪、电视机或用于投影用户界面或使得用户界面对一个或多个用户可见的硬件部件(任选地集成的或外部的)等。在一些实施方案中,一个或多个输入设备包括能够接收用户输入(例如,捕获用户输入、检测用户输入等)并将与用户输入相关联的信息传输到电子设备的电子设备或部件。输入设备的示例包括触摸屏、鼠标(例如,外部的)、触控板(任选地集成的或外部的)、触摸板(任选地集成的或外部的)、遥控设备(例如,外部的)、另一个移动设备(例如,与电子设备分开)、手持设备(例如,外部的)、控制器(例如,外部的)、相机、深度传感器和/或运动传感器(例如,手部跟踪传感器、手部运动传感器)等。
在一些实施方案中,计算机生成的环境是任选地包括电子设备周围的物理环境的透传视频的虚拟现实(VR)环境、混合现实(MR)环境或增强现实(AR)环境。在一些实施方案中,电子设备周围的物理环境由一个或多个可见光传感器(例如,相机)捕获并且经由显示生成部件显示为物理环境的照片级真实表示。在一些实施方案中,电子设备周围的物理环境例如经由透明或半透明透镜被动地呈现给用户。
在一些实施方案中,在显示三维环境时,电子设备经由一个或多个输入设备接收(1604)指向第一物理对象的用户输入,诸如在图15A中手部1508在指向桌子1506的一部分时执行手势I(例如,从指向设备诸如触笔、指点杆、用户的手部(例如,指向第一物理对象的用户)等接收到用户输入)。
在一些实施方案中,指向第一物理对象的用户输入包括检测到指向设备指向第一物理对象的一部分。在一些实施方案中,指向第一物理对象的用户输入包括在指向设备指向第一物理对象的一部分时的选择输入(例如,按钮的按压、相应手势等)。
在一些实施方案中,响应于接收到用户输入(1605),根据确定用户输入指向第一物理对象的第一部分(例如,指向设备指向第一物理对象的第一部分),电子设备经由显示生成部件在三维环境中与第一物理对象的第一部分相关联的第一位置处显示(1606)第一扫描指示,而不在三维环境中与第一物理对象的不同于第一部分的第二部分相关联的第二位置处显示第二扫描指示,其中第一扫描指示指示第一物理对象的第一部分已被选择以供电子设备的一个或多个传感器扫描,诸如图15A中的扫描指示符1514(例如,如果用户输入指向第一物理对象的第一部分,则显示第一物理对象的第一部分正被扫描、已被扫描或将被扫描的指示)。
在一些实施方案中,在三维环境中的一定位置处显示该指示,使得该指示看起来在第一物理对象的顶部上和/或覆盖在第一物理对象的第一部分上(例如,以第一物理对象的第一部分为轮廓线)。在一些实施方案中,显示该指示,使得第一物理对象的第一部分看起来具有与未显示有该指示的第一物理对象的其他部分不同的视觉特征。在一些实施方案中,该扫描指示是图案(例如,网格或影线)、阴影、体素和/或任何其他合适的指示。在一些实施方案中,第一扫描指示的尺寸(例如,被扫描或已被扫描的区域)是以指向设备指向的位置为中心的预先确定的尺寸(例如,具有预先确定的尺寸的圆形区域)。在一些实施方案中,第一扫描指示的尺寸基于第一物理对象的轮廓和/或拓扑结构和/或正执行扫描的传感器扫描第一物理对象的能力。在一些实施方案中,响应于用户输入,第一物理对象的其他部分未显示有扫描指示(例如,第一部分之外的第一物理对象的部分)。在一些实施方案中,扫描第一物理对象会捕获第一物理对象的颜色、纹理、轮廓、形貌等。在一些实施方案中,扫描第一物理对象使得能够构建第一物理对象的部分或完整三维模型。在一些实施方案中,由该电子设备或与该电子设备通信的另一个电子设备执行扫描过程。在一些实施方案中,可在计算机生成的环境中使用(例如,显示)三维模型。
在一些实施方案中,根据确定用户输入指向第一物理对象的第二部分,电子设备经由显示生成部件在三维环境中与第一物理对象的第二部分相关联的第二位置处显示(1608)第二扫描指示,而不在与第一物理对象的第一部分相关联的第一位置处显示第一扫描指示,其中第二扫描指示指示第一物理对象的第二部分已被选择以供电子设备的一个或多个传感器扫描,诸如图15A中的扫描指示符1514(例如,如果用户输入指向第一物理对象的第二部分,则显示第一物理对象的第二部分正被扫描、已被扫描或将被扫描的指示)。
因此,在一些实施方案中,该设备扫描用户使用指向设备指向的第一物理对象的部分。在一些实施方案中,当接收到指向第一物理对象的不同部分的进一步用户输入(例如,指向第一物理对象的不同部分的用户输入的连续移动和/或指向第一物理对象的不同部分的离散用户输入)时,更新(例如,扩大)扫描指示以覆盖第一物理对象的不同部分。
上述指示已被扫描或将被扫描的物理对象的部分的方式(例如,通过在与由用户输入控制的已被扫描或将被扫描的物理对象的部分相关联的位置处显示扫描指示)提供了关于扫描物理对象的进度的快速且高效的反馈,这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户终止扫描进度以确定对象的预期部分是否已被正确标记以供扫描),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,经由与电子设备通信并与电子设备分开的输入设备来提供用户输入(1610),诸如在图15A中由手部1508握持的触笔1510(例如,在与电子设备分开并经由有线或无线通信来与电子设备通信的输入设备处接收输入)。在一些实施方案中,输入设备是指向设备,诸如触笔。在一些实施方案中,输入设备是另一个电子设备。
在一些实施方案中,响应于接收到用户输入并且根据确定用户输入指向第一物理对象的第一部分,电子设备经由与输入设备分开的电子设备的一个或多个传感器来扫描(1612)第一物理对象的第一部分,诸如在图15A中扫描触笔1510指向的桌子1506的部分(例如,如果输入设备指向物理对象的第一部分,则物理对象的第一部分被标记以供扫描并且该扫描由电子设备的一个或多个传感器执行(例如,而不由输入设备执行))。
例如,如果指向设备指向物理对象的第一部分,则电子设备确定物理对象的第一部分已被标记以供指向设备扫描并且使用与电子设备集成或与电子设备通信的相机和/或深度传感器来扫描物理对象的第一部分。
上述扫描物理对象的方式(例如,通过使用指向设备指示部分以供扫描并且使用除指向设备之外的设备执行扫描)提供了指示物理对象的部分以供扫描的快速且高效的方法(例如,通过允许用户使用任何类型的指向设备指示物理对象的部分以供扫描,而不需要用户使用具有集成扫描功能的特定指向设备),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在三维环境中与第一物理对象的第一部分相关联的第一位置处显示第一扫描指示时,电子设备经由一个或多个输入设备接收(1614)指向第一物理对象的第三部分的第二用户输入,诸如在图15B中触笔1510移动而指向桌子1506的腿部部分(例如,检测到指向设备已移动而指向第一物理对象的第三部分)。
在一些实施方案中,响应于接收到第二用户输入,电子设备经由显示生成部件显示(1616):三维环境中与第一物理对象的第一部分相关联的第一位置处的第一扫描指示(1618),诸如在图15A中桌子1506的初始部分处的扫描指示1514(例如,保持显示第一位置处的第一扫描位置,因为该第一扫描位置仍然被选择以供一个或多个传感器扫描),以及三维环境中与第一物理对象的第三部分相关联的第三位置处的第三扫描指示(1620),诸如在图15B中扫描指示1514扩大以包括桌子1506的腿部部分(例如,任选地在三维环境中的一定位置处显示第一物理对象的第三部分正被扫描、已被扫描或将被扫描的指示,使得该指示看起来在第一物理对象的第三部分的顶部上和/或覆盖在第一物理对象的第三部分上)。
在一些实施方案中,第一扫描指示和第三扫描指示指示第一物理对象的第一部分和第三部分已被选择以供电子设备的一个或多个传感器扫描(1622),诸如在图15B中桌子1506的拐角和桌子1506的腿部已被选择以供扫描(例如,该扫描过程由该电子设备或与该电子设备通信的另一个电子设备执行)。在一些实施方案中,响应于接收到指向第一物理对象的第二部分的第二用户输入而扫描第一物理对象的第三部分。在一些实施方案中,响应于第二用户输入,第三部分被标记以供扫描,使得在未来时间扫描第一物理对象的第三部分。
上述指示已被扫描或将被扫描的物理对象的部分的方式(例如,通过更新扫描指示以包括已被扫描或将被扫描的物理对象的附加部分)提供了关于扫描物理对象的不同部分的进度的快速且高效的反馈,这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户终止扫描进度以确定对象的预期部分是否已被正确标记以供扫描),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在用户输入指向第一物理对象的相应部分时,电子设备经由显示生成部件显示(1624)当前被选择以供电子设备的一个或多个传感器扫描的第一物理对象的区域的边界的相应视觉指示,诸如在图15A中指示触笔1510正指向的1506的部分的十字线1512(例如,在第一物理对象上显示与指向设备正指向的位置和/或区域相对应的视觉元素)。
例如,视觉元素是第一物理对象上的突出显示,其指示突出显示的位置将被标记或正被标记以供扫描(例如,使得将在突出显示的位置处显示扫描指示)。在一些实施方案中,视觉元素的尺寸基于将被扫描的区域的尺寸而增加或减小。在一些实施方案中,视觉元素的尺寸基于指向设备离第一物理对象的相应部分的距离而增加或减小。例如,如果指向设备离第一物理对象的相应部分更近,则视觉元素更小,并且当指向设备离相应部分更远时,视觉元素更大,这类似于手电筒的行为。在一些实施方案中,在第一物理对象的相应部分被突出显示达阈值时间量(例如,0.3秒、0.5秒、1秒、3秒、5秒等)之后,相应部分被标记以供扫描(例如,并且在相应部分处显示扫描指示)。在一些实施方案中,在物理对象的该部分处显示视觉元素达阈值时间量(例如,0秒、0.5秒、2秒、5秒等)之后,随后物理对象的该部分被标记以供扫描并且在第一部分处显示扫描指示(任选地同时保持在物理对象的第一部分处显示视觉元素)。
上述指示将被标记以供扫描的物理对象的部分的方式(例如,通过显示指向设备正指向的部分(其在被标记以供扫描之前将被标记以供扫描)的视觉指示)提供了关于用户正指向的第一物理对象的部分的快速且高效的反馈(例如,通过显示指向设备正指向的第一物理对象上的区域的实时指示),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户等待该扫描被执行或扫描指示被显示以确定用户已标记第一物理对象的部分以供扫描),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,根据确定第一物理对象的扫描进度满足一个或多个标准(例如,整个对象已被扫描,第一物理对象的阈值量已被扫描(例如,超过50%、75%、90%等),第一物理对象的新部分在超过阈值时间量诸如1秒、3秒、10秒、30秒等内未被标记以供扫描),电子设备经由显示生成部件显示(1626)用于执行与第一物理对象的扫描相关联的一个或多个操作的一个或多个可选选项,诸如在扫描由扫描指示符1514指示的桌子1506的部分之后,显示与图11B中的上下文菜单1112类似的用于针对桌子1506的扫描部分执行操作的上下文菜单(例如,显示用于与扫描对象的结果进行交互的选项,诸如用于创建第一虚拟对象的扫描部分的副本的选项、用于撤销最近动作(例如,撤销最近扫描的部分、撤销所有扫描)的选项、用于丢弃扫描的选项等)。
上述显示用于与第一物理对象的扫描部分进行交互的选项的方式(例如,通过显示具有一个或多个可选选项的菜单)提供了对第一物理对象的扫描部分执行操作的快速且高效的方法(例如,自动地显示菜单,而不需要用户执行附加输入来使得显示菜单或在多个用户界面中进行导航以对第一物理对象的扫描部分执行操作),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在三维环境中与第一物理对象的第一部分相关联的第一位置处显示第一扫描指示时,电子设备检测(1628)指向第一物理对象的第二用户输入,诸如图15B中的触笔1512的移动(例如,检测对象的旋转和/或移动,或接收经由一个或多个输入设备的用户输入以便扫描第一物理对象的一部分或选择以扫描第一物理对象的一部分)。
在一些实施方案中,响应于接收到第二用户输入(1630),根据确定第二用户输入包括将与电子设备通信的输入设备从朝向第一物理对象的第一部分进行取向移动到朝向第一物理对象的第三部分进行取向,诸如在图15B中触笔1512指向桌子1506的腿部部分(例如,用户输入包括指向设备的移动,使得指向设备指向第一物理对象的不同部分的情况),电子设备经由显示生成部件显示(1632):三维环境中与第一物理对象的第一部分相关联的第一位置处的第一扫描指示(1634)(例如,保持显示第一位置处的第一扫描位置),以及三维环境中与第一物理对象的第三部分相关联的第三位置处的第三扫描指示(1636),诸如在图15B中扫描指示1514扩大以包括桌子1506的腿部部分(例如,任选地在三维环境中的一定位置处显示第一物理对象的第三部分正被扫描、已被扫描或将被扫描的指示,使得该指示看起来在第一物理对象的第三部分的顶部上和/或覆盖在第一物理对象的第三部分上)。
在一些实施方案中,根据确定第二用户输入包括移动第一物理对象,使得输入设备从朝向第一物理对象的第一部分进行取向改变为朝向第一物理对象的第三部分进行取向,诸如在图15B中移动或旋转桌子1506,使得桌子1506的取向不同并且触笔1510指向不同位置的情况(例如,在保持指向设备的取向的同时旋转和/或移动第一物理对象,使得指向设备指向第一物理对象的第三部分),电子设备经由显示生成部件显示(1638):三维环境中与第一物理对象的第一部分相关联的第四位置处的第一扫描指示(1640)(例如,保持显示相对于第一物理对象的相同位置处的第一扫描位置),以及三维环境中与第一物理对象的第三部分相关联的第五位置处的第三扫描指示(1642),诸如在图15B中扫描指示1514扩大以包括桌子1506的腿部部分(例如,任选地在三维环境中的一定位置处显示第一物理对象的第三部分正被扫描、已被扫描或将被扫描的指示,使得该指示看起来在第一物理对象的第三部分的顶部上和/或覆盖在第一物理对象的第三部分上)。
例如,旋转和/或移动第一物理对象,使得第一物理对象的第三部分现在处于旋转第一物理对象之前第一位置所在的位置的情况。因此,在一些实施方案中,由于已旋转和/或移动第一物理对象,使得物理对象的第一部分现在处于三维环境中的第四位置,因此第一扫描指示也相应地在三维环境中移动和/或旋转到三维环境中的第四位置以保持与旋转第一物理对象之前相同的相对于第一物理对象的第一部分的位置。在一些实施方案中,三维环境中的第三位置处于三维环境中的第五位置。在一些实施方案中,三维环境中的第五位置是与三维环境中的第一位置相同的位置(例如,由于指向设备仍指向三维环境中的相同位置,但已旋转第一物理对象,使得第三部分现在处于第一部分所在的位置)。
上述指示已被扫描或将被扫描的物理对象的新部分的方式(例如,通过移动指向设备以指向物理对象的新部分或通过移动和/或旋转物理对象以将物理对象的新部分定位到指向设备正指向的地方)提供了标记物理对象的部分以供扫描的快速且高效的方法(例如,通过标记指向设备正指向的物理对象的部分,而不考虑是否指向设备已移动位置或物理对象已相对于指向设备移动),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,通过支持扫描物理对象的不同部分的多种方法,而不需要用户围绕对象走动或连续地旋转对象以扫描不同部分),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,经由与电子设备通信并与电子设备分开的输入设备来提供用户输入(1644),诸如图15A中的触笔1510(例如,在与电子设备分开并经由有线或无线通信来与电子设备通信的输入设备处接收输入。在一些实施方案中,输入设备是指向设备,诸如触笔)。
在一些实施方案中,根据确定输入设备具有第一取向,电子设备确定(1646)用户输入指向第一物理对象的第一部分,诸如在图15A中触笔1510具有特定取向,使得其指向桌子1506的拐角的情况(例如,如果指向设备具有第一取向,使得其指向第一物理对象的第一部分(例如,朝向第一物理对象的第一部分进行取向),则该设备确定用户正请求扫描第一物理对象的第一部分并且任选地在第一物理对象的第一部分处显示第一扫描位置)。
在一些实施方案中,根据确定输入设备具有与第一取向不同的第二取向,电子设备确定(1648)用户输入指向第一物理对象的第二部分,诸如在图15B中触笔1510具有特定取向,使得其指向桌子1506的腿部的情况(例如,如果指向设备具有第二取向,使得其指向第一物理对象的第二部分(例如,朝向第一物理对象的第二部分进行取向),则该设备确定用户正请求扫描第一物理对象的第二部分并且任选地在第一物理对象的第二部分处显示第二扫描位置)。
上述扫描物理对象的部分的方式(例如,通过使用指向设备的取向来确定用户正指向物理对象的什么部分以供扫描)提供了标记物理对象的部分以供扫描的快速且高效的方法(例如,通过使用输入设备的取向,而不需要用户执行附加输入来选择物理对象的特定部分以扫描),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在第一物理对象的一个或多个部分已被选择以供电子设备的一个或多个传感器扫描之后,电子设备经由一个或多个输入设备接收(1650)与复制第一物理对象的一个或多个扫描部分的请求相对应的第二用户输入,诸如图15C中(例如,接收可选选项的选择或检测与复制第一物理对象的扫描部分的请求相对应的手势)。
在一些实施方案中,响应于接收到第二用户输入,电子设备经由显示生成部件在三维环境中显示(1652)已被选择以供一个或多个传感器扫描的第一物理对象的一个或多个部分的表示,其中第一物理对象的一个或多个部分的表示与第一物理对象分开,诸如图15C中三维对象1516的生成(例如,生成与第一物理对象分开的虚拟对象,该虚拟对象基于第一物理对象的扫描部分)。
在一些实施方案中,所生成的虚拟对象具有基于第一物理对象的扫描部分的扫描特征的尺寸、形状和/或特征。例如,所生成的虚拟对象具有与第一物理对象的扫描部分相同或类似的颜色、纹理和/或形貌。在一些实施方案中,所生成的虚拟对象不包括与未被扫描的第一物理对象的部分相对应的部分。因此,所生成的虚拟对象反映第一物理对象的扫描部分并且不反映未扫描部分(如果有的话)。
上述由物理对象的扫描部分生成虚拟对象的方式(例如,响应于用于生成第一物理对象的扫描部分的复本的可选选项的选择)提供了创建物理对象的副本的快速且高效的方法(例如,通过扫描物理对象并且基于物理对象的扫描特征来创建虚拟对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户从头开始绘制虚拟对象),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,根据确定在接收到第二用户输入时整个第一物理对象被选择以供扫描(例如,第一物理对象的所有表面已被成功扫描和/或选择以供扫描),第一物理对象的一个或多个部分的表示包括整个第一物理对象的表示(1654),诸如如果在图15C中在创建三维对象1516时整个桌子1506被选择以供扫描,则三维对象1516将是整个桌子1506的表示(例如,基于第一物理对象的扫描部分来生成的虚拟对象是第一物理对象的整个表面的完整表示,使得虚拟对象的表面不包括间隙、孔穴或缺失部分)。
在一些实施方案中,根据确定在接收到第二用户输入时第一物理对象的第一相应部分而非第二相应部分被选择以供扫描,第一物理对象的一个或多个部分的表示包括第一物理对象的第一相应部分的表示,而不包括第一物理对象的第二相应部分的表示(1656),诸如在图15C中三维对象1516包括在创建三维对象1516时被选择以供扫描的桌子1506的拐角和桌子1506的拐角的腿部(例如,如果第一物理对象的少于全部表面已被成功扫描,则基于第一物理对象的扫描部分来生成的虚拟对象包括第一物理对象的扫描部分并且不包括未扫描部分)。在一些实施方案中,原本与第一物理对象的未扫描部分相对应的部分不存在、为空的和/或为透明的。
上述由物理对象的扫描部分生成虚拟对象的方式(例如,通过在仅扫描物理对象的子集时生成作为物理对象的部分副本的虚拟对象或在扫描整个物理对象时生成物理对象的完整副本)提供了创建物理对象的副本的快速且高效的方法(例如,通过扫描物理对象并且基于物理对象的扫描部分来创建虚拟对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,通过提供仅复制物理对象的某些部分的方法,而不需要用户扫描整个对象并且修改所生成的虚拟对象以移除对象的非期望部分),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,显示第一物理对象的一个或多个部分的表示包括显示第一物理对象的一个或多个部分的表示从覆盖在第一物理对象上移动到不覆盖在第一物理对象上的动画(1658),诸如在图15C中显示将三维对象1516移动到桌子1506之外的动画的情况(例如,响应于复制第一物理对象的扫描部分的请求,显示虚拟对象正被生成的动画)。在一些实施方案中,该动画包括第一物理对象的扫描部分(例如,该扫描的视觉指示)离开第一虚拟对象并且变成与第一物理对象分开并在三维环境中的不同位置处的虚拟对象的动画。
上述由物理对象的扫描部分生成虚拟对象的方式(例如,通过显示虚拟对象离开物理对象的动画)提供了创建物理对象的副本的快速且高效的方法(例如,通过显示指示由物理对象的扫描部分生成副本的动画),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在显示三维环境中的第一物理对象的一个或多个部分的表示时,电子设备经由一个或多个输入设备接收(1660)与移动三维环境中的第一物理对象的一个或多个部分的表示的请求相对应的第三用户输入,诸如在图15C中接收移动三维环境1504中的三维对象1516的用户输入(例如,与移动第一物理对象的请求相对应的可选选项的选择或手势)。在一些实施方案中,第三用户输入包括在指向设备指向虚拟对象时指向设备上的轻击输入,之后是指向设备的取向的变化以指向三维环境中的另一个位置。
在一些实施方案中,响应于接收到第三用户输入,电子设备根据第三输入来独立于三维环境中的第一物理对象移动(1662)第一物理对象的一个或多个部分的表示,诸如在图15C中移动三维对象1516而不移动桌子1506(例如,根据用户输入来移动虚拟对象而不移动虚拟对象基于的第一物理对象)。因此,虚拟对象是能够独立于第一物理对象进行操纵的与第一物理对象分开的对象。在一些实施方案中,虚拟对象的移动量基于虚拟对象离用户的距离,诸如上文相对于方法1400所述。
上述扫描物理对象的方式(例如,通过基于物理对象的扫描部分来生成能够独立于物理对象进行操纵或移动的虚拟对象)提供了创建物理对象的副本的快速且高效的方法(例如,通过扫描物理对象并且基于物理对象的扫描特征来创建虚拟对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户从头开始绘制或创建虚拟对象),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,响应于接收到用户输入(1664),根据确定用户输入指向第一物理对象的一个或多个轮廓并且包括跟随第一物理对象的一个或多个轮廓的移动(例如,指向设备沿着第一物理对象的边界描画),电子设备经由显示生成部件显示(1666)第一物理对象的一个或多个轮廓的视觉指示,该视觉指示在三维环境中与第一物理对象的一个或多个轮廓相关联的相应位置处显示,诸如在图15D中显示描画指示符1518-1(例如,显示沿着物理对象的边界的描画的视觉指示)。
在一些实施方案中,视觉指示跟随第一物理对象的三维边界。例如,如果用户输入沿着在x-y方向上延伸的第一物理对象的边缘描画,则视觉指示在x-y方向上延伸,并且如果用户输入沿着在y-z方向上延伸的第一物理对象的边缘描画(例如,用户输入改变深度以跟随第一物理对象的边缘的变化深度),则视觉指示在y-z方向上延伸。因此,视觉指示具有基于用户输入和第一物理对象的形貌的三维深度和取向信息。
上述描画物理对象的方式(例如,通过使用指向设备沿着物理对象的边界或界线描画)提供了创建物理对象的线框副本的快速且高效的方法,这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户从头开始绘制或创建物理对象的线框模型),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,一个或多个轮廓在三维环境中是非平面的(1668),诸如在图15E中桌子1506具有非平面的表面并且描画指示符1518-1、1518-2或1518-3跟随着非平面的表面的情况(例如,该描画保持正被描画的部分的三维方位)。例如,如果指向设备沿着在x、y和/或z方向上延伸的对象的边界描画第一物理对象,则该描画跟随该边界并且也在x、y和/或z方向上延伸。
上述生成物理对象的线框模型的方式(例如,通过使用指向设备沿着物理对象的边界或界线描画(这保留了物理对象的三维特征)提供了创建物理对象的线框副本的快速且高效的方法(例如,而不将用户仅限于二维并且需要用户执行附加输入来后处理或以其他方式修改该模型以包括三维信息),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在显示第一物理对象、覆盖在第一物理对象上的与第一物理对象相关联的相应表示以及与三维环境中的相应表示相关联的可选视觉元素时(例如,在第一物理对象处或附近显示第一物理对象的表示(例如,扫描指示或描画的视觉指示)时),电子设备经由一个或多个输入设备接收(167-)指向可选视觉元素的输入,诸如在图15F中接收将描画指示符1518-1、1518-2和1518-3移动到桌子1506之外的输入(例如,接收选择可选视觉元素和/或使可选视觉元素远离第一物理对象移动的输入)。
例如,响应于用户执行用户输入以标记第一物理对象的一个或多个部分以供扫描并且在第一物理对象的一个或多个部分处显示扫描指示,和/或响应于描画第一物理对象的至少一部分的描画输入,而在已被描画的第一物理对象的部分处显示该描画的视觉指示。在一些实施方案中,相应表示显示有可选视觉元素,该可选视觉元素可选择以将相应表示移动到第一物理对象之外,从而基于相应表示来生成部分或完全重复的虚拟对象。
在一些实施方案中,响应于接收到指向可选视觉元素的输入(1672),根据确定指向可选视觉元素的输入对应于移动输入(1674)(例如,用户输入包括移动,任选地远离第一物理对象并且任选地同时保持选择手势,诸如由用户的该手部作出的捏合),电子设备将与第一物理对象相关联的相应表示与第一物理对象在视觉上解除关联(1676),诸如在图15F中将描画指示符1518-1、1518-2和1518-3与桌子1506解除关联(例如,将相应表示移动到第一物理对象之外并且基于相应表示来生成与第一物理对象分开的虚拟对象),并且在三维环境中根据移动输入来独立于第一物理对象移动(1678)与第一物理对象相关联的相应表示,诸如在图15F中将描画指示符1518-1、1518-2和1518-3移动到桌子1506之外(例如,使虚拟对象远离第一物理对象移动而不移动第一物理对象,使得对虚拟对象的未来操纵输入引起虚拟对象被操纵而无需对第一物理对象执行对应操纵)。在一些实施方案中,虚拟对象的移动基于虚拟对象离用户的距离,诸如上文相对于方法1400所述。
在一些实施方案中,在与第一物理对象相关联的相应表示与第一物理对象在视觉上解除关联时,电子设备经由一个或多个输入设备检测(1680)物理环境中的第一物理对象的第一移动,诸如在图15F中检测桌子1506已移动或改变取向(例如,检测第一物理对象已在围绕电子设备的物理环境中移动,使得第一物理对象处于三维环境中的不同位置)。
在一些实施方案中,响应于检测到第一物理环境中的第一物理对象的第一移动,电子设备放弃(1682)在三维环境中根据第一物理对象的第一移动来移动与第一物理对象相关联的相应表示,诸如在图15F中描画指示符1518-1、1518-2和1518-3不响应于检测到桌子1506移动而移动的情况(例如,在其更新位置处显示第一物理对象而不移动虚拟对象(例如,相应表示))。在一些实施方案中,虚拟对象保持在三维环境中与检测到第一物理对象的移动之前相同的位置处。在一些实施方案中,如果相应表示与第一物理环境相关联,则响应于检测到第一物理对象的移动,相应表示随第一物理对象一起移动(例如,就像它们是一个单元)。
上述由物理对象的扫描部分生成虚拟对象的方式(例如,通过显示可交互以将虚拟对象与物理对象解除关联并将其移动到三维环境中与物理对象分开的位置的示能表示)提供了创建物理对象的副本的快速且高效的方法(例如,而不需要用户执行附加输入来将虚拟对象解除关联并生成虚拟对象模型),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在与第一物理对象相关联的相应表示与第一物理对象在视觉上解除关联时,电子设备经由一个或多个输入设备接收(1684)将与第一物理对象相关联的相应表示移动到三维环境中与第一物理对象相对应的相应位置的输入,诸如在图15F中扫描指示符1518-1、1518-2和1518-3往后朝向桌子1506移动的情况(例如,在使虚拟对象(例如,第一物理对象的扫描部分或描画)远离第一物理对象移动之后,将虚拟对象移动回第一物理对象/第一物理对象上/第一物理对象中或在离第一物理对象内的初始位置的阈值距离(例如,1英寸、3英寸、6英寸、1英尺、3英尺等)以内)。在一些实施方案中,虚拟对象响应于用户输入而基于第一虚拟对象离用户的距离来移动,诸如上文相对于方法1400所述。
在一些实施方案中,响应于接收到将与第一物理对象相关联的相应表示移动到相应位置的输入,电子设备将与第一物理对象相关联的相应表示与第一物理对象在视觉上关联(1686),诸如扫描指示符1518-1、1518-2和1518-3与桌子1506重新关联的情况,诸如图15E中(例如,将虚拟对象与第一物理对象重新关联,使得虚拟对象吸附回第一物理对象中的其对应位置)。
在一些实施方案中,将虚拟对象与第一物理对象重新关联引起虚拟对象被当作就像其是第一物理对象的一部分一样(例如,就像其从未与第一物理对象解除关联一样),使得当第一物理对象在物理环境中移动时,电子设备将相应地移动虚拟对象以跟踪第一物理对象的移动。
在一些实施方案中,在与第一物理对象相关联的相应表示与第一物理对象在视觉上关联时,电子设备经由一个或多个输入设备检测(1688)物理环境中的第一物理对象的第二移动,诸如在图15E中桌子1506已移动或改变取向的情况(例如,检测第一物理对象已在围绕电子设备的物理环境中改变位置,使得第一物理对象在三维环境中的不同位置处显示)。例如,响应于用于移动第一物理对象的用户输入(例如,如上文相对于方法1200和1400所述)。
在一些实施方案中,响应于检测到物理环境中的第一物理对象的第二移动,电子设备在三维环境中根据物理环境中的第一物理对象的第二移动来移动(1690)与第一物理对象相关联的相应表示,诸如在图15E中扫描指示符1518-1、1518-2和1518-3随桌子1506的移动而移动以保持其相对于桌子1506的相对位置的情况(例如,移动第一物理对象并在三维环境中根据第一物理对象的位置变化来移动虚拟对象以保持其在第一物理对象中或上的相对位置)。因此,相应表示重新附接到第一物理对象并且一起移动,就像它们是一个单元一样。
上述将虚拟对象与物理对象重新关联的方式(例如,通过移动虚拟对象并且将其吸附回物理对象)提供了扩大虚拟对象以包括物理对象的先前未扫描部分的快速且高效的方法(例如,通过将虚拟对象与物理对象重新关联,从而允许用户扫描先前未扫描的物理对象的新部分并且将新扫描部分与虚拟对象组合),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户扫描在最初创建虚拟对象时先前已经扫描的物理对象的部分并且创建新虚拟对象以便包括物理对象的附加部分),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在第一物理对象的第一部分已被选择以供电子设备的一个或多个传感器扫描时,电子设备经由一个或多个输入设备检测(1691)物理环境中的第一物理对象的移动,诸如在图15B中桌子1506已移动的情况(例如,检测到第一物理对象已在物理环境中移动和/或改变取向)。在一些实施方案中,响应于第一物理对象移动或改变取向,第一物理对象相应地在三维环境中移动或改变取向。
在一些实施方案中,响应于检测到物理环境中的第一物理对象的移动,电子设备保持(1692)第一物理对象的第一部分被选择以供电子设备的一个或多个传感器扫描,诸如在图15B中保持桌子1506的拐角和桌子1506的腿部被选择以供扫描(例如,继续在第一物理对象的相应部分上显示扫描指示以指示第一物理对象的相应部分已被标记以供扫描)。在一些实施方案中,扫描指示随第一物理对象一起移动或旋转。在一些实施方案中,移动第一物理对象或改变第一物理对象的取向显露出尚未被标记以供扫描和/或先前不可见的第一物理对象的部分。例如,用户能够围绕第一物理对象走动以扫描第一物理对象的远侧,或用户能够拾起并旋转第一物理对象以显露出第一物理对象的远侧以供扫描。
上述扫描物理对象的部分的方式(例如,通过在物理世界中移动或旋转物理对象时保持已被标记以供扫描的物理对象的部分)提供了扫描物理对象的不同部分的快速且高效的方法(例如,通过允许用户旋转对象,而不需要用户改变位置以显露出虚拟对象的先前隐藏部分),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户首先扫描对象的一侧,然后单独地扫描对象的另一侧并且对结果进行后处理以组合扫描模型),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,响应于检测到物理环境中的第一物理对象的移动,电子设备在三维环境中根据物理环境中的第一物理对象的第一部分的移动来移动(1694)与第一物理对象的第一部分相关联的第一扫描指示,使得第一扫描指示在三维环境中与第一物理对象的第一部分相关联的相应位置处显示,诸如在图15B中扫描指示符1514随桌子1506的移动而移动的情况(例如,第一物理对象的表面上显示的扫描指示根据第一物理对象的移动或取向变化来移动或改变取向以保持第一物理对象上的其相应位置)。
在一些实施方案中,电子设备能够识别旋转并且更新扫描指示的位置和/或取向以继续指示第一物理对象的其相应部分已被标记以供扫描。例如,如果已移动第一物理对象,使得物理对象的第一部分现在处于三维环境中的相应位置,则扫描指示随物理对象一起移动到三维环境中的相应位置。
上述指示已被扫描或将被扫描的物理对象的部分的方式(例如,通过即使在物理世界中移动或旋转物理对象,也将扫描指示保持在物理对象上的其相对位置处)提供了已被扫描或将被扫描的部分的快速且高效的指示(例如,而不需要用户单独地验证该设备的先前指示的部分是否仍被标记以供扫描),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
图17A至图17E示出了根据一些实施方案的操纵远处对象的示例。
图17A示出了经由显示生成部件(例如,图1的显示生成部件120)在用户界面上显示三维环境1704的电子设备101。如上文参考图1至图6所述,电子设备101任选地包括显示生成部件(例如,触摸屏)和多个图像传感器(例如,图3的图像传感器314)。图像传感器任选地包括以下中的一者或多者:可见光相机;红外相机;深度传感器;或当用户与电子设备101交互时电子设备101能够用来捕获用户或用户的一部分的一个或多个图像的任何其他传感器。在一些实施方案中,下文所示的用户界面也可在头戴式显示器上实现,该头戴式显示器包括向用户显示用户界面的显示生成部件以及用于检测物理环境和/或用户手部的移动的传感器(例如,从用户面向外的外部传感器)和/或用于检测用户的注视的传感器(例如,向内面朝用户的面部的内部传感器)。
如图17A所示,设备101捕获设备101周围的真实世界环境1700(例如,操作环境100)的一个或多个图像,包括设备101周围的真实世界环境1700中的一个或多个对象。在一些实施方案中,设备101在三维环境1704中显示真实世界环境1700的表示。例如,三维环境1704包括房间的后拐角、房间的后壁上的相框1702的至少一部分的表示以及桌子1706的表示。类似地,在图17A中,三维环境1704包括手部1712的表示,其是保持在设备101的前方或后方并且由该设备的一个或多个传感器捕获的该设备的用户的手部的表示(例如,如上文在图6B中所示)。
在图17A中,三维环境1704包括在桌子1706的表示的顶部上的圆柱体1708。如上所述,桌子1706是真实世界环境1700中的对象,设备101能够使用设备101的一个或多个传感器捕获其图像。在一些实施方案中,设备101在三维环境1704中显示桌子1706的表示(例如,照片级真实表示、简化表示、卡通、漫画等)。在一些实施方案中,圆柱体1708是三维虚拟对象。例如,圆柱体1708不是真实世界环境1700中的物理对象。相反,圆柱体1708任选地是存在于三维环境1704的虚拟环境中的对象。如图17A所示,圆柱体1708位于桌子1706的表示的顶表面上。因此,虚拟对象任选地能够与真实世界对象的表示进行交互。在一些实施方案中,由于圆柱体1708是虚拟对象,因此用户能够操纵圆柱体1708(例如,而不真正操纵真实世界环境1700中的对象),诸如执行旋转、移动和/或调整尺寸操作。
在图17A中,桌子1706和圆柱体1708的表示处于三维环境1704中的一定位置,用户在不物理地靠近桌子1706和圆柱体1708移动的情况下不能用手部1712够到该位置。因此,用户任选地不能用手部1712对圆柱体1708执行直接操纵操作,因为不能用手部1712够到圆柱体1708。因此,本文所述的实施方案讨论了通过以下方式使用户能够对远处(例如,远方)对象(例如,以及在不需要用户移动的情况下手部1712不可够到的对象,诸如圆柱体1708)执行直接操纵操作:在用户附近显示远处对象的表示,使得用户能够对远处对象的表示执行一个或多个直接操纵操作。
在图17A中,设备101检测在注视1710指向圆柱体1708时手部1712执行相应手势(例如,“手势K”)。在一些实施方案中,相应手势是可选选项的选择、捏合手势或被预先确定为与显示三维环境1704的放大视图的请求相对应的任何其他合适的手势。在某个实施方案中,响应于检测到与显示三维环境1704的放大视图的请求相对应的由手部1712执行的相应手势,设备101显示包括圆柱体1708的三维环境1704的一部分(例如,在手部1712执行相应手势时注视1710正看向的三维环境1704的部分)的放大视图1714,如图17A所示。在一些实施方案中,放大视图1714显示注视1710正看向的位置周围的预先确定的区域(例如,注视1710的位置周围的1平方英尺、3平方英尺、9平方英尺、25平方英尺等或任何其他合适的区域,这任选地基于放大因子和/或离用户的距离)。例如,如图17A所示,放大视图1714包括圆柱体的表示1716和桌子的一部分的表示1718。在一些实施方案中,圆柱体的表示1716是圆柱体1708的放大视图并且桌子的一部分的表示1718是桌子1706的拐角的放大视图。
在一些实施方案中,放大视图1714是三维环境1704中显示的可进行调整尺寸和/或移动的对象,如下文将描述。在一些实施方案中,放大视图1714被显示为覆盖在三维环境1704的部分上和/或使该三维环境的部分模糊(例如,基于放大视图1714的尺寸、取向和/或布置,这任选地可响应于用户输入而改变,如下文将描述)。在一些实施方案中,放大视图1714是三维1704的相应部分的实际视图并且不是包括圆柱体1708的复本和桌子1706的复本的三维环境的临时实例。例如,放大视图1714中显示的三维环境1704的视图任选地是三维环境1704的视图,就像该视图的相机已被放置在三维环境1704中离三维环境1704的相应部分更近(例如,近25%、近50%、近75%、近90%等)的位置处一样。例如,放大视图1714显示三维环境1704的视图,就像相机被放置在离圆柱体1708近50%的地方一样(例如,从而对于2x的放大因子,使圆柱体的表示1716是圆柱体1708的尺寸两倍)。正如所讨论的,在一些实施方案中,放大视图1714中显示的对象比三维环境1704中的其对应对象更大,包括例如对象的边界的线宽(例如,放大视图1714中的对象的边界的线宽比三维环境1704中的其对应对象的边界的线宽更粗和/或更重)。因此,放大视图1714任选地提供三维环境1704的相应部分的视图,就像用户已靠近三维环境1704的相应部分移动(例如,已移动到与放大视图1714相对应的相机的位置)一样。在一些实施方案中,放大视图1714的视角与三维环境1704的视角相同(例如,放大视图1714的“相机”在沿着从用户到放大视图1714中显示的三维环境1704的相应部分的线条的某处)。
如图17A所示,放大视图1714被放置在用户附近的位置处,使得用户能够把手部1712伸出并且直接操纵放大视图1714中的对象(例如,而不必在三维环境1704中移动),即便放大视图1714中显示的实际对象在远处。因此,放大视图1714任选地用作三维环境1704的相应部分的代理。
图17B示出了用户与放大视图1714中的圆柱体的表示1716进行交互。如上所述,用户能够把手伸进放大视图1714并且与放大视图1714中显示的对象进行交互,这任选地是与用户直接与放大视图1714中显示的三维环境1704的相应部分中的对象进行交互时相同的功能。例如,在图17B中,设备101检测手部1712执行一个或多个手势(例如,“手势L”),其包括将内容1720绘制在表示1716的表面上并且包括对表示1716的旋转操作(例如,诸如参考方法1000所述的绘图和/或旋转操作)。如图17B所示,响应于用户输入,将内容1720绘制到表示1716的表面上并且根据用户输入来旋转表示1716。如上所讨论,由于放大视图1714是三维环境1704的实际部分的放大视图而不是三维环境1704的相应部分的复本,因此对表示1716执行操纵操作使得对圆柱体1708(例如,初始对象)执行相同操纵操作,原因在于和表示1716进行交互与和圆柱体1708进行交互相同。因此,在图17B中,也将内容1722绘制在圆柱体1708上并且也根据用户输入来旋转圆柱体1708。如图所示,内容1722与内容1720相同并且圆柱体1708的旋转与表示1716的旋转相同,因为如上所述,表示1716是圆柱体1708的放大视图。
在一些实施方案中,用户能够将对象移动到放大视图1714之中和之外。例如,用户能够执行用户输入并将虚拟对象移动到放大视图1714中并且使得对象定位在放大视图1714中显示的三维环境1704的相应部分处。例如,用户能够将对象放置在放大视图1714中的表示1716旁边,从而使得对象从其在用户附近的位置“运输”到三维环境1704中圆柱体1708旁边(例如,桌子1706上)的位置。类似地,用户能够将虚拟对象移动到放大视图1714之外而使得虚拟对象远离在放大视图1714中显示的三维环境1704的相应部分处的其位置移动。例如,如果用户把手伸进放大视图1714,选择表示1716并且将表示1716从放大视图1714向外移动到放大视图1714左侧的位置,则圆柱体1708任选地被运输到放大视图1714左侧的位置(例如,并且不再位于桌子1706上)。在一些实施方案中,显示圆柱体1708朝向手部1712移动并且合并到正由手部1712握持的表示1716中和/或替换该表示的动画。因此,用户任选地能够使用放大视图1714将对象移动到用户附近或移动到远处位置。
图17C示出了放大视图1714已被调整尺寸到更大尺寸(例如,以与上文参考方法1000所述的类似的方式)的实施方案。如图17C所示,改变放大视图1714的尺寸不会使得放大视图1714显示三维环境1704的更多或更少相应部分。相反,改变放大视图1714的尺寸使得放大视图1714中的对象基于放大视图1714的改变的尺寸来改变尺寸。例如,如果放大视图1714的尺寸变为两倍,则由于显示相同量的三维环境1704,放大视图1714中的对象的尺寸也变为两倍,从而将放大视图1714的放大因子增加两倍。类似地,如果放大视图1714的尺寸减半,则放大视图1714中的对象的尺寸也减半,从而将放大视图1714的放大因子减小两倍。因此,在一些实施方案中,一旦被创建,放大视图1714的视场就不会响应于放大视图的调整尺寸而改变(例如,放大视图中所示的三维环境1704的面积/体积保持恒定)。
如图17C所示,与放大视图1714自身进行交互任选地不会使得对放大视图1714中显示的三维对象1704的相应部分中的对象执行任何操作。因此,可在不影响圆柱体1708和/或桌子1706的情况下对放大视图1714进行调整尺寸和/或移动。在一些实施方案中,将放大视图1714移动到三维环境1704中的不同位置不会使得放大视图1714的视角变化。例如,将放大视图1714移动到显示生成部件的显示区域的左侧不会使得放大视图1714的视角向左移动。在一些实施方案中,视角保持相同,因为例如一旦被创建,放大视图1714的“相机”就沿着从三维环境1704的“相机”到圆柱体1708的路径保持处于其相同位置。
在图17D中,设备101已检测到用户已移动设备101,使得真实世界环境1700的视图已向右移位(例如,诸如图6B中的用户608向右移动设备101的情况)。因此,设备101捕获在先前捕获的视图右侧的真实世界环境1700的视图,并因此,从与之前不同的视角显示三维环境1704中的真实世界对象的表示。例如,桌子1706的表示与图17C相比发生了旋转,使得桌子1706的右侧可见(例如,而桌子1706的右侧先前垂直于设备101并且不可见)。响应于检测到真实世界环境1700的视角已移位,设备101任选地相应地更新三维环境1704中的虚拟对象的所示视角。例如,圆柱体1708与图17C相比也发生了旋转,使得圆柱体1708的视图是从先前的右侧的位置看到的,从而允许圆柱体1708的右侧比之前更可见,如图17D所示。在一些实施方案中,除了更新三维环境1704中的虚拟对象的所示视角以反映新视角之外并在该更新的同时,还更新放大视图1714,使得三维环境1704的相应部分处的圆柱体1708和对象的视图(或更一般地,放大视图1714所示的三维环境的相应部分的视图)反映新视角。在一些实施方案中,更新了放大视图1714的“相机”位置,因为用户/设备101已向右移位。因此,放大视图1714的“相机”也向右移位以保持其在三维环境1704的“相机”与圆柱体1708之间的相对位置(例如,保持在圆柱体1708的视线之内)。因此,圆柱体1708的视图对应于放大视图1714中的表示1716的视图,如图17D所示。
在一些实施方案中,用户能够通过以下方式取消放大视图1714:(例如,用其手部)执行预定义的手势,选择可选选项,或选择在放大视图1714处或附近显示的退出示能表示。
图17E示出了显示远处对象的表示的另一个实施方案。在图17E中,响应于用户选择可选选项或执行预先确定的手势(例如,用手部1712,任选地同时用户的注视指向圆柱体1608),设备101显示包括圆柱体1708的临时表示1726的临时实例1724。在一些实施方案中,临时实例1724不是三维环境1704的相应部分的放大视图,而是已被选择以供操纵的虚拟对象的临时复本的容器。例如,表示1726是圆柱体1708的临时复本,用户能够直接对其进行操纵而引起对圆柱体1708的类似操纵。在一些实施方案中,表示1726是能够独立于圆柱体1708来操纵的与圆柱体1708分开的虚拟对象。相比之下,上文相对于图17A至图17D描述的表示1716任选地不是与圆柱体1708不同的虚拟对象,而是圆柱体1708的另一个视图。因此,和表示1716进行交互任选地与和圆柱体1708进行交互相同(并且反之亦然)。然而,在图17E中,表示1726是基于圆柱体1708的临时复本对象并且和表示1726进行交互任选地与和圆柱体1708的直接交互不同,如下文将描述。
如图17E所示,临时实例1724被放置在用户附近的位置处,使得用户能够把手部1712伸出并且直接操纵表示1716(例如,而不必在三维环境1704中移动),即便圆柱体1708(例如,表示1716基于的虚拟对象)在远处。因此,表示1716任选地用作表示1716的受限代理,如下文将更详细地描述。
在一些实施方案中,表示1726由于是与圆柱体1708分开的虚拟对象而与表示1716表现不同。在一些实施方案中,与表示1726的一些(例如,但不一定全部)交互被转移到圆柱体1708。例如,当设备101对表示1726执行某些操作时(例如,响应于用于执行相应操作的用户输入),设备101对圆柱体1708执行相同操作。例如,在图17E中,设备101检测手部1712执行一个或多个手势(例如,“手势L”),其包括将内容1728绘制在表示1726的表面上并且包括对表示1726的旋转操作(例如,类似于上文在图17B中执行的操作)。在一些实施方案中,响应于用户输入,将内容1728绘制到表示1726的表面上并且根据用户输入来旋转表示1726。在一些实施方案中,对表示1726(例如,将内容1728插入到表示1726的表面上)和圆柱体1708(例如,将内容1720插入到圆柱体1708的表面上)两者执行绘图操作,如图17E所示。在一些实施方案中,内容1720与内容1728相同并且在与表示1726上的内容1720相同的相对位置处绘制到圆柱体1708上。在一些实施方案中,在内容1728被绘制到表示1726的表面上的同时,内容1720被绘制到圆柱体1708的表面上。在一些实施方案中,在内容1728已被绘制到表示1726的表面上之后,内容1720被绘制到圆柱体1708的表面上(例如,一个或多个操作任选地被加入队列并且作为一个集合被转移到表示1726)。因此,表示1726上的绘图交互任选地被转移到圆柱体1708。
在一些实施方案中,对表示1726执行旋转操作,但不对圆柱体1708执行旋转操作。例如,在图17E中,在表示1726旋转时圆柱体1708仍被显示为正面朝上(例如,未旋转)。因此,在一些实施方案中,旋转操作未从表示1726转移到圆柱体1708。在一些实施方案中,改变表示1726的视角、视图和/或取向的操作未转移到圆柱体1708。因此,用户能够改变表示1726的取向以查看先前隐藏的表示1726的部分,而不会使得圆柱体1708的取向变化。在一些实施方案中,实质上改变表示1726的特征(例如,尺寸、形状、内容、颜色等)的操作从表示1726转移到圆柱体1708。这样,环境和/或对象设计者(例如,三维环境中的用户)可设定三维环境中的对象的期望位置和取向,然后对对象的任何部分执行编辑而不改变对象的位置和/或取向。因此,用户能够旋转表示1726并在先前隐藏的表示1726的部分上绘图,并且通过代理,在圆柱体1708的隐藏部分上绘图,即便圆柱体1708的那些部分当前对用户不可见。
在一些实施方案中,用户能够通过以下方式取消临时实例1724(例如,包括临时表示1726):(例如,用其手部)执行预定义的手势,选择可选选项,或选择在临时实例1724处或附近显示的退出示能表示。在一些实施方案中,响应于取消临时实例1724,设备101显示临时表示1726往后朝向圆柱体1708移动并且任选地合并到圆柱体1708中的动画。
图18A至图18K是示出根据一些实施方案的操纵远处对象的方法1800的流程图。在一些实施方案中,方法1800在计算机系统(例如,图1中的计算机系统101,诸如平板电脑、智能电话、可穿戴计算机或头戴式设备)处执行,该计算机系统包括显示生成部件(例如,图1、图3和图4中的显示生成部件120)(例如,平视显示器、显示器、触摸屏、投影仪等)和一个或多个相机(例如,向下指向用户手部的相机(例如,颜色传感器、红外传感器和其他深度感测相机)或从用户头部向前指向的相机)。在一些实施方案中,方法1800通过存储在非暂态计算机可读存储介质中并由计算机系统的一个或多个处理器诸如计算机系统101的一个或多个处理器202(例如,图1A中的控制单元110)执行的指令来管理。方法1800中的一些操作任选地被组合,并且/或者一些操作的次序任选地被改变。
在方法1800中,在一些实施方案中,与显示生成部件、眼睛跟踪设备和一个或多个输入设备通信的电子设备(例如,图1中的计算机系统101)(例如,移动设备(例如,平板电脑、智能电话、媒体播放器或可穿戴设备)或计算机)经由显示生成部件显示(1802)三维环境(例如,计算机生成的现实(CGR)环境,诸如虚拟现实(VR)环境、混合现实(MR)环境或增强现实(AR)环境等)的第一视图,其中三维环境包括三维环境的第一部分和三维环境的第二部分,并且三维环境的第一部分包括第一对象,诸如在图17A中设备101显示三维环境1704的第一视图(例如,显示包括计算机生成的环境中的一个或多个对象的计算机生成的环境)。
在一些实施方案中,显示生成部件是与电子设备集成的显示器(任选地触摸屏显示器)、外部显示器诸如监视器、投影仪、电视机或用于投影用户界面或使得用户界面对一个或多个用户可见的硬件部件(任选地集成的或外部的)等。在一些实施方案中,眼睛跟踪设备是能够确定用户的注视的方向和/或位置的相机和/或运动传感器。在一些实施方案中,一个或多个输入设备包括能够接收用户输入(例如,捕获用户输入、检测用户输入等)并将与用户输入相关联的信息传输到电子设备的电子设备或部件。输入设备的示例包括触摸屏、鼠标(例如,外部的)、触控板(任选地集成的或外部的)、触摸板(任选地集成的或外部的)、遥控设备(例如,外部的)、另一个移动设备(例如,与电子设备分开)、手持设备(例如,外部的)、控制器(例如,外部的)、相机、深度传感器和/或运动传感器(例如,手部跟踪传感器、手部运动传感器)等。
在一些实施方案中,计算机生成的环境是包括真实世界环境(任选地该设备周围的环境)的表示的增强现实或混合现实环境。在一些实施方案中,第一对象是由该设备主动显示(例如,由该设备的一个或多个相机捕获并且在三维环境中显示为对象的照片级真实表示)或由该设备被动显示(例如,用户经由透明或半透明显示器可看见)的物理对象。在一些实施方案中,第一对象是三维环境中显示的虚拟对象。
在一些实施方案中,在显示三维环境的第一视图时,电子设备经由一个或多个输入设备接收(1804)满足一个或多个标准的用户输入,诸如在图17A中检测手部1712正执行手势K(例如,与显示环境的一部分的扩大视图的请求相对应的用户输入)。在一些实施方案中,用户输入是预先确定的手势(例如,由与电子设备通信的一个或多个手部跟踪传感器检测到的预先确定的手势)。在一些实施方案中,用户输入是可选选项的选择(例如,三维环境中显示的示能表示的选择、物理按钮的致动等)。
在一些实施方案中,响应于接收到满足一个或多个标准的用户输入(1806),根据基于眼睛跟踪设备确定在接收到用户输入时电子设备的用户的注视指向三维环境的第一部分,电子设备经由显示生成部件显示(1808)三维环境的第一部分的第二视图,其中三维环境的第一部分的第二视图是包括第一对象的三维环境的第一部分的扩大视图,诸如在图17A中设备101显示包括圆柱体1708的三维环境1704的部分的放大视图1714(例如,如果用户正看向三维环境的第一部分(例如,经由眼睛跟踪设备确定),则显示三维环境的第一部分的扩大视图)。
在一些实施方案中,在三维环境中的一定位置处显示扩大视图以便不遮挡三维环境的第一部分的视线(任选地遮挡三维环境的第二部分的一部分)。在一些实施方案中,三维环境的第一部分的第二视图是三维环境的第一部分的放大视图(例如,从与第一视图相同的相机位置看到的第一部分的放大视图,或从与第一视图的相机位置相比离三维环境的第一部分更近的相机位置看到的视图)。
在一些实施方案中,根据基于眼睛跟踪设备确定在接收到用户输入时用户的注视指向三维环境的第二部分,电子设备经由显示生成部件显示(1810)三维环境的第二部分的第二视图,其中三维环境的第二部分的第二视图是三维环境的第二部分的扩大视图,诸如在图17A中在接收到输入时注视1710指向三维环境1704的不同部分的情况(例如,如果用户正看向除第一部分之外的三维环境的一部分,则不显示三维环境的第一部分的扩大视图)。
在一些实施方案中,如果在接收到用户输入时用户正看向三维环境的第二部分,则显示三维环境的第二部分的扩大视图。在一些实施方案中,如果在接收到用于显示环境的第二部分的扩大视图的用户输入时显示环境的第一部分的扩大视图,则环境的第一部分的扩大视图停止显示(或任选地更新以显示第二部分的扩大视图而不是第一部分的扩大视图)。在一些实施方案中,同时显示多个扩大视图(例如,响应于用于显示三维环境的不同部分的扩大视图的多个用户输入)。
上述显示环境的一部分的扩大视图的方式(例如,显示用户正看向的环境的部分的扩大视图)提供了显示环境的相应部分的放大和/或较近视图的快速且高效的方式,这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效(例如,而不需要用户将三维环境内的相机位置移动到离三维环境的相应部分更近的位置),这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,显示三维环境的第一部分的第二视图包括在三维环境中显示的相应用户界面元素内显示包括第一对象的三维环境的第一部分的扩大视图,而不显示三维环境中的第一对象的附加表示(1812),诸如在图17A中放大视图1714显示三维环境1704的不同部分的放大视图的情况(例如,在三维环境中的用户界面元素内显示扩大视图)。
在一些实施方案中,扩大视图是三维环境的第一部分的不同视图,而不是三维环境的第一部分中的对象的复本。例如,如果用户操纵扩大视图中的对象或以其他方式与扩大视图中的对象进行交互,则用户正操纵三维环境的第一部分中的对象和/或与三维环境的第一部分中的对象进行交互,而不与对象的副本进行交互(例如,而不与并非三维环境的第一部分处的实际对象的不同对象进行交互)。例如,扩大视图是进入三维环境的第一部分中的“门户”(例如,“空间放大镜”)。因此,扩大视图允许用户查看远方对象并且直接与远方对象进行交互,就像它们接近用户一样(例如,通过在用户附近显示扩大视图)。
上述显示环境的一部分的扩大视图的方式(例如,显示环境的一部分的不同但扩大的视图,而不是环境的相应部分的复本)提供了显示环境的相应部分的放大和/或较近视图的快速且高效的方式(例如,而不需要用户靠近环境的相应部分或创建远方物品的复本),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在三维环境中的相应用户界面元素内显示三维环境的第一部分的扩大视图时,电子设备经由一个或多个输入设备接收(1814)与将第二对象移动到相应用户界面元素中的请求相对应的第二用户输入,诸如在图17A中手部1712拾起三维环境1704中的对象并且将其移动到放大视图1714中的情况(例如,接收将虚拟对象从相应用户界面元素之外的位置移动到相应用户界面元素之内和/或穿过相应用户界面元素的位置(例如,将物品放置在“门户”内)的用户输入)。
在一些实施方案中,响应于接收到第二用户输入,电子设备根据第二用户输入来将第二对象移动(1816)到三维环境的第一部分,诸如在图17A中对象移动到放大视图1714中显示的三维环境1704的部分的情况(例如,响应于用户将虚拟对象移动到相应用户界面元素中和/或移动穿过相应用户界面元素,而将第二对象移动到相应用户界面元素为其扩大视图的三维环境中的位置)。
例如,如果相应用户界面元素包括三维环境的第一部分的扩大视图(例如,是三维环境的第一部分的或进入三维环境的第一部分中的“门户”),则将虚拟对象放置到相应用户界面元素中会使得虚拟对象移动到用户界面元素的第一部分。在一些实施方案中,由于第二对象已移动到用户界面元素的第一部分并且相应用户界面元素显示用户界面元素的第一部分的扩大视图,因此在一些实施方案中,显示生成部件包括第二对象的两个视图(例如,门户内的第二对象的一个视图和门户外的第二对象的一个视图)。
上述在三维环境中移动虚拟对象的方式(例如,通过将物品移动到三维环境的第一部分的扩大视图中,并且作为响应,将物品移动到三维环境的第一部分)提供了将虚拟对象移动到三维环境中的远处位置的快速且高效的方式(例如,通过允许用户将对象移动到扩大视图中而不需要用户直接将对象移动到三维环境的第一部分),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在三维环境中的相应用户界面元素内显示三维环境的第一部分的扩大视图时,电子设备经由一个或多个输入设备检测(1818)一个或多个输入的序列,包括用户的手部穿过相应用户界面元素的移动,诸如手部1712伸进放大视图1714中并且与放大视图114中显示的对象进行交互(例如,用户能够伸进相应用户界面元素中以直接与三维环境的第一部分中的对象进行交互)。
在一些实施方案中,响应于检测到一个或多个输入的序列,电子设备根据一个或多个输入的序列来执行(1820)与三维环境的第一部分相关联的一个或多个操作,诸如在图17B中对圆柱体1716执行旋转和绘图操作(例如,如果用户输入包括用于操纵三维环境的第一部分中的对象的操纵输入,则对对象执行操纵操作)。
在一些实施方案中,对象的操纵反映在三维环境的第一部分的扩大视图中。在一些实施方案中,操纵操作是调整尺寸、旋转、移动、绘图、编辑、修改等中的任何一种。因此,用户能够经由门户来与远方对象进行交互。例如,如果门户在离用户1英尺远处显示,则用户能够伸向前1英尺以与超过1英尺远的对象进行交互,就像它们仅1英尺远一样(例如,门户是3英尺、5英尺、10英尺等远的环境的一部分的情况)。
上述与三维环境中的对象进行交互的方式(例如,通过允许用户直接与环境的第一部分的扩大视图中显示的对象进行交互)提供了与三维环境中的远处对象进行交互的快速且高效的方式(例如,经由扩大视图,而不需要用户靠近三维环境的第一部分以在与之进行交互时具有环境的第一部分的较近视图),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,三维环境的第一部分包括虚拟元素(1822),诸如图17A中包括圆柱体1708的三维环境(例如,虚拟对象诸如绘图、形状、桌子、椅子等)。在一些实施方案中,虚拟元素是由用户对真实对象的表示和/或对虚拟对象执行的虚拟绘图。
在一些实施方案中,根据确定三维环境的第一部分与三维环境中的和电子设备相关联的相应位置相距第一距离,在三维环境的第一部分的扩大视图中以第一尺寸显示虚拟元素(1824),诸如在图17A中放大视图1714中的圆柱体1716具有第一尺寸(例如,与未扩大视图中的虚拟元素的尺寸相比,扩大视图中的虚拟元素的尺寸具有第一放大量)。
在一些实施方案中,根据确定三维环境的第一部分与三维环境中的和电子设备相关联的相应位置相距不同于第一距离的第二距离,在三维环境的第一部分的扩大视图中以不同于第一尺寸的第二尺寸显示虚拟元素(1826),诸如在图17A中如果圆柱体1708相距不同距离,则将以不同尺寸显示放大视图1714中的圆柱体1716(例如,相比于三维环境的第一部分与用户相距第一距离的情况,扩大视图中的虚拟元素的尺寸具有第二放大量,使得虚拟元素为不同尺寸)。
在一些实施方案中,扩大视图的放大因子取决于环境的第一部分离用户的位置的距离。例如,如果环境的第一部分接近用户,则放大因子较小(例如,扩大视图中的对象的尺寸略大于未扩大视图中的对象的尺寸),但如果环境的第一部分离用户较远,则放大因子较大(例如,扩大视图中的对象的尺寸远大于未扩大视图中的对象的尺寸)。在一些实施方案中,三维环境的第一部分的扩大视图是三维环境的第一部分的视图,就像用户(例如,“相机”)位于三维环境中离三维环境的第一部分更近的位置一样。因此,扩大视图中的对象任选地看起来更大。在一些实施方案中,扩大视图“相机”的位置取决于三维环境的第一部分离用户有多远并且任选地基于该距离来缩放。例如,扩大视图“相机”的位置任选地离三维环境的第一部分近50%、75%或90%。
上述显示环境的一部分的方式(例如,显示环境的第一部分的扩大视图,其中环境的第一部分中的对象以比环境的常规未扩大视图中更大的尺寸显示)提供了显示环境的相应部分的放大和/或较近视图的快速且高效的方式(例如,而不需要用户执行附加输入来靠近环境的相应部分),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,根据基于眼睛跟踪设备确定在接收到用户输入时电子设备的用户的注视指向三维环境的第一部分,在三维环境中的第一位置处显示包括三维环境的第一部分的扩大视图的相应用户界面元素(1828),诸如在图17A中注视1710指向圆柱体1708并且在第一位置处显示放大视图1714(例如,确定在接收到与显示扩大视图的请求相对应的用户输入时用户正看向三维环境的第一部分)。
在一些实施方案中,由于用户正看向三维环境的第一部分,因此响应于用户输入,显示第一部分的扩大视图并且在三维环境中的第一位置处显示扩大视图。在一些实施方案中,在一定位置处显示“门户”,使得三维环境的第一部分不被门户遮挡(例如,在三维环境的第一部分的左侧或右侧)。在一些实施方案中,与三维环境的第一部分相比,在离用户更近的地方显示扩大视图。
在一些实施方案中,根据基于眼睛跟踪设备确定在接收到用户输入时电子设备的用户的注视指向三维环境的第二部分,相应用户界面元素包括三维环境的第二部分的扩大视图并且在三维环境中与第一位置不同的第二位置处显示(1830),诸如在图17A中如果注视1710指向三维环境1704的不同部分,则任选地将在不同位置处显示放大视图1714(例如,确定在接收到与显示扩大视图的请求相对应的用户输入时用户正看向三维环境的第二部分)。
在一些实施方案中,由于用户正看向三维环境的第二部分,因此响应于用户输入,显示第二部分的扩大视图。因此,该设备任选地显示在接收到用户输入时用户正看向的三维环境的部分的扩大视图。在一些实施方案中,在三维环境中的第二位置处显示扩大视图。在一些实施方案中,在一定位置处显示“门户”,使得三维环境的第二部分不被门户遮挡(例如,在三维环境的第二部分的左侧或右侧)。在一些实施方案中,与三维环境的第二部分相比,在离用户更近的地方显示扩大视图。
上述显示环境的一部分的扩大视图的方式(例如,在基于环境的第一部分的位置的环境中的位置处显示在接收到用户输入时用户正看向的环境的部分的扩大视图)提供了显示环境的相应部分的放大和/或较近视图的快速且高效的方式(例如,而不需要附加输入来选择要为其显示扩大视图的环境的部分并且将扩大视图移动到环境中的特定位置),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,三维环境的第一部分的扩大视图是从三维环境中的第一相应位置看到的三维环境的第一部分的视图,该第一相应位置介于三维环境中与电子设备相关联的第二相应位置和在接收到用户输入时用户的注视指向的三维环境的第一部分中的第三相应位置之间,其中第一相应位置具有相对于三维环境中的第二相应位置和第三相应位置的相应相对位置(1836),诸如在图17A中放大视图1714是与三维环境1704的视图相同的视角的放大视图(例如,扩大视图是从位于用户/设备的实际位置与第一位置之间的观察者的视角看到的三维环境的第一部分的视图)。
因此,扩大视图中的对象任选地显示得更大,因为扩大视图的“相机”所在的位置近于三维环境的整体显示的“相机”。在一些实施方案中,扩大视图的“相机”的位置离三维环境的第一部分近50%、75%、80%、90%。
在一些实施方案中,三维环境的第二部分的扩大视图是从三维环境中的第四相应位置看到的三维环境的第二部分的视图,该第四相应位置介于三维环境中与电子设备相关联的第二相应位置和在接收到用户输入时用户的注视指向的三维环境的第二部分中的第五相应位置之间,其中第四相应位置具有相对于三维环境中的第二相应位置和第五相应位置的相应相对位置(1838),诸如在图17A中如果放大视图1714是三维环境1704的不同部分的视图,则放大视图1714将具有与三维环境1704的视图相同的视角(例如,扩大视图是从位于用户/设备的实际位置与第二位置之间的观察者的视角看到的三维环境的第二部分的视图)。
因此,扩大视图中的对象任选地显示得更大,因为扩大视图的“相机”所在的位置近于三维环境的整体显示的“相机”。在一些实施方案中,扩大视图的“相机”的位置离三维环境的第二部分近50%、75%、80%、90%。
上述显示环境的一部分的扩大视图的方式(例如,通过显示环境的该部分的扩大视图,就像用户正从离环境的该部分更近的环境中的位置看向环境的该部分一样)提供了显示环境的相应部分的放大和/或较近视图的快速且高效的方式(例如,通过显示环境的相应部分的较近视图,而不需要用户靠近环境的相应部分),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在三维环境的第一视图内显示包括三维环境的第一部分的扩大视图的相应用户界面元素(1840),诸如在图17A中在三维环境1704的视图内显示放大视图1714(例如,在三维环境的第一视图内显示扩大视图,使得第一视图的部分仍在相应用户界面元素的边缘周围显示/可见)。在一些实施方案中,扩大视图被显示为覆盖在三维环境的部分上(例如,从而使三维环境的部分模糊)。
上述显示三维环境的一部分的扩大视图的方式(例如,通过在三维环境内的一定位置处显示扩大视图)提供了显示环境的相应部分的放大和/或较近视图的快速且高效的方式(例如,通过同时显示环境的常规视图和扩大视图,而不需要用户选择查看三维环境的常规视图或扩大视图),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,一个或多个标准包括在用户输入包括用于显示三维环境的相应部分的相应扩大视图的手势时满足的标准,该手势来自经由与电子设备通信的手部跟踪设备来检测到的用户的手部(1842),诸如在图17A中检测手部1712正执行手势I(例如,与显示扩大视图的请求相对应的用户输入包括由该设备的用户的手部作出的预先确定的手势)。
在一些实施方案中,手势包括可选元素的选择或该手部的预先确定的移动或位置。在一些实施方案中,该手部的位置和/或移动经由与电子设备通信的一个或多个手部跟踪设备(例如,可见光相机、运动传感器、穿戴在该手部上的可穿戴设备等)来确定。
上述显示环境的一部分的扩大视图的方式(例如,响应于检测到由用户的该手部作出的预先确定的手势)提供了显示环境的相应部分的放大和/或较近视图的快速且高效的方式(例如,而不需要用户执行附加用户输入来在多个用户界面或菜单中进行导航以使得显示扩大视图),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,一个或多个标准包括在用户输入包括经由显示生成部件显示的用于显示三维环境的相应部分的相应扩大视图的菜单项的选择时满足的标准(1844),诸如在图17A中手部1712执行从上下文菜单中选择选项的手势的情况(例如,与显示扩大视图的请求相对应的用户输入包括用于显示三维环境的一部分的扩大或较近视图的可选选项的选择)。
例如,用户能够执行输入以使得显示菜单(例如,在看向用户界面的第一部分时的捏合手势),该菜单包括用于与三维环境进行交互的选项,诸如用于显示环境的相应部分的放大/扩大视图的选项。
上述显示环境的一部分的扩大视图的方式(例如,响应于检测到从菜单中选择选项)提供了显示环境的相应部分的放大和/或较近视图的快速且高效的方式,这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在三维环境中的相应用户界面元素内显示三维环境的第一部分的扩大视图时,电子设备经由一个或多个输入设备接收(1846)与操纵相应用户界面元素的请求相对应的第二用户输入,诸如用于对放大视图1714进行调整尺寸的输入,诸如图17C中(例如,用于对相应用户界面元素进行调整尺寸、移动等的用户输入)。
例如,用户能够放大或缩小“门户”或将“门户”移动到三维环境中的另一个位置,使得其不会使三维环境的部分模糊。例如,用户能够通过以下方式放大门户:由两只手执行捏合手势(任选地同时看向门户)并且移动两只手以增加两只手之间的距离。在一些实施方案中,显示操纵指示,诸如上文相对于方法1000所述。
在一些实施方案中,响应于接收到第二用户输入,电子设备操纵(1848)相应用户界面元素,包括根据第二用户输入来更新三维环境的第一部分的扩大视图的显示,诸如在图17C中增加放大视图1714的尺寸并且增加放大视图1714中显示的对象的尺寸(例如,根据操纵类型来更新相应用户界面元素中显示的扩大视图)。
例如,如果操纵是相应用户界面元素的调整尺寸,则扩大视图的放大因子相应地增加或减小。在一些实施方案中,如果相应用户界面元素放大,则放大因子增加(例如,扩大视图中的对象变得更大),并且如果相应用户界面元素缩小,则放大因子减小(例如,扩大视图的对象变得更小)。在一些实施方案中,当相应用户界面元素改变尺寸时,扩大视图中可见的三维环境的区域不改变。例如,如果相应用户界面元素增加或减小,则扩大视图继续显示三维环境的第一部分的相同量(例如,不放大或缩小,任选地仅增加或减小已经显示的对象的尺寸)。在一些实施方案中,如果操纵输入是移动相应用户界面元素,则扩大视图任选地不改变尺寸或视角。在一些实施方案中,如果操纵输入是移动相应用户界面元素,则扩大视图基于相应用户界面元素的移动来转移其视角。例如,如果相应用户界面元素向左移动,则扩大视图的“相机”也向左移动,使得扩大视图从扩大视图的“相机”先前定位的地方的左侧示出三维环境的第一部分的视图。在一些实施方案中,响应于用户移动门户和/或对门户进行调整尺寸,任选地不操纵或影响门户中显示的对象(例如,三维环境的第一部分处的对象)。
上述操纵三维环境的一部分的扩大视图的方式(例如,通过对扩大视图自身执行操纵操作以将其移动到不同位置或者增加或减小扩大视图的尺寸)提供了操纵环境的该部分的扩大视图的快速且高效的方式(例如,通过允许用户移动扩大视图或对扩大视图进行调整尺寸,而不需要用户执行附加输入来取消扩大视图并且在不同位置处或以不同放大倍率重新显示扩大视图),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,操纵相应用户界面元素包括改变三维环境中的相应用户界面元素的尺寸(1850),诸如图17C中的放大视图1714的调整尺寸(例如,改变相应用户界面元素的尺寸包括扩大或减小“门户”的尺寸,同时将“门户”保持在三维空间中的相同位置处)。在一些实施方案中,改变尺寸包括使“门户”离用户更近或更远(例如,使得“门户”在显示区域上显示为比先前显示的更大或更小)。
在一些实施方案中,更新三维环境的第一部分的扩大视图的显示包括改变三维环境的第一部分的扩大视图的尺度,而不改变相应用户界面元素中显示的三维环境的量(1852),诸如在图17C中增加圆柱体1716的尺寸(例如,基于“门户”的尺寸变化来改变扩大视图的放大因子)。
在一些实施方案中,增加门户的尺寸会增加放大倍率并且减小门户的尺寸会减小放大倍率,使得三维环境的第一部分的相同量继续在门户中显示。在一些实施方案中,将门户移动到离用户更近或更远的地方会使得门户的尺寸增加或减小(例如,由于门户移动到更近或更远的地方而涵盖更多或更少的显示区域)。在一些实施方案中,将门户移动到更近或更远的地方不会增加或减少显示的三维环境的第一部分的量。在一些实施方案中,用户能够以与上文相对于方法1400所述的类似的方式移动门户。
上述增加或减小扩大视图的放大倍率的方式(例如,响应于增加或减小扩大视图的尺寸)提供了进一步扩大环境的相应部分的扩大视图或减小扩大视图的快速且高效的方式(例如,而不需要用户执行附加输入来靠近或远离环境的第一部分以增加或减小环境的第一部分的扩大视图),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在三维环境中的相应用户界面元素内显示三维环境的第一部分的扩大视图时,电子设备经由一个或多个输入设备检测(1854)电子设备的用户的预定义的部分的移动(例如,经由一个或多个运动传感器、运动跟踪传感器等检测到用户的头部已(例如,向前、向后、向左或向右)移动)。
在一些实施方案中,响应于检测到电子设备的用户的预定义的部分的移动,电子设备根据电子设备的移动来移动(1856)三维环境内的相应用户界面元素,诸如在图17A中移动用户的头部使得放大视图1714移动(例如,根据用户的头部的移动来移动三维环境中的相应用户界面元素的位置)。
例如,如果用户的头部向左移动,则相应用户界面元素在三维环境中向左移动,并且如果用户的头部向右移动,则相应用户界面元素在三维环境中向右移动。在一些实施方案中,门户的“相机”沿着从用户的头部到三维环境的第一部分的路径(例如,用户的眼睛沿着其观看的路径)。因此,如果用户移动他或她的头部,则从用户的头部到三维环境的第一部分的路径移位(例如,基于用户的头部的移动来向左或向右移位),并且门户的“相机”也根据路径的移位来移位,并因此以与因用户的头部的移动所致的三维环境的视角变化相同的方式改变门户的视角。
上述移动环境的一部分的扩大视图的方式(例如,响应于检测到用户的头部的移动)提供了在三维环境中移动扩大视图的快速且高效的方式(例如,而不需要用户执行附加用户输入或在菜单上选择选项以将扩大视图移动到三维环境中的不同位置),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,响应于检测到电子设备的移动,电子设备根据电子设备的移动来改变(1858)三维环境的第一视图,诸如在图17D中移动用户的头部使得放大视图1714的视角改变(例如,当用户的头部移动时,改变三维环境的视图的视角以及三维环境的相应部分的扩大视图的视角)。
例如,如果用户的头部向左移动,则三维环境的视图(例如,“门户”之外/围绕“门户”的三维环境的视图)的视角向左移动,使得从先前位置的左侧的位置显示三维环境(例如,就像用户现在正从左侧看向环境一样)。在一些实施方案中,扩大视图的视角也类似地移位。例如,如果用户的头部向左移动,则三维环境的一部分的扩大视图的视图(例如,“门户”中所示的视图)的视角向左移动,使得从先前位置的左侧的位置显示三维环境的相应部分(例如,就像用户现在正从左侧看向相应部分一样)。在一些实施方案中,改变视图包括显示视差效果(例如,离用户更近的对象移动得比离用户更远的对象更多)。
上述更新环境的视图的视角的方式(例如,响应于检测到用户的头部的移动)提供了匹配地改变环境的透视图的快速且高效的方式(例如,通过基于相机的位置的变化来自动地更新三维环境的视角,而不需要用户执行附加用户输入来改变三维环境的透视图),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,显示三维环境的第一部分的第二视图包括除了在三维环境的第一部分中显示第一对象之外,还在三维环境中的相应位置处显示第一对象的附加表示,其中相应位置在三维环境的第一部分之外并且第一对象的附加表示是与第一对象不同的第二对象(1860),诸如图17E中的临时表示1726(例如,显示三维环境的第一部分的第二视图包括生成一个或多个临时对象,其是三维环境的第一部分处的一个或多个对象的复本)。
在一些实施方案中,在与临时对象基于的对象的位置不同的位置处显示临时对象。例如,临时对象(例如,与第一对象不同的第二对象)被放置在离用户更近的位置,使得用户能够直接操纵临时对象(例如,而不必改变三维环境中的位置以离初始对象更近)。在一些实施方案中,临时对象和初始对象连接,使得对临时对象的某些修改被转移到初始对象。
上述操纵远方对象的方式(例如,通过在离用户更近的用户能够操纵的位置处显示远方对象的临时副本)提供了编辑远方对象的快速且高效的方式(例如,而不需要用户执行附加用户输入来靠近远方对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在三维环境中的相应位置处显示第一对象的附加表示时,电子设备经由一个或多个输入设备接收(1862)与改变第一对象的附加表示的取向的请求相对应的第二用户输入,诸如图17E中临时表示1726的旋转(例如,用于旋转临时对象的旋转输入,诸如上文相对于方法1000所述的那些)。
在一些实施方案中,响应于接收到第二用户输入(1864),电子设备根据第二用户输入来改变(1866)第一对象的附加表示的取向,而不改变三维环境的第一部分中的第一对象的取向,诸如图17E中临时表示1726的旋转但不旋转圆柱体1708(例如,响应于该输入,旋转临时对象而不旋转临时对象基于的初始对象)。因此,引起临时对象的观看视角的变化的输入不会引起临时对象基于的初始对象的观看视角的类似变化。例如,临时对象的旋转和/或临时对象的移动不会使得初始对象旋转或移动。
上述操纵远方对象的方式(例如,通过旋转远方对象的临时副本,但不使得远方对象自身旋转)提供了编辑远方对象的快速且高效的方式(例如,通过允许用户对远方对象的不同侧面执行修改而不需要用户改变远方对象自身的取向),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在三维环境中的相应位置处显示第一对象的附加表示时,电子设备经由一个或多个输入设备接收(1868)与操纵第一对象的附加表示的请求相对应的第二用户输入,其中该操纵并非是改变第一对象的附加表示的取向,诸如在图17E中在临时表示1726上绘图(例如,修改对象自身而不是对象的取向或位置的输入)。例如,在对象上绘图、改变对象的形状等。
在一些实施方案中,响应于接收到第二用户输入(1870),电子设备根据第二用户输入来操纵(1872)第一对象的附加表示(例如,对临时对象执行所请求的操纵操作)并且根据第二用户输入来操纵(1874)三维环境的第一部分中的第一对象,诸如在图17E中在圆柱体1708上绘图(例如,对临时对象基于的初始对象执行相同的所请求的操纵操作)。
在一些实施方案中,该操纵与临时对象的操纵同时执行(例如,操纵立即被转移到初始对象)。在一些实施方案中,在自对临时对象执行操纵操作以来已经过阈值时间量(例如,0.5秒、1秒、3秒、5秒等)之后执行初始对象的操纵。在一些实施方案中,在检测到第二用户输入的暂停或终止之后(例如,在0.5秒、1秒、3秒、5秒等之后)执行初始对象的操纵。因此,在一些实施方案中,某些操纵操作被转移到初始对象,而其他操纵操作未被转移到初始对象。例如,如果该输入是执行旋转或移动操纵的请求,则该操纵对临时对象执行,而不转移到初始对象,但如果该输入是执行除旋转或移动操纵之外的操纵的请求(例如,改变对象自身的外观或特征而不是对象的视图的操纵),则该操纵对临时对象和初始对象两者执行。因此,用户任选地能够对不可见的初始对象的部分(例如,远侧)执行操纵,而不需要用户在三维环境中旋转初始对象。例如,在环境创建情况期间,用户可将对象以期望的取向放置在期望的位置中并且在未来时间可期望在不改变对象的位置或取向的情况下修改对象。在这种情况下,用户任选地能够生成对象的临时副本并且旋转临时对象以对初始对象的不同侧面执行修改而不使得初始对象改变位置或取向(例如,并且不需要用户移动到对象的不同侧面)。在一些实施方案中,响应于第二用户输入,如果第二用户输入是改变对象的取向的请求,则临时对象的取向改变而不改变初始对象的取向,但如果第二用户输入是操纵临时对象的请求而不是取向的变化,则对临时对象和初始对象执行该操纵。
上述操纵远方对象的方式(例如,通过操纵远方对象的临时副本和初始远方对象两者)提供了编辑远方对象的快速且高效的方式(例如,通过允许用户对远方对象执行修改而不需要用户靠近远方对象以直接编辑远方对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在三维环境中的相应位置处显示第一对象的附加表示时,电子设备经由一个或多个输入设备接收(1876)与停止显示三维环境的第一部分的扩大视图的请求相对应的第二用户输入,诸如使图17A中的放大视图1714被取消的用户输入(例如,接收用于取消对象的临时副本的用户输入)。在一些实施方案中,用户输入是所显示的可选选项的选择或由用户的手部作出的预先确定的手势的检测。在一些实施方案中,如果在阈值时间量(例如,1秒、3秒、5秒、10秒、30秒等)内未接收到对对象的临时副本的操纵输入,则取消对象的临时副本。
在一些实施方案中,响应于接收到第二用户输入,电子设备停止(1878)显示三维环境的第一部分的扩大视图,包括显示第一对象的附加表示从三维环境中的相应位置移动到三维环境的第一部分中的第一对象的位置的动画,诸如在图17A中显示圆柱体1716合并到圆柱体1708中的动画(例如,取消对象的临时副本并且显示对象的临时副本移动到初始对象的位置的动画)。
在一些实施方案中,该动画包括对象的临时副本吸收进和/或融入初始对象中。在一些实施方案中,当取消对象的临时副本时,对对象的临时副本的操纵被转移到初始对象(例如,在取消临时副本时非旋转操纵被加入队列并被转移,任选地并非在接收到操纵时将操纵转移到初始对象)。
上述取消远方对象的临时副本的方式(例如,通过显示临时副本与初始远方对象重新合并的动画)提供了编辑远方对象的快速且高效的方式(例如,通过显示临时对象基于远方对象以及对临时对象的修改已被或将被转移到初始远方对象的视觉指示),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,在三维环境中的相应用户界面元素内显示三维环境的第一部分的扩大视图时,电子设备经由一个或多个输入设备接收(1880)指向第一对象的第二用户输入,诸如在图17B中指向圆柱体1716的输入(例如,经由门户来修改第一对象的输入,包括在对象上绘图、改变形状、旋转、调整尺寸等)。例如,用户输入与门户中显示的第一对象进行交互(例如,而不是直接与环境的第一视图中的第一对象进行交互)。
在一些实施方案中,响应于接收到第二用户输入(1882),根据确定第二用户输入对应于改变第一对象的取向的请求(1884),诸如图17B中的圆柱体1716的旋转(例如,用于旋转临时对象的旋转输入,诸如上文相对于方法1000所述的那些),电子设备根据第二用户输入来改变(1886)第一对象的附加表示的取向而不改变三维环境的第一部分中的第一对象的取向,诸如图17B中的圆柱体1708的旋转(例如,响应于该输入,旋转门户中显示的第一对象以及门户中未显示的第一对象(例如,第一对象的“常规”视图))。
在一些实施方案中,同时执行对第一对象的“门户”视图和第一对象的“常规”视图的旋转。因此,引起第一对象的观看取向的变化的输入会引起第一对象的初始视图的取向的类似变化。
在一些实施方案中,根据确定第二用户输入对应于操纵第一对象的请求,其中该操纵并非是改变第一对象的取向(1888)(例如,修改对象自身而不是对象的取向或位置的输入,诸如在对象上绘图、改变对象的形状等),电子设备根据第二用户输入来操纵(1890)三维环境的第一部分中的第一对象,诸如在图17B中将内容1720绘制在圆柱体1716上会使得将内容1722绘制在圆柱体1708上(例如,对第一对象执行所请求的操纵操作)。
在一些实施方案中,同时执行对第一对象的“门户”视图和第一对象的“常规”视图的操纵。因此,在一些实施方案中,对第一对象的“门户”视图和第一对象的“常规”视图两者执行操纵操作(例如,因为操纵对象的门户视图被该设备当作类似于用户直接操纵第一对象)。在一些实施方案中,旋转操纵和移动操纵两者均被转移到第一对象的“常规”视图(例如,而不是上述第一对象的附加表示(其中旋转操纵和移动操纵未被转移到初始对象))。
上述操纵远方对象的方式(例如,通过操纵扩大视图中显示的远方对象,由此引起对远方对象的相同操纵)提供了编辑远方对象的快速且高效的方式(例如,通过自动地将操纵转移到远方对象,而不需要用户靠近远方对象以直接编辑远方对象),这简化了用户与电子设备之间的交互,增强了电子设备的可操作性,并且使用户-设备界面更高效,这还通过使用户能够更快速且更高效地使用电子设备同时减少使用中的错误而减少了电力使用并且延长了电子设备的电池寿命。
在一些实施方案中,方法800、1000、1200、1400、1600和1800的各方面/操作可在这些方法之间互换、替换和/或添加。为了简明起见,此处不再重复这些细节。
出于解释的目的,前面的描述是通过参考具体实施方案来描述的。然而,上面的例示性论述并非旨在是穷尽的或将本发明限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择和描述实施方案是为了最佳地阐明本发明的原理及其实际应用,以便由此使得本领域的其他技术人员能够最佳地使用具有适合于所构想的特定用途的各种修改的本发明以及各种所描述的实施方案。

Claims (20)

1.一种方法,所述方法包括:
在与显示生成部件和一个或多个输入设备通信的电子设备处:
经由所述显示生成部件显示包括第一位置处的第一对象的三维环境,其中所述三维环境中与所述第一位置不同的第二位置对应于物理环境中所述电子设备的用户的预定义的部分的位置;
在显示包括所述第一位置处的所述第一对象的所述三维环境时,经由所述一个或多个输入设备接收包括具有第一量值的所述用户的所述预定义的部分的移动的用户输入;以及
响应于接收到所述用户输入:
根据确定所述第一对象与所述第二位置相距第一距离,根据所述用户输入的所述第一量值来将所述三维环境中的所述第一对象从所述第一位置移动第一量;以及
根据确定所述第一对象与所述第二位置相距不同于所述第一距离的第二距离,根据所述用户输入的所述第一量值来将所述三维环境中的所述第一对象从所述第一位置移动与所述第一量不同的第二量。
2.根据权利要求1所述的方法,其中:
所述用户的所述预定义的部分的所述移动具有第一方向,
在所述三维环境中移动所述第一对象是在基于所述第一方向的相应方向上。
3.根据权利要求1所述的方法,其中所述第一距离和所述第二距离与所述第二位置相距大于阈值距离,所述方法还包括:
响应于接收到所述用户输入:
根据确定所述第一对象与所述第二位置相距小于所述阈值距离,在所述三维环境中将所述第一对象从所述第一位置移动所述第一量值。
4.根据权利要求1所述的方法,其中:
所述用户的所述预定义的部分的所述移动包括具有相应量值的所述移动的第一部分和具有所述相应量值的所述移动的第二部分,并且
在所述三维环境中将所述第一对象从所述第一位置移动包括:
改变所述第一对象离所述第二位置的距离,
根据所述用户的所述预定义的部分的所述移动的所述第一部分来将所述第一对象移动第一相应量,以及
根据所述用户的所述预定义的部分的所述移动的所述第二部分来将所述第一对象移动与所述第一相应量不同的第二相应量。
5.根据权利要求1所述的方法,其中所述用户输入包括由所述用户的所述预定义的部分执行的捏合手势,继之以所述用户的所述预定义的部分的所述移动。
6.根据权利要求1所述的方法,其中接收所述用户输入包括经由眼睛跟踪设备检测所述电子设备的所述用户的注视指向所述第一对象。
7.根据权利要求1所述的方法,其中所述三维环境包括相应预定义的位置,并且在所述三维环境中移动所述第一对象包括:
根据确定所述三维环境中的所述第一对象的当前位置在所述三维环境中的所述相应预定义的位置的阈值距离内,将所述第一对象吸附到所述三维环境中的所述相应预定义的位置。
8.根据权利要求7所述的方法,还包括:
根据确定所述三维环境中的所述第一对象的所述当前位置在所述三维环境中的所述相应预定义的位置的所述阈值距离内,经由所述显示生成部件显示所述三维环境中的所述相应预定义的位置的视觉指示。
9.根据权利要求8所述的方法,其中所述相应预定义的位置的所述视觉指示的尺寸基于所述第一对象的尺寸。
10.根据权利要求8所述的方法,其中所述相应预定义的位置的所述视觉指示的形状基于所述第一对象的形状,并且指示在所述第一对象放置在所述三维环境中的所述相应预定义的位置时所述第一对象的一部分将占用的所述三维环境的区域。
11.根据权利要求8所述的方法,其中所述相应预定义的位置位于所述三维环境中的相应对象的表面上,并且显示所述相应预定义的位置的所述视觉指示包括在视觉上强调所述相应对象的所述表面。
12.根据权利要求8所述的方法,还包括:
在所述三维环境中的所述第一对象的所述当前位置在所述三维环境中的所述相应预定义的位置的所述阈值距离内时并且在显示所述三维环境中的所述相应预定义的位置的所述视觉指示时,检测所述第一对象向比距离所述三维环境中的所述相应预定义的位置的所述阈值距离更远的距离的移动;以及
响应于检测到所述第一对象向比距离所述三维环境中的所述相应预定义的位置的所述阈值距离更远的所述距离的所述移动,停止显示所述相应预定义的位置的所述视觉指示。
13.根据权利要求8所述的方法,还包括:
在所述三维环境中的所述第一对象的所述当前位置在所述三维环境中的所述相应预定义的位置的所述阈值距离内时并且在显示所述三维环境中的所述相应预定义的位置的所述视觉指示时,检测所述第一对象的操纵;以及
响应于检测到所述第一对象的所述操纵,更新所述相应预定义的位置的所述视觉指示的显示以反映所述第一对象的所述操纵。
14.根据权利要求10所述的方法,还包括:
经由所述显示生成部件并发地显示与所述三维环境中的所述第一对象相对应的阴影和所述相应预定义的位置的所述视觉指示,其中所述阴影不同于所述相应预定义的位置的所述视觉指示。
15.根据权利要求7所述的方法,还包括:
在所述三维环境中移动所述第一对象时:
根据确定所述三维环境中的所述第一对象的所述当前位置在所述三维环境中的所述相应预定义的位置的所述阈值距离内,经由所述电子设备生成相应触觉输出。
16.根据权利要求7所述的方法,其中:
根据确定所述三维环境中的所述相应预定义的位置对应于所述三维环境中的第一类型的表面,所述阈值距离是第一阈值距离,并且
根据确定所述三维环境中的所述相应预定义的位置对应于所述三维环境中与所述第一类型的表面不同的第二类型的表面,所述阈值距离是与所述第一阈值距离不同的第二阈值距离。
17.根据权利要求1所述的方法,其中所述用户输入包括选择输入,继之以暂停输入达比时间阈值更久,继之以所述用户的所述预定义的部分的所述移动。
18.根据权利要求1所述的方法,其中所述用户的所述预定义的部分的所述移动的所述第一量值大于量值阈值,所述方法还包括:
响应于接收到所述用户输入:
根据确定所述用户的所述预定义的部分的所述移动的所述第一量值小于所述量值阈值,将所述第一对象保持在所述三维环境中的所述第一位置处。
19.一种电子设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1至18所述的方法中的任一种方法的指令。
20.一种存储一个或多个程序的非暂态计算机可读存储介质,所述一个或多个程序包括指令,所述指令在由电子设备的一个或多个处理器执行时,使得所述电子设备执行根据权利要求1至18所述的方法中的任一种方法。
CN202310680857.1A 2020-09-11 2021-09-08 用于操纵环境中的对象的方法 Pending CN116719413A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063077521P 2020-09-11 2020-09-11
US63/077,521 2020-09-11
CN202180066218.5A CN116324680A (zh) 2020-09-11 2021-09-08 用于操纵环境中的对象的方法
PCT/US2021/049520 WO2022056036A2 (en) 2020-09-11 2021-09-08 Methods for manipulating objects in an environment

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202180066218.5A Division CN116324680A (zh) 2020-09-11 2021-09-08 用于操纵环境中的对象的方法

Publications (1)

Publication Number Publication Date
CN116719413A true CN116719413A (zh) 2023-09-08

Family

ID=78212613

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310680857.1A Pending CN116719413A (zh) 2020-09-11 2021-09-08 用于操纵环境中的对象的方法
CN202180066218.5A Pending CN116324680A (zh) 2020-09-11 2021-09-08 用于操纵环境中的对象的方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202180066218.5A Pending CN116324680A (zh) 2020-09-11 2021-09-08 用于操纵环境中的对象的方法

Country Status (4)

Country Link
US (1) US20220084279A1 (zh)
EP (1) EP4211661A2 (zh)
CN (2) CN116719413A (zh)
WO (1) WO2022056036A2 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020242047A1 (en) * 2019-05-30 2020-12-03 Samsung Electronics Co., Ltd. Method and apparatus for acquiring virtual object data in augmented reality
US11227445B1 (en) 2020-08-31 2022-01-18 Facebook Technologies, Llc Artificial reality augments and surfaces
US11176755B1 (en) 2020-08-31 2021-11-16 Facebook Technologies, Llc Artificial reality augments and surfaces
EP3992936B1 (en) * 2020-11-02 2023-09-13 Axis AB A method of activating an object-specific action when tracking a moving object
US11113893B1 (en) * 2020-11-17 2021-09-07 Facebook Technologies, Llc Artificial reality environment with glints displayed by an extra reality device
JP2022087700A (ja) * 2020-12-01 2022-06-13 京セラドキュメントソリューションズ株式会社 電子機器および画像形成装置
US11409405B1 (en) 2020-12-22 2022-08-09 Facebook Technologies, Llc Augment orchestration in an artificial reality environment
US20220229535A1 (en) * 2021-01-19 2022-07-21 Samsung Electronics Company, Ltd. Systems and Methods for Manipulating Views and Shared Objects in XR Space
JP2024507749A (ja) 2021-02-08 2024-02-21 サイトフル コンピューターズ リミテッド エクステンデッドリアリティにおけるコンテンツ共有
US20220337709A1 (en) * 2021-04-15 2022-10-20 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
US11847793B2 (en) * 2021-06-18 2023-12-19 Qualcomm Incorporated Collaborative tracking
US11762952B2 (en) 2021-06-28 2023-09-19 Meta Platforms Technologies, Llc Artificial reality application lifecycle
US12008717B2 (en) 2021-07-07 2024-06-11 Meta Platforms Technologies, Llc Artificial reality environment control through an artificial reality environment schema
WO2023009580A2 (en) 2021-07-28 2023-02-02 Multinarity Ltd Using an extended reality appliance for productivity
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
US11783555B2 (en) * 2021-11-16 2023-10-10 Peer Inc System and method for transferring content from one virtual environment to another
US20230195107A1 (en) * 2021-12-21 2023-06-22 Waymo Llc Systems, Methods, and Apparatus for using Remote Assistance to Annotate Images of an Environment
US11948263B1 (en) 2023-03-14 2024-04-02 Sightful Computers Ltd Recording the complete physical and extended reality environments of a user
US11868607B2 (en) * 2022-03-10 2024-01-09 Ricoh Company, Ltd. Display apparatus, display method, and non-transitory recording medium
US12026527B2 (en) 2022-05-10 2024-07-02 Meta Platforms Technologies, Llc World-controlled and application-controlled augments in an artificial-reality environment
EP4303697A1 (de) * 2022-07-05 2024-01-10 Deutsche Telekom AG Virtuell aktivierte interaktion eines nutzers mit einem physischen objekt
US20240054730A1 (en) * 2022-08-15 2024-02-15 Zebra Technologies Corporation Phased Capture Assessment and Feedback for Mobile Dimensioning
WO2024039666A1 (en) * 2022-08-16 2024-02-22 Apple Inc. Devices, methods, and graphical user interfaces for improving accessibility of interactions with three-dimensional environments
US20240077937A1 (en) * 2022-09-06 2024-03-07 Apple Inc. Devices, methods, and graphical user interfaces for controlling avatars within three-dimensional environments
US11947862B1 (en) 2022-12-30 2024-04-02 Meta Platforms Technologies, Llc Streaming native application content to artificial reality devices

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69426919T2 (de) * 1993-12-30 2001-06-28 Xerox Corp Gerät und Verfahren zur Ausführung von vielen verkettenden Befehlsgesten in einen System mit Gestenbenutzerschnittstelle
US6421048B1 (en) * 1998-07-17 2002-07-16 Sensable Technologies, Inc. Systems and methods for interacting with virtual objects in a haptic virtual reality environment
NO20014275L (no) * 2000-09-08 2002-03-11 Fraunhofer Ges Forschung Fremgangsmåte for å lage et bilde i et virtuelt studio
EP2836888A4 (en) * 2012-03-29 2015-12-09 Intel Corp CREATING THREE-DIMENSIONAL GRAPHICS USING GESTURES
EP2872967B1 (en) * 2012-07-13 2018-11-21 Sony Depthsensing Solutions SA/NV Method and system for detecting hand-related parameters for human-to-computer gesture-based interaction
US9245388B2 (en) * 2013-05-13 2016-01-26 Microsoft Technology Licensing, Llc Interactions of virtual objects with surfaces
US9728010B2 (en) * 2014-12-30 2017-08-08 Microsoft Technology Licensing, Llc Virtual representations of real-world objects
GB2540791A (en) * 2015-07-28 2017-02-01 Dexter Consulting Uk Ltd Apparatus, methods, computer programs and non-transitory computer-readable storage media for generating a three-dimensional model of an object
US10229541B2 (en) * 2016-01-28 2019-03-12 Sony Interactive Entertainment America Llc Methods and systems for navigation within virtual reality space using head mounted display
US10176641B2 (en) * 2016-03-21 2019-01-08 Microsoft Technology Licensing, Llc Displaying three-dimensional virtual objects based on field of view
CN109196447B (zh) * 2016-03-31 2022-06-17 奇跃公司 使用姿势和多dof控制器与3d虚拟对象的交互
US20180143693A1 (en) * 2016-11-21 2018-05-24 David J. Calabrese Virtual object manipulation
JP6342038B1 (ja) * 2017-05-26 2018-06-13 株式会社コロプラ 仮想空間を提供するためのプログラム、当該プログラムを実行するための情報処理装置、および仮想空間を提供するための方法
JP6257826B1 (ja) * 2017-05-31 2018-01-10 株式会社コロプラ 仮想空間を提供するためにコンピュータで実行される方法、プログラム、および、情報処理装置
WO2019032967A1 (en) * 2017-08-10 2019-02-14 Google Llc HAND INTERACTION SENSITIVE TO THE CONTEXT
US10732826B2 (en) * 2017-11-22 2020-08-04 Microsoft Technology Licensing, Llc Dynamic device interaction adaptation based on user engagement
US10580207B2 (en) * 2017-11-24 2020-03-03 Frederic Bavastro Augmented reality method and system for design
US10540941B2 (en) * 2018-01-30 2020-01-21 Magic Leap, Inc. Eclipse cursor for mixed reality displays
US10523921B2 (en) * 2018-04-06 2019-12-31 Zspace, Inc. Replacing 2D images with 3D images
US11595637B2 (en) * 2018-05-14 2023-02-28 Dell Products, L.P. Systems and methods for using peripheral vision in virtual, augmented, and mixed reality (xR) applications
US10964122B2 (en) * 2019-03-06 2021-03-30 Microsofttechnology Licensing, Llc Snapping virtual object to target surface

Also Published As

Publication number Publication date
CN116324680A (zh) 2023-06-23
WO2022056036A2 (en) 2022-03-17
WO2022056036A3 (en) 2022-05-05
US20220084279A1 (en) 2022-03-17
EP4211661A2 (en) 2023-07-19

Similar Documents

Publication Publication Date Title
US20220084279A1 (en) Methods for manipulating objects in an environment
US11768579B2 (en) Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
US20220121344A1 (en) Methods for interacting with virtual controls and/or an affordance for moving virtual objects in virtual environments
US11853527B2 (en) Devices, methods, and graphical user interfaces for providing computer-generated experiences
CN115167676A (zh) 用于在三维环境中显示应用程序的设备和方法
CN116583816A (zh) 与环境中的对象进行交互的方法
US20220317776A1 (en) Methods for manipulating objects in an environment
JP2023542628A (ja) ユーザの身体に対するデバイスの表示を更新するためのシステム、方法、及びグラフィカルユーザインターフェース
WO2023049376A1 (en) Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
CN117043722A (zh) 用于地图的设备、方法和图形用户界面
US20230152935A1 (en) Devices, methods, and graphical user interfaces for presenting virtual objects in virtual environments
WO2024020061A1 (en) Devices, methods, and graphical user interfaces for providing inputs in three-dimensional environments
CN118056173A (zh) 用于与三维环境进行交互的设备、方法和图形用户界面
CN117043723A (zh) 用于操纵环境中的对象的方法
CN117957581A (zh) 用于与三维环境交互的设备、方法和图形用户界面
CN117032519A (zh) 用于与三维环境进行交互的设备、方法和图形用户界面
CN117940880A (zh) 用于与媒体和三维环境交互的设备、方法和图形用户界面
CN117716327A (zh) 用于管理用户界面与物理对象的交互的方法和设备
CN117999534A (zh) 用于与三维环境进行交互的设备、方法和图形用户界面

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination