CN113508361A - 用于呈现计算机生成现实文件的设备、方法和计算机可读介质 - Google Patents
用于呈现计算机生成现实文件的设备、方法和计算机可读介质 Download PDFInfo
- Publication number
- CN113508361A CN113508361A CN202080017663.8A CN202080017663A CN113508361A CN 113508361 A CN113508361 A CN 113508361A CN 202080017663 A CN202080017663 A CN 202080017663A CN 113508361 A CN113508361 A CN 113508361A
- Authority
- CN
- China
- Prior art keywords
- cgr
- affordance
- anchor
- scene
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04806—Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
Abstract
在一个实施方案中,一种呈现计算机生成现实(CGR)文件的方法包括接收用于呈现包括一个或多个CGR对象的CGR场景的用户输入,其中CGR场景与第一锚和第二锚相关联。该方法包括捕获物理环境的图像以及确定物理环境的图像缺少对应于第一锚的一部分。该方法包括检测物理环境的图像的对应于第二锚的一部分。该方法包括响应于确定物理环境的图像缺少对应于第一锚的一部分并且检测到物理环境的图像的对应于第二锚的一部分,而显示处于显示器的对应于第二锚的位置处的CGR场景。
Description
技术领域
本公开整体涉及具有触敏表面的电子设备,包括但不限于呈现计算机生成现实(CGR)文件的具有触敏表面的电子设备。
背景技术
对CGR应用程序编程可能是困难且耗时的过程,需要例如3D对象设计和应用程序编码方面的专门知识。这对高质量CGR应用程序的生成造成了高障碍。
发明内容
因此,需要具有更快、更有效的方法和界面的电子设备,以用于呈现计算机生成现实(CGR)文件(诸如可执行CGR应用程序或可由CGR应用程序读取以向用户提供CGR体验的CGR文件)。此类方法和界面任选地补充或替换用于呈现CGR文件的常规方法。此类方法和界面减少对用户所造成的认知负担,并且产生更有效的人机界面。对于电池驱动设备,此类方法和界面可节省用电并且增加两次电池充电之间的时间。
借助所公开的设备可减少或消除与具有触敏表面的电子设备的用户界面相关联的上述缺陷和其他问题。在一些实施方案中,该设备是台式计算机。在一些实施方案中,该设备是便携式的(例如,笔记本电脑、平板电脑或手持设备)。在一些实施方案中,该设备具有触控板。在一些实施方案中,该设备具有触敏显示器(也称为“触摸屏”或“触摸屏显示器”)。在一些实施方案中,该设备具有图形用户界面(GUI)、一个或多个处理器、存储器和一个或多个模块、被存储在存储器中以用于执行多个功能的程序或指令集。在一些实施方案中,用户主要通过触笔和/或手指接触以及触敏表面上的手势来与GUI进行交互。在一些实施方案中,这些功能任选地包括图像编辑、绘图、呈现、文字处理、网页创建、盘编辑、电子表格制作、玩游戏、接打电话、视频会议、收发电子邮件、即时消息通信、健身支持、数字摄影、数字视频录制、网页浏览、数字音乐播放和/或数字视频播放。用于执行这些功能的可执行指令任选地被包括在被配置用于由一个或多个处理器执行的非暂态计算机可读存储介质或其他计算机程序产品中。
根据一些实施方案,在包括一个或多个处理器、非暂态存储器、相机、显示器以及一个或多个输入设备的设备处执行一种方法。该方法包括经由一个或多个输入设备接收用于呈现包括一个或多个计算机生成现实(CGR)对象的CGR场景的用户输入,其中该CGR场景与第一锚和第二锚相关联。该方法包括使用相机捕获物理环境的图像。该方法包括确定物理环境的图像缺少对应于第一锚的一部分。该方法包括检测物理环境的图像的对应于第二锚的一部分。该方法包括响应于确定物理环境的图像缺少对应于第一锚的一部分并且检测到物理环境的图像的对应于第二锚的一部分,而在显示器上显示处于显示器的对应于第二锚的位置处的CGR场景。
根据一些实施方案,在具有一个或多个处理器、非暂态存储器和显示器的设备处执行一种方法。该方法包括在显示器上显示与第一参数和第二参数相关联的计算机生成现实(CGR)对象的表示,其中第一参数具有多个第一参数值中的第一个参数值并且第二参数具有多个第二参数值中的第一个参数值。该方法包括在显示器上显示第一用户界面元素以用于选择多个第一参数值中的第二个参数值。该方法包括在显示器上显示第二用户界面元素以用于选择多个第二参数值中的第二个参数值,其中基于多个第一参数值中的第一个参数值以及一个或多个选择规则,呈现多个第二参数值的子集以经由第二用户界面元素进行选择。
根据一些实施方案,在具有一个或多个处理器、非暂态存储器和显示器的设备处执行一种方法。该方法包括在显示器上显示CGR场景的表示,包括显示CGR场景的第一CGR对象的表示,其中显示第一CGR对象的表示是基于与第一CGR对象相关联的显示网格。该方法包括基于与第一CGR对象相关联的物理网格来确定第一CGR对象与CGR场景的第二CGR对象的交互,其中与第一CGR对象相关联的物理网格不同于与第一CGR对象相关联的显示网格。
根据一些实施方案,电子设备包括显示器、一个或多个输入设备、一个或多个处理器、非暂态存储器以及一个或多个程序;一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且一个或多个程序包括用于执行或导致执行本文所述的方法中的任一种方法的操作的指令。根据一些实施方案,一种非暂态计算机可读存储介质具有存储在其中的指令,当这些指令由具有显示器和一个或多个输入设备的电子设备的一个或多个处理器执行时,使得设备执行或导致执行本文所述的方法中的任一种方法的操作。根据一些实施方案,在具有显示器、一个或多个输入设备、非暂态存储器和配置为执行存储在非暂态存储器中的一个或多个程序的一个或多个处理器的电子设备上的图形用户界面包括在上述方法中的任一种方法中显示的元素中的一个或多个元素,这些元素响应于输入而被更新,如在本文所述方法中的任一种方法中所述。根据一些实施方案,电子设备包括:显示器、一个或多个输入设备;以及用于执行或导致执行本文所述的方法中的任一种方法的操作的装置。根据一些实施方案,在具有显示器和一个或多个输入设备的电子设备中使用的信息处理装置包括用于执行或导致执行本文所述的方法中的任一种方法的操作的装置。
因此,具有显示器和输入设备(诸如触敏表面)的电子设备被提供有用于呈现CGR文件的更快、更有效的方法和界面,从而增大此类设备的有效性、效率和用户满意度。此类方法和界面可补充或替换用于呈现CGR文件的常规方法。
附图说明
为了更好地理解各种所述实施方案,应结合以下附图参考下面的具体实施方式,其中类似的附图标号在所有附图中指示对应的部分。
图1A是示出根据一些实施方案的具有触敏显示器的便携式多功能设备的框图。
图1B是示出根据一些实施方案的用于事件处理的示例性部件的框图。
图2示出了根据一些实施方案的具有触摸屏的便携式多功能设备。
图3是根据一些实施方案的具有显示器和触敏表面的示例性多功能设备的框图。
图4A示出了根据一些实施方案的便携式多功能设备上的应用程序菜单的示例性用户界面。
图4B示出了根据一些实施方案的用于具有与显示器分开的触敏表面的多功能设备的示例性用户界面。
图5是根据一些实施方案的示例性操作架构的框图。
图6是根据一些实施方案的示例性控制器的框图。
图7是根据一些实施方案的示例性头戴式设备(HMD)的框图。
图8A至图8DF示出了根据一些实施方案的用于生成CGR文件的示例性用户界面。
图9是根据一些实施方案的使用备份锚呈现CGR场景的方法的流程图表示。
图10是根据一些实施方案的配置CGR对象的方法的流程图表示。
图11是根据一些实施方案的解决两个CGR对象的重叠的方法的流程图表示。
图12是根据一些实施方案的以不同空间操纵模式在空间上操纵CGR对象的方法的流程图表示。
图13是根据一些实施方案的使用直观空间操纵点在空间上操纵CGR对象的方法的流程图表示。
图14是根据一些实施方案的配置CGR对象的方法的流程图表示。
图15是根据一些实施方案的呈现CGR场景的方法的流程图表示。
图16是根据一些实施方案的将行为与CGR场景相关联的方法的流程图表示。
图17是根据一些实施方案的创建CGR文件的方法的流程图表示。
具体实施方式
根据各种实施方案,提供了图形用户界面(GUI)以简化CGR文件的生成,该CGR文件包括关于CGR内容的数据并且还包括描述如何呈现CGR内容的数据。
下面,图1A至图1B、图2至图3以及图4A至图4B提供了对示例性CGR对象生成设备的描述。图5、图6和图7提供了对示例性CGR对象呈现设备的描述。图8A至图8DF示出了用于生成CGR文件的示例性用户界面。图8A至图8DF中的用户界面用于示出图9至图17中的过程。
示例性CGR文件构成设备
现在将详细地参考实施方案,这些实施方案的示例在附图中示出。下面的详细描述中示出许多具体细节,以便提供对各种所描述的实施方案的充分理解。但是,对本领域的普通技术人员将显而易见的是,各种所描述的实施方案可以在没有这些具体细节的情况下被实践。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路和网络,从而不会不必要地使实施方案的各个方面晦涩难懂。
还将理解的是,虽然在一些情况下,术语“第一”、“第二”等在本文中用于描述各种元件,但是这些元件不应受到这些术语限制。这些术语只是用于将一个元件与另一元件区分开。例如,第一接触可被命名为第二接触,并且类似地,第二接触可被命名为第一接触,而不脱离各种所描述的实施方案的范围。第一接触和第二接触均为接触,但它们不是同一个接触,除非上下文另外明确指示。
在本文中对各种所述实施方案的描述中所使用的术语只是为了描述特定实施方案的目的,而并非旨在进行限制。如在对各种所述实施方案中的描述和所附权利要求书中所使用的那样,单数形式“一个”和“该”旨在也包括复数形式,除非上下文另外明确地指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”(“includes”、“including”、“comprises”和/或“comprising”)在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件和/或其分组。
如本文中所使用,根据上下文,术语“如果”任选地被解释为意思是“当……时”后“在……时”或“响应于确定”或“响应于检测”。类似地,根据上下文,短语“如果确定……”或“如果检测到[所陈述的条件或事件]”任选地被解释为是指“在确定……时”或“响应于确定……”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
本文描述了电子设备、此类设备的用户界面和使用此类设备的相关过程的实施方案。在一些实施方案中,该设备为还包含其他功能诸如PDA和/或音乐播放器功能的便携式通信设备,诸如移动电话。便携式多功能设备的示例性实施方案包括但不限于来自AppleInc.(Cupertino,California)的iPod和设备。任选地使用其他便携式电子设备,诸如具有触敏表面(例如,触摸屏显示器和/或触控板)的膝上型计算机或平板计算机。还应当理解的是,在一些实施方案中,该设备并非便携式通信设备,而是具有触敏表面(例如,触摸屏显示器和/或触控板)的台式计算机。
在下面的讨论中,描述了一种包括显示器和触敏表面的电子设备。然而,应当理解,该电子设备任选地包括一个或多个其他物理用户接口设备,诸如物理键盘、鼠标和/或操纵杆。
该设备通常支持各种应用程序,诸如以下中的一者或多者:绘图应用程序、呈现应用程序、文字处理应用程序、网站创建应用程序、盘编辑应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息应用程序、健身支持应用程序、照片管理应用程序、数字相机应用程序、数字视频摄像机应用程序、网页浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
在设备上执行的各种应用程序任选地使用至少一个通用的物理用户界面设备,诸如触敏表面。触敏表面的一种或多种功能以及被显示在设备上的对应信息任选地对于不同应用程序被调整和/或变化,和/或在相应应用程序内被调整和/或变化。这样,设备的共用物理架构(诸如触敏表面)任选地利用对于用户而言直观且清楚的用户界面来支持各种应用程序。
现在将注意力转到具有触敏显示器的便携式设备的实施方案。图1A是示出根据一些实施方案的具有触敏显示器系统112的便携式多功能设备100的框图。触敏显示器系统112有时为了方便而被叫做“触摸屏”,并且有时被简称为触敏显示器。设备100包括存储器102(其任选地包括一个或多个计算机可读存储介质)、存储器控制器122、一个或多个处理单元(CPU)120、外围设备接口118、RF电路108、音频电路110、扬声器111、麦克风113、输入/输出(I/O)子系统106、其他输入、或控制设备116吗、和外部端口124。设备100任选地包括一个或多个光学传感器164。设备100任选地包括用于检测设备100上的接触的强度的一个或多个强度传感器165(例如,触敏表面,诸如设备100的触敏显示器系统112)。设备100任选地包括用于在设备100上生成触觉输出的一个或多个触觉输出发生器163(例如,在触敏表面诸如设备100的触敏显示器系统112或设备300的触控板355上生成触觉输出)。这些部件任选地通过一个或多个通信总线或信号线103进行通信。
如本说明书和权利要求书中所使用的,术语“触觉输出”是指将由用户利用用户的触感检测到的设备相对于设备的先前位置的物理位移、设备的部件(例如,触敏表面)相对于设备的另一个部件(例如,壳体)的物理位移、或部件相对于设备的质心的位移。例如,在设备或设备的部件与用户对触摸敏感的表面(例如,手指、手掌或用户手部的其他部分)接触的情况下,通过物理位移生成的触觉输出将由用户解释为触感,该触感对应于设备或设备的部件的物理特征的所感知的变化。例如,触敏表面(例如,触敏显示器或触控板)的移动任选地由用户解释为对物理致动按钮的“按下点击”或“松开点击”。在一些情况下,用户将感觉到触感,诸如“按下点击”或“松开点击”,即使在通过用户的移动而物理地被按压(例如,被移位)的与触敏表面相关联的物理致动按钮没有移动时。又如,即使在触敏表面的光滑度无变化时,触敏表面的移动也会任选地由用户解释或感测为触敏表面的“粗糙度”。虽然用户对触摸的此类解释将受到用户的个体化感官知觉的限制,但是对触摸的许多感官知觉是大多数用户共有的。因此,当触觉输出被描述为对应于用户的特定感官知觉(例如,“按下点击”、“松开点击”、“粗糙度”)时,除非另外陈述,否则所生成的触觉输出对应于设备或其部件的物理位移,该物理位移将会生成典型(或普通)用户的所述感官知觉。
应当理解,设备100仅仅是便携式多功能设备的一个示例,并且设备100任选地具有比所示出的部件更多或更少的部件,任选地组合两个或更多个部件,或者任选地具有这些部件的不同配置或布置。图1A中所示的各种部件在硬件、软件、固件、或它们的任何组合(包括一个或多个信号处理电路和/或专用集成电路)中实施。
存储器102任选地包括高速随机存取存储器,并且还任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器设备、或其他非易失性固态存储器设备。设备100的其他部件(诸如CPU 120和外围设备接口118)对存储器102的访问任选地由存储器控制器122来控制。
外围设备接口118可用于将设备的输入外围设备和输出外围设备耦接到CPU 120和存储器102。一个或多个处理器120运行或执行存储器102中所存储的各种软件程序和/或指令集以执行设备100的各种功能并处理数据。
在一些实施方案中,外围设备接口118、CPU 120和存储器控制器122任选地被实现在单个芯片诸如芯片104上。在一些其他实施方案中,它们任选地在独立的芯片上实现。
RF(射频)电路108接收和发送也被称作电磁信号的RF信号。RF电路108将电信号转换为电磁信号/将电磁信号转换为电信号,并且经由电磁信号与通信网络及其他通信设备进行通信。RF电路108任选地包括用于执行这些功能的熟知的电路,包括但不限于天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码芯片组、用户身份模块(SIM)卡、存储器等等。RF电路108任选地通过无线通信来与网络和其他设备进行通信,这些网络为诸如互联网(也被称为万维网(WWW))、内联网和/或无线网络(诸如,蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN))。该无线通信任选地使用多种通信标准、协议、和技术中的任一者,包括但不限于全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、演进纯数据(EV-DO)、HSPA、HSPA+、双单元HSPA(DC-HSPDA)、长期演进(LTE)、近场通信(NFC)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、无线保真(Wi-Fi)(例如,IEEE802.11a、IEEE 802.11ac、IEEE 802.11ax、IEEE 802.11b、IEEE 802.11g和/或IEEE802.11n)、互联网协议语音技术(VoIP)、Wi-MAX、电子邮件协议(例如,互联网消息访问协议(IMAP)和/或邮局协议(POP))、即时消息(例如,可扩展消息处理和存在协议(XMPP)、用于即时消息和存在利用扩展的会话发起协议(SIMPLE)、即时消息和存在服务(IMPS)、和/或短消息服务(SMS))、或者包括在本文档提交日期还未开发出的通信协议的其他任何适当的通信协议。
音频电路110、扬声器111和麦克风113提供用户与设备100之间的音频接口。音频电路110从外围设备接口118接收音频数据,将音频数据转换为电信号,并将电信号传输到扬声器111。扬声器111将电信号转换为人类可听到的声波。音频电路110还接收由麦克风113从声波转换的电信号。音频电路110将电信号转换为音频数据,并且将音频数据传输到外围设备接口118以用于处理。音频数据任选地由外围设备接口118检索自和/或传输至存储器102和/或RF电路108。在一些实施方案中,音频电路110还包括耳麦插孔(例如,图2中的212)。耳麦插孔提供音频电路110与可移除音频输入/输出外围设备之间的接口,该外围设备为诸如仅输出的耳机或者具有输出(例如,单耳耳机或双耳耳机)和输入(例如,麦克风)两者的耳麦。
I/O子系统106将设备100上的输入/输出外围设备诸如触敏显示器系统112和其他输入或控制设备116与外围设备接口118耦接。I/O子系统106任选地包括显示控制器156、光学传感器控制器158、强度传感器控制器159、触觉反馈控制器161、和用于其他输入或控制设备的一个或多个输入控制器160。一个或多个输入控制器160从其他输入或控制设备116接收电信号/将电信号发送到该其他输入或控制设备。其他输入控制设备116任选地包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击轮等。在一些另选的实施方案中,一个或多个输入控制器160任选地耦接至以下各项中的任一者(或不耦接至以下各项中的任一者):键盘、红外线端口、USB端口、触笔、和/或指针设备诸如鼠标。一个或多个按钮(例如,图2中的208)任选地包括用于扬声器111和/或麦克风113的音量控制的向上/向下按钮。一个或多个按钮任选地包括下压按钮(例如,图2中的206)。
触敏显示器系统112提供设备与用户之间的输入接口和输出接口。显示控制器156从触敏显示器系统112接收电信号和/或将电信号发送至该触敏显示器系统。触敏显示器系统112向用户显示视觉输出。视觉输出任选地包括图形、文本、图标、视频以及它们的任何组合(统称为“图形”)。在一些实施方案中,一些视觉输出或全部的视觉输出对应于用户界面对象。
触敏显示器系统112具有基于触觉/触感接触来接受来自用户的输入的触敏表面、传感器或传感器组。触敏显示器系统112和显示控制器156(与存储器102中的任何相关联的模块和/或指令集一起)检测触敏显示器系统112上的接触(和该接触的任何移动或中断),并且将检测到的接触转换为与被显示在触敏显示器系统112上的用户界面对象(例如,一个或多个软按键、图标、网页或图像)的交互。在一个示例性实施方案中,触敏显示器系统112和用户之间的接触点对应于用户的手指或触笔。
触敏显示器系统112任选地使用LCD(液晶显示器)技术、LPD(发光聚合物显示器)技术、或LED(发光二极管)技术,但是在其他实施方案中使用其他显示技术。触敏显示器系统112和显示控制器156任选地使用现在已知的或以后将开发出的多种触摸感测技术中的任何技术以及其他接近传感器阵列或用于确定与触敏显示器系统112接触的一个或多个点的其他元件来检测接触及其任何移动或中断,该多种触摸感测技术包括但不限于电容性的、电阻性的、红外线的、和表面声波技术。在一个示例性实施方案中,使用投射式互电容感测技术,诸如从Apple Inc.(Cupertino,California)的iPod和中发现的技术。
触敏显示器系统112任选地具有超过100dpi的视频分辨率。在一些实施方案中,触摸屏视频分辨率超过400dpi(例如,为500dpi、800dpi或更大)。用户任选地使用任何合适的物体或附加物诸如触笔、手指等来与触敏显示器系统112接触。在一些实施方案中,将用户界面设计成与基于手指的接触和手势一起工作,由于手指在触摸屏上的接触区域较大,因此这可能不如基于触笔的输入精确。在一些实施方案中,设备将基于手指的粗略输入转化为精确的指针/光标位置或命令以用于执行用户所期望的动作。
在一些实施方案中,除了触摸屏之外,设备100任选地包括用于激活或去激活特定功能的触控板。在一些实施方案中,触摸板是设备的触敏区域,与触摸屏不同,该触敏区域不显示视觉输出。触控板任选地是与触敏显示器系统112分开的触敏表面,或者是由触摸屏形成的触敏表面的延伸部分。
设备100还包括用于为各种部件供电的电力系统162。电力系统162任选地包括电力管理系统、一个或多个电源(例如,电池、交流电(AC))、再充电系统、电力故障检测电路、功率转换器或逆变器、电源状态指示符(例如,发光二极管(LED))以及与便携式设备中的电力的生成、管理和分配相关联的任何其他部件。
设备100任选地还包括一个或多个光学传感器164。图1A示出与I/O子系统106中的光学传感器控制器158耦接的光学传感器。一个或多个光学传感器164任选地包括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光电晶体管。一个或多个光学传感器164从环境接收通过一个或多个透镜而投射的光,并且将光转换为表示图像的数据。结合成像模块143(也被叫做相机模块),一个或多个光学传感器164任选地捕获静态图像和/或视频。在一些实施方案中,光学传感器位于设备100的与设备前部上的触敏显示器系统112相背对的后部上,使得触摸屏能够用作用于静态图像和/或视频图像采集的取景器。在一些实施方案中,另一光学传感器位于设备的前部上,从而获取该用户的图像(例如,用于自拍、用于当用户在触摸屏上观看其他视频会议参与者时进行视频会议等等)。
设备100任选地还包括一个或多个接触强度传感器165。图1A示出了与I/O子系统106中的强度传感器控制器159耦接的接触强度传感器。一个或多个接触强度传感器165任选地包括一个或多个压阻应变仪、电容式力传感器、电气式力传感器、压电力传感器、光学力传感器、电容式触敏表面、或其他强度传感器(例如,用于测量触敏表面上的接触的力(或压力)的传感器)。一个或多个接触强度传感器165从环境接收接触强度信息(例如,压力信息或压力信息的代用物)。在一些实施方案中,至少一个接触强度传感器与触敏表面(例如,触敏显示器系统112)并置排列或邻近。在一些实施方案中,至少一个接触强度传感器位于设备100的与位于设备100的前部上的触敏显示器系统112相背对的后部上。
设备100任选地还包括一个或多个接近传感器166。图1A示出了与外围设备接口118耦接的接近传感器166。另选地,接近传感器166与I/O子系统106中的输入控制器160耦接。在一些实施方案中,当多功能设备被置于用户耳朵附近时(例如,用户正在打电话时),接近传感器关闭并禁用触敏显示器系统112。
设备100任选地还包括一个或多个触觉输出发生器163。图1A示出了与I/O子系统106中的触觉反馈控制器161耦接的触觉输出发生器。触觉输出发生器163任选地包括一个或多个电声设备诸如扬声器或其他音频部件,和/或将能量转换成线性运动的机电设备诸如马达、螺线管、电活性聚合器、压电致动器、静电致动器,或其他触觉输出生成部件(例如,将电信号转换成设备上的触觉输出的部件)。一个或多个触觉输出发生器163从触觉反馈模块133接收触觉反馈生成指令,并且在设备100上生成能够由设备100的用户感觉到的触觉输出。在一些实施方案中,至少一个触觉输出发生器与触敏表面(例如,触敏显示器系统112)并置排列或邻近,并且任选地通过竖直地(例如,向设备100的表面内/外)或侧向地(例如,在与设备100的表面相同的平面中向后和向前)移动触敏表面来生成触觉输出。在一些实施方案中,至少一个触觉输出发生器传感器位于设备100的与位于设备100的前部上的触敏显示器系统112相背对的后部上。
设备100任选地还包括用于获得关于设备的位置(例如,姿态)的信息的一个或多个加速度计167、陀螺仪168和/或磁力仪169(例如,作为惯性测量单元(IMU)的一部分)。图1A示出了与外围设备接口118耦接的传感器167、168和169。另选地,传感器167、168和169任选地与I/O子系统106中的输入控制器160耦接。在一些实施方案中,基于对从该一个或多个加速度计所接收的数据的分析来在触摸屏显示器上以纵向视图或横向视图来显示信息。设备100任选地包括用于获得关于设备100的位置的信息的GPS(或GLONASS或其他全球导航系统)接收器。
在一些实施方案中,存储于存储器102中的软件组件包括操作系统126、通信模块(或指令集)128、接触/运动模块(或指令集)130、图形模块(或指令集)132、触觉反馈模块(或指令集)133、文本输入模块(或指令集)134、全球定位系统(GPS)模块(或指令集)135、以及应用程序(或指令集)136。此外,在一些实施方案中,存储器102存储设备/全局内部状态157,如图在1A和图3中所示的。设备/全局内部状态157包括以下中的一者或多者:活动应用程序状态,其指示哪些应用程序(如果有的话)当前是活动的;显示状态,其指示什么应用程序、视图或其他信息占据触敏显示器系统112的各个区域;传感器状态,包括从设备的各个传感器和其他输入或控制设备116获得的信息;以及关于设备的位置和/或姿态的位置和/或方位信息。
操作系统126(例如,iOS、Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS、或嵌入式操作系统诸如VxWorks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电源管理等)的各种软件组件和/或驱动器,并且有利于各种硬件和软件组件之间的通信。
通信模块128有利于通过一个或多个外部端口124来与其他设备进行通信,并且还包括用于处理由RF电路108和/或外部端口124所接收的数据的各种软件组件。外部端口124(例如,通用串行总线(USB)、火线等)适于直接耦接到其他设备,或间接地通过网络(例如,互联网、无线LAN等)进行耦接。在一些实施方案中,外部端口是与Apple Inc.(Cupertino,California)的一些iPod和设备中所使用的30针连接器相同或类似和/或兼容的多针(例如,30针)连接器。在一些实施方案中,外部端口是与Apple Inc.(Cupertino,California)的一些iPod和设备中所使用的Lightning连接器相同或类似和/或兼容的Lightning连接器。
接触/运动模块130任选地检测与触敏显示器系统112(结合显示控制器156)和其他触敏设备(例如,触控板或物理点击轮)的接触。接触/运动模块130包括用于执行与(例如手指或触笔)接触检测相关的各种操作的软件部件,诸如确定是否已发生接触(例如,检测手指按下事件)、确定接触的强度(例如,接触的力或压力,或者接触的力或压力的替代物)、确定是否存在接触的移动并跟踪在触敏表面上的移动(例如,检测一个或多个手指拖动事件)、以及确定接触是否已停止(例如,检测手指抬起事件或者接触断开)。接触/运动模块130从触敏表面接收接触数据。确定接触点的移动任选地包括确定接触点的速率(量值)、速度(量值和方向)和/或加速度(量值和/或方向的改变),所述接触点的移动由一系列接触数据表示。这些操作任选地被应用于单点接触(例如,单指接触或触笔接触)或者多点同时接触(例如,“多点触摸”/多指接触和/或触笔接触)。在一些实施方案中,接触/运动模块130和显示控制器156检测触控板上的接触。
接触/运动模块130任选地检测由用户进行的手势输入。触敏表面上的不同手势具有不同的接触模式(例如,检测到的接触的不同运动、计时和/或强度)。因此,任选地通过检测特定接触模式来检测手势。例如,检测单指轻击手势包括检测手指按下事件,然后在与手指按下事件相同的位置(或基本上相同的位置)处(例如,在图标位置处)检测手指抬起(抬离)事件。又如,检测触敏表面上的手指轻扫手势包括检测手指按下事件,然后检测一个或多个手指拖动事件,并且随后检测手指抬起(抬离)事件。类似地,通过检测触笔的特定接触图案来任选地检测触笔的轻击、轻扫、拖动和其他手势。
图形模块132包括用于在触敏显示器系统112或其他显示器上渲染和显示图形的各种已知软件组件,包括用于改变所显示的图形的视觉冲击(例如,亮度、透明度、饱和度、对比度或其他视觉属性)的部件。如本文所用,术语“图形”包括可被显示给用户的任何对象,非限制性地包括文本、网页、图标(诸如包括软键的用户界面对象)、数字图像、视频、动画等。
在一些实施方案中,图形模块132存储表示待使用的图形的数据。每个图形任选地被分配有对应的代码。图形模块132从应用程序等接收用于指定待显示的图形的一个或多个代码,在必要的情况下还一起接收坐标数据和其他图形属性数据,并且然后生成屏幕图像数据,以输出至显示控制器156。
触觉反馈模块133包括用于生成指令的各种软件部件,该指令由一个或多个触觉输出发生器163使用,以便响应于用户与设备100的交互而在设备100上的一个或多个位置处产生触觉输出。
任选地为图形模块132的部件的文本输入模块134提供用于在各种应用程序(例如,联系人137、电子邮件140、IM 141、浏览器147和需要文本输入的任何其他应用程序)中输入文本的软键盘。
GPS模块135确定设备的位置并提供该信息以在各种应用程序中使用(例如,提供至电话138以用于基于位置的拨号;提供至相机143作为图片/视频元数据;以及提供至提供基于位置的服务的应用程序诸如天气桌面小程序、当地黄页桌面小程序和地图/导航桌面小程序)。
应用程序136任选地包括以下模块(或指令集)或者其子集或超集:
·联系人模块137(有时称为通讯录或联系人列表);
·电话模块138;
·视频会议模块139;
·电子邮件客户端模块140;
·即时消息(IM)模块141;
·健身支持模块142;
·用于静态图像和/或视频图像的相机模块143;
·图像管理模块144;
·浏览器模块147;
·日历模块148;
·桌面小程序模块149,其任选地包括以下各项中的一者或多者:天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4、词典桌面小程序149-5、和由用户获取的其他桌面小程序、以及用户创建的桌面小程序149-6;
·用于形成用户创建的桌面小程序149-6的桌面小程序创建器模块150;
·搜索模块151;
·任选地由视频播放器模块和音乐播放器模块构成的视频和音乐播放器模块152;
·备忘录模块153;
·地图模块154;以及/或者
·在线视频模块155。
任选地存储在存储器102中的其他应用程序136的示例包括其他文字处理应用程序、其他图像编辑应用程序、绘图应用程序、呈现应用程序、支持JAVA的应用程序、加密、数字权益管理、语音识别和语音复制。
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,联系人模块137包括可执行指令用于管理通讯录或联系人列表(例如,存储在存储器102或存储器370中的联系人模块137的应用程序内部状态192中),包括:添加姓名到通讯录;从通讯录删除姓名;将电话号码、电子邮件地址、物理地址或其他信息与姓名关联;将图像与姓名关联;对姓名进行归类和分类;提供电话号码和/或电子邮件地址来发起和/或促进通过电话138、视频会议139、电子邮件140或即时消息141的通信;等等。
结合RF电路108、音频电路110、扬声器111、麦克风113、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,电话模块138包括用于进行以下操作的可执行指令:输入与电话号码对应的字符序列、访问通讯录137中的一个或多个电话号码、修改已输入的电话号码、拨打相应的电话号码、进行会话、以及当会话完成时断开或挂断。如上所述,无线通信任选地使用多种通信标准、协议和技术中的任一种。
结合RF电路108、音频电路110、扬声器111、麦克风113、触敏显示器系统112、显示控制器156、一个或多个光学传感器164、光学传感器控制器158、接触模块130、图形模块132、文本输入模块134、联系人列表137和电话模块138,视频会议模块139包括根据用户指令来发起、进行和终止用户与一个或多个其他参与方之间的视频会议的可执行指令。
结合RF电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,电子邮件客户端模块140包括用于响应于用户指令来创建、发送、接收和管理电子邮件的可执行指令。结合图像管理模块144,电子邮件客户端模块140使得非常容易创建和发送具有由相机模块143拍摄的静态图像或视频图像的电子邮件。
结合RF电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,即时消息模块141包括用于进行以下操作的可执行指令:输入与即时消息对应的字符序列、修改先前输入的字符、发送相应即时消息(例如,使用针对基于电话的即时消息的短消息服务(SMS)或多媒体消息服务(MMS)协议或者使用针对基于互联网的即时消息的XMPP、SIMPLE、Apple推送通知服务(APNs)或IMPS)、接收即时消息、以及查看所接收的即时消息。在一些实施方案中,所传输和/或接收的即时消息任选地包括图形、相片、音频文件、视频文件、和/或MMS和/或增强消息服务(EMS)中所支持的其他附接件。如本文所用,“即时消息”是指基于电话的消息(例如,使用SMS或MMS发送的消息)和基于互联网的消息(例如,使用XMPP、SIMPLE、APNs或IMPS发送的消息)两者。
结合RF电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135、地图模块154以及视频和音乐播放器模块152,健身支持模块142包括可执行指令用于创建健身(例如,具有时间、距离和/或卡路里燃烧目标);与(体育设备和智能手表中的)健身传感器通信;接收健身传感器数据;校准用于监视健身的传感器;为健身选择和播放音乐;以及显示、存储和传输健身数据。
结合触敏显示器系统112、显示控制器156、一个或多个光学传感器164、光学传感器控制器158、接触模块130、图形模块132和图像管理模块144,相机模块143包括用于进行以下操作的可执行指令:捕获静态图像或视频(包括视频流)并且将它们存储到存储器102中、修改静态图像或视频的特征、和/或从存储器102删除静态图像或视频。
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134、和相机模块143,图像管理模块144包括用于排列、修改(例如,编辑)、或以其他方式操控、加标签、删除、展示(例如,在数字幻灯片或相册中)、以及存储静态图像和/或视频图像的可执行指令。
结合RF电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132和文本输入模块134,浏览器模块147包括根据用户指令来浏览互联网(包括搜索、链接到、接收、和显示网页或其部分、以及链接到网页的附件和其他文件)的可执行指令。
结合RF电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134、电子邮件客户端模块140和浏览器模块147,日历模块148包括用于根据用户指令来创建、显示、修改和存储日历以及与日历相关联的数据(例如,日历条目、待办事项等)的可执行指令。
结合RF电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134和浏览器模块147,桌面小程序模块149是任选地由用户下载和使用的微型应用程序(例如,天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4和词典桌面小程序149-5)、或由用户创建的微型应用程序(例如,用户创建的桌面小程序149-6)。在一些实施方案中,桌面小程序包括HTML(超文本标记语言)文件、CSS(层叠样式表)文件和JavaScript文件。在一些实施方案中,桌面小程序包括XML(可扩展标记语言)文件和JavaScript文件(例如,Yahoo!桌面小程序)。
结合RF电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134、和浏览器模块147,桌面小程序创建器模块150包括用于创建桌面小程序(例如,将网页的用户指定部分转到桌面小程序中)的可执行指令。
结合触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132和文本输入模块134,搜索模块151包括用于根据用户指令来搜索存储器102中的与一个或多个搜索条件(例如,一个或多个用户指定的搜索词)匹配的文本、音乐、声音、图像、视频和/或其他文件的可执行指令。
结合触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、音频电路110、扬声器111、RF电路108和浏览器模块147,视频和音乐播放器模块152包括允许用户下载和回放以一种或多种文件格式(诸如MP3或AAC文件)存储的所记录的音乐和其他声音文件的可执行指令,以及用于显示、呈现或以其他方式回放视频(例如,在触敏显示器系统112上或在经由外部端口124无线连接的外部显示器上)的可执行指令。在一些实施方案中,设备100任选地包括MP3播放器诸如iPod(Apple Inc.的商标)的功能。
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,备忘录模块153包括用于根据用户指令来创建和管理备忘录、待办事项等的可执行指令。
结合RF电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135和浏览器模块147,地图模块154包括用于根据用户指令来接收、显示、修改和存储地图以及与地图相关联的数据(例如,驾车路线;特定位置处或附近的商店和其他兴趣点的数据;和其他基于位置的数据)的可执行指令。
结合触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、音频电路110、扬声器111、RF电路108、文本输入模块134、电子邮件客户端模块140和浏览器模块147,在线视频模块155包括允许用户访问、浏览、接收(例如,通过流式传输和/或下载)、回放(例如在触摸屏112上或在无线连接的或经由外部端口124连接的外部显示器上)、发送具有至特定在线视频的链接的电子邮件、以及以其他方式管理一种或多种文件格式诸如H.264的在线视频的可执行指令。在一些实施方案中,使用即时消息模块141而不是电子邮件客户端模块140来发送特定在线视频的链接。
上述所识别的每个模块和应用对应于用于执行上述一种或多种功能以及在本申请中所描述的方法(例如,本文中所描述的计算机实现的方法和其他信息处理方法)的一组可执行指令。这些模块(即,指令集)不必以独立的软件程序、过程或模块实现,因此这些模块的各种子集任选地在各种实施方案中组合或以其他方式重新布置。在一些实施方案中,存储器102任选地存储上述模块和数据结构的子组。此外,存储器102任选地存储上文未描述的另外的模块和数据结构。
在一些实施方案中,设备100是该设备上的预定义的一组功能的操作唯一地通过触摸屏和/或触摸板来执行的设备。通过使用触摸屏和/或触控板作为用于操作设备100的主要输入控制设备,任选地减少设备100上的物理输入控制设备(例如,下压按钮、拨盘等等)的数量。
唯一地通过触摸屏和/或触控板来执行的预定义的一组功能任选地包括在用户界面之间的导航。在一些实施方案中,触摸板在被用户触摸时将设备100从设备100上显示的任何用户界面导航到主菜单、主桌面菜单或根菜单。在此类实施方案中,使用触控板来实现“菜单按钮”。在一些其他实施方案中,菜单按钮是物理下压按钮或者其他物理输入控制设备,而不是触控板。
图1B是示出根据一些实施方案的用于事件处理的示例性部件的框图。在一些实施方案中,存储器102(图1A中)或存储器370(图3)包括事件分类器170(例如,在操作系统126中)和相应的应用程序136-1(例如,前述应用程序136、137至155、380至390中的任一个应用程序)。
事件分类器170接收事件信息并确定要将事件信息递送到的应用程序136-1和应用程序136-1的应用程序视图191。事件分类器170包括事件监视器171和事件分配器模块174。在一些实施方案中,应用程序136-1包括应用程序内部状态192,该应用程序内部状态指示当应用程序是活动的或正在执行时在触敏显示器系统112上显示的一个或多个当前应用程序视图。在一些实施方案中,设备/全局内部状态157被事件分类器170用来确定哪个(哪些)应用程序当前是活动的,并且应用程序内部状态192被事件分类器170用来确定要将事件信息递送到的应用程序视图191。
在一些实施方案中,应用程序内部状态192包括附加信息,诸如以下各项中的一者或多者:当应用程序136-1恢复执行时将被使用的恢复信息、指示信息正被显示或准备好用于被应用程序136-1显示的用户界面状态信息、用于使得用户能够返回到应用程序136-1的前一状态或视图的状态队列,以及用户采取的先前动作的重复/撤销队列。
事件监视器171从外围设备接口118接收事件信息。事件信息包括关于子事件(例如,作为多点触摸手势的一部分的触敏显示器系统112上的用户触摸)的信息。外围设备接口118传输其从I/O子系统106或传感器诸如接近传感器166、一个或多个加速度计167、一个或多个陀螺仪168、一个或多个磁力仪169和/或麦克风113(通过音频电路110)接收的信息。外围设备接口118从I/O子系统106所接收的信息包括来自触敏显示器系统112或触敏表面的信息。
在一些实施方案中,事件监视器171以预先确定的间隔将请求发送至外围设备接口118。作为响应,外围设备接口118传输事件信息。在其他实施方案中,外围设备接口118仅当存在显著事件(例如,接收到高于预先确定的噪声阈值和/或接收到超过预先确定的持续时间的输入)时才传输事件信息。
在一些实施方案中,事件分类器170还包括命中视图确定模块172和/或活动事件识别器确定模块173。
当触敏显示器系统112显示多于一个视图时,命中视图确定模块172提供用于确定子事件已在一个或多个视图内的什么地方发生的软件过程。视图由用户能够在显示器上看到的控件和其他元素构成。
与应用程序相关联的用户界面的另一方面是一组视图,本文中有时也称为应用程序视图或用户界面窗口,在其中显示信息并且发生基于触摸的手势。在其中检测到触摸的(相应应用程序的)应用程序视图任选地对应于在应用程序的程序化或视图分级结构内的程序化水平。例如,在其中检测到触摸的最低水平视图任选地被称为命中视图,并且被识别为正确输入的事件集任选地至少部分地基于初始触摸的命中视图来确定,所述初始触摸开始基于触摸的手势。
命中视图确定模块172接收与基于触摸的手势的子事件相关的信息。当应用程序具有以分级结构组织的多个视图时,命中视图确定模块172将命中视图识别为应当对子事件进行处理的分级结构中的最低视图。在大多数情况下,命中视图是发起子事件(即形成事件或潜在事件的子事件序列中的第一子事件)在其中发生的最低水平视图。一旦命中视图被命中视图确定模块所识别,命中视图便通常接收与其被识别为命中视图所针对的同一触摸或输入源相关的所有子事件。
活动事件识别器确定模块173确定视图分级结构内的哪个或哪些视图应接收特定子事件序列。在一些实施方案中,活动事件识别器确定模块173确定仅命中视图应接收特定子事件序列。在其他实施方案中,活动事件识别器确定模块173确定包括子事件的物理位置的所有视图是活跃参与的视图,并因此确定所有活跃参与的视图都应接收特定子事件序列。在其他实施方案中,即使触摸子事件完全被局限到与一个特定视图相关联的区域,分级结构中的较高视图将仍然保持为活跃参与的视图。
事件分配器模块174将事件信息分配到事件识别器(例如,事件识别器180)。在包括活动事件识别器确定模块173的一些实施方案中,事件分配器模块174将事件信息递送到由活动事件识别器确定模块173确定的事件识别器。在一些实施方案中,事件分配器模块174在事件队列中存储事件信息,该事件信息由相应事件接收器模块182进行检索。
在一些实施方案中,操作系统126包括事件分类器170。另选地,应用程序136-1包括事件分类器170。在又一个实施方案中,事件分类器170是独立模块,或者是存储在存储器102中的另一个模块(诸如,接触/运动模块130)的一部分。
在一些实施方案中,应用程序136-1包括多个事件处理程序190和一个或多个应用程序视图191,其中的每一个都包括用于处理发生在应用程序的用户界面的相应视图内的触摸事件的指令。应用程序136-1的每个应用程序视图191包括一个或多个事件识别器180。通常,相应应用程序视图191包括多个事件识别器180。在其他实施方案中,事件识别器180中的一个或多个事件识别器是独立模块的一部分,该独立模块为诸如用户界面工具包或应用程序136-1从中继承方法和其他属性的更高级别的对象。在一些实施方案中,相应事件处理程序190包括以下各项中的一者或多者:数据更新器176、对象更新器177、GUI更新器178、和/或从事件分类器170接收的事件数据179。事件处理程序190任选地利用或调用数据更新器176、对象更新器177或GUI更新器178来更新应用程序内部状态192。另选地,应用程序视图191中的一个或多个应用程序视图包括一个或多个相应事件处理程序190。另外,在一些实施方案中,数据更新器176、对象更新器177和GUI更新器178中的一者或多者被包括在相应应用程序视图191中。
相应的事件识别器180从事件分类器170接收事件信息(例如,事件数据179),并且从事件信息识别事件。事件识别器180包括事件接收器182和事件比较器184。在一些实施方案中,事件识别器180还包括元数据183和事件传递指令188(其任选地包括子事件递送指令)的至少一个子集。
事件接收器182从事件分类器170接收事件信息。事件信息包括关于子事件例如触摸或触摸移动的信息。根据子事件,事件信息还包括附加信息,诸如子事件的位置。当子事件涉及触摸的运动时,事件信息任选地还包括子事件的速率和方向。在一些实施方案中,事件包括设备从一个取向旋转到另一取向(例如,从纵向取向旋转到横向取向,或反之亦然),并且事件信息包括关于设备的当前取向(也被称为设备姿态)的对应信息。
事件比较器184将事件信息与预定义的事件或子事件定义进行比较,并且基于该比较来确定事件或子事件,或者确定或更新事件或子事件的状态。在一些实施方案中,事件比较器184包括事件定义186。事件定义186包含事件的定义(例如,预定义的子事件序列),例如事件1(187-1)、事件2(187-2)以及其他。在一些实施方案中,事件187中的子事件包括例如触摸开始、触摸结束、触摸移动、触摸取消和多点触摸。在一个示例中,事件1(187-1)的定义是被显示对象上的双击。例如,双击包括被显示对象上的预先确定时长的第一次触摸(触摸开始)、预先确定时长的第一次抬起(触摸结束)、被显示对象上的预先确定时长的第二次触摸(触摸开始)以及预先确定时长的第二次抬起(触摸结束)。在另一个示例中,事件2(187-2)的定义是被显示对象上的拖动。例如,拖动包括被显示对象上的预先确定时长的触摸(或接触)、触摸在触敏显示器系统112上的移动、以及触摸的抬离(触摸结束)。在一些实施方案中,事件还包括用于一个或多个相关联的事件处理程序190的信息。
在一些实施方案中,事件定义187包括对用于相应用户界面对象的事件的定义。在一些实施方案中,事件比较器184执行命中测试以确定哪个用户界面对象与子事件相关联。例如,在触敏显示器系统112上显示三个用户界面对象的应用程序视图中,当在触敏显示器系统112上检测到触摸时,事件比较器184执行命中测试以确定这三个用户界面对象中的哪一个用户界面对象与该触摸(子事件)相关联。如果每个所显示对象与相应事件处理程序190相关联,则事件比较器使用该命中测试的结果来确定哪个事件处理程序190应当被激活。例如,事件比较器184选择与子事件和触发该命中测试的对象相关联的事件处理程序。
在一些实施方案中,相应事件187的定义还包括延迟动作,这些延迟动作延迟事件信息的递送,直到已确定子事件序列确实对应于或不对应于事件识别器的事件类型。
当相应事件识别器180确定子事件序列不与事件定义186中的任何事件匹配时,该相应事件识别器180进入事件不可能、事件失败或事件结束状态,在此之后忽略基于触摸的手势的后续子事件。在这种情况下,对于命中视图保持活动的其他事件识别器(如果有的话)继续跟踪并处理持续进行的基于触摸的手势的子事件。
在一些实施方案中,相应事件识别器180包括具有指示事件递送系统应当如何执行对活跃参与的事件识别器的子事件递送的可配置属性、标记和/或列表的元数据183。在一些实施方案中,元数据183包括指示事件识别器彼此如何交互或如何能够交互的可配置属性、标志和/或列表。在一些实施方案中,元数据183包括指示子事件是否递送到视图或程序化分级结构中的不同层级的可配置属性、标志和/或列表。
在一些实施方案中,当事件的一个或多个特定子事件被识别时,相应事件识别器180激活与事件相关联的事件处理程序190。在一些实施方案中,相应事件识别器180将与事件相关联的事件信息递送到事件处理程序190。激活事件处理程序190不同于将子事件发送(和延期发送)到相应命中视图。在一些实施方案中,事件识别器180抛出与所识别的事件相关联的标记,并且与该标记相关联的事件处理程序190获取该标记并执行预定义过程。
在一些实施方案中,事件递送指令188包括递送关于子事件的事件信息而不激活事件处理程序的子事件递送指令。相反,子事件递送指令将事件信息递送到与子事件序列相关联的事件处理程序或者递送到活跃参与的视图。与子事件序列或与活跃参与的视图相关联的事件处理程序接收事件信息并执行预先确定的过程。
在一些实施方案中,数据更新器176创建并更新在应用程序136-1中使用的数据。例如,数据更新器176对联系人模块137中所使用的电话号码进行更新,或者对视频或音乐播放器模块152中所使用的视频文件进行存储。在一些实施方案中,对象更新器177创建并更新在应用程序136-1中使用的对象。例如,对象更新器177创建新的用户界面对象或更新用户界面对象的位置。GUI更新器178更新GUI。例如,GUI更新器178准备显示信息,并且将显示信息发送到图形模块132用以显示在触敏显示器上。
在一些实施方案中,事件处理程序190包括数据更新器176、对象更新器177和GUI更新器178,或具有对该数据更新器、该对象更新器和该GUI更新器的访问权限。在一些实施方案中,数据更新器176、对象更新器177和GUI更新器178被包括在相应应用程序136-1或应用程序视图191的单个模块中。在其他实施方案中,它们被包括在两个或更多个软件模块中。
应当理解,关于触敏显示器上的用户触摸的事件处理的上述论述还适用于利用输入设备来操作多功能设备100的其他形式的用户输入,并不是所有用户输入都是在触摸屏上发起的。例如,任选地与单次或多次键盘按下或按住协作的鼠标移动和鼠标按钮按下;触控板上的接触移动,诸如轻击、拖动、滚动等;触笔输入;设备的移动;口头指令;检测到的眼睛移动;生物特征输入;和/或它们的任何组合任选地被用作对应于限定要识别的事件的子事件的输入。
图2示出了根据一些实施方案的具有触摸屏(例如,图1A的触敏显示器系统112)的便携式多功能设备100。触摸屏任选地在用户界面(UI)200内显示一个或多个图形。在本实施方案以及下文所述的其他实施方案中,用户能够通过例如利用一根或多根手指202(在图中未按比例绘制)或一支或多支触笔203(在图中未按比例绘制)在图形上作出手势来选择这些图形中的一个或多个图形。在一些实施方案中,当用户中断与一个或多个图形的接触时,将发生对一个或多个图形的选择。在一些实施方案中,手势任选地包括一次或多次轻击、一次或多次轻扫(从左向右、从右向左、向上和/或向下)和/或已与设备100发生接触的手指的滚动(从右向左、从左向右、向上和/或向下)。在一些实施方案中或在一些情况下,不经意地与图形接触不会选择图形。例如,当与选择对应的手势是轻击时,在应用程序图标上方扫动的轻扫手势任选地不会选择对应的应用程序。
设备100任选地还包括一个或多个物理按钮,诸如“主桌面”或菜单按钮204。如前所述,菜单按钮204任选地用于导航到任选地在设备100上被执行的一组应用程序中的任何应用程序136。作为另外一种选择,在一些实施方案中,菜单按钮被实现为被显示在触摸屏显示器上的GUI中的软键。
在一些实施方案中,设备100包括触摸屏显示器、菜单按钮204、用于使设备通电/断电和用于锁定设备的下压按钮206、一个或多个音量调节按钮208、用户身份模块(SIM)卡槽210、耳麦插孔212、和对接/充电外部端口124。下压按钮206任选地用于通过压下该按钮并且将该按钮保持在压下状态持续预定义的时间间隔来对设备进行开/关机;通过压下该按钮并在该预定义的时间间隔过去之前释放该按钮来锁定设备;和/或对设备进行解锁或发起解锁过程。在一些实施方案中,设备100还通过麦克风113来接受用于激活或停用某些功能的语音输入。设备100还任选地包括用于检测触敏显示器系统112上的接触的强度的一个或多个接触强度传感器165、和/或用于为设备100的用户生成触觉输出的一个或多个触觉输出发生器163。
图3是根据一些实施方案的具有显示器和触敏表面的示例性多功能设备的框图。设备300不必是便携式的。在一些实施方案中,设备300是膝上型电脑、台式计算机、平板电脑、多媒体播放器设备、导航设备、教育设备(诸如儿童学习玩具)、游戏系统或控制设备(例如,家用控制器或工业用控制器)。设备300通常包括一个或多个处理单元(CPU)310、一个或多个网络或其他通信接口360、存储器370和用于使这些部件互连的一条或多条通信总线320。通信总线320任选地包括使系统部件互连并且控制系统部件之间的通信的电路(有时称作芯片组)。设备300包括具有显示器340的输入/输出(I/O)接口330,该显示器通常是触摸屏显示器。I/O接口330还任选地包括键盘和/或鼠标(或其他指向设备)350和触控板355、用于在设备300上生成触觉输出的触觉输出发生器357(例如,类似于以上参考图1A所述的一个或多个触觉输出发生器163)、传感器359(例如,类似于以上参考图1A所述的传感器112、164、165、166、167、168和169的触敏传感器、光学传感器、接触强度传感器、接近传感器、加速度传感器、姿态和/或磁传感器)。存储器370包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并且任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器370任选地包括远离CPU 310定位的一个或多个存储设备。在一些实施方案中,存储器370存储与便携式多功能设备100(图1A)的存储器102中所存储的程序、模块和数据结构类似的程序、模块、和数据结构,或它们的子集。此外,存储器370任选地存储在便携式多功能设备100的存储器102中不存在的附加程序、模块和数据结构。例如,设备300的存储器370任选地存储绘图模块380、呈现模块382、文字处理模块384、网站创建模块386、盘编辑模块388、和/或电子表格模块390,而便携式多功能设备100(图1A)的存储器102任选地不存储这些模块。
图3中上述所识别的元件中的每个元件任选地存储在先前提到的存储器设备中的一个或多个存储器设备中。上述所识别的模块中的每个模块对应于用于执行上述功能的指令集。上述所识别的模块或程序(即,指令集)不必被实现为单独的软件程序、过程或模块,因此这些模块的各种子集任选地在各种实施方案中组合或以其他方式重新布置。在一些实施方案中,存储器370任选地存储上述模块和数据结构的子组。此外,存储器370任选地存储上文未描述的附加模块和数据结构。
现在将注意力转到任选地在便携式多功能设备100上实现的用户界面(“UI”)的实施方案。
图4A示出根据一些实施方案的便携式多功能设备100上的应用程序菜单的示例性用户界面。类似的用户界面任选地在设备300上实现。在一些实施方案中,用户界面400包括以下元件或者其子集或超集:
·无线通信诸如蜂窝信号和Wi-Fi信号的信号强度指示符402;
·时间404;
·蓝牙指示符405;
·电池状态指示符406;
·具有针对常用应用程序的图标的托盘408,该图标诸如:
о电话模块138的被标记为“电话”的图标416,该图标任选地包括未接来电或语音信箱的数量的指示符414;
о电子邮件客户端模块140的被标记为“邮件”的图标418,该图标任选地包括未读电子邮件的数量的指示符410;
о浏览器模块147的标记为“浏览器”的图标420;以及
о视频和音乐播放器模块152(也称为iPod(AppleInc.的商标)模块152)的被标记为“iPod”的图标422;以及
·其他应用程序的图标,诸如:
оIM模块141的被标记为“文本”的图标424;
о日历模块148的被标记为“日历”的图标426;
о图像管理模块144的被标记为“照片”的图标428;
о相机模块143的被标记为“相机”的图标430;
о在线视频模块155的被标记为“在线视频”的图标432;
о股市桌面小程序149-2的被标记为“股市”的图标434;
о地图模块154的被标记为“地图”的图标436;
о天气桌面小程序149-1的被标记为“天气”的图标438;
о闹钟桌面小程序169-6的被标记为“时钟”的图标440;
о健身支持模块142的被标记为“健身支持”的图标442;
о备忘录模块153的标记为“备忘录”的图标444;以及
о用于设置应用程序或模块的图标446,该图标提供对设备100及其各种应用程序136的设置的访问。
应当注意,图4A中示出的图标标签仅仅是示例性的。例如,在一些实施方案中,视频和音乐播放器模块152的图标422被标记为“音乐”或“音乐播放器”。对于各种应用程序图标任选地使用其他标签。在一些实施方案中,相应应用程序图标的标签包括与该相应应用程序图标对应的应用程序的名称。在一些实施方案中,特定应用程序图标的标签不同于与该特定应用程序图标对应的应用程序的名称。
图4B示出了具有与显示器450分开的触敏表面451(例如,图3中的平板或触控板355)的设备(例如,图3中的设备300)上的示例性用户界面。设备300还任选地包括用于检测触敏表面451上的接触的强度的一个或多个接触强度传感器(例如,传感器359中的一个或多个传感器)和/或用于为设备300的用户生成触觉输出的一个或多个触觉输出发生器359。
图4B示出了具有与显示器450分开的触敏表面451(例如,图3中的平板或触控板355)的设备(例如,图3中的设备300)上的示例性用户界面。尽管将参考触摸屏显示器112(其中组合了触敏表面和显示器)上的输入给出随后许多示例,但是在一些实施方案中,设备检测与显示器分开的触敏表面上的输入,如图4B中所示。在一些实施方案中,触敏表面(例如,图4B中的451)具有与显示器(例如,450)上的主轴线(例如,图4B中的453)对应的主轴线(例如,图4B中的452)。根据这些实施方案,设备检测与显示器上相应位置对应的位置处的与触敏表面451的接触(例如,图4B中的460和462)(例如,在图4B中,460对应于468并且462对应于470)。这样,在触敏表面(例如,图4B中的451)与多功能设备的显示器(例如,图4B中的450)是分开的时侯,由设备在触敏表面上所检测到的用户输入(例如,接触460和462以及它们的移动)被该设备用于操纵显示器上的用户界面。应当理解,类似的方法任选地用于本文所述的其他用户界面。
另外,虽然主要是参考手指输入(例如,手指接触、单指轻击手势、手指轻扫手势等)来给出下面的示例,但是应当理解的是,在一些实施方案中,这些手指输入中的一个或多个手指输入由来自另一输入设备的输入(例如,基于鼠标的输入或触笔输入)替换。例如,轻扫手势任选地由鼠标点击(例如,而不是接触),之后是光标沿着轻扫的路径的移动(例如,而不是接触的移动)替代。又如,轻击手势任选地由在光标位于轻击手势的位置上方时的鼠标点击(例如,代替对接触的检测,之后是停止检测接触)替代。类似地,当同时检测到多个用户输入时,应当理解的是,多个计算机鼠标任选地被同时使用,或鼠标和手指接触任选地被同时使用。
示例性CGR文件呈现设备
物理环境是指人们在没有电子系统帮助的情况下能够感测和/或交互的物理世界。物理环境诸如物理公园包括物理物品,诸如物理树木、物理建筑物和物理人。人们能够诸如通过视觉、触觉、听觉、味觉和嗅觉来直接感测物理环境和/或与物理环境交互。
相反,计算机生成现实(CGR)环境是指人们经由电子系统感知和/或交互的完全或部分模拟的环境。在CGR中,跟踪人的物理运动的一个子集或其表示,并且作为响应,以符合至少一个物理定律的方式调节在CGR环境中模拟的一个或多个虚拟对象的一个或多个特征。例如,CGR系统可以检测人的头部转动,并且作为响应,以与此类视图和声音在物理环境中变化的方式类似的方式调节呈现给人的图形内容和声场。在一些情况下(例如,出于可达性原因),对CGR环境中虚拟对象的特征的调节可以响应于物理运动的表示(例如,声音命令)来进行。
人可以利用其感觉中的任一者来感测CGR对象和/或与CGR对象交互,包括视觉、听觉、触觉、味觉和嗅觉。例如,人可以感测音频对象和/或与音频对象交互,该音频对象创建3D或空间音频环境,该3D或空间音频环境提供3D空间中点音频源的感知。又如,音频对象可以使能音频透明度,该音频透明度在有或者没有计算机生成的音频的情况下选择性地引入来自物理环境的环境声音。在某些CGR环境中,人可以感测和/或只与音频对象交互。
CGR的示例包括虚拟现实和混合现实。
虚拟现实(VR)环境是指被设计成对于一个或多个感觉完全基于计算机生成的感官输入的模拟环境。VR环境包括人可以感测和/或交互的多个虚拟对象。例如,树木、建筑物和代表人的化身的计算机生成的图像是虚拟对象的示例。人可以通过在计算机生成的环境内人的存在的模拟和/或通过在计算机生成的环境内人的物理移动的一个子组的模拟来感测和/或与VR环境中的虚拟对象交互。
与被设计成完全基于计算机生成的感官输入的VR环境相比,混合现实(MR)环境是指被设计成除了包括计算机生成的感官输入(例如,虚拟对象)之外还引入来自物理环境的感官输入或其表示的模拟环境。在虚拟连续体上,混合现实环境是完全物理环境作为一端和虚拟现实环境作为另一端之间的任何状况,但不包括这两端。
在一些MR环境中,计算机生成的感官输入可以对来自物理环境的感官输入的变化进行响应。另外,用于呈现MR环境的一些电子系统可以跟踪相对于物理环境的位置和/或取向,以使虚拟对象能够与真实对象(即,来自物理环境的物理物品或其表示)交互。例如,系统可以导致移动使得虚拟树木相对于物理地面看起来是静止的。
混合现实的示例包括增强现实和增强虚拟。
增强现实(AR)环境是指其中一个或多个虚拟对象叠加在物理环境或其表示之上的模拟环境。例如,用于呈现AR环境的电子系统可具有透明或半透明显示器,人可以透过该显示器直接查看物理环境。该系统可以被配置为在透明或半透明显示器上呈现虚拟对象,使得人利用该系统感知叠加在物理环境之上的虚拟对象。另选地,系统可以具有不透明显示器和一个或多个成像传感器,该成像传感器捕获物理环境的图像或视频,这些图像或视频是物理环境的表示。系统将图像或视频与虚拟对象组合,并在不透明显示器上呈现组合物。人利用系统经由物理环境的图像或视频而间接地查看物理环境,并且感知叠加在物理环境之上的虚拟对象。如本文所用,在不透明显示器上显示的物理环境的视频被称为“透传视频”,意味着系统使用一个或多个图像传感器捕获物理环境的图像,并且在不透明显示器上呈现AR环境时使用那些图像。进一步另选地,系统可以具有投影系统,该投影系统将虚拟对象投射到物理环境中,例如作为全息图或者在物理表面上,使得人利用该系统感知叠加在物理环境之上的虚拟对象。
增强现实环境也是指其中物理环境的表示被计算机生成的感官信息进行转换的模拟环境。例如,在提供透传视频中,系统可以对一个或多个传感器图像进行转换以施加与成像传感器所捕获的视角不同的选择视角(例如,视点)。又如,物理环境的表示可以通过图形地修改(例如,放大)其部分而进行转换,使得经修改部分可以是原始捕获图像的代表性的但不是真实的版本。再如,物理环境的表示可以通过以图形方式消除其部分或将其部分进行模糊处理而进行转换。
增强虚拟(AV)环境是指其中虚拟或计算机生成的环境结合来自物理环境的一个或多个感官输入的模拟环境。感官输入可以是物理环境的一个或多个特性的表示。例如,AV公园可以具有虚拟树木和虚拟建筑物,但人的脸部是从对物理人拍摄的图像逼真再现的。又如,虚拟对象可以采用一个或多个成像传感器所成像的物理物品的形状或颜色。再如,虚拟对象可以采用符合太阳在物理环境中的定位的阴影。
有许多不同类型的电子系统使人能够感测和/或与各种CGR环境交互。示例包括头戴式系统、基于投影的系统、平视显示器(HUD)、集成有显示能力的车辆挡风玻璃、集成有显示能力的窗户、被形成为被设计用于放置在人眼睛上的透镜的显示器(例如,类似于隐形眼镜)、耳机/听筒、扬声器阵列、输入系统(例如,具有或没有触觉反馈的可穿戴或手持控制器)、智能电话、平板电脑、和台式/膝上型计算机。头戴式系统可以具有一个或多个扬声器和集成的不透明显示器。另选地,头戴式系统可以被配置成接受外部不透明显示器(例如,智能电话)。头戴式系统可以结合用于捕获物理环境的图像或视频的一个或多个成像传感器、和/或用于捕获物理环境的音频的一个或多个麦克风。头戴式系统可以具有透明或半透明显示器,而不是不透明显示器。透明或半透明显示器可以具有媒介,代表图像的光通过该媒介被引导到人的眼睛。显示器可以利用数字光投影、OLED、LED、uLED、硅基液晶、激光扫描光源或这些技术的任意组合。媒介可以是光学波导、全息图媒介、光学组合器、光学反射器、或它们的任意组合。在一个实施方案中,透明或半透明显示器可被配置为选择性地变得不透明。基于投影的系统可以采用将图形图像投影到人的视网膜上的视网膜投影技术。投影系统也可以被配置为将虚拟对象投影到物理环境中,例如作为全息图或在物理表面上。
图5是根据一些实施方案的示例性操作架构500的框图。尽管示出了相关特征,但本领域的普通技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的示例性实施方案的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,操作架构500包括电子设备520A。
在一些实施方案中,电子设备520A被配置为向用户呈现CGR内容。在一些实施方案中,电子设备520A包括软件、固件和/或硬件的合适组合。根据一些实施方案,在用户物理地存在于物理环境503内时,电子设备520A经由显示器522向用户呈现CGR内容,该物理环境包括处于电子设备520A的视场511内的桌子507。因此,在一些实施方案中,用户将电子设备520A握在他/她的手中。在一些实施方案中,在提供CGR内容时,电子设备520A被配置为显示虚拟对象(例如,虚拟圆筒509)以及实现在显示器522上对物理环境503(例如,包括桌子507的表示517)的视频透传。
在一些实施方案中,电子设备520A对应于头戴式设备(HMD),并且操作架构500包括控制器(例如,图6中的控制器600),该控制器被配置为管理和协调用户的CGR内容的呈现。在一些实施方案中,控制器包括软件、固件和/或硬件的合适组合。下文参考图6更详细地描述控制器。在一些实施方案中,控制器是相对于场景处于本地或远程位置的计算设备。例如,控制器是位于场景内的本地服务器。在另一个示例中,控制器是位于场景之外的远程服务器(例如,云服务器、中央服务器等)。在一些实施方案中,控制器经由一个或多个有线或无线通信信道(例如,蓝牙、IEEE 802.11x、IEEE 802.16x、IEEE 802.3x等)与HDM可通信地耦接。在另一个示例中,控制器被包括在HMD的外壳内。
在一些实施方案中,HMD被配置为向用户呈现CGR内容。在一些实施方案中,HMD包括软件、固件和/或硬件的合适组合。下文参考图7更详细地描述HMD。在一些实施方案中,控制器的功能由HMD提供和/或与该HMD结合。
根据一些实施方案,当用户虚拟地和/或物理地存在于场景内时,HMD向用户呈现CGR内容。
在一些实施方案中,用户将HMD佩戴在其头上。因此,HMD包括被提供用于显示CGR内容的一个或多个CGR显示器。例如,在各种实施方案中,HMD包围用户的视场。在一些实施方案中,用被配置为呈现CGR内容的手持设备(诸如智能电话或平板电脑)来替换HMD,并且用户不再佩戴HMD而是手持该设备,其中显示器被引导朝向用户视野并且相机被引导朝向场景。在一些实施方案中,手持设备可被放置在可被佩戴在用户的头部的外壳内。在一些实施方案中,用被配置为呈现CGR内容的CGR舱、外壳或室来替换HMD,用户在其中不再佩戴或手持HMD。
图6是根据一些实施方案的控制器600的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不使本文所公开的实施方案的更多相关方面晦涩难懂,未示出各种其他特征。出于该目的,作为非限制性示例,在一些实施方案中,控制器600包括一个或多个处理单元602(例如,微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、中央处理单元(CPU)、处理核心等)、一个或多个输入/输出(I/O)设备606、一个或多个通信接口608(例如,通用串行总线(USB)、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE802.16x、全球移动通信系统(GSM)、码分多址(CDMA)、时分多址(TDMA)、全球定位系统(GPS)、红外(IR)、BLUETOOTH、ZIGBEE等类型接口)、一个或多个编程(例如,I/O)接口610、存储器620以及用于互连这些部件和各种其他部件的一条或多条通信总线604。
在一些实施方案中,一条或多条通信总线604包括用于互连和控制各系统部件之间的通信的电路。在一些实施方案中,一个或多个I/O设备606包括键盘、鼠标、触控板、操纵杆、一个或多个麦克风、一个或多个扬声器、一个或多个图像传感器、一个或多个显示器等中的至少一种。
存储器620包括高速随机存取存储器,诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、双倍数据速率随机存取存储器(DDR RAM)或者其他随机存取固态存储器设备。在一些实施方案中,存储器620包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器620任选地包括与一个或多个处理单元602远程定位的一个或多个存储设备。存储器620包括非暂态计算机可读存储介质。在一些实施方案中,存储器620或存储器620的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作系统630和CGR内容模块640。
操作系统630包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。在一些实施方案中,CGR内容模块640被配置为管理和协调一个或多个用户的CGR内容的呈现(例如,一个或多个用户的CGR内容的单个集合、或一个或多个用户的相应群组的CGR内容的多个集合)。为此,在各种实施方案中,CGR内容模块640包括数据获取单元642、跟踪单元644、协调单元646和数据传输单元648。
在一些实施方案中,数据获取单元642被配置为至少从HMD获取数据(例如,呈现数据、交互数据、传感器数据、位置数据等)。出于该目的,在各种实施方案中,数据获取单元642包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
在一些实施方案中,跟踪单元644被配置为映射场景以及跟踪至少HMD相对于场景的位置/定位。出于该目的,在各种实施方案中,跟踪单元644包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
在一些实施方案中,协调单元646被配置为管理和协调HMD向用户的CGR内容呈现。出于该目的,在各种实施方案中,协调单元646包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
在一些实施方案中,数据传输单元648被配置为向至少HMD传输数据(例如,呈现数据、位置数据等)。出于该目的,在各种实施方案中,数据传输单元648包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
尽管数据获取单元642、跟踪单元644、协调单元646和数据传输单元648被示出为驻留在单个设备(例如,控制器)上,但应当理解,在其他实施方案中,数据获取单元642、跟踪单元644、协调单元646和数据传输单元648的任何组合可位于单独的计算设备中。
此外,图6更多地用作可存在于特定实施方案中的各种特征的功能描述,与本文所述的实施方案的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图6中单独示出的一些功能模块可在单个模块中实现,并且单个功能块的各种功能可在各种实施方案中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据实施方案而变化,并且在一些实施方案中,部分地取决于为特定实施方案选择的硬件、软件和/或固件的特定组合。
图7是根据一些实施方案的HMD 700的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不使本文所公开的实施方案的更多相关方面晦涩难懂,未示出各种其他特征。出于该目的,作为非限制性示例,在一些实施方案中,HMD 700包括一个或多个处理单元702(例如,微处理器、ASIC、FPGA、GPU、CPU、处理核心等)、一个或多个输入/输出(I/O)设备和传感器706、一个或多个通信接口708(例如,USB、FIREWIRE、THUNDERBOLT、IEEE802.3x、IEEE802.11x、IEEE802.16x、GSM、CDMA、TDMA、GPS、IR、BLUETOOTH、ZIGBEE和/或类似类型的接口)、一个或多个编程(例如,I/O)接口710、一个或多个CGR显示器712、一个或多个任选的面向内部和/或面向外部的图像传感器714、存储器720以及用于互连这些部件和各种其他部件的一条或多条通信总线704。
在一些实施方案中,一条或多条通信总线704包括用于互连和控制各系统部件之间的通信的电路。在一些实施方案中,一个或多个I/O设备和传感器706包括惯性测量单元(IMU)、加速度计、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测仪、心率监视器、血氧传感器、血糖传感器等)、一个或多个麦克风707A、一个或多个扬声器707B、触觉引擎、一个或多个深度传感器(例如,结构光、飞行时间等)等中的至少一者。
在一些实施方案中,一个或多个CGR显示器712被配置为向用户显示CGR内容。在一些实施方案中,一个或多个CGR显示器712对应于全息、数字光处理(DLP)、液晶显示器(LCD)、硅上液晶(LCoS)、有机发光场效应晶体管(OLET)、有机发光二极管(OLED)、表面传导电子发射显示器(SED)、场发射显示器(FED)、量子点发光二极管(QD-LED)、微机电系统(MEMS)和/或类似的显示器类型。在一些实施方案中,一个或多个CGR显示器712对应于衍射、反射、偏振、全息等波导显示器。例如,HMD 700包括单个CGR显示器。在另一个示例中,HMD700包括针对用户的每只眼睛的CGR显示器。
在一些实施方案中,一个或多个图像传感器714被配置为获取对应于用户面部的至少一部分(包括用户的眼睛)的图像数据(任一传感器可称为眼睛跟踪相机)。在一些实施方案中,一个或多个图像传感器714被配置为面向前方,以便获取对应于在不存在HMD 700的情况下用户会看到的场景的图像数据(并且可被称为场景相机)。一个或多个任选图像传感器714可包括一个或多个RGB相机(例如,具有互补金属氧化物半导体(CMOS)图像传感器或电荷耦合器件(CCD)图像传感器)、一个或多个红外(IR)相机、一个或多个基于事件的相机等。
存储器720包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备。在一些实施方案中,存储器720包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器720任选地包括与一个或多个处理单元702远程定位的一个或多个存储设备。存储器720包括非暂态计算机可读存储介质。在一些实施方案中,存储器720或存储器720的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作系统730和CGR呈现模块740。
操作系统730包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。在一些实施方案中,CGR呈现模块740被配置为经由一个或多个CGR显示器712和/或I/O设备和传感器706(诸如一个或多个扬声器707B)向用户呈现CGR内容。出于该目的,在各种实施方案中,CGR呈现模块740包括数据获取单元742、CGR内容呈现单元744和数据传输单元746。
在一些实施方案中,数据获取单元742被配置为从至少控制器获取数据(例如,呈现数据、交互数据、传感器数据、位置数据等)。在各种实施方案中,数据获取单元获取CGR文件。出于该目的,在各种实施方案中,数据获取单元742包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
在一些实施方案中,CGR内容呈现单元744被配置为向用户呈现CGR内容。在各种实施方案中,CGR内容呈现单元744根据CGR文件中阐述的规则来呈现CGR文件的CGR内容。为此,在各种实施方案中,CGR内容呈现单元744包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
在一些实施方案中,数据传输单元746被配置为向至少控制器传输数据(例如,呈现数据、位置数据等)。出于该目的,在各种实施方案中,数据传输单元746包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
尽管数据获取单元742、CGR内容呈现单元744和数据传输单元746被示出为驻留在单个设备(例如,HMD)上,但应当理解,在其他实施方案中,数据获取单元742、CGR内容呈现单元744和数据传输单元746的任何组合可位于单独的计算设备中。
此外,图7更多地用作可存在于特定实施方案中的各种特征的功能描述,与本文所述的实施方案的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图7中单独示出的一些功能模块可在单个模块中实现,并且单个功能块的各种功能可在各种实施方案中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据实施方案而变化,并且在一些实施方案中,部分地取决于为特定实施方案选择的硬件、软件和/或固件的特定组合。
在各种实施方案中,将CGR内容从CGR文件呈现给用户,该CGR文件包括关于CGR内容的数据并且还包括描述如何呈现CGR内容的数据。在各种实施方案中,CGR文件包括关于一个或多个CGR场景的数据。CGR文件还包括关于用于呈现各种CGR场景的触发器(例如,可检测事件)的数据。作为示例,在各种实施方案中,CGR文件包括关于表示游戏板的CGR场景的数据并且还包括指示当在场景相机的视场中检测到水平平坦表面时要呈现表示游戏板的CGR场景的数据。
CGR文件还包括关于与相应CGR场景相关联的一个或多个CGR对象的数据。CGR文件还包括关于与CGR对象的动作有关的触发器的数据。作为示例,在各种实施方案中,CGR文件包括关于与表示游戏板的CGR场景相关联的多个CGR对象的数据,多个CGR对象中的每个CGR对象表示游戏块。CGR文件还包括指示多个CGR对象响应于检测到的触发器的动作的数据,例如,当检测到两个游戏块的碰撞时,停止显示游戏块。
创建此类CGR文件可能是困难且耗时的过程,需要例如3D对象设计和应用程序编码方面的专门知识。这对高质量CGR应用程序的生成造成了高障碍。因此,在各种实施方案中,提供了图形用户界面(GUI)以简化CGR文件的生成,该CGR文件可由用户设备读取(或执行)以呈现包括CGR文件所描述的CGR内容的CGR应用程序。
用户界面和相关联的过程
现在将注意力转到用户界面(“UI”)和可在电子设备上实现的相关过程的实施方案,该电子设备为诸如具有显示器、触敏表面和用于检测与触敏表面的接触强度的任选地一个或多个传感器的便携式多功能设备(PMD)100,或者为具有一个或多个处理器、非暂态存储器、显示器和输入设备的设备300。
图8A至图8DF示出了根据一些实施方案的用于生成CGR文件的示例性用户界面。这些附图中的用户界面用于示出下文描述的过程,包括图9至图17中的过程。尽管将参考触摸屏显示器(其中组合了触敏表面和显示器)上的输入给出随后的示例中的一些示例,但是在一些实施方案中,设备检测与显示器450分开的触敏表面451上的输入,如图4B中所示。
图8A示出了由便携式多功能设备100(下文称为“设备100”)显示的CGR文件构成用户界面801。在各种实施方案中,CGR文件构成用户界面801由CGR文件构成应用程序显示,该CGR文件构成应用程序由设备100执行。
在图8A中,CGR文件构成用户界面801包括欢迎用户界面802A,该欢迎用户界面具有用于创建新CGR项目(其可被保存为和/或被编译成CGR文件)的新项目示能表示802AA以及用于加载CGR项目以进行编辑的加载项目示能表示802AB。
图8A示出了指向新项目示能表示802AA的用户输入899A。在各种实施方案中,用户输入899A对应于在新项目示能表示802AA的位置处检测到的接触(例如,轻击)。
图8B示出了响应于检测到指向新项目示能表示802AA的用户输入899A的CGR文件构成用户界面801。在图8B中,CGR文件构成用户界面801包括用于选择项目的第一CGR场景的锚的锚选择用户界面802B。当呈现对应于项目的CGR应用程序并且在真实环境的场景相机图像中检测到锚时,与锚相关联地(例如,明显地绑定到或锚定到锚)呈现对应CGR场景。
锚选择用户界面802B包括多个锚选择示能表示802BA至802BE。多个锚选择示能表示802BA至802BE包括用于创建CGR项目的水平面锚选择示能表示802BA,该CGR项目包括锚定到水平面的CGR场景。多个锚选择示能表示802BA至802BE包括用于创建CGR项目的图像锚选择示能表示802BB,该CGR项目包括锚定到所选或所捕获图像的CGR场景。多个锚选择示能表示802BA至802BE包括用于创建CGR项目的面部锚选择示能表示802BC,该CGR项目包括锚定到人脸的CGR场景。多个锚选择示能表示802BA至802BE包括用于创建CGR项目的竖直面锚选择示能表示802BD,该CGR项目包括锚定到竖直面的CGR场景。多个锚选择示能表示802BA至802BE包括用于创建CGR项目的对象锚选择示能表示802BE,该CGR项目包括锚定到所选或所扫描对象的CGR场景。
图8B示出了指向图像锚选择示能表示802BB的用户输入899B。在各种实施方案中,用户输入899B对应于在图像锚选择示能表示802BB的位置处检测到的接触(例如,轻击)。
图8C示出了响应于检测到指向图像锚选择示能表示802BB的用户输入899B(以及可能地选择或捕获纸牌的图像的附加用户输入)的CGR文件构成用户界面801。在图8C中,CGR文件构成用户界面801包括项目管理用户界面802C,该项目管理用户界面包括多个项目管理用户界面区域803A至803E。
多个项目管理用户界面区域803A至803E包括工具栏区域803A。工具栏区域803A包括多个CGR内容添加示能表示803AA至803AC。多个CGR内容添加示能表示803AA至803AC包括用于将CGR场景添加到项目的CGR场景添加示能表示803AA、用于将CGR对象添加到当前选择的CGR场景的CGR对象添加示能表示803AB、以及用于将行为添加到当前选择的CGR场景的行为添加示能表示803AC。
工具栏区域803A包括用于在CGR环境中呈现项目的预览的预览示能表示803AD。
工具栏区域803A包括多个视图示能表示803AE至803AF,该多个视图示能表示包括对象视图示能表示803AE和CGR视图示能表示803AF,该对象视图示能表示用于在场景模式中(其中指向视图区域803E的用户输入改变当前选择的CGR场景的视图的视角)查看视图区域803E(下文进一步描述)中的当前选择的CGR场景,该CGR视图示能表示用于在CGR模式中(其中设备100的移动改变当前选择的CGR场景的视图的视角)查看视图区域803A中的当前选择的CGR场景。
工具栏区域803A包括用于呈现设置区域803D(下文进一步描述)中的不同设置的多个设置示能表示803AG至803AJ。设置示能表示803AG至803AJ包括用于在设置区域803D中呈现项目的项目设置的项目设置示能表示803AG、用于在设置区域803D中呈现当前选择的CGR场景的场景设置的场景设置示能表示803AH、用于在设置区域803D中呈现当前选择的CGR对象的对象设置的对象设置示能表示803AI以及用于在设置区域803D中呈现当前选择的行为的行为设置的行为设置示能表示803AJ。
多个项目管理用户界面区域803A至803E包括场景列表区域803B,该场景列表区域包括项目的每个CGR场景的相应示能表示。在图8C中,在项目仅包括第一CGR场景的情况下,场景列表区域803B仅包括对应于第一CGR场景的第一CGR场景示能表示803BA。在各种实施方案中,第一CGR场景示能表示803BA(和其他场景示能表示)包括CGR场景的名称(例如,“新场景01”),该名称被显示在CGR场景的图形表示下方。
多个项目管理用户界面区域803A至803E包括行为区域803C,该行为区域包括当前选择的CGR场景的每个行为的相应示能表示。在图8C中,在尚未针对第一CGR场景限定行为的情况下,行为区域803C是空白的。
多个项目管理用户界面区域803A至803E包括用于呈现多个设置操纵示能表示的设置区域803D。在图8C中,当场景设置示能表示803AH被选择时(如与其他设置示能表示803AG、803AI和803AJ相比,场景设置示能表示803AH的不同显示所指示的),设置区域803D包括经由可折叠/可扩展场景设置菜单803DA至803DE呈现的多个场景设置操纵示能表示(其中在图8C中仅示出了单个场景设置操纵示能表示,即用于改变当前选择的CGR场景的名称的场景名称操纵示能表示803DAA)。
场景设置菜单803DA至803DE包括:场景属性菜单803DA,该场景属性菜单包括用于改变当前选择的CGR场景的场景属性的场景设置操纵示能表示;锚属性菜单803DB,该锚属性菜单包括用于改变当前选择的CGR场景的锚属性的场景设置操纵示能表示;全局物理属性菜单803DC,该全局物理属性菜单包括用于改变当前选择的CGR场景的物理属性的场景设置操纵示能表示(诸如CGR对象是否交互和/或存在和/或重力强度);全局音频属性菜单803DD,该全局音频属性菜单包括用于改变当前选择的CGR场景的音频属性的场景设置操纵示能表示(诸如在呈现CGR场景时要播放的声音,例如,声迹、或在呈现CGR场景时要应用于所检测到的真实声音的音频效果,例如,混响或衰减);和全局照明属性菜单803DE,该全局照明属性菜单用于改变当前选择的CGR场景的照明属性(诸如当呈现CGR场景时要渲染的定向或全向光、或者真实光如何影响CGR场景的CGR对象的显示)。
多个项目管理用户界面区域803A至803E包括视图区域803E,该视图区域用于查看当前选择的CGR场景,接收操纵在对象视图模式下查看当前选择的CGR场景的视角(例如,虚拟相机位置)的用户输入,以及操纵当前选择的CGR场景的CGR对象。
视图区域803E包括与当前选择的CGR场景相关联的锚803EA的表示(在图8C中,所选图像的表示(例如,方块A))以及如下所述的与当前选择的CGR场景相关联的CGR对象的表示。
图8C示出了指向场景名称操纵示能表示803DAA的用户输入899C。在各种实施方案中,用户输入899C对应于在场景名称操纵示能表示803DAA的位置处检测到的接触(例如,轻击)。
图8D示出了响应于检测到指向场景名称操纵示能表示803DAA的用户输入899C(以及可能地限定第一CGR场景的新名称的附加用户输入)的CGR文件构成用户界面801。
在图8D中,场景名称操纵示能表示803DAA已改变以指示第一CGR场景的新名称(例如,“交互式卡”)。类似地,第一CGR场景示能表示803BA已改变以指示第一CGR场景的新名称。
图8D示出了指向锚属性菜单803DB的用户输入899D。在各种实施方案中,用户输入899D对应于在锚属性菜单803DB的位置处检测到的接触(例如,轻击)。
图8E示出了响应于检测到指向锚属性菜单803DB的用户输入899D的CGR文件构成用户界面801。在图8E中,锚属性菜单803DB被扩展(在设置区域803D内)以呈现用于改变当前选择的CGR场景的初级锚(先前经由图8D中的锚选择用户界面802B选择的)的初级锚示能表示803DBA、用于改变锚图像的锚图像示能表示803DBB(当初级锚是图像时被显示)、以及用于选择或改变次级锚的次级锚示能表示803DBC。
在各种实施方案中,当呈现对应于该项目的CGR应用程序并且在真实环境的场景相机图像中未检测到初级锚,但是(任选地,在阈值时间量未能检测到初级锚之后)在场景相机图像中检测到次级锚时,与次级锚相关联地(例如,明显地绑定到或锚定到次级锚)呈现对应CGR场景。
图8E示出了指向次级锚示能表示803DBC的用户输入899E。在各种实施方案中,用户输入899E对应于在次级锚示能表示803DBC的位置处检测到的接触(例如,轻击)。
图8F示出了响应于检测到指向次级锚示能表示803DBC的用户输入899E(以及可能地选择水平面作为次级锚的附加用户输入)的CGR文件构成用户界面801。在图8F中,锚属性菜单803DB被进一步扩展(在设置区域803D内)以包括用于选择三级锚的三级锚示能表示803DBD。
在各种实施方案中,当呈现对应于该项目的CGR应用程序并且在真实环境的场景相机图像中既未检测到初级锚也未检测到次级锚,但是(任选地,在阈值时间量未能检测到初级锚和次级锚之后)在场景相机图像中检测到三级锚时,与三级锚相关联地(例如,明显地绑定到或锚定到三级锚)呈现对应CGR场景。
图8F示出了指向CGR对象添加示能表示803AB的用户输入899F。在各种实施方案中,用户输入899F对应于在CGR对象添加示能表示803AB的位置处检测到的接触(例如,轻击)。
图8G示出了响应于检测到指向CGR对象添加示能表示803AB的用户输入899F的CGR文件构成用户界面801。在图8G中,CGR文件构成用户界面801包括呈弹出窗口形式的媒体库用户界面804。
媒体库用户界面804包括用于将相应CGR对象添加到当前选择的CGR场景的多个特定CGR对象添加示能表示805A至805H。在各种实施方案中,多个特定CGR对象添加示能表示805A至805H中的每个示能表示对应于特定CGR对象。在各种实施方案中,多个特定对象添加示能表示805A至805H中的每个示能表示对应于与存储在本地或远程媒体库(例如,存储在设备100上或存储在与设备100相关联的远程位置处(诸如存储在云中)的媒体库)中的特定CGR对象文件相关联的特定CGR对象。
多个特定CGR对象添加示能表示805A至805H包括:用于将立方体添加到当前选择的CGR场景的立方体添加示能表示805A、用于将钻石添加到当前选择的CGR场景的钻石添加示能表示805B、用于将球体添加到当前选择的CGR场景的球体添加示能表示805C、用于将树添加到当前选择的CGR场景的树添加示能表示805D、用于将建筑物添加到当前选择的CGR场景的建筑物添加示能表示805E、用于将岩石添加到当前选择的CGR场景的岩石添加示能表示805F、用于将碟添加到当前选择的CGR场景的碟添加示能表示805G以及用于将杯子添加到当前选择的CGR场景的杯子添加示能表示805H。
媒体库用户界面804包括用于接收包括文本的用户输入的搜索栏804A。在各种实施方案中,将该文本与媒体库中与CGR对象文件相关联的关键字或其他元数据进行比较,以呈现特定CGR对象添加示能表示805A至805H的子集。
媒体库用户界面804包括用于将CGR对象文件添加到媒体库的添加到库示能表示804B。在各种实施方案中,当检测到指向添加到库示能表示804B的用户输入时,呈现添加到库用户界面,该添加到库用户界面提供用于搜索CGR对象文件(或多个CGR对象文件)的其他CGR对象文件储存库以选择和添加到媒体库的选项。
媒体库用户界面804包括取消示能表示804C,该取消示能表示用于撤除(停止显示)媒体库用户界面804,从而将CGR文件构成用户界面801返回到图8F所示的状态。
图8G示出了指向钻石添加示能表示805B的用户输入899G。在各种实施方案中,用户输入899G对应于在钻石添加示能表示805B的位置处检测到的接触(例如,轻击)。
图8H示出了响应于检测到指向钻石添加示能表示805B的用户输入899G的CGR文件构成用户界面801。在图8H中,媒体库用户界面804停止显示。在图8H中,视图区域803E包括在锚803EA的表示上方的特定位置处显示的钻石CGR对象806A的表示。与此相关,第一CGR场景示能表示803BA已改变以指示第一CGR场景包括钻石CGR对象。
图8H示出了指向预览示能表示803AD的用户输入899H。在各种实施方案中,用户输入899H对应于在预览示能表示803AD的位置处检测到的接触(例如,轻击)。
图8I示出了响应于检测到指向预览示能表示803AD的用户输入899H的CGR文件构成用户界面801。在图8I中,CGR文件构成用户界面801包括预览用户界面802D。预览用户界面802D包括工具栏区域802DA和预览显示区域802DB。工具栏区域802DA包括完成示能表示802DAA,该完成示能表示用于退出预览用户界面802D以及返回到(例如,图8H的)项目管理用户界面802C。预览显示区域802DB包括由设备100(例如,使用场景相机或设置在设备100的与图8I所示相对的一侧上的相机)拍摄的物理环境的场景相机图像。该物理环境包括桌子、一张方块A纸牌和一张星形A纸牌等。因此,场景相机图像包括桌子802DBA的表示、方块A纸牌802DBB的表示和星形A纸牌802DBC的表示。
图8J示出了响应于设备100检测到场景相机图像的一部分(例如,方块A纸牌802DBB的表示)与锚图像(例如,AofD.jpg)匹配的CGR文件构成用户界面801。在图8J中,预览显示区域802DB包括被显示为锚定到方块A纸牌802DBB的表示的钻石CGR对象802DBD。具体地讲,钻石CGR对象802DBD被显示为在特定位置处锚定到方块A纸牌802DBB的表示,该特定位置对应于在图8H中的锚803EA的表示上方显示钻石CGR对象806A的表示的特定位置。
图8K示出了响应于方块A纸牌在物理环境中改变位置的CGR文件构成用户界面801。在图8K中,预览显示区域802DB包括在不同位置处显示的方块A纸牌802DBB的表示。预览显示区域802DB还包括在不同位置处的钻石CGR对象802DBD,该钻石CGR对象仍被显示为锚定到方块A纸牌802DBB的表示。
图8L示出了响应于方块A纸牌移出场景相机的视场的CGR文件构成用户界面801。在图8L中,预览显示区域802DB不包括方块A纸牌802DBB或钻石CGR对象802DBD的表示。
图8M示出了CGR文件构成用户界面801,其响应于设备100检测到场景相机图像的一部分中的水平面的表示(并且在各种实施方案中,响应于未能检测到场景相机图像的一部分与锚图像匹配至少阈值时间量,例如,3秒)。在图8M中,因为在场景图像中未检测到初级锚——与锚图像(例如,AofD.jpg)匹配的表示,但是检测到了次级锚——水平面的表示,所以钻石CGR对象802DBD被显示为锚定到水平面的表示(例如,锚定到桌子802DBA的表示)。
图8M示出了指向完成示能表示803DAA的用户输入899I。在各种实施方案中,用户输入899I对应于在完成示能表示803DAA的位置处检测到的接触(例如,轻击)。
图8N示出了响应于检测到指向完成示能表示803DAA的用户输入899I的CGR文件构成用户界面801。在图8N中,CGR文件构成用户界面801包括项目管理用户界面802C(例如,处于图8H所示的状态)。
图8N示出了指向CGR场景添加示能表示803AA的用户输入899J。
在各种实施方案中,用户输入899J对应于在CGR场景添加示能表示803AA的位置处检测到的接触(例如,轻击)。
图8O示出了响应于检测到指向CGR场景添加示能表示803AA的用户输入899J的CGR文件构成用户界面801。在图8O中,CGR文件构成用户界面801包括锚选择用户界面802B。
图8O示出了指向水平面锚选择示能表示802BA的用户输入899K。在各种实施方案中,用户输入899K对应于在水平面锚选择示能表示802BA的位置处检测到的接触(例如,轻击)。
图8P示出了响应于检测到指向水平面锚选择示能表示802BA的用户输入899K的CGR文件构成用户界面801。在图8P中,CGR文件构成用户界面801包括项目管理用户界面802C。在图8P中,除了第一CGR场景示能表示803BA之外,场景列表区域803B还包括对应于第二CGR场景的第二CGR场景示能表示803BB。
第二CGR场景示能表示803BB以与第一CGR场景示能表示803BA不同的方式进行显示,以指示第二CGR场景是当前选择的CGR场景。在各种实施方案中,并且在图8P中,第二CGR场景示能表示803BB以比第一CGR场景示能表示803BA更厚的边界进行显示。在各种实施方案中,第二CGR场景示能表示803BB以高亮或其他指示进行显示,该其他指示表明第二CGR场景是当前选择的CGR场景。
在图8P中,设置区域803D在场景属性菜单803DA内包括指示当前选择的CGR场景的名称(例如,“新场景02”)的场景名称操纵示能表示803DAA。
在图8P中,视图区域803E包括与其上覆盖有网格803EB的当前选择的CGR场景相关联的锚803EA的表示(在图8P中,水平面的表示)。
图8P示出了指向场景名称操纵示能表示803DAA的用户输入899L。在各种实施方案中,用户输入899C对应于在场景名称操纵示能表示803DAA的位置处检测到的接触(例如,轻击)。
图8Q示出了响应于检测到指向场景名称操纵示能表示803DAA的用户输入899L(以及可能地限定第二CGR场景的新名称的附加用户输入)的CGR文件构成用户界面801。
在图8Q中,场景名称操纵示能表示803DAA已改变以指示第二CGR场景的新名称(例如,“饮茶时间”)。类似地,第二CGR场景示能表示803BB已改变以指示第二CGR场景的新名称。
图8Q示出了指向CGR对象添加示能表示803AB的用户输入899M。在各种实施方案中,用户输入899M对应于在CGR对象添加示能表示803AB的位置处检测到的接触(例如,轻击)。
图8R示出了响应于检测到指向CGR对象添加示能表示803AB的用户输入899M的CGR文件构成用户界面801。在图8R中,CGR文件构成用户界面801包括呈弹出窗口形式的媒体库用户界面804。
图8R示出了指向碟添加示能表示805G的用户输入899N(在各种实施方案中,该用户输入的类型与图8G的用户输入899G不同)。在各种实施方案中,用户输入899N对应于在碟添加示能表示805G的位置处检测到的延长和/或强烈的接触(例如,轻击并保持和/或力感触摸)。
图8S示出了响应于检测到指向碟添加用户界面805G的用户输入899N的CGR文件构成用户界面801。在图8S中,媒体库用户界面804包括用于将一个或多个所选CGR对象添加到CGR场景的添加已选示能表示804D以及用于取消选择任何所选CGR对象的取消全选示能表示804E。在各种实施方案中,如图8S所示,添加已选示能表示804D和取消全选示能表示804E替换取消示能表示804C(例如,如图8R所示)。在各种实施方案中,添加已选示能表示804D和取消全选示能表示804E与取消示能表示804C同时显示。
在图8S中,碟添加示能表示805G包括指示碟CGR对象被选择的选择指示符805GA。
与图8G和图8H相比,在这两个图中指向特定CGR对象添加示能表示的第一类型的用户输入(例如,轻击)将对应CGR对象添加到场景,在图8R和图8S中,指向特定CGR对象添加示能表示的第二类型的用户输入(例如,轻击并保持)选择对应的对象(例如,如结合特定CGR对象添加示能表示进行显示的选择指示符所指示的)。
图8S示出了指向杯子添加示能表示805H的用户输入899O。在各种实施方案中,用户输入899O对应于在杯子添加示能表示805H的位置处检测到的接触(例如,轻击)。
图8T示出了响应于检测到指向杯子添加用户界面805H的用户输入899O的CGR文件构成用户界面801。在图8T中,杯子添加示能表示805H包括指示杯子CGR对象被选择的选择指示符805HA。
图8T示出了指向添加已选示能表示804D的用户输入899P。在各种实施方案中,用户输入899P对应于在添加已选示能表示804D的位置处检测到的接触(例如,轻击)。
图8U示出了响应于检测到指向添加已选示能表示804D的用户输入899P的CGR文件构成用户界面801。在图8U中,媒体库用户界面804停止显示。在图8U中,视图区域803E包括在锚803EA的表示上方的第一位置处进行显示的碟CGR对象806B的表示以及在锚803EA的表示上方的第二位置处进行显示的杯子CGR对象806C的表示。与此相关,第二CGR场景示能表示803BB已改变以指示第二CGR场景包括碟CGR对象和杯子CGR对象。
在各种实施方案中,碟CGR对象806B的表示的第一位置和杯子CGR对象806C的表示的第二位置被选择,使得碟CGR对象806B的表示的底部与锚803EA的表示的顶部邻接并且使得杯子CGR对象806C的表示的底部与锚803EA的表示的顶部邻接。
在各种实施方案中,碟CGR对象806B的表示的第一位置和杯子CGR对象806C的表示的第二位置被选择,以确保碟CGR对象806B的表示和杯子CGR对象806C的表示不会相交。
在各种实施方案中,碟CGR对象806B的表示的第一位置和杯子CGR对象806C的表示的第二位置是基于网格803EB来选择的。例如,在各种实施方案中,第一位置被选择为使得碟CGR对象806B的表示的空间操纵点(例如,边缘、中点、质心、直观空间操纵点、或自定义的空间操纵点)与网格803EB的第一网格点竖直对齐,并且第二位置被选择为使得杯子CGR对象806C的表示的空间操纵点与网格803EB的第二网格点竖直对齐。
图8U示出了指向杯子CGR对象806C的表示的用户输入899Q。在各种实施方案中,用户输入899Q对应于在杯子CGR对象806C的表示的位置处检测到的接触(例如,轻击)。
图8V示出了响应于检测到指向杯子CGR对象806C的表示的用户输入899Q的CGR文件构成用户界面801。在图8V中,视图区域803E包括围绕杯子CGR对象806C的表示的第一类型的对象选择指示符807。被显示为围绕杯子CGR对象806C的表示的第一类型的对象选择指示符807指示杯子CGR对象被选择。
在图8V中,当对象设置示能表示803AI被选择时(如与其他设置示能表示803AG、803AH和803AJ相比,对象设置示能表示803AI的不同显示所指示的),设置区域803D包括经由可折叠/可扩展对象设置菜单813DA至813DD呈现的多个对象设置操纵示能表示(其中在图8V中仅示出了单个对象设置操纵示能表示,即用于改变当前选择的CGR对象的名称的对象名称操纵示能表示813DAA)。与被显示为围绕杯子CGR对象806C的表示的第一类型的对象选择指示符807一样,显示杯子CGR对象的名称(例如,“杯子01”)的对象名称操纵示能表示813DAA指示杯子CGR对象被选择。
对象设置菜单813DA至813DD包括:对象属性菜单813DA,该对象属性菜单包括用于改变当前选择的CGR对象的场景属性的场景设置操纵示能表示;显示属性菜单813DB,该显示属性菜单包括用于改变当前选择的CGR对象的显示(或渲染)属性(诸如CGR对象的形状、颜色或光学传输)的显示设置操纵示能表示;物理属性菜单813DC,该物理属性菜单包括用于改变当前选择的CGR对象的物理属性(诸如CGR对象的光反射率或CGR对象的弹性[例如,CGR对象如何与其他CGR对象交互])的对象设置操纵示能表示;和音频属性菜单813DD,该音频属性菜单包括用于改变当前选择的CGR对象的音频属性的对象设置操纵示能表示(诸如在呈现CGR对象时要播放的全向声音或环境声音,或者CGR对象要发出的定向声音)。
图8V示出了指向显示属性菜单813DB的用户输入899R。在各种实施方案中,用户输入899Q对应于在显示属性菜单813DB的表示的位置处检测到的接触(例如,轻击)。
图8W示出了响应于检测到指向显示属性菜单813DB的用户输入899R的CGR文件构成用户界面801。在图8W中,显示属性菜单813DB被扩展(在设置区域803D内)以呈现:用于呈现配置器用户界面(下文描述)的配置器示能表示813DBA;用于改变当前选择的CGR对象的形状、渲染线框或显示网格的样式示能表示813DBB;以及用于改变当前选择的CGR对象的图案、颜色或纹理的图案示能表示813DBC。
图8W示出了指向配置器示能表示813DBA的用户输入899S。在各种实施方案中,用户输入899S对应于在配置器示能表示813DBA的位置处检测到的接触(例如,轻击)。
图8X示出了响应于检测到指向配置器示能表示813DBA的用户输入899S的CGR文件构成用户界面801。在图8X中,CGR文件构成用户界面801包括呈弹出窗口形式的配置器用户界面808。
配置器用户界面808包括:样式栏808E,该样式栏包括用于改变样式栏808E的当前选择的样式的多个样式示能表示808EA至808ED;和图案栏808F,该图案栏包括用于改变图案栏808F的当前选择的图案的多个图案示能表示808FA至808FD。样式栏808E包括:用于将当前选择的样式改变为马克杯样式的马克杯示能表示808EA、用于将当前选择的样式改变为茶杯样式的茶杯示能表示808EB、用于将当前选择的样式改变为浓缩咖啡样式的浓缩咖啡示能表示808EC、以及用于将当前选择的样式改变为啤酒杯样式的啤酒杯示能表示808ED。图案栏808F包括:用于将当前选择的图案改变为白色图案的白色示能表示808FA、用于将当前选择的图案改变为玻璃图案的玻璃示能表示808FB、用于将当前选择的图案改变为星形图案的星形示能表示808FC、以及用于将当前选择的图案改变为常春藤图案的常春藤示能表示808FD。
配置器用户界面808包括视图窗口808D,该视图窗口呈现当前选择的CGR对象808DA的表示,该当前选择的CGR对象具有当前在样式栏808E中选择的样式和当前在图案栏808F中选择的图案(以及视图窗口808D上方的当前选择的CGR对象的名称808C)。
配置器用户界面808包括多个视图示能表示808A至808B,该多个视图示能表示包括对象视图示能表示808A和CGR视图示能表示808B,该对象视图示能表示用于在场景模式中(其中指向视图窗口808D的用户输入改变当前选择的CGR对象的视图的视角)查看视图窗口808D中的当前选择的CGR对象,该CGR视图示能表示用于在CGR模式中(其中设备100的移动改变当前选择的CGR对象的视图的视角)查看视图窗口808D中的当前选择的CGR对象。
配置器用户界面808包括确定示能表示808G,该确定示能表示用于将当前选择的CGR对象的样式改变为样式栏808E中的当前选择的样式,将当前选择的CGR对象的图案改变为图案栏808F中的当前选择的图案,并且撤除(停止显示)配置器用户界面808。配置器用户界面808包括取消示能表示808H,该取消示能表示用于撤除(停止显示)配置器用户界面808,从而将CGR文件构成用户界面801返回到图8W所示的状态而不改变当前选择的CGR对象的样式和/或图案。
在各种实施方案中,当特定样式是样式栏808E的当前选择的样式时,呈现图案的对应子集以在图案栏808F中进行选择。在各种实施方案中,该对应子集是基于一个或多个选择规则,该一个或多个选择规则限定各种样式和图案可如何进行组合。在各种实施方案中,选择规则被存储在对应的CGR对象文件中。
例如,在图8X中,马克杯样式是样式栏808E的当前选择的样式,如由马克杯示能表示808EA的第一显示样式(例如,黑色)所指示的,这与其他样式示能表示808EB至808ED的第二显示样式(例如,白色)形成对比。此外,白色图案是图案栏808F的当前选择的图案,如白色示能表示808FA的第一显示样式所指示的。基于当前选择的样式是马克杯样式,呈现图案示能表示808FA至808FD的子集以供选择。具体地讲,呈现星形示能表示808FC和常春藤示能表示808FD以供选择,如第二显示样式所指示,而不呈现玻璃示能表示808FB以供选择,如第三显示样式(例如,灰色)所指示。
图8X示出了指向浓缩咖啡示能表示808EC的用户输入899T。在各种实施方案中,用户输入899T对应于在浓缩咖啡示能表示808EC的位置处检测到的接触(例如,轻击)。
图8Y示出了响应于检测到指向浓缩咖啡示能表示808EC的用户输入899T的CGR文件构成用户界面801。在图8Y中,将当前选择的样式改变为浓缩咖啡样式,如浓缩咖啡示能表示808EC的第一显示样式所指示的,这与其他样式示能表示808EA、808EB和808ED的第二显示样式形成对比。此外,视图窗口808D中的当前选择的CGR对象808DA的表示基于当前选择的样式的变化来改变。
如上所述,在各种实施方案中,当特定样式是样式栏808E的当前选择的样式时,呈现图案的对应子集以在图案栏808F中进行选择。因此,作为另一个示例,在图8Y中,基于当前选择的样式是浓缩咖啡样式,呈现图案示能表示808FA至808FD的子集以供选择。具体地讲,呈现玻璃示能表示808FB以供选择,如第二显示样式所指示的,而不呈现星形示能表示808FC和常春藤示能表示808FD以供选择,如第三显示样式所指示的。
图8Y示出了指向茶杯示能表示808EB的用户输入899U。在各种实施方案中,用户输入899U对应于在茶杯示能表示808EB的位置处检测到的接触(例如,轻击)。
图8Z示出了响应于检测到指向茶杯示能表示808EB的用户输入899U的CGR文件构成用户界面801。在图8Z中,将当前选择的样式改变为茶杯样式,如茶杯示能表示808EB的第一显示样式所指示的,这与其他样式示能表示808EA、808EC和808ED的第二显示样式形成对比。此外,视图窗口808D中的当前选择的CGR对象808DA的表示基于当前选择的样式的变化来改变。
如上所述,在各种实施方案中,当特定样式是样式栏808E的当前选择的样式时,呈现图案的对应子集以在图案栏808F中进行选择。因此,作为另一个示例,在图8Z中,基于当前选择的样式是茶杯样式,呈现图案示能表示808FA至808FD的子集以供选择。具体地讲,呈现星形示能表示808FC和常春藤示能表示808FD以供选择,如第二显示样式所指示,而不呈现玻璃示能表示808FB以供选择,如第三显示样式所指示。
图8Z示出了指向星形示能表示808FC的用户输入899V。在各种实施方案中,用户输入899V对应于在星形示能表示808FC的位置处检测到的接触(例如,轻击)。
图8AA示出了响应于检测到指向星形示能表示808FC的用户输入899V的CGR文件构成用户界面801。在图8AA中,将当前选择的图案改变为星形样式,如星形示能表示808FC的第一显示样式所指示的,这与其他图案示能表示808FA、808FB和808FD的第二显示样式或第三显示样式形成对比。此外,视图窗口808D中的当前选择的CGR对象808DA的表示基于当前选择的图案的变化来改变。
如上所述,在各种实施方案中,当特定样式是样式栏808E的当前选择的样式时,呈现图案的对应子集以在图案栏808F中进行选择。因此,作为另一个示例,在图8AA中,基于当前选择的样式是茶杯样式,呈现图案示能表示808FA至808FD的子集以供选择。具体地讲,呈现白色示能表示808FA和常春藤示能表示808FD以供选择,如第二显示样式所指示,而不呈现玻璃示能表示808FB以供选择,如第三显示样式所指示。
图8AA示出了指向确定示能表示808G的用户输入899W。在各种实施方案中,用户输入899W对应于在确定示能表示808G的位置处检测到的接触(例如,轻击)。
图8AB示出了响应于检测到指向确定示能表示808G的用户输入899W的CGR文件构成用户界面801。在图8AB中,将配置器用户界面808撤除,将当前选择的CGR对象的样式改变为茶杯样式,如杯子CGR对象806C的表示的外观变化和样式示能表示813DBB的变化所指示的,并且将当前选择的CGR对象的图案改变为星形图案,如杯子CGR对象806C的外观变化和图案示能表示813DBC的变化所指示的。
图8AB示出了指向杯子CGR对象806C的表示的用户输入899X。在各种实施方案中,用户输入899X对应于在杯子CGR对象806C的表示的位置处检测到的彼此靠近或远离移动的两个接触(例如,捏合或展开手势)。
图8AC示出了响应于检测到指向杯子CGR对象806C的表示的用户输入899X的CGR文件构成用户界面801。在图8AC中,如杯子CGR对象806C的表示的增大显示大小(以及类似地,第二CGR场景示能表示803BB的变化)所指示的,杯子CGR对象的大小增大。在各种实施方案中,杯子CGR对象的大小变化与用户输入899X的两个接触之间的距离变化成比例。
图8AC示出了指向杯子CGR对象806C的表示的用户输入899Y。在各种实施方案中,用户输入899Y对应于在杯子CGR对象806C的表示的位置处检测到的绕着公共中心移动的两个接触(例如,旋转手势)。
图8AD示出了响应于检测到指向杯子CGR对象806C的表示的用户输入899Y的CGR文件构成用户界面801。在图8AD中,如杯子CGR对象806C的表示的改变取向(以及类似地,第二CGR场景示能表示803BB的变化)所指示的,杯子CGR对象的取向改变。在各种实施方案中,杯子CGR对象(以及其对应的表示806C)绕着z轴线旋转,该z轴线垂直于水平面并且穿过杯子CGR对象的空间操纵点(例如,边缘、中点、质心、直观空间操纵点或自定义的空间操纵点)。
在各种实施方案中,绕着穿过CGR对象的中点或未加权质心的轴线进行的旋转(或将CGR对象的中点或未加权质心咬合到目标点,例如,当CGR对象的中点或未加权质心与目标点之间的距离小于阈值量时,将该距离处理为零)导致CGR对象的非直观空间操纵。图8AE1示出了杯子CGR对象880的侧视图。图8AE2示出了杯子CGR对象880的顶视图。杯子CGR对象880包括主体881A、底座881B和手柄881C。图8AE1示出了围绕杯子CGR对象880的边界框882的侧视图。图8AE2示出了围绕杯子CGR对象880的边界框882的顶视图。
图8AE1和图8AE2示出了作为边界框882的中点的第一空间操纵点883。因此,穿过第一空间操纵点883的垂直线将边界框882的边缘对分。然而,在各种情况下,使用第一空间操纵点883执行杯子CGR对象880的空间操纵可导致非直观结果,特别是因为第一空间操纵点883与主体881A的中心相比是偏心的(这是由于杯子CGR对象880包括手柄881C)。例如,使杯子CGR对象880绕着穿过第一空间操纵点883的z轴线旋转似乎也会使杯子CGR对象880移动。作为另一个示例,通过将第一空间操纵点883与碟CGR对象的中心(或网格点)对齐来咬合杯子CGR对象880将使得杯子CGR对象880看起来相对于碟CGR对象(或网格点)偏移。
类似地,CGR对象880的质心处的第二空间操纵点884从主体881A的中心非直观地偏移,从而在使用第二空间操纵点884时在使杯子CGR对象旋转或移动时导致类似的非直观结果。
因此,在各种实施方案中,当执行杯子CGR对象880的空间操纵时,使用直观空间操纵点885。在各种实施方案中,直观空间操纵点885与限定杯子CGR对象的CGR对象文件一起被存储。直观空间操纵点885可例如由CGR对象文件的设计者限定。在各种实施方案中,直观空间操纵点885由CGR文件构成用户界面801的用户设置。
在各种实施方案中,直观空间操纵点885由设备100确定。例如,在各种实施方案中,设备100确定杯子CGR对象880的多个节段(例如,主体881A、底座881B和手柄881C),并且将直观空间操纵点885确定为杯子CGR对象的质心,其中不同的节段被不同地加权(例如,将更多的权重分配给主体881A而不是手柄881C)。在各种实施方案中,分配给一个或多个节段的权重为零,例如,在确定直观空间操纵点885时忽略节段。
返回到图8AD,图8AD示出了指向杯子CGR对象806C的表示的用户输入899Z。在各种实施方案中,用户输入899Z对应于起始位置在杯子CGR对象806C的表示的位置处的所检测到的移动接触(例如,拖动或触摸并拖动)。
图8AF示出了响应于检测到指向杯子CGR对象806C的表示的用户输入899Z的CGR文件构成用户界面801。在图8AF中,如杯子CGR对象806C的表示的改变位置(以及类似地,第二CGR场景示能表示803BB的变化)所指示的,杯子CGR对象的位置改变。在各种实施方案中,杯子CGR对象(以及其对应的表示806C)在平行于水平面的xy平面中移动。在各种实施方案中,杯子CGR对象的位置变化与用户输入899Z的接触的移动距离成比例。
基于杯子CGR对象的位置变化(如由杯子CGR对象806C的表示的位置和碟CGR对象的位置(如由碟CGR对象806B的表示的位置所表示的)所表示的),杯子CGR对象和碟CGR对象重叠。
在各种实施方案中,设备100确定两个或更多个CGR对象是否在CGR场景中的重叠位置处重叠。在各种实施方案中,设备100周期性地执行该确定。在各种实施方案中,每当在空间上操纵对象(例如,使其旋转、移动或设置大小)时,设备100执行确定。在各种实施方案中,设备100响应于请求重叠检查的用户输入来执行确定。
在各种实施方案中,响应于确定两个或更多个CGR对象在CGR场景中的重叠位置处重叠,呈现重叠指示。在各种实施方案中,该重叠指示与两个或更多个CGR对象中的至少一个CGR对象相关联地进行显示。在各种实施方案中,该重叠指示与重叠位置相关联地进行显示。
图8AF示出了第一重叠指示符809A和第二重叠指示符809B,该第一重叠指示符呈耦接到杯子CGR对象806C的表示的通知气泡的形式,该第二重叠指示符呈覆盖在杯子CGR对象806C的表示和碟CGR对象806B的表示上方的阴影、发光、画影线或其他高亮的形式。
图8AF示出了指向第一重叠指示符809A的用户输入899AA。在各种实施方案中,用户输入899AA对应于在第一重叠指示符809A的位置处检测到的接触(例如,轻击)。
图8AG示出了响应于检测到指向第一重叠指示符809A的用户输入899AA的CGR文件构成用户界面801。在图8AG中,CGR文件构成用户界面801包括呈弹出窗口形式的重叠通知用户界面810。
重叠通知用户界面810包括描述CGR对象的所检测到的重叠的重叠文本描述810A以及示出重叠CGR对象的重叠图形视图810B。
重叠通知用户界面810包括取消示能表示810C,该取消示能表示用于撤除(停止显示)重叠通知用户界面810,从而将CGR文件构成用户界面801返回到图8AG所示的状态。
重叠通知用户界面810包括忽略示能表示810D,该忽略示能表示用于撤除重叠通知用户界面810和对应的重叠指示符(而不移动重叠的CGR对象中的任一者),从而将CGR文件构成用户界面801返回到图8AG所示的没有第一重叠指示符809A和第二重叠指示符809B的状态。
重叠通知用户界面810包括修复示能表示810E,该修复示能表示用于自动地改变CGR对象中的至少一个CGR对象的位置,使得重叠的CGR对象不再重叠。
在各种实施方案中,两个或更多个重叠CGR对象中最近在空间上被操纵的CGR对象被选择以进行移动。在各种实施方案中,所选CGR对象在使得执行最小移动以修复重叠的方向上进行移动。
图8AG示出了指向修复示能表示810E的用户输入899AB。在各种实施方案中,用户输入899AB对应于在修复示能表示810E的位置处检测到的接触(例如,轻击)。
图8AH示出了响应于检测到指向修复示能表示810E的用户输入899AB的CGR文件构成用户界面801。在图8AH中,将重叠通知用户界面810撤除,并且已将杯子CGR对象移动(向上)到不再与碟CGR对象重叠,如杯子CGR对象806C的表示的移动(以及第二CGR场景示能表示803BB中的对应变化)所指示的。
图8AH示出了指向杯子CGR对象806C的表示的用户输入899AC。在各种实施方案中,用户输入899AC对应于在杯子CGR对象806C的表示的位置处检测到的接触(例如,轻击)。在各种实施方案中,用户输入899AC对应于在围绕杯子CGR对象806C的表示的第一类型的对象选择指示符807的位置处检测到的接触(例如,轻击)。
图8AI示出了响应于检测到指向杯子CGR对象806C的表示的用户输入899AC的CGR文件构成用户界面801。在图8AI中,用围绕杯子CGR对象806C的表示的第二类型的对象选择指示符817来替换第一类型的对象选择指示符807。
因此,当选择CGR对象(并且显示第一类型的对象选择指示符807)时,指向CGR对象的表示的不同类型的用户输入导致CGR对象的空间属性的不同变化。例如,在图8AB和图8AC中,指向杯子CGR对象806C的表示的第一类型的用户输入899X(例如,捏合)改变杯子CGR对象的大小。作为另一个示例,在图8AC和图8AD中,指向杯子CGR对象806C的表示的第二类型的用户输入899Y(例如,旋转)改变绕着杯子CGR对象的z轴线的取向。作为另一个示例,在图8AD和图8AF中,指向杯子CGR对象806C的表示的第三类型的用户输入899Z(例如,拖动)改变杯子CGR对象的xy平面中的位置。作为另一个示例,在图8AH和图8AI中,指向杯子CGR对象806C的表示的第四类型的用户输入899AB(例如,轻击)将第一类型的对象选择指示符807改变为第二类型的对象选择指示符817,从而允许如下所述的各种附加空间操纵。
CGR对象的全等(或等轴)空间操纵是其中CGR对象的大小和形状不改变的空间操纵。全等空间操纵包括平移、旋转和反射。CGR对象的类似(或保形)空间操纵是其中CGR对象的形状不改变的空间操纵。类似空间操纵包括缩放、平移、旋转和反射。
如上所述,当选择CGR对象(并且显示第一类型的对象选择指示符807)时,各种用户输入执行第一组类似空间操纵。例如,在各种实施方案中,第一组类似空间操纵包括缩放(如图8AB和图8AC所示)、绕着第一轴线的旋转(如图8AC和图8AD所示)以及第一平面内的二维平移(如图8AD和图8AF所示)。
如下所述,当选择CGR对象(并且显示第二类型的对象选择指示符817)时,各种用户输入执行不同于第一组类似空间操纵的第二组类似空间操纵。在各种实施方案中,第二组类似空间操纵包括第一组类似空间操纵中的一者或多者或全部。例如,在各种实施方案中,第二组类似空间操纵包括绕着第一轴线的旋转、绕着第二轴线的旋转、绕着第三轴线的旋转和三维平移。
第二类型的对象选择指示符817包括:用于使当前选择的CGR对象沿着第一轴线(例如,z轴线,使当前选择的CGR对象上下移动)移动的第一平移示能表示817A、用于使当前选择的CGR对象沿着第二轴线(例如,在xy平面内)移动的第二平移示能表示817B、以及用于使当前选择的CGR对象沿着第三轴线(例如,垂直于xy平面内的第二轴线)移动的第三平移示能表示817C。第二类型的对象选择指示符817包括:用于使当前选择的CGR对象绕着第一轴线旋转的第一旋转示能表示817D、用于使当前选择的CGR对象绕着第二轴线旋转的第二旋转示能表示817E、以及用于使当前选择的CGR对象绕着第三轴线旋转的第三旋转示能表示817F。
图8AI示出了指向第三旋转示能表示817F的用户输入899AD。在各种实施方案中,用户输入899AD对应于起始位置在第三旋转示能表示817F的位置处的所检测到的移动接触(例如,拖动或触摸并拖动)。
图8AJ示出了响应于检测到指向第三旋转示能表示817F的用户输入899AD的CGR文件构成用户界面801。在图8AI中,杯子CGR对象绕着第三轴线旋转,如杯子CGR对象806C的表示的旋转(以及第二CGR场景示能表示803BB的对应变化)所指示的。
图8AJ示出了指向第一平移示能表示817A的用户输入899AE。在各种实施方案中,用户输入899AE对应于起始位置在第一平移示能表示817A的位置处的所检测到的移动接触(例如,拖动或触摸并拖动)。
图8AK示出了响应于检测到指向第一平移示能表示817F的用户输入899AE的CGR文件构成用户界面801。在图8AJ中,杯子CGR对象沿着第一轴线向下移动,如杯子CGR对象806C的表示的移动(以及第二CGR场景示能表示803BB的对应变化)所指示的。
图8AK示出了指向视图区域803E中远离CGR对象的任何表示的位置的用户输入899AF。在各种实施方案中,用户输入899AF对应于在视图区域803E中远离CGR对象的任何表示的位置处检测到的接触(例如,轻击)。
图8AL示出了响应于检测到指向视图区域803E中的位置的用户输入899AF的CGR文件构成用户界面801。在图8AL中,未选择CGR对象,如通过缺少对象选择(例如,第一类型的对象选择指示符807或第二类型的对象选择指示符817)所指示的。在未选择CGR对象的情况下,选择了场景设置示能表示803AH(如与其他设置示能表示803AG、803AI和803AJ相比,场景设置示能表示803AH的不同显示所指示的),并且设置区域803D包括经由可折叠/可扩展场景设置菜单803DA至803DE呈现的多个场景设置操纵示能表示。
图8AL示出了指向视图区域803E中的位置的用户输入899AG。在各种实施方案中,用户输入899AG对应于在视图区域803E中的位置处检测到的彼此靠近或远离移动的两个接触(例如,捏合或展开手势)。在各种实施方案中,视图区域803E中的位置远离CGR对象的任何表示(同时选择CGR对象或未选择CGR对象)。在各种实施方案中,该位置处于未被选择的CGR对象的表示的位置处。
图8AM示出了响应于检测到指向视图区域803E中的位置的用户输入899AG的CGR文件构成用户界面801。在图8AM中,视图区域803E的虚拟相机的视角被移动得更靠近锚表示803EA,并且视图区域803E被放大,从而导致锚表示803EA、碟CGR对象806B的表示和杯子CGR对象806C的表示的大小增大。碟CGR对象和杯子CGR对象的大小(与它们在视图区域803E中的表示相反)未改变,如通过缺少第二CGR场景示能表示803BB的改变所指示的。
图8AM示出了指向视图区域803E中的位置的用户输入899AH。在各种实施方案中,用户输入899AH对应于在视图区域803E中的位置处检测到的移动接触(例如,拖动或触摸并拖动手势)。在各种实施方案中,视图区域803E中的位置远离CGR对象的任何表示(同时选择CGR对象或未选择CGR对象)。在各种实施方案中,该位置处于未被选择的CGR对象的表示的位置处。
图8AN示出了响应于检测到指向视图区域803E中的位置的用户输入899AH的CGR文件构成用户界面801。在图8AN中,视图区域803E的虚拟相机的视角被移动到一侧(例如,垂直于从虚拟相机到锚表示803EA的中心的线),并且视图区域803E被移动,从而导致锚表示803EA、碟CGR对象806B的表示和杯子CGR对象806C的表示的侧向移动。碟CGR对象和杯子CGR对象的位置(与它们在视图区域803E中的表示相反)未改变,如通过缺少对第二CGR场景示能表示803BB的改变所指示的。
图8AN示出了指向视图区域803E中的位置的用户输入899AI。在各种实施方案中,用户输入899AI对应于在视图区域803E中的位置处检测到的绕着公共中心移动的两个接触(例如,旋转手势)。在各种实施方案中,视图区域803E中的位置远离CGR对象的任何表示(同时选择CGR对象或未选择CGR对象)。在各种实施方案中,该位置处于未被选择的CGR对象的表示的位置处。
图8AO示出了响应于检测到指向视图区域803E中的位置的用户输入899AI的CGR文件构成用户界面801。在图8AO中,视图区域803E的虚拟相机的视角绕着锚表示803EA的中心旋转,并且使视图区域803E旋转,从而导致锚表示803EA、碟CGR对象806B的表示和杯子CGR对象806C的表示的旋转。碟CGR对象和杯子CGR对象的位置和取向(与它们在视图区域803E中的表示相反)未改变,如通过缺少对第二CGR场景示能表示803BB的改变所指示的。
图8AO示出了指向CGR视图示能表示803AF的用户输入899AJ。在各种实施方案中,用户输入899AJ对应于在CGR视图示能表示803AF的位置处检测到的接触(例如,轻击)。
图8AP示出了响应于检测到指向CGR视图示能表示803AF中的位置的用户输入899AJ的CGR文件构成用户界面801。在图8AP中,CGR视图示能表示803AF被选择,并且对象视图示能表示803AE被取消选择(如它们不同的显示样式所指示的)。在图8AP中,视图区域803A包括在由设备100拍摄的场景相机图像上方显示的第二CGR场景的表示(包括锚表示803EA、碟CGR对象806B的表示和杯子CGR对象806C的表示)。
图8AQ示出了C响应于设备100向右的移动的CGR文件构成用户界面801。在图8AQ中,场景相机图像的视角改变,并且相应地,用于渲染第二CGR场景的表示(包括锚表示803EA、碟CGR对象806B的表示和杯子CGR对象806C的表示)的虚拟相机的视角类似地改变。因此,第二CGR场景的表示在视图区域803A内向左移动(除了其他视角效果之外)。
图8AR示出了响应于设备向后(例如,远离物理环境的桌子)的移动的CGR文件构成用户界面801。在图8AR中,场景相机的视角改变,并且相应地,用于渲染第二CGR场景的表示(包括锚表示803EA、碟CGR对象806B的表示和杯子CGR对象806C的表示)的虚拟相机的视角类似地改变。因此,第二CGR场景的表示的大小(除了其他视角效果之外)在视图区域803A内减小。
图8AR示出了指向对象视图示能表示803AE的用户输入899AK。在各种实施方案中,用户输入899AK对应于在对象视图示能表示803AE的位置处检测到的接触(例如,轻击)。
图8AS示出了响应于检测到指向对象视图示能表示803AE中的位置的用户输入899AK的CGR文件构成用户界面801。在图8AS中,对象视图示能表示803AE被选择,并且CGR视图示能表示803AF被取消选择(如它们不同的显示样式所指示的)。在图8AS中,场景相机图像不再被显示在第二CGR场景的表示后面。
图8AS示出了指向杯子CGR对象806C的表示的用户输入899AL。在各种实施方案中,用户输入899AL对应于在杯子CGR对象806C的位置处检测到的接触(例如,轻击)。
图8AT示出了响应于检测到指向杯子CGR对象806C的表示的用户输入899AL的CGR文件构成用户界面801。在图8AT中,视图区域803E包括围绕杯子CGR对象806C的表示的第一类型的对象选择指示符807。被显示为围绕杯子CGR对象806C的表示的第一类型的对象选择指示符807指示杯子CGR对象被选择。
在图8AT中,当对象设置示能表示803AI被选择时(如与其他设置示能表示803AG、803AH和803AJ相比,对象设置示能表示803AI的不同显示所指示的),设置区域803D包括经由可折叠/可扩展对象设置菜单813DA至813DD呈现的多个对象设置操纵示能表示(其中对象名称操纵示能表示813DAA、配置器示能表示813DBA、样式示能表示813DBB和图案示能表示813DBC在图8AT中示出)。与被显示为围绕杯子CGR对象806C的表示的第一类型的对象选择指示符807一样,显示杯子CGR对象的名称(例如,“杯子01”)的对象名称操纵示能表示813DAA指示杯子CGR对象被选择。
图8AT示出了指向图案示能表示813DBC的用户输入899AM。在各种实施方案中,用户输入899AM对应于在图案示能表示813DBC的表示的位置处检测到的接触(例如,轻击)。
图8AU示出了响应于检测到指向图案示能表示813DBC的用户输入899AM的CGR文件构成用户界面801。在图8AU中,CGR文件构成用户界面801包括呈弹出窗口形式的实时视图用户界面811。
实时视图用户界面811包括多个视图窗口811DA至811DC,该多个视图窗口分别包括当前选择的CGR对象811EA至811EC的多个表示,每个CGR对象具有不同的图案。具体地讲,实时视图用户界面811包括:第一视图窗口811DA,该第一视图窗口包括具有白色图案811EA的杯子CGR对象的表示;第二视图窗口811DB,该第二视图窗口包括具有星形图案811EB的杯子CGR对象的表示;和第三视图窗口811DC,该第三视图窗口包括具有常春藤图案811EC的杯子CGR对象的表示。在图8AU中,第二视图窗口811DB以与其他视图窗口811DA和811DC不同的方式(例如,具有更厚的边界)进行显示,指示星形图案是当前选择的图案。
实时视图用户界面811包括当前选择的CGR对象的文本描述811C(例如,“杯子01”)和经由实时视图用户界面811操纵的CGR对象设置(例如,图案)。
实时视图用户界面811包括多个视图示能表示811A至811B,该多个视图示能表示包括对象视图示能表示811A和CGR视图示能表示811B,该对象视图示能表示用于在场景模式中(其中指向多个视图窗口811DA至811DC中的任一者的用户输入改变当前选择的CGR对象811EA至811EC的所有多个表示的视图的视角)查看当前选择的CGR对象811EA至811EC在其相应视图窗口811DA至811DC中的多个表示,该CGR视图示能表示用于在CGR模式中(其中设备100的移动改变当前选择的CGR对象811EA至811EC的所有多个表示的视图的视角)查看当前选择的CGR对象811EA至811EC在其相应视图窗口811DA至811DC中的多个表示。
实时视图用户界面811包括确定示能表示811F,该确定示能表示用于将当前选择的CGR对象的图案改变为当前选择的样式并且撤除(停止显示)实时视图界面811。实时视图用户界面811包括取消示能表示811G,该取消示能表示用于撤除(停止显示)实时视图用户界面811,从而将CGR文件构成用户界面801返回到图8AT所示的状态而不改变当前选择的CGR对象的图案。
图8AU示出了指向第一视图窗口811DA的用户输入899AN。在各种实施方案中,用户输入899AN对应于在第一视图窗口811DA的位置处检测到的绕着公共中心移动的两个接触(例如,旋转手势)。
图8AV示出了响应于检测到指向第一视图窗口811DA的用户输入899AN的CGR文件构成用户界面801。在图8AV中,用于渲染当前选择的CGR对象811EA至811EC在其相应视图窗口811DA至811DC中的多个表示中的每一者的虚拟相机的视角已经改变,绕着z轴线旋转。因此,可容易地看出和辨别相应图案的差异。
图8AV示出了指向第一视图窗口811DA的用户输入899AO。在各种实施方案中,用户输入899AO对应于在第一视图窗口811DA的位置处检测到的彼此靠近或远离移动的两个接触(例如,捏合或展开手势)。
图8AW示出了响应于检测到指向第一视图窗口811DA的用户输入899AO的CGR文件构成用户界面801。在图8AW中,用于渲染当前选择的CGR对象811EA至811EC在其相应视图窗口811DA至811DC中的多个表示中的每一者的虚拟相机的视角已经改变,移动得更靠近表示,放大并且大小增大。
图8AW示出了指向第三视图窗口811DC的用户输入899AP。在各种实施方案中,用户输入899AP对应于在第三视图窗口811DC的位置处检测到的接触(例如,轻击)。
图8AX示出了响应于检测到指向第三视图窗口811DC的用户输入899AP的CGR文件构成用户界面801。在图8AX中,第三视图窗口811DC以与其他视图窗口811DA至811DB不同的方式(例如,具有更厚的边界)进行显示,指示常春藤图案是当前选择的图案。
图8AX示出了指向确定示能表示811F的用户输入899AQ。在各种实施方案中,用户输入899AQ对应于在确定示能表示811F的位置处检测到的接触(例如,轻击)。
图8AY示出了响应于检测到指向确定示能表示811F的用户输入899AQ的CGR文件构成用户界面801。在图8AY中,将实时视图用户界面811撤除,并且将当前选择的CGR对象的图案改变为常春藤图案,如杯子CGR对象806C的表示的外观变化(以及,在图8AY中更容易看到的,第二CGR场景示能表示803BB的对应变化)和图案示能表示813DBC的变化所指示的。
图8AY示出了指向CGR对象添加示能表示803AB的用户输入899AR。在各种实施方案中,用户输入899AR对应于在CGR对象添加示能表示803AB的位置处检测到的接触(例如,轻击)。
图8AZ示出了响应于检测到指向CGR对象添加示能表示803AB的用户输入899AY的CGR文件构成用户界面801。在图8AZ中,CGR文件构成用户界面801包括呈弹出窗口形式的媒体库用户界面804。
图8AZ示出了指向球体添加示能表示805C的用户输入899AS。在各种实施方案中,用户输入899AC对应于在球体添加示能表示805C的位置处检测到的接触(例如,轻击)。
图8BA示出了响应于检测到指向球体添加示能表示805B的用户输入899AS的CGR文件构成用户界面801。在图8BA中,媒体库用户界面804停止显示,并且视图区域803E包括在锚803EA的表示上方的特定位置处显示的球体CGR对象806D的表示。与此相关,第二CGR场景示能表示803BB已改变以指示第二CGR场景包括球体CGR对象。
在图8BA中,视图区域803E还包括围绕球体CGR对象806D的表示的第一类型的对象选择指示符807。选择被显示为围绕球体CGR对象806D的表示的第一类型的对象选择指示符807指示球体CGR对象。
在图8BA中,设置区域803D被改变为显示用于将对象设置改变为当前选择的CGR对象——球体CGR对象——的对象设置操纵示能表示(包括指示“球体01”的对象名称操纵示能表示813DAA、指示球体样式的样式示能表示813DBB以及指示白色图案的图案示能表示813DBC)。
图8BA示出了指向样式示能表示813DBB的用户输入899AT。在各种实施方案中,用户输入899AT对应于在样式示能表示813DBB的位置处检测到的接触(例如,轻击)。
图8BB示出了响应于检测到指向样式示能表示813DBB的用户输入899AT的CGR文件构成用户界面801。在图8BB中,CGR文件构成用户界面801包括呈弹出窗口形式的实时视图用户界面811。
在图8BB中,实时视图用户界面811的文本描述811C指示当前选择的CGR对象是“球体01”,并且经由实时视图用户界面811操纵的CGR对象设置是样式。
在图8BB中,实时视图用户界面811包括多个视图窗口821DA至821DF,该多个视图窗口分别包括当前选择的CGR对象821EA至821EF的多个表示,每个CGR对象具有不同的样式。具体地讲,实时视图用户界面811包括:第一视图窗口821DA,该第一视图窗口包括具有球体样式821EA的球体CGR对象的表示;第二视图窗口821DB,该第二视图窗口包括具有高尔夫球样式821EB的球体CGR对象的表示;第三视图窗口821DC,该第三视图窗口包括具有棒球样式821EC的球体CGR对象的表示;第四视图窗口821DD,该第四视图窗口包括具有篮球样式821ED的球体CGR对象的表示;第五视图窗口821DE,该第五视图窗口包括具有网球样式821EE的球体CGR对象的表示;和第六视图窗口821DF,该第六视图窗口包括具有保龄球样式821EF的球体CGR对象的表示。
在各种实施方案中,当处于对象视图模式时,指向视图窗口821DA至821DF的多个表示中的任一者的适当用户输入将有利地揭示以下差异,或者当处于CGR视图模式时,设备100的移动将有利地揭示以下差异:具有球体样式821EA的球体CGR对象的表示与具有保龄球样式821EF(其包括在图8BB的视角中不可见的孔)的球体CGR对象的表示之间的差异。
在图8BB中,第一视图窗口821DA以与其他视图窗口821DB至821DF不同的方式(例如,具有更厚的边界)进行显示,指示球体样式是当前选择的样式。
图8BB示出了指向第二视图窗口821DB的用户输入899AU。在各种实施方案中,用户输入899AU对应于在第二视图窗口821DB的位置处检测到的接触(例如,轻击)。
图8BC示出了响应于检测到指向第二视图窗口821DB的用户输入899AU的CGR文件构成用户界面801。在图8BC中,第二视图窗口821DB以与其他视图窗口821DA和821DC至821DF不同的方式(例如,具有更厚的边界)进行显示,指示高尔夫球样式是当前选择的样式。
图8BC示出了指向确定示能表示811F的用户输入899AV。在各种实施方案中,用户输入899AV对应于在确定示能表示811F的位置处检测到的接触(例如,轻击)。
图8BD示出了响应于检测到指向确定示能表示811F的用户输入899AV的CGR文件构成用户界面801。在图8AY中,将实时视图用户界面811撤除,并且将当前选择的CGR对象的样式改变为高尔夫球样式,如球体CGR对象806D的表示的外观变化(以及第二CGR场景示能表示803BB的对应变化)和样式示能表示813DBC的变化所指示的。
图8BD示出了指向物理属性菜单813DC的用户输入899AW。在各种实施方案中,用户输入899AW对应于在物理属性菜单813DC的位置处检测到的接触(例如,轻击)。
图8BE示出了响应于检测到指向物理属性菜单813DC的用户输入899AW的CGR文件构成用户界面801。在图8BE中,物理属性菜单813DC被扩展(在设置区域803D内)以呈现用于改变当前选择的CGR对象(如下所述)的物理网格的物理网格示能表示813DCA、用于经由滑块改变当前选择的CGR对象的反射率的反射率示能表示813DCB、以及用于改变当前选择的CGR对象的弹性的弹性示能表示813DCC。
图8BE示出了指向物理网格示能表示813DCA的用户输入899AX。在各种实施方案中,用户输入899AX对应于在物理网格示能表示813DCA的位置处检测到的接触(例如,轻击)。
图8BF示出了响应于检测到指向物理网格示能表示813DCA的用户输入899AX的CGR文件构成用户界面801。在图8BF中,CGR文件构成用户界面801包括呈弹出窗口形式的设置值选择用户界面812。
设置值选择用户界面812包括当前选择的CGR对象的文本描述812A(例如,“球体01”)和经由设置值选择用户界面812操纵的CGR对象设置(例如,物理网格)。
设置值选择用户界面812包括用于选择设置值的多个设置值选择示能表示812BA至812BC。设置值选择用户界面812包括:用于选择球体网格作为当前选择的设置值的球体示能表示812BA、用于选择高尔夫球网格作为当前选择的设置值的高尔夫球示能表示812BB、以及用于加载自定义网格作为当前选择的设置值的加载示能表示812BC。
高尔夫球示能表示812BB包括选择指示器812C,该选择指示符指示高尔夫球网格是当前选择的设置值。
设置值选择用户界面812包括确定示能表示812D,该确定示能表示用于将当前选择的CGR对象的CGR对象设置的值改变为当前选择的设置值并且撤除(停止显示)设置值选择用户界面812。设置值选择用户界面812包括取消示能表示812E,该取消示能表示用于撤除(停止显示)设置值选择用户界面812,从而将CGR文件构成用户界面801返回到图8BE中所示的状态而不改变当前选择的CGR对象的CGR对象设置的值。
在各种情况下,可能令人期望的是CGR对象的物理网格(其用于确定CGR对象与其他CGR对象的交互)不同于CGR对象的显示网格(其用于在显示器上渲染CGR对象)。例如,在高尔夫球CGR对象的情况下,CGR高尔夫球对象的显示可基于复杂的显示网格,该复杂的显示网格包括大量的凹坑,并且因此包括大量的多边形。然而,使用此类网格作为物理网格来计算高尔夫球CGR对象的物理交互可能是计算密集型且耗时的(可能妨碍实时计算)。通过选择更简单的物理网格,诸如具有更少多边形的球体网格,可更有效且更快速地计算物理交互的结果。
图8BF示出了指向球体示能表示812BA的用户输入899AY。在各种实施方案中,用户输入899AY对应于在球体示能表示812BA的位置处检测到的接触(例如,轻击)。
图8BG示出了响应于检测到指向球体示能表示812BA的用户输入899AY的CGR文件构成用户界面801。在图8BG中,选择指示符812C与球体示能表示812BA(而不是高尔夫球示能表示812BB)相关联地进行显示。
图8BG示出了指向确定示能表示812D的用户输入899AZ。在各种实施方案中,用户输入899AZ对应于在确定示能表示812D的位置处检测到的接触(例如,轻击)。
图8BH示出了响应于检测到指向确定示能表示812D的用户输入899AZ的CGR文件构成用户界面801。在图8BH中,对物理网格示能表示813DCA进行更新以指示球体CGR对象的物理网格是球体网格。
图8BH示出了指向CGR场景添加示能表示803AA的用户输入899BA。在各种实施方案中,用户输入899BA对应于在CGR场景添加示能表示803AA的位置处检测到的接触(例如,轻击)。
图8BI示出了响应于检测到指向CGR场景添加示能表示803AA的用户输入899BA以及又一用户输入的CGR文件构成用户界面801,该又一用户输入用于为由用户输入899BA创建的第三CGR场景选择锚,重命名第三CGR场景(例如,重新命名为“饮茶时间2”),用多个CGR对象来填充第三CGR场景,操纵该多个CGR对象的CGR对象设置,并且重新选择第二CGR场景作为当前选择的CGR场景等。
因此,在图8BI中,CGR文件构成用户界面包括表示第三CGR场景的第三CGR场景示能表示803BC。
图8BI示出了指向行为添加示能表示803AC的用户输入899BB。在各种实施方案中,用户输入899BB对应于在行为添加示能表示803AC的位置处检测到的接触(例如,轻击)。
图8BJ示出了响应于检测到指向行为添加示能表示803AC的用户输入899BB的CGR文件构成用户界面801。在图8BJ中,CGR文件构成用户界面801包括呈弹出窗口形式的行为编辑器用户界面831。
在各种实施方案中,行为编辑器用户界面831用于创建和/或编辑与CGR场景相关联的行为。每个行为与一个或多个触发器和一个或多个动作相关联。当呈现对应于项目的CGR应用程序并且检测到一个或多个触发器中的任一者时,执行一个或多个动作。
行为编辑器用户界面831包括视图窗口831D,该视图窗口呈现当前选择的CGR场景的表示(包括杯子CGR对象831DA的表示、碟CGR对象831DB的表示和球体CGR对象831DC的表示)。行为编辑器用户界面831包括在视图窗口831D上方显示的正被编辑(或创建)的行为(例如,第一行为)的名称831C(例如,“行为01”)。
行为编辑器用户界面831包括多个视图示能表示831A至831B,该多个视图示能表示包括对象视图示能表示831A和CGR视图示能表示831B,该对象视图示能表示用于在场景模式中(其中指向视图窗口831D的用户输入改变当前选择的CGR场景的视图的视角)查看视图窗口831D中的当前选择的CGR场景的表示,该CGR视图示能表示用于在CGR模式中(其中设备100的移动改变当前选择的CGR对象的视图的视角)查看视图窗口831D中的当前选择的CGR场景。
行为编辑器用户界面831包括确定示能表示831E,该确定示能表示用于创建行为(和/或接受对行为的改变)并且撤除(停止显示)行为编辑器用户界面831。行为编辑器用户界面831包括取消示能表示831F,该取消示能表示用于撤除(停止显示)行为编辑器用户界面831,从而将CGR文件构成用户界面801返回到图8BI所示的状态而不创建(或不改变)行为。
行为编辑器用户界面831包括概览区域832和细节区域837。概览区域832包括由分隔件834分开的触发器区域833和动作区域835。触发器区域833包括用于将触发器添加到行为的新触发器示能表示833A,并且动作区域835包括用于将新动作添加到行为的新动作示能表示835A。
细节区域837包括用于改变行为的设置的多个行为设置示能表示836A至836C。细节区域837包括:用于改变行为名称的名称示能表示836A、用于改变行为颜色的颜色示能表示836B、以及用于在启用和禁用行为之间进行切换的启用/禁用示能表示836C。
图8BJ示出了指向名称示能表示836A的用户输入899BC。在各种实施方案中,用户输入899BC对应于在名称示能表示836A的位置处检测到的接触(例如,轻击)。
图8BK示出了响应于检测到指向名称示能表示836A的用户输入899BC(以及可能地,限定第一行为的新名称的附加用户输入)的CGR文件构成用户界面801。在图8BK中,对名称示能表示836A进行更新以指示第一行为的新名称(例如,“移动球”)。
图8BK示出了指向新触发器示能表示833A的用户输入899BD。在各种实施方案中,用户输入899BD对应于在新触发器示能表示833A的位置处检测到的接触(例如,轻击)。
图8BL示出了响应于检测到指向新触发器示能表示833A的用户输入899BD的CGR文件构成用户界面801。在图8BL中,新触发器示能表示833A以与图8BK的第一方式不同的第二方式(例如,黑色而不是白色)进行显示,以指示细节区域837包括用于为行为创建新触发器的示能表示。
例如,在图8BL中,细节区域837包括用于创建轻击触发器的轻击触发器示能表示838A,使得当呈现对应于项目的CGR应用程序并且检测到由轻击触发器限定的CGR对象(或多个CGR对象中的任一者)上的轻击时,执行行为的一个或多个动作。细节区域837包括用于创建接近/碰撞触发器的接近/碰撞触发器示能表示838B,使得当呈现对应于项目的CGR应用程序并且在由触发器限定为次要目标的CGR对象(或多个CGR对象中的任一者)的阈值距离(也由触发器限定,其可为0)内检测到由触发器限定为主要目标的CGR对象(或多个CGR对象中的任一者)时,执行行为的一个或多个动作。细节区域837包括用于创建面部跟踪触发器的面部跟踪触发器示能表示838C,使得当呈现对应于项目的CGR应用程序并且检测到用户的面部功能(例如,眨眼、咀嚼、吹气、微笑等)时,执行行为的一个或多个动作。细节区域837包括用于创建其他类型的触发器的其他触发器示能表示838D。
图8BL示出了指向轻击触发器示能表示838A的用户输入899BE。在各种实施方案中,用户输入899BE对应于在轻击触发器示能表示838A的位置处检测到的接触(例如,轻击)。
图8BM示出了响应于检测到指向轻击触发器示能表示838A的用户输入899BE的CGR文件构成用户界面801。在图8BL中,触发器区域833包括以第二方式进行显示的轻击触发器示能表示833B,以指示细节区域837包括用于为行为创建新轻击触发器的示能表示。
例如,在图8BM中,细节区域837包括用于创建轻击触发器的完成示能表示838AA,使得当呈现对应于项目的CGR应用程序并且检测到在视图窗口831D中选择的CGR对象(或多个CGR对象中的任一者)上的轻击时,执行行为的一个或多个动作。
图8BM示出了指向球体CGR对象831DC的表示的用户输入899BF。在各种实施方案中,用户输入899BF对应于在球体CGR对象831DC的表示的位置处检测到的接触(例如,轻击)。
图8BN示出了响应于检测到指向球体CGR对象831DC的表示的用户输入899BF的CGR文件构成用户界面801。在图8BN中,将球体CGR对象831DC的表示加亮,指示球体CGR对象被选择用于定义为轻击触发器的目标。
图8BN示出了指向完成示能表示838AA的用户输入899BG。在各种实施方案中,用户输入899BG对应于在完成示能表示838AA的位置处检测到的接触(例如,轻击)。作为响应,第一行为与轻击触发器相关联,使得当呈现对应于项目的CGR应用程序并且检测到球体CGR对象上的轻击时,执行第一行为的一个或多个动作。
图8BO示出了响应于检测到指向完成示能表示838AA的用户输入899BG的CGR文件构成用户界面801。在图8BO中,新触发器示能表示833A(和轻击触发器示能表示833B)以第一方式进行显示以指示细节区域837包括多个行为设置示能表示836A至836C。
图8BO示出了指向新触发器示能表示833A的用户输入899BH。在各种实施方案中,用户输入899BH对应于在新触发器示能表示833A的位置处检测到的接触(例如,轻击)。
图8BP示出了响应于检测到指向新触发器示能表示833A的用户输入899BH的CGR文件构成用户界面801。在图8BP中,新触发器示能表示833A以与图8BO的第一方式不同的第二方式(例如,黑色而不是白色)进行显示,以指示细节区域837包括用于为行为创建新触发器的示能表示。例如,在图8BL中,细节区域837包括面部跟踪触发器示能表示838C等。
图8BP示出了指向面部跟踪触发器示能表示838C的用户输入899BI。在各种实施方案中,用户输入899BI对应于在面部跟踪触发器示能表示838C的位置处检测到的接触(例如,轻击)。
图8BQ示出了响应于检测到指向面部跟踪触发器示能表示838C的用户输入899BI的CGR文件构成用户界面801。在图8BQ中,触发器区域833包括以第二方式进行显示的面部跟踪触发器示能表示833C,以指示详细区域837包括用于为行为创建新面部跟踪触发器的示能表示。
例如,在图8BQ中,细节区域837包括用于创建眨眼触发器的眨眼触发器示能表示838CA,使得当呈现对应于项目的CGR应用程序并且检测到用户眨眼时,执行行为的一个或多个动作。细节区域837包括用于创建咀嚼触发器的咀嚼触发器示能表示838CB,使得当呈现对应于项目的CGR应用程序并且检测到用户咀嚼时,执行行为的一个或多个动作。细节区域837包括用于创建吹气触发器的吹气触发器示能表示838CC,使得当呈现对应于项目的CGR应用程序并且检测到用户吹气时,执行行为的一个或多个动作。细节区域837包括用于创建其他面部跟踪触发器的其他面部跟踪触发器示能表示838CD。
图8BQ示出了指向吹气触发器示能表示838CC的用户输入899BJ。在各种实施方案中,用户输入899BJ对应于在吹气触发器示能表示838CC的位置处检测到的接触(例如,轻击)。作为响应,第一行为与吹气触发器相关联,使得当呈现对应于项目的CGR应用程序并且检测到用户执行吹气动作(例如,就像吹灭生日蜡烛)时,执行第一行为的一个或多个动作。
图8BR示出了响应于检测到指向吹气触发器示能表示838CC的用户输入899BJ的CGR文件构成用户界面801。在图8BR中,新触发器示能表示833A(和面部跟踪触发器示能表示833C)以第一方式进行显示,以指示细节区域837包括多个行为设置示能表示836A至836C。
图8BR示出了指向新动作示能表示835A的用户输入899BK。在各种实施方案中,用户输入899BK对应于在新动作示能表示835A的位置处检测到的接触(例如,轻击)。
图8BS示出了响应于检测到指向新动作示能表示835A的用户输入899BK的CGR文件构成用户界面801。在图8BS中,触发器区域833被折叠以包括表示新触发器示能表示833A和任何限定的触发器(例如,轻击触发器示能表示833B和面部跟踪触发器示能表示833C)的单个分组触发器示能表示833X。在图8BS中,新动作示能表示835A以第二方式进行显示,以指示细节区域837包括用于为行为创建新动作的示能表示。
例如,在图8BS中,细节区域837包括用于创建移动动作的移动动作示能表示839A,使得当呈现对应于项目的CGR应用程序并且检测到包括移动动作的行为的触发器时,CGR目标在CGR环境中移动。细节区域837包括用于创建音频动作的音频动作示能表示839B,使得当呈现对应于项目的CGR应用程序并且检测到包括音频动作的行为的触发器时,在CGR环境中播放音频文件。细节区域837包括用于创建场景改变动作的场景改变动作示能表示839C,使得当呈现对应于项目的CGR应用程序并且检测到包括场景改变动作的行为的触发器时,在CGR环境中呈现新CGR场景(替换或补充当前CGR场景)。细节区域837包括用于创建其他类型的动作的其他动作示能表示839D。
图8BS示出了指向移动动作示能表示839A的用户输入899BL。在各种实施方案中,用户输入899BL对应于在移动动作示能表示839A的位置处检测到的接触(例如,轻击)。
图8BT示出了响应于检测到指向移动动作示能表示839A的用户输入899BL的CGR文件构成用户界面801。在图8BT中,动作区域835包括以第二方式进行显示的移动动作示能表示835B,以指示细节区域837包括用于为行为创建新移动动作的示能表示。
例如,在图8BT中,细节区域837包括用于创建移入动作的移入动作示能表示839AA,使得当呈现对应于项目的CGR应用程序并且检测到包括移入动作的行为的触发器时,CGR目标移动到CGR环境中由动作限定的位置。细节区域837包括用于创建移开动作的移开动作示能表示839AB,使得当呈现对应于项目的CGR应用程序并且检测到包括移开动作的行为的触发器时,CGR目标以由动作限定的方式从其在CGR环境中的位置移开。细节区域837包括用于创建自旋动作的自旋动作示能表示839AC,使得当呈现对应于项目的CGR应用程序并且检测到包括自旋动作的行为的触发器时,CGR目标在其在CGR环境中的位置处自旋。细节区域837包括用于创建其他类型的移动动作的其他移动动作示能表示839AD。
图8BT示出了指向移开动作示能表示839AB的用户输入899BM。在各种实施方案中,用户输入899BM对应于在移开动作示能表示839AB的位置处检测到的接触(例如,轻击)。
图8BU示出了响应于检测到指向移开动作示能表示838AB的用户输入899BM的CGR文件构成用户界面801。在图8BU中,细节区域837包括用于为行为创建新移开动作的示能表示。
例如,在图8BU中,细节区域837包括用于创建前移动作的前移动作示能表示839ABA,使得当呈现对应于项目的CGR应用程序并且检测到包括前移动作的行为的触发器时,CGR目标在CGR环境中向前移动。细节区域837包括用于创建弹跳动作的弹跳动作示能表示839ABB,使得当呈现对应于项目的CGR应用程序并且检测到包括弹跳动作的行为的触发器时,CGR目标从其在CGR环境中的位置向上移动。细节区域837包括用于创建下降动作的下降动作示能表示839ABC,使得当呈现对应于项目的CGR应用程序并且检测到包括下降动作的行为的触发器时,CGR目标从其在CGR环境中的位置下降。细节区域837包括用于创建其他类型的移开动作的其他移开动作示能表示839ABD。
图8BU示出了指向前移动作示能表示839ABA的用户输入899BN。在各种实施方案中,用户输入899BN对应于在前移动作示能表示839ABA的位置处检测到的接触(例如,轻击)。
图8BV示出了响应于检测到指向前移动作示能表示838ABA的用户输入899BN的CGR文件构成用户界面801。在图8BV中,细节区域837包括用于设置CGR对象向前移动的速度的速度设置示能表示839ABAA以及用于在CGR对象向前移动时启用或禁用与其他CGR对象的交互的交互设置示能表示839ABAB。细节区域837包括用于将前移动作保存到第一行为(或保存对前移动作的改变)的保存示能表示839ABAC以及用于撤除前移动作(或撤除对前移动作的改变)的撤除示能表示839ABAD。
在图8BV中,将球体CGR对象831DC的表示加亮,指示球体CGR对象是在动作期间移动的CGR对象。通过将用户输入引导到其他CGR对象的表示,可改变在动作期间移动的CGR对象。
图8BV示出了指向保存示能表示839ABAC的用户输入899BO。在各种实施方案中,用户输入899BO对应于在保存示能表示839ABAC的位置处检测到的接触(例如,轻击)。
图8BW示出了响应于检测到指向保存示能表示839ABAC的用户输入899BO的CGR文件构成用户界面801。在图8BW中,新动作示能表示835A和移动动作示能表示835B以第一方式进行显示,指示细节区域837包括用于改变行为的设置的多个行为设置示能表示836A至836C。
图8BW示出了指向确定示能表示831E的用户输入899BP。在各种实施方案中,用户输入899BP对应于在确定示能表示831E的位置处检测到的接触(例如,轻击)。
图8BX示出了响应于检测到指向确定示能表示831E的用户输入899BP的CGR文件构成用户界面801。在图8BX中,将行为编辑器用户界面831撤除,并且将第一行为示能表示803CA(具有由第一行为指示的颜色)显示在行为区域803C中。
在图8BX中,第一行为被选择,如以所选方式(例如,具有比以未选方式更厚的边界)显示的第一行为示能表示803CA所指示的。因为选择了第一行为,所以视图区域803E中的第二CGR场景的表示使用第一高亮(例如,辉光)指示与第一行为的触发器相关联的CGR对象并且使用第二高亮(例如,对角散列)指示与第一行为的动作相关联的CGR对象。因此,球体CGR对象806D的表示以第一高亮(因为轻击球体CGR对象是第一行为的触发器)和第二高亮(因为移动球体CGR对象是第一行为的动作)两者来显示。
图8BX示出了指向行为添加示能表示803AC的用户输入899BQ。在各种实施方案中,用户输入899BQ对应于在行为添加示能表示831AC的位置处检测到的接触(例如,轻击)。
图8BY示出了响应于检测到指向行为添加示能表示803AC的用户输入899BQ的CGR文件构成用户界面801。在图8BY中,CGR文件构成用户界面801包括呈弹出窗口形式的行为编辑器用户界面831。行为编辑器用户界面831包括在视图窗口831D上方显示的正被编辑(或创建)的行为(例如,第二行为)的名称831C(例如,“行为02”)。
图8BY示出了指向名称示能表示836A的用户输入899BR。在各种实施方案中,用户输入899BR对应于在名称示能表示836A的位置处检测到的接触(例如,轻击)。
图8BZ示出了响应于检测到指向名称示能表示836A的用户输入899BR(以及可能地,限定第二行为的新名称的附加用户输入)的CGR文件构成用户界面801。在图8BZ中,对名称示能表示836A进行更新以指示第二行为的新名称(例如,“杯中球”)。
图8BZ示出了指向颜色示能表示836B的用户输入899BS。在各种实施方案中,用户输入899BS对应于在颜色示能表示836B的位置处检测到的接触(例如,轻击)。
图8CA示出了响应于检测到指向颜色示能表示836B的用户输入899BS(以及可能地,为第二行为选择新颜色的附加用户输入)的CGR文件构成用户界面801。在图8CA中,对颜色示能表示836B进行更新以指示第二行为的新颜色(例如,“杯中球”)。
图8CA示出了指向新触发器示能表示833A的用户输入899BT。在各种实施方案中,用户输入899BT对应于在新触发器示能表示833A的位置处检测到的接触(例如,轻击)。
图8CB示出了响应于检测到指向新触发器示能表示833A的用户输入899BD的CGR文件构成用户界面801。在图8CB中,新触发器示能表示833A以第二方式(例如,黑色)进行显示,以指示细节区域837包括用于为行为创建新触发器的示能表示。例如,在图8CB中,细节区域837包括:用于创建轻击触发器的轻击触发器示能表示838A、接近/碰撞触发器示能表示838B、面部跟踪触发器示能表示838C、以及用于创建其他类型的触发器的其他触发器示能表示838D。
图8CB示出了指向接近/碰撞触发器示能表示838B的用户输入899BU。在各种实施方案中,用户输入899BE对应于在接近/碰撞触发器示能表示838B的位置处检测到的接触(例如,轻击)。
图8CC示出了响应于检测到指向接近/碰撞触发器示能表示838B的用户输入899BU的CGR文件构成用户界面801。在图8CC中,触发器区域833包括以第二方式进行显示的接近/碰撞触发器示能表示833D,以指示细节区域837包括用于为行为创建新接近/碰撞触发器的示能表示。
例如,在图8CC中,细节区域837包括用于创建距网格距离触发器的距网格距离触发器示能表示838BA,使得当呈现对应于项目的CGR应用程序并且在由触发器限定为次要目标的CGR对象(或多个CGR对象中的任一者)的网格的任何点的阈值距离(也由触发器限定,其可为0)内检测到由触发器限定为主要目标的CGR对象(或多个CGR对象中的任一者)的网格的任何点时,执行行为的一个或多个动作。
细节区域837包括用于创建距中心距离触发器的距中心距离触发器示能表示838BB,使得当呈现对应于项目的CGR应用程序并且在由触发器限定为次要目标的CGR对象(或多个CGR对象中的任一者)的中心(或其他空间操纵点)的阈值距离(也由触发器限定,其可为0)内检测到由触发器限定为主要目标的CGR对象(或多个CGR对象中的任一者)时,执行行为的一个或多个动作。
细节区域837包括用于创建距坐标距离触发器的距坐标距离触发器示能表示838BC,使得当呈现对应于项目的CGR应用程序并且在由触发器限定为次要目标的坐标的阈值距离(也由触发器限定,其可为0)内检测到由触发器限定为主要目标的CGR对象(或多个CGR对象中的任一者)时,执行行为的一个或多个动作。
细节区域837包括用于创建其他类型的接近/碰撞触发器的其他接近/碰撞触发器示能表示838BD。
图8CC示出了指向距中心距离示能表示838BB的用户输入899BV。在各种实施方案中,用户输入899BV对应于在距中心距离触发器示能表示838BB的位置处检测到的接触(例如,轻击)。
图8CD示出了响应于检测到指向距中心距离触发器示能表示838BB的用户输入899BV的CGR文件构成用户界面801。例如,在图8CD中,细节区域837包括用于完成主要目标的选择的完成示能表示838BBA,使得当呈现对应于项目的CGR应用程序并且在由触发器限定为次要目标的CGR对象(或多个CGR对象中的任一者)的阈值距离(也由触发器限定,其可为0)内检测到在视图窗口831D中选择的CGR对象(或多个CGR对象中的任一者)时,执行行为的一个或多个动作。
图8CD示出了指向球体CGR对象831DC的表示的用户输入899BW。在各种实施方案中,用户输入899BW对应于在球体CGR对象831DC的表示的位置处检测到的接触(例如,轻击)。
图8CE示出了响应于检测到指向球体CGR对象831DC的表示的用户输入899BW的CGR文件构成用户界面801。在图8CE中,将球体CGR对象831DC的表示加亮,指示球体CGR对象被选择用于定义为接近/碰撞触发器的主要目标。
图8CE示出了指向完成示能表示838BBA的用户输入899BX。在各种实施方案中,用户输入899BX对应于在完成示能表示838BBA的位置处检测到的接触(例如,轻击)。
图8CF示出了响应于检测到指向完成示能表示838BBA的用户输入899BX的CGR文件构成用户界面801。在图8CF中,细节区域837包括用于完成次要目标的选择的完成示能表示838BBB,使得当呈现对应于项目的CGR应用程序并且在视图窗口831D中选择的CGR对象(或多个CGR对象中的任一者)的阈值距离(也由触发器限定,其可为0)内检测到由触发器限定为主要目标的CGR对象(或多个CGR对象中的任一者)时,执行行为的一个或多个动作。
图8CF示出了指向杯子CGR对象831DA的表示的用户输入899BY。在各种实施方案中,用户输入899BY对应于在杯子CGR对象831DA的表示的位置处检测到的接触(例如,轻击)。
图8CG示出了响应于检测到指向杯子CGR对象831DA的表示的用户输入899BY的CGR文件构成用户界面801。在图8CG中,将杯子CGR对象831DA的表示加亮,指示杯子CGR对象被选择用于定义为接近/碰撞触发器的次要目标。
图8CG示出了指向完成示能表示838BBB的用户输入899BZ。在各种实施方案中,用户输入899BZ对应于在完成示能表示838BBB的位置处检测到的接触(例如,轻击)。在图8CG中,细节区域837包括用于设置接近/碰撞触发器的阈值距离的距离设置示能表示838BBC。通过将阈值距离设置为大于零的数字,创建接近触发器。通过将阈值距离设置为零,创建碰撞触发器。细节区域837包括用于启用或禁用接近/碰撞触发器的体积触发器设置的体积触发器设置示能表示838BBD。当启用体积触发器设置时,当呈现对应于项目的CGR应用程序并且在被限定为次要目标的CGR对象(或多个CGR对象中的任一者)的中心(或其他空间操纵点)的阈值距离(也由触发器限定)内检测到由触发器限定为主要目标的CGR对象(或多个CGR对象中的任一者)的网格的任何点时,执行行为的一个或多个动作。当禁用体积触发器设置时,当呈现对应于项目的CGR应用程序并且在被限定为次要目标的CGR对象(或多个CGR对象中的任一者)的中心(或其他空间操纵点)的阈值距离(也由触发器限定)内检测到由触发器限定为主要目标的CGR对象(或多个CGR对象中的任一者)的中心(或其他空间操纵点)时,执行行为的一个或多个动作。
细节区域837包括用于将接近/碰撞触发器保存到第二行为(或保存对接近/碰撞触发器的改变)的保存示能表示838BBE以及用于撤除接近/碰撞触发器(或撤除对接近/碰撞触发器的改变)的撤除示能表示838BBF。
图8CH示出了指向距离设置示能表示838BBC的用户输入899CA。在各种实施方案中,用户输入899CA对应于在距离设置示能表示838BBC的表示的位置处检测到的接触(例如,轻击)。
图8CI示出了响应于检测到指向距离设置示能表示838BBC的用户输入899CA(以及可能地,用于将距离设置设置为零的附加用户输入)的CGR文件构成用户界面801。在图8CI中,距离设置示能表示838BBC指示距离设置已被设置为零。
图8CI示出了指向保存示能表示838BBE的用户输入899CB。在各种实施方案中,用户输入899CB对应于在保存示能表示838BBE的位置处检测到的接触(例如,轻击)。作为响应,第二行为与碰撞触发器相关联,使得当呈现对应于项目的CGR应用程序并且在杯子CGR对象的中心的位置处检测到球体CGR对象的网格的任何点时,执行第二行为的一个或多个动作。
图8CJ示出了响应于检测到指向保存示能表示838BBE的用户输入899CB的CGR文件构成用户界面801。在图8CJ中,新触发器示能表示833A(和接近/碰撞触发器示能表示833D)以第一方式进行显示,指示细节区域837包括用于改变行为的设置的多个行为设置示能表示836A至836C。
图8CJ示出了指向新动作示能表示835A的用户输入899CC。在各种实施方案中,用户输入899CC对应于在新动作示能表示835A的表示的位置处检测到的接触(例如,轻击)。
图8CK示出了响应于检测到指向新动作示能表示835A的用户输入899CC的CGR文件构成用户界面801。在图8CK中,新动作示能表示835A以第二方式进行显示,以指示细节区域837包括用于为行为创建新动作的示能表示。
例如,在图8CK中,细节区域837包括移动动作示能表示839A、音频动作示能表示839B、场景改变动作示能表示839C以及用于创建其他类型的动作的其他动作示能表示839D。
图8CK示出了指向音频动作示能表示839B的用户输入899CD。在各种实施方案中,用户输入899CD对应于在音频动作示能表示839B的位置处检测到的接触(例如,轻击)。
图8CL示出了响应于检测到指向音频动作示能表示839B的用户输入899CD的CGR文件构成用户界面801。在图8CK中,新动作示能表示835A以第一方式进行显示,并且动作区域835包括以第二方式进行显示的音频动作示能表示835C,以指示细节区域837包括用于创建音频动作的示能表示。
例如,细节区域837包括用于创建环境音频动作的环境音频动作示能表示839BA,使得当呈现对应于项目的CGR应用程序并且检测到行为的触发器时,全向地播放音频文件。细节区域837包括用于创建定向音频动作的定向音频动作示能表示839BB,使得当呈现对应于项目的CGR应用程序并且检测到行为的触发器时,从CGR环境中的特定点播放音频文件。细节区域837包括用于创建其他类型的音频动作的其他音频动作示能表示839BC。
图8CL示出了指向环境音频动作示能表示839BB的用户输入899CE。在各种实施方案中,用户输入899CK对应于在环境音频动作示能表示839BB的位置处检测到的接触(例如,轻击)。
图8CM示出了响应于检测到指向环境音频动作示能表示839BA的用户输入899CE的CGR文件构成用户界面801。在图8CM中,细节区域837包括用于设置要播放的音频文件的音频文件设置示能表示839BAA以及用于设置要播放的音频文件的音量的音量设置示能表示839BAB。细节区域837包括用于将环境音频动作保存到第二行为(或保存对环境音频动作的改变)的保存示能表示839BAC以及用于撤除环境音频动作(或撤除对环境音频动作的改变)的撤除示能表示839BAD。
图8CM示出了指向保存示能表示839BAC的用户输入899CF。在各种实施方案中,用户输入899CF对应于在保存示能表示839BAC的位置处检测到的接触(例如,轻击)。
图8CN示出了响应于检测到指向保存示能表示839BAC的用户输入899CF的CGR文件构成用户界面801。在图8CN中,新动作示能表示835A和音频动作示能表示835C以第一方式进行显示,指示细节区域837包括用于改变行为的设置的多个行为设置示能表示836A至836C。
图8CN示出了指向新动作示能表示835A的用户输入899CG。在各种实施方案中,用户输入899CG对应于在新动作示能表示835A的位置处检测到的接触(例如,轻击)。
图8CO示出了响应于检测到指向新动作示能表示835A的用户输入899CG的CGR文件构成用户界面801。在图8CO中,新动作示能表示835A以第二方式进行显示,以指示细节区域837包括用于为行为创建新动作的示能表示。
例如,在图8CO中,细节区域837包括移动动作示能表示839A、音频动作示能表示839B、场景改变动作示能表示839C以及用于创建其他类型的动作的其他动作示能表示839D。
图8CO示出了指向移动动作示能表示839A的用户输入899CH。在各种实施方案中,用户输入899CH对应于在移动动作示能表示839A的位置处检测到的接触(例如,轻击)。
图8CP示出了响应于检测到指向移动动作示能表示839A的用户输入899CH的CGR文件构成用户界面801。在图8CP中,新动作示能表示835A以第一方式进行显示,并且动作区域835包括以第二方式进行显示的移动动作示能表示835D,以指示细节区域837包括用于创建移动动作的示能表示。
例如,在图8CP中,细节区域837包括移入动作示能表示839AA、移开动作示能表示839AB、自旋动作示能表示839AC以及用于创建其他类型的移动动作的其他移动动作示能表示839AD。
图8CP示出了指向自旋动作示能表示839AC的用户输入899CI。在各种实施方案中,用户输入899CI对应于在自旋动作示能表示839CI的位置处检测到的接触(例如,轻击)。
图8CQ示出了响应于检测到指向移动动作示能表示839AC的用户输入899CI的CGR文件构成用户界面801。在图8CQ中,细节区域837包括用于设置CGR对象自旋的速度的自旋速度设置示能表示839ACA、用于设置CGR对象自旋的时间的自旋时间设置示能表示839ACB以及用于设置CGR对象绕着其自旋的轴线的自旋轴线设置示能表示839ACC。细节区域837包括用于将自旋动作保存到第二行为(或保存对自旋动作的改变)的保存示能表示839ACD以及用于撤除自旋动作(或撤除对自旋动作的改变)的撤除示能表示839ACE。
在图8CQ中,将球体CGR对象831DC的表示加亮,指示球体CGR对象是在动作期间自旋的CGR对象。通过将用户输入引导到其他CGR对象的表示,可改变在动作期间自旋的CGR对象。
图8CQ示出了指向保存示能表示839ACD的用户输入899CJ。在各种实施方案中,用户输入899CJ对应于在保存示能表示839ACD的位置处检测到的接触(例如,轻击)。
图8CR示出了响应于检测到指向保存示能表示839ACD的用户输入899CJ的CGR文件构成用户界面801。在图8CR中,新动作示能表示835A和移动动作示能表示835D以第一方式进行显示,指示细节区域837包括用于改变行为的设置的多个行为设置示能表示836A至836C。
图8CR示出了指向新动作示能表示835A的用户输入899CK。在各种实施方案中,用户输入899CK对应于在新动作示能表示835A的位置处检测到的接触(例如,轻击)。
图8CS示出了响应于检测到指向新动作示能表示835A的用户输入899CK的CGR文件构成用户界面801。在图8CS中,新动作示能表示835A以第二方式进行显示,以指示细节区域837包括用于为行为创建新动作的示能表示。
例如,在图8CS中,细节区域837包括移动动作示能表示839A、音频动作示能表示839B、场景改变动作示能表示839C以及用于创建其他类型的动作的其他动作示能表示839D。
图8CS示出了指向场景改变动作示能表示839C的用户输入899CL。在各种实施方案中,用户输入899CL对应于在场景改变动作示能表示839C的位置处检测到的接触(例如,轻击)。
图8CT示出了响应于检测到指向场景改变动作示能表示839C的用户输入899CL的CGR文件构成用户界面801。在图8CT中,新动作示能表示835A以第一方式进行显示,并且动作区域835包括以第二方式进行显示的场景改变动作示能表示835E,以指示细节区域837包括用于创建场景改变动作的示能表示。
例如,在图8CT中,细节区域837包括用于将CGR设置为要改变的目标场景设置示能表示839CA。细节区域837包括用于将场景改变动作保存到第二行为(或保存对场景改变动作的改变)的保存示能表示839CB以及用于撤除场景改变动作(或撤除对场景改变动作的改变)的撤除示能表示839CC。
图8CT示出了指向保存示能表示839CB的用户输入899CM。在各种实施方案中,用户输入899CM对应于在保存示能表示839CB的位置处检测到的接触(例如,轻击)。
图8CU示出了响应于检测到指向保存示能表示839CB的用户输入899CM的CGR文件构成用户界面801。在图8CU中,新动作示能表示835A和场景改变动作示能表示835E以第一方式进行显示,指示细节区域837包括用于改变行为的设置的多个行为设置示能表示836A至836C。
当呈现对应于项目的CGR应用程序并且检测到行为的触发器时,按在动作区域835中显示的顺序执行行为的每个动作。因此,对于如图8CU所示的第二行为,当检测到接近/碰撞触发器时,设备100播放音频文件,然后,一旦音频文件已完成,就使球体CGR对象自旋,然后,一旦由自旋时间设置限定的自旋时间已过去,就改变CGR场景。然而,如下所述,可对行为的动作重新排序和分组以改变动作的定时。
图8CU示出了指向移动动作示能表示835D的用户输入899CN。在各种实施方案中,用户输入899CN对应于起始位置在移动动作示能表示835D的位置处并且结束位置在音频动作示能表示835C左侧的所检测到的移动接触(例如,拖动或触摸并拖动)。
图8CV示出了响应于检测到指向移动动作示能表示835D的用户输入899CN的CGR文件构成用户界面801。在动作区域835内,对动作示能表示进行重新排序,使得移动动作示能表示835D在音频动作示能表示835C的左侧。因此,对于如图8CV所示的第二行为,当检测到接近/碰撞触发器时,设备100使球体CGR对象自旋,然后,一旦由自旋时间设置限定的自旋时间已过去,就播放音频文件,然后,一旦音频文件已完成,就改变CGR场景。
图8CV示出了指向音频动作示能表示835C的用户输入899CO。在各种实施方案中,用户输入899CO对应于起始位置在音频动作示能表示835C的位置处并且结束位置在移动动作示能表示835D的位置处的所检测到的移动接触(例如,拖动或触摸并拖动)。
图8CW示出了响应于检测到指向音频动作示能表示835C的用户输入899CO的CGR文件构成用户界面801。
在动作区域835内,用表示音频动作示能表示835C和移动动作示能表示835D的分组动作示能表示835X来替换音频动作示能表示835C和移动动作示能表示835D。因此,对于如图8CW所示的第二行为,当检测到接近/碰撞触发器时,设备100同时使球体CGR对象自旋并播放音频文件,然后,一旦由自旋时间设置限定的自旋时间已过去并且音频文件已完成,设备100就改变CGR场景。
图8CW示出了指向确定示能表示831E的用户输入899CP。在各种实施方案中,用户输入899CP对应于在确定示能表示831E的位置处检测到的接触(例如,轻击)。
图8CX示出了响应于检测到指向确定示能表示831E的用户输入899CP的CGR文件构成用户界面801。在图8CX中,将行为编辑器用户界面831撤除,并且将第二行为示能表示803CB(具有由第二行为指示的颜色)显示在行为区域803C中。
在图8CX中,第二行为被选择,如以所选方式(例如,具有比以例如第一行为示能表示803CA的未选方式更厚的边界)显示的第二行为示能表示803CB所指示的。因为选择了第二行为,所以视图区域803E中的第二CGR场景的表示使用第一高亮(例如,辉光)指示与第一行为的触发器相关联的CGR对象并且使用第二高亮(例如,对角散列)指示与第一行为的动作相关联的CGR对象。因此,球体CGR对象806D的表示和杯子CGR对象806B的表示均以第一高亮进行显示(因为与杯子CGR对象的中心碰撞的球体CGR对象是第二行为的触发器)。此外,球体CGR对象806D的表示也以第二高亮进行显示(因为使球体CGR对象自旋是第二行为的动作)。视图区域803E还包括离屏动作指示符803EC,该离屏动作指示符指示该行为包括具有未显示的目标的一个或多个动作(例如,离屏CGR对象或未显示的元素,诸如音频文件播放和场景改变)。
图8CX示出了指向预览示能表示803AD的用户输入899CQ。在各种实施方案中,用户输入899CQ对应于在预览示能表示803AD的位置处检测到的接触(例如,轻击)。
图8CY示出了响应于检测到指向预览示能表示803AD的用户输入899CQ的CGR文件构成用户界面801。在图8CY中,CGR文件构成用户界面801包括预览用户界面802D。预览用户界面802D包括预览显示区域802DB内的桌子802DBA的表示。
图8CZ示出了响应于设备100检测到场景相机图像的一部分(例如,桌子802DBA的表示)包括水平面的CGR文件构成用户界面801,该水平面是第二CGR场景的锚。在图8CZ中,预览显示区域802DB包括被显示为锚定到桌子802DBA的表示的第二CGR场景(包括杯子CGR对象840A、碟CGR对象840B和球体CGR对象840C)。
图8DA示出了响应于将物理环境内的设备100移动得更靠近桌子的CGR文件构成用户界面801。在图8DA中,预览显示区域802DB包括第二CGR场景的表示(包括杯子CGR对象840A、碟CGR对象840B和球体CGR对象840C)以及被显示得更大的桌子802DBA的表示。
图8DB示出了响应于将桌子周围物理环境内的设备100移动到桌子的一侧的CGR文件构成用户界面801。在图8L中,设备100的视角已改变(使得从不同视角看到桌子802DBA的表示),并且用于渲染第二CGR场景的虚拟相机的视角类似地改变。因此,杯子CGR对象840A、碟CGR对象840B和球体CGR对象840C被显示在预览显示区域802DB中的不同位置处。
图8DC示出了响应于在第一时间量之后检测到用户吹气的CGR文件构成用户界面801。因为吹气是第一行为的触发器,所以设备100执行第一行为的动作,从而向前移动球体CGR对象840C。因此,在图8DC中,在预览显示区域802DB内,将球体CGR对象840C移动并显示为更靠近杯子CGR对象840A和碟CGR对象840B。
图8DD示出了响应于在第二时间量之后检测到用户吹气的CGR文件构成用户界面801。在图8DC中,球体CGR对象840C甚至进一步向前移动(并且在预览显示区域802DB中显示)到球体CGR对象840C的网格与杯子CGR对象840A的中心相交的点。
图8DE示出了响应于检测到球体CGR对象840C与杯子CGR对象840A的中心相交的CGR文件构成用户界面801。因为球体CGR对象840C与杯子CGR对象840A的中心相交是第二行为的触发器,所以设备100以其限定顺序执行第二行为的动作。因此,在图8DE中,在音频文件播放时,球体CGR对象840C在杯子CGR对象840A内自旋一段自旋时间。
图8DF示出了响应于自旋时间过去和音频文件播放完成的CGR文件构成用户界面801。在图8DF中,因为第二行为包括场景改变动作,所以用在预览显示区域802DB中显示的锚定到桌子802DBA的表示的第三CGR场景840D来替换第二CGR场景。
在各种实施方案中,CGR文件构成用户界面801包括用于将项目保存为项目文件的示能表示,该项目文件可由CGR文件构成应用程序读取,该CGR文件构成应用程序由设备100执行并且经由如上所述CGR文件构成用户界面801呈现。
在各种实施方案中,CGR文件构成用户界面801包括用于将项目编译为CGR文件的示能表示,该CGR文件可由CGR呈现应用程序读取,该CGR呈现应用程序由设备100或另一设备(诸如电子设备520A或HMD)执行。
在各种实施方案中,CGR文件包括XML(可扩展标记语言)或JSON(JavaScript对象表示法)文件,该文件描述CGR内容并且引用也包括在CGR文件中的各种数据结构(例如,显示网格、物理网格、纹理、图像、音频等)。
图9是根据一些实施方案的使用备份锚呈现CGR场景的方法900的流程图表示。在各种实施方案中,方法900由具有一个或多个处理器、非暂态存储器、场景相机、显示器和一个或多个输入设备(例如,图1A的便携式多功能设备100或HMD)的设备执行。在一些实施方案中,方法900由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些实施方案中,方法900由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法900在框910处开始,其中设备经由一个或多个输入设备接收用于呈现包括一个或多个计算机生成现实(CGR)对象的CGR场景的用户输入,其中CGR场景与第一锚和第二锚相关联。例如,在图8H中,设备100检测指向预览示能表示803AD的用户输入899H,以呈现包括钻石CGR对象的第一CGR场景,其中第一CGR场景与锚图像的初级锚(如初级锚示能表示803DBA所指示的)和水平面的次级锚(如次级锚示能表示803DBC所指示的)相关联。
在各种实施方案中,第一锚是锚图像,并且第二锚是水平面或竖直面。在各种实施方案中,CGR场景通过选择图像文件来与锚图像相关联。在各种实施方案中,CGR场景通过使用相机捕获锚图像来与锚图像相关联。
在各种实施方案中,第一锚是桌面或地板,并且第二锚是水平面。
方法900在框920处继续,其中设备使用相机捕获物理环境的图像。例如,在图8I中,设备100显示预览显示区域802DB,该预览显示区域包括由物理环境的设备100拍摄的场景相机图像。
方法900在框930处继续,其中设备确定物理环境的图像缺少对应于第一锚的一部分。例如,在图8L中,预览显示区域802DB包括场景相机图像,该场景相机图像缺少对应于第一CGR场景的初级锚的一部分,例如,方块A的图像。
方法900在框940处继续,其中设备检测物理环境的图像的对应于第二锚的一部分。例如,在图8L中,预览显示区域802DB包括场景相机图像,该场景相机图像包括对应于第一CGR场景的次级锚的一部分,例如,水平面,诸如桌子802DBA的表示。
方法900在框950处继续,其中设备响应于确定物理环境的图像缺少对应于第一锚的一部分并且检测到物理环境的图像的对应于第二锚的一部分,而在显示器上显示处于显示器的对应于第二锚的位置处的CGR场景。例如,在图8M中,预览显示区域802DB包括在桌子802DBA的表示的位置处显示的第一CGR场景(包括钻石CGR对象802DBD)。
在各种实施方案中,显示处于显示器的对应于第二锚的位置处的CGR场景包括:显示物理环境的图像以及在物理环境的图像的对应于第二锚的一部分处显示CGR场景。
在各种实施方案中,显示处于显示器的对应于第二锚的位置处的CGR场景包括:在用户可看到第二锚的光学透过显示器(例如,透明显示器)的位置处显示CGR场景。
在各种实施方案中,显示处于显示器的对应于第二锚的位置处的CGR场景包括:显示锚定到第二锚的CGR场景。在各种实施方案中,其中响应于相机的视角的变化,CGR场景的显示相应地在显示器上改变。例如,在图8DA和图8DB中,第二CGR场景被显示为锚定到桌子的顶部,并且响应于设备100的移动,第二CGR场景的显示相应地改变。
在各种实施方案中,物理环境的图像的一部分对应于物理对象,并且响应于物理对象的移动,CGR场景的显示在显示器上相应地移动。例如,在图8J和图8K中,第一CGR场景被显示为锚定到方块A纸牌802DBB的表示,并且响应于方块A纸牌的移动,第一CGR场景(包括钻石CGR对象)的显示在显示器上相应地移动。
在各种实施方案中,显示处于显示器的对应于第二锚的位置处的CGR场景是响应于确定在阈值时间量内拍摄的物理环境的多个图像各自缺少对应于第一锚的一部分而执行的。例如,在图8M中,响应于检测到场景相机图像的一部分中的水平面的表示,并且在各种实施方案中,响应于在至少阈值时间量(例如,3秒)内未能检测到场景相机图像的与锚图像匹配的一部分,而显示第一CGR场景。
在各种实施方案中,CGR场景与第三锚相关联,并且确定物理环境的图像缺少对应于第一锚的一部分是响应于确定物理环境的图像缺少对应于第三锚的一部分而执行的。例如,图8F示出了用于限定三级锚的三级锚示能表示803DBD。在针对CGR场景限定了三级锚的各种实施方案中,初级锚对应于方法900的第三锚,次级锚对应于方法900的第一锚,并且三级锚对应于方法900的第二锚。在没有针对CGR场景限定三级锚的各种实施方案中,初级锚对应于方法900的第一锚,并且次级锚对应于方法900的第二锚。
图10是根据一些实施方案的配置CGR对象的方法1000的流程图表示。在各种实施方案中,方法1000由具有一个或多个处理器、非暂态存储器、显示器和一个或多个输入设备(例如,图1A的便携式多功能设备100或HMD)的设备执行。在一些实施方案中,方法1000由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些实施方案中,方法1000由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法1000在框1010处开始,其中设备在显示器上显示与第一参数和第二参数相关联的计算机生成现实(CGR)对象的表示,其中第一参数具有多个第一参数值中的第一个参数值并且第二参数具有多个第二参数值中的第一个参数值。例如,在图8X中,设备100显示当前选择的CGR对象808DA的表示,例如杯子CGR对象,其中杯子CGR对象与第一参数(例如,样式)和第二参数(例如,图案)相关联。第一参数具有多个第一参数值中的第一个参数值(例如,样式栏808E中列出的那些参数值中的“马克杯”值)和多个第二参数值中的第一个参数值(例如,图案栏808F中列出的那些参数值中的“白色”值)。
方法1000在框1020中继续,其中设备在显示器上显示第一用户界面元素以用于选择多个第一参数值中的第二个参数值。例如,在图8X中,设备100显示样式栏808E,该样式栏包括多个样式示能表示808EA至808ED以用于改变样式栏808E的当前选择的样式。
方法1000在框1030中继续,其中设备在显示器上显示第二用户界面元素以用于选择多个第二参数值中的第二个参数值,其中基于多个第一参数值中的第一个参数值以及一个或多个选择规则,呈现多个第二参数值的子集以经由第二用户界面元素进行选择。例如,在图8X中,设备100显示图案栏808F,该图案栏包括多个图案示能表示808FA至808FD以用于改变图案栏808F的当前选择的图案。在图8X中,马克杯样式是样式栏808E的当前选择的样式,并且白色图案是图案栏808F的当前选择的图案。基于当前选择的样式是马克杯样式,呈现图案示能表示808FA至808FD的子集以供选择。具体地讲,呈现星形示能表示808FC和常春藤示能表示808FD以供选择,如第二显示样式所指示,而不呈现玻璃示能表示808FB以供选择,因为其变灰色。
在各种实施方案中,第二用户界面元素包括对应于多个第二参数的子集的一组可选示能表示和对应于多个第二参数中的其他参数的一组不可选示能表示。例如,在图8X中,图案栏808F包括一组可选示能表示(例如,星形示能表示808FC和常春藤示能表示808FD)和一组不可选示能表示(例如,玻璃示能表示808FB)。
在各种实施方案中,该组可选示能表示以第一方式进行显示,并且该组不可选示能表示以不同于第一方式的第二方式进行显示。例如,在图8X中,星形示能表示808FC和常春藤示能表示808FD以白色进行显示,而玻璃示能表示808FB以灰色进行显示。
在各种实施方案中,方法1000还包括:经由一个或多个输入设备接收选择多个第一参数值中的第二个参数值的用户输入,以及更新第二用户界面元素的显示,其中基于多个第一参数值中的第二个参数值以及一个或多个选择规则,呈现多个第二参数的第二子集以经由第二用户界面元素进行选择。例如,在图8X中,设备100检测指向浓缩咖啡示能表示808EC的用户输入899T。此外,在图8Y中,设备100显示图案栏808F,其中玻璃示能表示808FB可供选择,并且星形示能表示808FC和常春藤示能表示808FD不可供选择。
在各种实施方案中,方法1000还包括更新CGR对象的表示的显示。例如,在图8Y中,设备100显示具有不同形状(例如,作为浓缩咖啡杯而不是马克杯)的当前选择的CGR对象808A的表示,例如杯子CGR对象。
在各种实施方案中,方法1000包括接收将CGR对象的第一参数更新为多个第一参数值中的第二个参数值的用户输入。例如,在图8AA中,设备100检测指向确定示能表示808G的用户输入899W,从而将杯子CGR对象的样式参数从“马克杯”值更新为“茶杯”值,如图8AB所示。
在各种实施方案中,方法1000还包括在显示器上显示多个视图示能表示,该多个视图示能表示包括对象视图示能表示和CGR视图示能表示,该对象视图示能表示用于进入对象视图模式,在该对象视图模式中指向CGR对象的用户输入改变CGR对象的表示的显示的视角,该CGR视图示能表示用于进入CGR视图模式,在该CGR视图模式中显示器的移动改变CGR对象的表示的显示的视角。例如,在图8X中,设备100显示对象视图示能表示808A和CGR视图示能表示808B。
在各种实施方案中,CGR对象还与第三参数相关联,其中第三参数具有多个第三参数值中的第一个参数值,还包括在显示器上显示第三用户界面元素以用于选择多个第三参数值中的第二个参数值,其中基于多个第一参数值中的第一个参数值、多个第二参数值中的第一个参数值以及一个或多个选择规则,呈现多个第三参数值的子集以经由第三用户界面元素进行选择。
图11是根据一些实施方案的解决两个CGR对象的重叠的方法1100的流程图表示。在各种实施方案中,方法1100由具有一个或多个处理器、非暂态存储器、显示器和一个或多个输入设备(例如,图1A的便携式多功能设备100或HMD)的设备执行。在一些实施方案中,方法1100由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些实施方案中,方法1100由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法1100在框1110处开始,其中设备在显示器上显示CGR场景的表示,包括显示CGR场景的多个CGR对象的相应表示。例如,在图8AF中,设备100显示第二CGR场景的表示,包括显示碟CGR对象806B的表示和杯子CGR对象806C的表示。
方法1100在框1120处继续,其中设备确定多个CGR对象中的两个CGR对象在CGR场景中重叠。在各种实施方案中,确定多个CGR对象中的两个CGR对象在CGR场景中重叠是周期性地执行的。在各种实施方案中,确定多个CGR对象中的两个CGR对象在CGR场景中重叠是响应于在空间上操纵多个CGR对象中的一个CGR对象的用户输入而执行的。例如,在图8AF中,与图8AD相比,响应于指向杯子CGR对象806C的表示的用户输入899Z,而改变杯子CGR对象的位置(例如,移动杯子CGR对象)。在各种实施方案中,确定多个CGR对象中的两个CGR对象在CGR场景中重叠是响应于请求重叠检查的用户输入而执行的。
方法1100在框1130处继续,其中设备在显示器上与多个CGR对象中的两个CGR对象的至少一个相应表示相关联地显示表明多个CGR对象中的两个CGR对象在CGR场景中重叠的指示符。例如,在图8AF中,设备100显示第一重叠指示符809A和第二重叠指示符809B,该第一重叠指示符呈耦接到杯子CGR对象806C的表示的通知气泡的形式,该第二重叠指示符呈覆盖在杯子CGR对象806C的表示和碟CGR对象806B的表示上方的阴影、发光、画影线或其他高亮的形式。
在各种实施方案中,重叠指示与多个CGR对象中的两个CGR对象的相应表示两者相关联地进行显示。例如,在图8AF中,第二重叠指示符809B被显示在杯子CGR对象806C的表示和碟CGR对象806B的表示两者上方。
在各种实施方案中,重叠指示与多个CGR对象中的两个CGR对象在CGR场景中重叠的位置相关联地进行显示。例如,在图8AF中,第二重叠指示符809B被显示在杯子CGR对象806C的表示和碟CGR对象806B的表示重叠的位置上方。
在各种实施方案中,重叠指示包括在多个CGR对象中的两个CGR对象的至少一个相应表示上方显示的高亮。例如,在图8AF中,第二重叠指示符809B被显示在杯子CGR对象806C的表示和碟CGR对象806B的表示两者上方。
在各种实施方案中,重叠指示包括邻近多个CGR对象中的两个CGR对象的至少一个相应表示显示的通知用户元素。例如,在图8AF中,设备100以通知气泡的形式显示第一重叠指示符809A,该通知气泡邻近并且耦接到杯子CGR对象806C的表示。
在各种实施方案中,方法1100还包括经由一个或多个输入设备接收指向重叠指示的用户输入。例如,在图8AF中,设备100检测指向第一重叠指示符809A的用户输入899AA。方法1100还包括响应于接收到指向重叠指示的用户输入,而显示忽略示能表示。例如,在图8AG中,设备100显示忽略示能表示810D。方法1100还包括经由一个或多个输入设备接收指向忽略示能表示的用户输入,以及响应于接收到指向忽略示能表示的用户输入而停止重叠指示的显示。
在各种实施方案中,方法1100还包括经由一个或多个输入设备接收指向重叠指示的用户输入。例如,在图8AF中,设备100检测指向第一重叠指示符809A的用户输入899AA。方法1100还包括响应于接收到指向重叠指示的用户输入,而显示修复示能表示。例如,在图8AB中,设备100显示修复示能表示810E。方法1100还包括经由一个或多个输入设备接收指向修复示能表示的用户输入。例如,在图8AG中,设备100检测指向修复示能表示810E的用户输入899AB。方法1100还包括响应于接收到指向修复示能表示的用户输入,而改变多个CGR对象中的两个CGR对象中的至少一个CGR对象的位置,使得多个CGR对象中的两个CGR对象在CGR场景中不重叠。例如,在图8AH中,杯子CGR对象的位置改变(如杯子CGR对象806C的表示的不同位置所指示),使得杯子CGR对象和碟CGR对象不再重叠。
图12是根据一些实施方案的以不同空间操纵模式在空间上操纵CGR对象的方法1200的流程图表示。在各种实施方案中,方法1200由具有一个或多个处理器、非暂态存储器、显示器和一个或多个输入设备(例如,图1A的便携式多功能设备100或HMD)的设备执行。在一些实施方案中,方法1200由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些实施方案中,方法1200由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法1200在框1210处开始,其中设备在显示器上显示CGR场景的表示,包括显示CGR场景的一个或多个CGR对象的相应表示。例如,在图8U中,设备100显示第二CGR场景的表示,包括显示碟CGR对象806B的表示和杯子CGR对象806C的表示。
方法1200在框1220处继续,其中设备经由一个或多个输入设备接收指向一个或多个CGR对象的特定表示的用户输入。例如,在图8U中,设备100检测指向杯子CGR对象806C的表示的用户输入899Q。
方法1200在框1230处继续,其中设备响应于接收到指向一个或多个CGR对象的特定表示的用户输入,而提供与对应CGR对象的第一组保形空间操纵相关联的第一操纵模式。在各种实施方案中,方法1200包括响应于接收到指向一个或多个CGR对象的特定表示的用户输入,而显示与对应CGR对象相关联的第一类型的对象选择指示符。例如,在图8V中,设备100响应于用户输入899Q而显示围绕杯子CGR对象806C的表示的第一类型的对象选择指示符807。
例如,当选择CGR对象(并且显示第一类型的对象选择指示符807)时,指向CGR对象的表示的不同类型的用户输入导致CGR对象的空间属性的不同变化。例如,在图8AB和图8AC中,指向杯子CGR对象806C的表示的第一类型的用户输入899X(例如,捏合)改变杯子CGR对象的大小。作为另一个示例,在图8AC和图8AD中,指向杯子CGR对象806C的表示的第二类型的用户输入899Y(例如,旋转)改变绕着杯子CGR对象的z轴线的取向。作为另一个示例,在图8AD和图8AF中,指向杯子CGR对象806C的表示的第三类型的用户输入899Z(例如,拖动)改变杯子CGR对象的xy平面中的位置。
方法1200在框1240中继续,其中设备经由一个或多个输入设备接收从第一操纵模式切换到与对应CGR对象的第二组保形空间操纵相关联的第二操纵模式的用户输入。例如,在图8AH中,设备100检测指向杯子CGR对象806C的表示的用户输入899AB,从而将第一类型的对象选择指示符807改变为第二类型的对象选择指示符817(如图8AI所示)。
在各种实施方案中,指向一个或多个CGR对象的特定表示的用户输入和从第一操纵模式切换到第二操纵模式的用户输入是相同类型的用户输入。在各种实施方案中,该相同类型的用户输入是在一个或多个CGR对象的特定表示的位置处的轻击。例如,在图8U和图8AH中,用户输入899Q和899AB均是在杯子CGR对象806C的表示的位置处的轻击。
方法1200在框1250中继续,其中设备响应于接收到从第一操纵模式切换到第二操纵模式的用户输入,而提供第二操纵模式。在各种实施方案中,方法1200包括响应于接收到从第一操纵模式切换到第二操纵模式的用户输入,而显示与对应CGR对象相关联的第二类型的对象选择指示符。例如,当选择CGR对象(并且显示第二类型的对象选择指示符807)时,指向第二类型的对象选择器的不同部分的用户输入导致CGR对象的空间属性的不同变化。例如,在图8AI和图8AJ中,指向第三旋转示能表示817F的用户输入899AD使杯子CGR对象绕着第三轴线旋转。作为另一个示例,在图8AJ和图8AK中,指向第一平移示能表示817A的用户输入899AE使杯子CGR对象沿着杯子CGR对象的z轴线移动。
在各种实施方案中,其中对应CGR对象的第二组保形空间操纵包括对应CGR对象的第一组保形空间操纵中的至少一个保形空间操纵。在各种实施方案中,对应CGR对象的第二组保形空间操纵包括对应CGR对象的第一组保形空间操纵中的全部保形空间操纵。在各种实施方案中,对应CGR对象的第一组保形空间操纵包括对应CGR对象在平面中的平移,而不包括对应CGR对象垂直于该平面的平移,其中对应CGR对象的第二组保形空间操纵包括对应CGR对象垂直于平面的平移。在各种实施方案中,对应CGR对象的第一组保形空间操纵包括对应CGR对象绕着轴线的旋转,而不包括对应CGR对象绕着其他轴线的平移,其中对应CGR对象的第二组保形空间操纵包括对应CGR对象绕着其他轴线的平移。在各种实施方案中,对应CGR对象的第一组保形空间操纵包括改变对应CGR对象的大小。
图13是根据一些实施方案的使用直观空间操纵点在空间上操纵CGR对象的方法1300的流程图表示。在各种实施方案中,方法1300由具有一个或多个处理器、非暂态存储器、显示器和一个或多个输入设备(例如,图1A的便携式多功能设备100或HMD)的设备执行。在一些实施方案中,方法1300由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些实施方案中,方法1300由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法1300在框1310中开始,其中设备在显示器上显示计算机生成现实(CGR)场景的表示,包括显示CGR场景的一个或多个CGR对象的相应表示。例如,在图8AC中,设备100显示第二CGR场景的表示,包括显示碟CGR对象806B的表示和杯子CGR对象806B的表示。
方法1300在框1310中继续,其中设备经由一个或多个输入设备接收在空间上操纵一个或多个CGR对象中的特定CGR对象的用户输入,其中该特定CGR对象与直观空间操纵点相关联。例如,在图8AC中,设备100接收指向杯子CGR对象806C的表示的用户输入899Y以使杯子CGR对象旋转。作为另一个示例,在图8AD中,设备100接收指向杯子CGR对象806C的表示的用户输入899Z以使杯子CGR对象移动。如图8AE1和图8AE2所示,在各种实施方案中,杯子CGR对象与直观空间操纵点885相关联。
在各种实施方案中,直观空间操纵点既不是特定CGR对象的边缘、围绕特定CGR对象的边界框的中点,也不是特定CGR对象的未加权质心。例如,在图8AE1和图8AE2中,直观空间操纵点885不同于第一空间操纵点883、围绕杯子CGR对象880的边界框882的中点,并且不同于第二空间操纵点884、杯子CGR对象880的未加权质心。
在各种实施方案中,直观空间操纵点与限定特定CGR对象的CGR对象文件一起被存储。在各种实施方案中,方法1300包括经由一个或多个输入设备接收限定直观空间操纵点的用户输入。
在各种实施方案中,方法1300包括在接收到在空间上操纵特定CGR对象的用户输入之前,确定直观空间操纵点。例如,在各种实施方案中,确定直观空间操纵点包括:确定特定CGR对象的多个节段,以及基于特定CGR对象的多个节段的权重来确定直观空间操纵点。例如,在图8AE1和图8AE2中,直观空间操纵点885被确定为忽略底座881B和手柄881C的杯子CGR对象880的质心。
方法1300在框1330中继续,其中设备基于用户输入和直观空间操纵点来改变特定CGR对象的空间属性。在各种实施方案中,基于用户输入和直观空间操纵点来改变特定CGR对象的空间属性包括:使特定CGR对象绕着穿过直观空间操纵点的轴线旋转。例如,在图8AD中,杯子CGR对象806C的表示绕着穿过直观空间操纵点的z轴线旋转。在各种实施方案中,基于用户输入和直观空间操纵点来改变特定CGR对象的空间属性包括:使特定CGR对象移动,其中直观空间操纵与目标点对齐。在各种实施方案中,基于用户输入和直观空间操纵点来改变特定CGR对象的空间属性包括:使特定CGR对象移动,其中直观空间操纵点咬合到目标点。例如,在图8AF中,杯子CGR对象806C的表示被移动、咬合到并且与碟CGR对象806B的表示的中心(以及与碟CGR对象806B的表示的中心对齐的网格点)对齐。
图14是根据一些实施方案的配置CGR对象的方法1400的流程图表示。在各种实施方案中,方法1400由具有一个或多个处理器、非暂态存储器、显示器和一个或多个输入设备(例如,图1A的便携式多功能设备100或HMD)的设备执行。在一些实施方案中,方法1400由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些实施方案中,方法1400由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法1400在框1410处开始,其中设备在显示器上显示CGR场景的表示,包括显示CGR场景的一个或多个CGR对象的相应表示。例如,在图8AS中,设备100显示第二CGR场景的表示,包括显示碟CGR对象806B的表示和杯子CGR对象806C的表示。
方法1400在框1420处继续,其中设备经由一个或多个输入设备接收指向一个或多个CGR对象中的特定CGR对象的表示的用户输入,该特定CGR对象与参数相关联。例如,在图8AS中,设备100检测指向杯子CGR对象806C的表示的用户输入899AL,杯子CGR对象与样式设置和图案设置相关联。
方法1400在框1430处继续,其中设备在显示器上从第一视角显示特定CGR对象的多个表示,其中特定CGR对象的多个表示中的每个表示与参数的不同相应值相关联。例如,在图8AU中,设备100显示实时视图用户界面811,该实时视图用户界面包括多个视图窗口811DA至811DC,该多个视图窗口分别包括杯子CGR对象811EA至811EC的多个表示,每个杯子CGR对象具有不同的图案。
在各种实施方案中,方法1400还包括显示特定CGR对象的文本指示和参数。例如,在图8AU中,实时视图用户界面811包括杯子CGR对象的文本描述811C和经由实时视图用户界面811操纵的CGR对象设置(例如,图案)。
在各种实施方案中,特定CGR对象与第二参数相关联,并且方法1400还包括在从第一视角显示特定CGR对象的多个表示时,从第一视角显示特定CGR对象的第二多个表示,其中特定CGR对象的第二多个表示中的每个表示与第二参数的不同相应值相关联。
方法1400在框1440处继续,其中设备经由一个或多个输入设备接收将第一视角改变为第二视角的用户输入。在各种实施方案中,将第一视角改变为第二视角的用户输入包括指向特定CGR对象的多个表示中的任一表示的用户输入。例如,在图8AU中,设备100检测指向第一视图窗口811DA的用户输入899AN,从而改变视图窗口811DA至811DC的视角。在各种实施方案中,将第一视角改变为第二视角的用户输入包括使显示器移动。例如,在图8AU中,当CGR视图模式是活动的(例如,通过选择CGR视图示能表示811B)时,使设备100移动会改变视图窗口811DA至811DC的视角。
在各种实施方案中,方法1400包括在显示器上显示多个视图示能表示,该多个视图示能表示包括对象视图示能表示和CGR视图示能表示,该对象视图示能表示用于进入对象视图模式,在该对象视图模式中将第一视角改变为第二视角的用户输入包括指向特定CGR对象的多个表示中的任一表示的用户输入,该CGR视图示能表示用于进入CGR视图模式,在该CGR视图模式中将第一视角改变为第二视角的用户输入包括使显示器移动。例如,在图8AU中,设备100显示对象视图示能表示811A和CGR视图示能表示811B。
方法1400在框1450处继续,其中设备响应于接收到将第一视角改变为第二视角的用户输入,而在显示器上从第二视角显示特定CGR对象的多个表示。例如,在图8AV中,设备从与图8AU中不同的视角显示杯子CGR对象811EA至811EC的多个表示。
在各种实施方案中,从第一视角的显示不可见特定CGR对象的多个表示中的第一表示与特定CGR对象的多个表示中的第二表示之间的差异,并且从第二视角显示了该差异。例如,在图8AU中,在第一视角中不可见CGR杯子对象的星形图案和常春藤图案之间的差异,但是当从第二视角查看时在图8AV中显示了该差异。
在各种实施方案中,方法1400包括接收选择特定CGR对象的多个表示中的特定表示的用户输入,以及将特定CGR对象的参数设置为特定表示的参数的相应值。例如,在图8AW中,设备100检测指向第三视图窗口811DC的用户输入899AP,并且响应于检测到指向图8AX中的确定示能表示811F的用户输入899AQ,而将杯子CGR对象的图案设置设置为“常春藤”值,如图8AY中的图案示能表示813DBC所指示的。
图15是根据一些实施方案的呈现CGR场景的方法1500的流程图表示。在各种实施方案中,方法1500由具有一个或多个处理器、非暂态存储器、显示器和一个或多个输入设备(例如,图1A的便携式多功能设备100或HMD)的设备执行。在一些实施方案中,方法1500由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些实施方案中,方法1500由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法1500在框1510处开始,其中设备在显示器上显示CGR场景的表示,包括显示CGR场景的第一CGR对象的表示,其中显示第一CGR对象的表示是基于与第一CGR对象相关联的显示网格的。例如,在图8DB中,设备100显示第二CGR场景的表示,包括球体CGR对象840C的表示、碟CGR对象840B的表示和杯子CGR对象840A的表示。显示球体CGR对象840C的表示是基于由高尔夫球样式限定的显示网格的。
在各种实施方案中,显示第一CGR对象的表示还基于与第一CGR对象相关联的纹理。例如,在图8DB中,球体CGR对象840C的表示的显示是基于由白色图案限定的纹理。
方法1500在框1520处继续,其中设备基于与第一CGR对象相关联的物理网格来确定第一CGR对象与CGR场景的第二CGR对象的交互,其中与第一CGR对象相关联的物理网格不同于与第一CGR对象相关联的显示网格。在各种实施方案中,第二CGR对象对应于物理对象。例如,在图8DC中,设备100确定球体CGR对象与对应于桌子的CGR对象的交互。在各种实施方案中,第二CGR对象是虚拟对象。例如,在图8DD中,设备100确定球体CGR对象与碟CGR对象和/或杯子CGR对象的交互。在这两种情况下,基于不同于由高尔夫球样式限定的显示网格的物理网格(例如,球体网格)来确定该交互。
在各种实施方案中,物理网格包括比显示网格更少的多边形。例如,在图8DB至图8DD中,球体网格包括比高尔夫球网格更少的多边形。在各种实施方案中,物理网格比显示网格更光滑。例如,在图8DB至图8DD中,球体网格比高尔夫球网格更光滑(没有凹坑)。
在各种实施方案中,方法1500包括:在确定交互之前,接收将物理网格从第一网格改变为第二网格的用户输入,该第一网格与和第一CGR对象相关联的显示网格相同,该第二网格与和第一CGR对象相关联的显示网格不同;以及响应于接收到改变物理网格的用户输入,而将第二网格与第一CGR对象相关联作为物理网格。例如,在图8BE中,物理网格示能表示813DCA指示球体CGR对象的物理网格与显示网格相同(如样式示能表示813DBB所指示的)。响应于图8BE的用户输入899AX、图8BF的用户输入899AY以及图8BG的用户输入899AZ,将球体CGR对象的物理网格改变为球体网格,如图8BH中的物理网格示能表示813DCA所指示的。
在各种实施方案中,第一CGR对象由包括多个网格的CGR对象文件描述,该多个网格包括第一网格和第二网格。例如,在图8BF中,设备100显示设置值选择用户界面812,该设置值选择用户界面包括对应于球体CGR对象文件的网格的多个设置值选择示能表示812BA至812BC。
在各种实施方案中,方法1500包括接收用于将网格导入CGR对象文件中的用户输入,以及响应于接收到用于将网格导入CGR对象文件中的用户输入,而将第三网格导入CGR对象文件中。例如,在图8BH中,设备100显示用于将自定义网格加载到球体CGR对象文件中的加载示能表示812BC。
图16是根据一些实施方案的将行为与CGR场景相关联的方法1600的流程图表示。在各种实施方案中,方法1600由具有一个或多个处理器、非暂态存储器、显示器和一个或多个输入设备(例如,图1A的便携式多功能设备100或HMD)的设备执行。在一些实施方案中,方法1600由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些实施方案中,方法1600由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法1600在框1610中开始,其中设备在显示器上显示计算机生成现实(CGR)场景的表示,包括显示CGR场景的一个或多个CGR对象的相应表示。例如,在图8BI中,设备100显示第二CGR场景的表示,包括碟CGR对象806B的表示、杯子CGR对象806C的表示和球体CGR对象806D的表示。
方法1600在框1620处继续,其中设备经由一个或多个输入设备接收将行为添加到CGR场景的用户输入。例如,在图8BI中,设备100检测指向行为添加示能表示803AC的用户输入899BB。
方法1600在框1630处继续,其中设备经由一个或多个输入设备接收限定行为的第一触发器的用户输入。例如,指向图8BK中的新触发器示能表示833A的用户输入899BD、指向图8BL中的轻击触发器示能表示838A的用户输入899BE、指向图8BM中的球体CGR对象831DC的表示的用户输入899BF以及指向图8BN中的完成示能表示838AA的用户输入899BG限定第一行为的轻击触发器。
在各种实施方案中,第一触发器是用户动作。例如,在各种实施方案中,用户动作是用户对一个或多个CGR对象中的特定CGR对象进行的轻击、用户对该特定CGR对象的注视或用户的面部动作中的至少一者。
在各种实施方案中,第一触发器是CGR场景条件。例如,在各种实施方案中,该CGR场景条件是一个或多个CGR对象中的特定CGR对象与CGR场景中的位置(例如,另一个CGR对象的坐标或位置)的接近度或者CGR场景时间流逝(例如,在已呈现CGR场景达阈值时间量之后)中的至少一者。
方法1600在框1630中继续,其中设备经由一个或多个输入设备接收限定行为的第一动作的用户输入,其中在呈现CGR场景时,响应于检测到第一触发器而执行第一动作。例如,指向图8BR中的新动作示能表示835A的用户输入899BK、指向图8BS中的移动示能表示839A的用户输入899BL、指向图8BT中的移开动作示能表示839AB的用户输入899BM、指向图8BU中的前移动作示能表示839ABA的用户输入899BN以及指向图8BV中的保存示能表示839ABAC的用户输入899BO限定第一行为的移动动作。
在各种实施方案中,第一动作是对一个或多个CGR对象中的特定CGR对象的空间操纵、播放音频文件或呈现新CGR场景中的至少一者。
在各种实施方案中,方法1600还包括经由一个或多个输入设备接收限定行为的第二触发器的用户输入,其中在呈现CGR场景时,响应于检测到第二触发器而执行第一动作。例如,指向图8BO中的新触发器示能表示833A的用户输入899BH、指向图8BP中的面部跟踪触发器示能表示838C的用户输入899BI以及指向图8BQ中的吹气触发器示能表示838CC的用户输入899BJ限定第一行为的面部跟踪触发器。
在各种实施方案中,方法1600还包括经由一个或多个输入设备接收限定行为的第二动作的用户输入,其中在呈现CGR场景时,响应于检测到第一触发器而执行第二动作。例如,在针对第二行为限定了音频动作之后,指向图8CN中的新动作示能表示835A的用户输入899CG、指向图8CO中的移动动作示能表示839A的用户输入899CH、指向图8CP中的自旋动作示能表示839AC的用户输入899CI以及指向图8CQ中的保存示能表示839ACD的用户输入899CJ限定第二行为的移动动作。
在各种实施方案中,在第一动作的执行之后执行第二动作。例如,如图8CU中所配置的,在音频动作之后执行移动动作。在各种实施方案中,与第一动作的执行同时地执行第二动作。例如,如图8CW中所配置的,移动动作和音频动作同时地执行。
在各种实施方案中,经由一个或多个输入设备接收限定行为的第一触发器的用户输入(在框1630中)包括:接收指向一个或多个CGR对象中的第一CGR对象的表示的用户输入。例如,在图8BM中,指向球体CGR对象831DC的表示的用户输入899BF选择球体CGR对象作为轻击触发器的目标。在各种实施方案中,经由一个或多个输入设备接收限定行为的第一动作的用户输入(在框1640中)包括:接收指向一个或多个CGR对象中的第二CGR对象的表示的用户输入。例如,在图8BV中,设备100已接收指向球体CGR对象831DC的表示的用户输入,从而选择球体CGR对象作为移动动作的目标。
在各种实施方案中,方法1600还包括以第一高亮来显示第一CGR对象的表示,以及以不同于第一高亮的第二高亮来显示第二CGR对象的表示。例如,在图8BX中,第一CGR对象和第二CGR对象是相同的CGR对象,例如,球体CGR对象。因此,在图8BX中,球体CGR对象806D的表示以第一高亮(例如,辉光)和第二高亮(例如,对角散列)两者进行显示。作为另一个示例,在图8CX中,第一CGR对象是杯子CGR对象,并且第二CGR对象是球体CGR对象。因此,在图8CX中,杯子CGR对象806B的表示以第一高亮进行显示,并且球体CGR对象806D的表示以第二高亮进行显示。
图17是根据一些实施方案的创建CGR文件的方法1700的流程图表示。在各种实施方案中,方法1700由具有一个或多个处理器、非暂态存储器、显示器和一个或多个输入设备(例如,图1A的便携式多功能设备100或HMD)的设备执行。在一些实施方案中,方法1700由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些实施方案中,方法1700由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法1700在框1710中开始,其中设备经由一个或多个输入设备接收生成计算机生成现实(CGR)场景的用户输入。例如,在图8A中,设备100检测指向新项目示能表示802AA的用户输入899A。作为响应,设备100生成第一CGR场景。作为另一个示例,在图8N中,设备100检测指向场景添加示能表示803AA的用户输入899J。作为响应,设备100生成第二CGR场景。
方法1700在框1720中继续,其中设备经由一个或多个输入设备接收将锚与CGR场景相关联的用户输入。例如,在图8B中,设备100接收指向图像锚选择示能表示802BB的用户输入899B,并且作为响应,将图像锚与第一CGR场景相关联。作为另一个示例,在图8E中,设备100接收指向次级锚示能表示803DBC的用户输入899E,并且作为响应,将次级锚与第一CGR场景相关联。作为另一个示例,在图8O中,设备100接收指向水平面锚选择示能表示802BA的用户输入899K,并且作为响应,将水平面锚与第二CGR场景相关联。
在各种实施方案中,锚是锚图像。例如,在图8E中,第一CGR场景的初级锚是锚图像,例如“AofD.jpg”。在各种实施方案中,锚包括第一锚和第二锚,其中响应于确定物理环境的图像缺少对应于第一锚的一部分,而将与第二锚相关联地显示一个或多个CGR对象。例如,在图8F中,第一CGR场景与初级锚(例如,锚图像)和次级锚(例如,水平面)相关联。
方法1700在框1730中继续,其中设备经由一个或多个输入设备接收将一个或多个CGR对象与CGR场景相关联的用户输入,其中一个或多个CGR对象将与锚相关联地进行显示。例如,在图8F中,设备100检测指向对象添加示能表示803AB的用户输入899F。响应于指向图8G中的钻石添加805B的用户输入899G,设备100将钻石CGR对象与第一CGR场景相关联。
在各种实施方案中,接收将一个或多个CGR对象与CGR场景相关联的用户输入包括:经由一个或多个输入设备接收将一个或多个CGR对象与CGR场景相关联的用户输入,包括在显示器上显示与第一参数和第二参数相关联的CGR对象的表示,其中第一参数具有多个第一参数值中的第一个参数值,并且第二参数具有多个第二参数值中的第一个参数值。
例如,在图8X中,设备100显示当前选择的CGR对象808DA的表示(例如,杯子CGR对象),其中杯子CGR对象与第一参数(例如,样式)和第二参数(例如,图案)相关联。第一参数具有多个第一参数值中的第一个参数值(例如,样式栏808E中列出的那些参数值中的“马克杯”值)和多个第二参数值中的第一个参数值(例如,图案栏808F中列出的那些参数值中的“白色”值)。
接收将一个或多个CGR对象与CGR场景相关联的用户输入还包括:在显示器上显示第一用户界面元素以用于选择多个第一参数值中的第二个参数值,以及在显示器上显示第二用户界面元素以用于选择多个第二参数值中的第二个参数值,其中基于多个第一参数值中的第一个参数值以及一个或多个选择规则,呈现多个第二参数值的子集以经由第二用户界面元素进行选择。
例如,在图8X中,设备100显示样式栏808E,该样式栏包括多个样式示能表示808EA至808ED以用于改变样式栏808E的当前选择的样式。在图8X中,设备100显示图案栏808F,该图案栏包括多个图案示能表示808FA至808FD以用于改变图案栏808F的当前选择的图案。在图8X中,马克杯样式是样式栏808E的当前选择的样式,并且白色图案是图案栏808F的当前选择的图案。基于当前选择的样式是马克杯样式,呈现图案示能表示808FA至808FD的子集以供选择。具体地讲,呈现星形示能表示808FC和常春藤示能表示808FD以供选择,如第二显示样式所指示,而不呈现玻璃示能表示808FB以供选择,因为其变灰色。
在各种实施方案中,第二用户界面元素包括对应于多个第二参数的子集的一组可选示能表示和对应于多个第二参数中的其他参数的一组不可选示能表示。例如,在图8X中,图案栏808F包括一组可选示能表示(例如,星形示能表示808FC和常春藤示能表示808FD)和一组不可选示能表示(例如,玻璃示能表示808FB)。
在各种实施方案中,经由一个或多个输入设备接收将一个或多个CGR对象与CGR场景相关联的用户输入包括:在显示器上显示与CGR场景相关联的CGR对象的特定表示。例如,在图8U中,设备100显示第二CGR场景的表示,包括显示碟CGR对象806B的表示和杯子CGR对象806C的表示。
经由一个或多个输入设备接收将一个或多个CGR对象与CGR场景相关联的用户输入还包括:经由一个或多个输入设备接收指向CGR对象的特定表示的用户输入。例如,在图8U中,设备100检测指向杯子CGR对象806C的表示的用户输入899Q。
经由一个或多个输入设备接收将一个或多个CGR对象与CGR场景相关联的用户输入还包括:响应于接收到指向CGR对象的特定表示的用户输入,而提供与对应CGR对象的第一组保形空间操纵相关联的第一操纵模式。例如,在图8V中,设备100响应于用户输入899Q而显示围绕杯子CGR对象806C的表示的第一类型的对象选择指示符807。当选择CGR对象(并且显示第一类型的对象选择指示符807)时,指向CGR对象的表示的不同类型的用户输入导致CGR对象的空间属性的不同变化。例如,在图8AB和图8AC中,指向杯子CGR对象806C的表示的第一类型的用户输入899X(例如,捏合)改变杯子CGR对象的大小。作为另一个示例,在图8AC和图8AD中,指向杯子CGR对象806C的表示的第二类型的用户输入899Y(例如,旋转)改变绕着杯子CGR对象的z轴线的取向。作为另一个示例,在图8AD和图8AF中,指向杯子CGR对象806C的表示的第三类型的用户输入899Z(例如,拖动)改变杯子CGR对象的xy平面中的位置。
经由一个或多个输入设备接收将一个或多个CGR对象与CGR场景相关联的用户输入还包括:经由一个或多个输入设备接收从第一操纵模式切换到与对应CGR对象的第二组保形空间操纵相关联的第二操纵模式的用户输入。例如,在图8AH中,设备100检测指向杯子CGR对象806C的表示的用户输入899AB,从而将第一类型的对象选择指示符807改变为第二类型的对象选择指示符817(如图8AI所示)。
经由一个或多个输入设备接收将一个或多个CGR对象与CGR场景相关联的用户输入还包括:响应于接收到从第一操纵模式切换到第二操纵模式的用户输入,而提供第二操纵模式。例如,当选择CGR对象(并且显示第二类型的对象选择指示符807)时,指向第二类型的对象选择器的不同部分的用户输入导致CGR对象的空间属性的不同变化。例如,在图8AI和图8AJ中,指向第三旋转示能表示817F的用户输入899AD使杯子CGR对象绕着第三轴线旋转。作为另一个示例,在图8AJ和图8AK中,指向第一平移示能表示817A的用户输入899AE使杯子CGR对象沿着杯子CGR对象的z轴线移动。
在各种实施方案中,对应CGR对象的第一组保形空间操纵包括对应CGR对象在平面中的平移,而不包括对应CGR对象垂直于该平面的平移,其中对应CGR对象的第二组保形空间操纵包括对应CGR对象垂直于平面的平移。在各种实施方案中,对应CGR对象的第一组保形空间操纵包括对应CGR对象绕着轴线的旋转,而不包括对应CGR对象绕着其他轴线的平移,其中对应CGR对象的第二组保形空间操纵包括对应CGR对象绕着其他轴线的平移。
在各种实施方案中,经由一个或多个输入设备接收将一个或多个CGR对象与CGR场景相关联的用户输入包括:在显示器上显示与CGR场景相关联的特定CGR对象的表示。例如,在图8AC中,设备100显示第二CGR场景的表示,包括显示碟CGR对象806B的表示和杯子CGR对象806B的表示。
经由一个或多个输入设备接收将一个或多个CGR对象与CGR场景相关联的用户输入还包括:经由一个或多个输入设备接收在空间上操纵特定CGR对象的用户输入,其中特定CGR对象与空间操纵点相关联。例如,在图8AC中,设备100接收指向杯子CGR对象806C的表示的用户输入899Y以使杯子CGR对象旋转。作为另一个示例,在图8AD中,设备100接收指向杯子CGR对象806C的表示的用户输入899Z以使杯子CGR对象移动。如图8AE1和图8AE2所示,在各种实施方案中,杯子CGR对象与直观空间操纵点885相关联。
经由一个或多个输入设备接收将一个或多个CGR对象与CGR场景相关联的用户输入还包括:基于用户输入和空间操纵点来改变特定CGR对象的空间属性。在各种实施方案中,基于用户输入和直观空间操纵点来改变特定CGR对象的空间属性包括:使特定CGR对象绕着穿过直观空间操纵点的轴线旋转。例如,在图8AD中,杯子CGR对象806C的表示绕着穿过直观空间操纵点的z轴线旋转。在各种实施方案中,基于用户输入和直观空间操纵点来改变特定CGR对象的空间属性包括:使特定CGR对象移动,其中直观空间操纵与目标点对齐。在各种实施方案中,基于用户输入和直观空间操纵点来改变特定CGR对象的空间属性包括:使特定CGR对象移动,其中直观空间操纵点咬合到目标点。例如,在图8AF中,杯子CGR对象806C的表示被移动、咬合到并且与碟CGR对象806B的表示的中心(以及与碟CGR对象806B的表示的中心对齐的网格点)对齐。
在各种实施方案中,空间操纵点既不是特定CGR对象的边缘、围绕特定CGR对象的边界框的中点,也不是特定CGR对象的未加权质心。例如,在图8AE1和图8AE2中,直观空间操纵点885不同于第一空间操纵点883、围绕杯子CGR对象880的边界框882的中点,并且不同于第二空间操纵点884、杯子CGR对象880的未加权质心。
在各种实施方案中,接收将一个或多个CGR对象与CGR场景相关联的用户输入包括:在显示器上显示与CGR场景相关联的特定CGR对象的表示。例如,在图8AS中,设备100显示第二CGR场景的表示,包括显示碟CGR对象806B的表示和杯子CGR对象806C的表示。
接收将一个或多个CGR对象与CGR场景相关联的用户输入还包括:经由一个或多个输入设备接收指向特定CGR对象的表示的用户输入,该特定CGR对象与参数相关联。例如,在图8AS中,设备100检测指向杯子CGR对象806C的表示的用户输入899AL,杯子CGR对象与样式设置和图案设置相关联。
接收将一个或多个CGR对象与CGR场景相关联的用户输入还包括:在显示器上从第一视角显示特定CGR对象的多个表示,其中特定CGR对象的多个表示中的每个表示与参数的不同相应值相关联。例如,在图8AU中,设备100显示实时视图用户界面811,该实时视图用户界面包括多个视图窗口811DA至811DC,该多个视图窗口分别包括杯子CGR对象811EA至811EC的多个表示,每个杯子CGR对象具有不同的图案。
接收将一个或多个CGR对象与CGR场景相关联的用户输入还包括:经由一个或多个输入设备接收将第一视角改变为第二视角的用户输入。例如,在图8AU中,设备100检测指向第一视图窗口811DA的用户输入899AN,从而改变视图窗口811DA至811DC的视角。
接收将一个或多个CGR对象与CGR场景相关联的用户输入还包括:响应于接收到将第一视角改变为第二视角的用户输入,而在显示器上从第二视角显示特定CGR对象的多个表示。例如,在图8AV中,设备从与图8AU中不同的视角显示杯子CGR对象811EA至811EC的多个表示。
在各种实施方案中,接收将一个或多个CGR对象与CGR场景相关联的用户输入还包括:接收选择特定CGR对象的多个表示中的特定表示的用户输入;以及将特定CGR对象的参数设置为该特定表示参数的相应值。例如,在图8AW中,设备100检测指向第三视图窗口811DC的用户输入899AP,并且响应于检测到指向图8AX中的确定示能表示811F的用户输入899AQ,而将杯子CGR对象的图案设置设置为“常春藤”值,如图8AY中的图案示能表示813DBC所指示的。
在各种实施方案中,一个或多个CGR对象中的第一CGR对象与显示网格和不同于显示网格的物理网格相关联,其中第一CGR对象将基于显示网格来显示,并且第一CGR对象与一个或多个CGR对象中的第二CGR对象的交互将基于物理网格来确定。
例如,在图8DB中,设备100显示第二CGR场景的表示,包括球体CGR对象840C的表示、碟CGR对象840B的表示和杯子CGR对象840A的表示。显示球体CGR对象840C的表示是基于由高尔夫球样式限定的显示网格。在图8DC中,设备100确定球体CGR对象与对应于桌子的CGR对象的交互。在各种实施方案中,第二CGR对象是虚拟对象。在图8DD中,设备100确定球体CGR对象与碟CGR对象和/或杯子CGR对象的交互。在这两种情况下,基于不同于由高尔夫球样式限定的显示网格的物理网格(例如,球体网格)来确定该交互。
在各种实施方案中,物理网格包括比显示网格更少的多边形。
方法1700在框1740中继续,其中设备经由一个或多个输入设备接收将行为与CGR场景相关联的用户输入,其中该行为包括一个或多个触发器和一个或多个动作,并且其中将响应于检测到一个或多个触发器中的任一者来执行一个或多个动作。例如,在图8BI中,设备100检测指向行为添加示能表示803AC的用户输入899BB。
在各种实施方案中,行为包括与一个或多个CGR对象中的第一CGR对象相关联的触发器,其中行为包括与一个或多个CGR对象中的第二CGR对象相关联的动作,该方法还包括以第一高亮来显示第一CGR对象的表示以及以不同于第一高亮的第二高亮来显示第二CGR对象的表示。例如,在图8BX中,第一CGR对象和第二CGR对象是相同的CGR对象,例如,球体CGR对象。因此,在图8BX中,球体CGR对象806D的表示以第一高亮(例如,辉光)和第二高亮(例如,对角散列)两者进行显示。作为另一个示例,在图8CX中,第一CGR对象是杯子CGR对象,并且第二CGR对象是球体CGR对象。因此,在图8CX中,杯子CGR对象806B的表示以第一高亮进行显示,并且球体CGR对象806D的表示以第二高亮进行显示。
方法1700在框1750中继续,其中设备生成包括关于CGR场景的数据的CGR文件,其中CGR文件包括关于锚、一个或多个CGR对象和行为的数据。在各种实施方案中,CGR文件可由CGR应用程序读取以呈现CGR场景,使得与锚相关联地显示一个或多个CGR对象,并且响应于检测到一个或多个触发器中的任一者来执行一个或多个动作。在各种实施方案中,CGR文件是可执行文件,该可执行文件可由操作系统执行以提供呈现CGR场景的CGR应用程序,使得与锚相关联地显示一个或多个CGR对象,并且响应于检测到一个或多个触发器中的任一者来执行一个或多个动作。
在各种实施方案中,CGR文件包括XML(可扩展标记语言)或JSON(JavaScript对象表示法)文件,该文件描述关于锚、一个或多个CGR对象和行为。在各种实施方案中,CGR文件包括与锚、一个或多个CGR对象和/或行为相关联的各种数据结构(例如,显示网格、物理网格、纹理、图像、音频等)。
上述信息处理方法中的操作任选地通过运行信息处理装置中的一个或多个功能模块来实现,该信息处理装置诸如为通用处理器(例如,如相对于图1A、图3和图5A所描述的)或特定于应用的芯片。此外,以上参考图9至图17所描述的操作任选地由图1A至图1B中所描绘的部件来实现。例如,用户输入和用户界面元素任选地由事件分类器170、事件识别器180和事件处理程序190来实现。事件分类器170中的事件监视器171检测在触敏表面604上的接触,并且事件分配器模块174将事件信息递送到应用程序136-1。应用程序136-1的相应事件识别器180将事件信息与相应事件定义186进行比较,并且确定触敏表面上第一位置处的第一接触是否与预定义的事件或子事件对应,预定义的事件或子事件诸如为对用户界面上的对象的选择。当检测到相应的预定义事件或子事件时,事件识别器180激活与该事件或子事件的检测相关联的事件处理程序190。事件处理程序190任选地利用或调用数据更新器176或对象更新器177来更新应用程序内部状态192。在一些实施方案中,事件处理程序190访问相应GUI更新器178来更新应用程序所显示的内容。类似地,本领域的技术人员会清楚地知道基于在图1A-图1B中所描绘的部件可如何实现其他过程。
出于解释的目的,前面的描述是通过参考具体实施方案来描述的。然而,上面的例示性论述并非旨在是穷尽的或将本发明限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择和描述实施方案是为了最佳地阐明本发明的原理及其实际应用,以便由此使得本领域的其他技术人员能够最佳地使用具有适合于所构想的特定用途的各种修改的本发明以及各种所描述的实施方案。
第一实施方案是一种方法,该方法包括:经由一个或多个输入设备接收用于呈现包括一个或多个计算机生成现实(CGR)对象的CGR场景的用户输入,其中该CGR场景与第一锚和第二锚相关联;使用相机来捕获物理环境的图像;确定物理环境的图像缺少对应于第一锚的一部分;检测物理环境的图像的对应于第二锚的一部分;以及响应于确定物理环境的图像缺少对应于第一锚的一部分并且检测到物理环境的图像的对应于第二锚的一部分,而在显示器上显示处于显示器的对应于第二锚的位置处的CGR场景。
第二实施方案是基本上类似于第一实施方案的方法,其中显示处于显示器的对应于第二锚的位置处的CGR场景包括:显示锚定到第二锚的CGR场景。
第三实施方案是基本上类似于第一实施方案或第二实施方案的方法,其中响应于相机的视角的变化,CGR场景的显示在显示器上相应地改变。
第四实施方案是基本上类似于第一实施方案至第三实施方案中任一项的方法,其中物理环境的图像的一部分对应于物理对象,并且响应于物理对象的移动,CGR场景的显示在显示器上相应地移动。
第五实施方案是基本上类似于第一实施方案至第四实施方案中任一项的方法,其中显示处于显示器的对应于第二锚的位置处的CGR场景是响应于确定在阈值时间量内拍摄的物理环境的多个图像各自缺少对应于第一锚的一部分而执行的。
第六实施方案是基本上类似于第一实施方案至第五实施方案中任一项的方法,其中第一锚是锚图像,并且第二锚是水平面或竖直面。
第七实施方案是基本上类似于第六实施方案的方法,其中CGR场景通过选择图像文件来与锚图像相关联。
第八实施方案是基本上类似于第六实施方案的方法,其中CGR场景通过使用相机捕获锚图像来与锚图像相关联。
第九实施方案是基本上类似于第一实施方案至第五实施方案中任一项的方法,其中第一锚是桌面或地板,并且第二锚是水平面。
第十实施方案是基本上类似于第一实施方案至第九实施方案中任一项的方法,其中CGR场景与第三锚相关联,并且确定物理环境的图像缺少对应于第一锚的一部分是响应于确定物理环境的图像缺少对应于第三锚的一部分而执行的。
另一个第一实施方案是一种方法,该方法包括:在显示器上显示与第一参数和第二参数相关联的计算机生成现实(CGR)对象的表示,其中第一参数具有多个第一参数值中的第一个参数值并且第二参数具有多个第二参数值中的第一个参数值;在显示器上显示第一用户界面元素以用于选择多个第一参数值中的第二个参数值;以及在显示器上显示第二用户界面元素以用于选择多个第二参数值中的第二个参数值,其中基于多个第一参数值中的第一个参数值以及一个或多个选择规则,呈现多个第二参数值的子集以经由第二用户界面元素进行选择。
第二实施方案是基本上类似于第一实施方案的方法,其中第二用户界面元素包括对应于多个第二参数的子集的一组可选示能表示和对应于多个第二参数中的其他参数的一组不可选示能表示。
第三实施方案是基本上类似于第二实施方案的方法,其中该组可选示能表示以第一方式进行显示,并且该组不可选示能表示以不同于第一方式的第二方式进行显示。
第四实施方案是基本上类似于第一实施方案至第三实施方案中任一项的方法,该方法还包括:经由一个或多个输入设备接收选择多个第一参数值中的第二个参数值的用户输入;以及更新第二用户界面元素的显示,其中基于多个第一参数值中的第二个参数值以及一个或多个选择规则,呈现多个第二参数的第二子集以经由第二用户界面元素进行选择。
第五实施方案是基本上类似于第四实施方案的方法,该方法还包括更新CGR对象的表示的显示。
第六实施方案是基本上类似于第四实施方案或第五实施方案的方法,该方法还包括接收将CGR对象的第一参数更新为多个第一参数值中的第二个参数值的用户输入。
第七实施方案是基本上类似于第一实施方案至第六实施方案中任一项的方法,该方法还包括在显示器上显示多个视图示能表示,该多个视图示能表示包括对象视图示能表示和CGR视图示能表示,该对象视图示能表示用于进入对象视图模式,在该对象视图模式中指向CGR对象的用户输入改变CGR对象的表示的显示的视角,该CGR视图示能表示用于进入CGR视图模式,在该CGR视图模式中显示器的移动改变CGR对象的表示的显示的视角。
第八实施方案是基本上类似于第一实施方案至第七实施方案中任一项的方法,其中CGR对象还与第三参数相关联,其中第三参数具有多个第三参数值中的第一个参数值,还包括在显示器上显示第三用户界面元素以用于选择多个第三参数值中的第二个参数值,其中基于多个第一参数值中的第一个参数值、多个第二参数值中的第一个参数值以及一个或多个选择规则,呈现多个第三参数值的子集以经由第三用户界面元素进行选择。
另一个第一实施方案是一种方法,该方法包括:在显示器上显示CGR场景的表示,包括显示CGR场景的第一CGR对象的表示,其中显示第一CGR对象的表示是基于与第一CGR对象相关联的显示网格;以及基于与第一CGR对象相关联的物理网格来确定第一CGR对象与CGR场景的第二CGR对象的交互,其中与第一CGR对象相关联的物理网格不同于与第一CGR对象相关联的显示网格。
第二实施方案是基本上类似于第一实施方案的方法,其中显示第一CGR对象的表示还基于与第一CGR对象相关联的纹理。
第三实施方案是基本上类似于第一实施方案或第二实施方案的方法,其中物理网格包括比显示网格更少的多边形。
第四实施方案是基本上类似于第一实施方案至第三实施方案中任一项的方法,其中物理网格比显示网格更光滑。
第五实施方案是基本上类似于第一实施方案至第四实施方案中任一项的方法,其中第二CGR对象对应于物理对象。
第六实施方案是基本上类似于第一实施方案至第五实施方案中任一项的方法,其中第二CGR对象是虚拟对象。
第七实施方案是基本上类似于第一实施方案至第六实施方案中任一项的方法,该方法还包括:在确定交互之前,接收将物理网格从第一网格改变为第二网格的用户输入,该第一网格与和第一CGR对象相关联的显示网格相同,该第二网格与和第一CGR对象相关联的显示网格不同;以及响应于接收到改变物理网格的用户输入,而将第二网格与第一CGR对象相关联作为物理网格。
第八实施方案是基本上类似于第七实施方案的方法,其中第一CGR对象由包括多个网格的CGR对象文件描述,该多个网格包括第一网格和第二网格。
第九实施方案是基本上类似于第八实施方案的方法,该方法还包括:接收用于将网格导入CGR对象文件中的用户输入;以及响应于接收到用于将网格导入CGR对象文件中的用户输入,而将第三网格导入CGR对象文件中。
Claims (20)
1.一种方法,所述方法包括:
经由一个或多个输入设备接收用于呈现包括一个或多个计算机生成现实(CGR)对象的CGR场景的用户输入,其中所述CGR场景与第一锚和第二锚相关联;
使用相机来捕获物理环境的图像;
确定所述物理环境的所述图像缺少对应于所述第一锚的一部分;
检测所述物理环境的所述图像的对应于所述第二锚的一部分;以及
响应于确定所述物理环境的所述图像缺少对应于所述第一锚的一部分并且检测到所述物理环境的所述图像的对应于所述第二锚的一部分,而在显示器上显示处于所述显示器的对应于所述第二锚的位置处的所述CGR场景。
2.根据权利要求1所述的方法,其中显示处于所述显示器的对应于所述第二锚的所述位置处的所述CGR场景包括:显示锚定到所述第二锚的所述CGR场景。
3.根据权利要求1至2中任一项所述的方法,其中响应于所述相机的视角的变化,所述CGR场景的显示在所述显示器上相应地改变。
4.根据权利要求1至3中任一项所述的方法,其中所述物理环境的所述图像的所述部分对应于物理对象,并且响应于所述物理对象的移动,所述CGR场景的显示在所述显示器上相应地移动。
5.根据权利要求1至4中任一项所述的方法,其中显示处于所述显示器的对应于所述第二锚的所述位置处的所述CGR场景是响应于确定在阈值时间量内拍摄的所述物理环境的多个图像各自缺少对应于所述第一锚的一部分而执行的。
6.根据权利要求1至5中任一项所述的方法,其中所述第一锚是锚图像,并且所述第二锚是水平面或竖直面。
7.根据权利要求6所述的方法,其中所述CGR场景通过选择图像文件来与所述锚图像相关联。
8.根据权利要求6所述的方法,其中所述CGR场景通过使用所述相机捕获所述锚图像来与所述锚图像相关联。
9.根据权利要求1至8中任一项所述的方法,其中所述第一锚是桌面或地板,并且所述第二锚是水平面。
10.根据权利要求1至9中任一项所述的方法,其中所述CGR场景与第三锚相关联,并且确定所述物理环境的所述图像缺少对应于所述第一锚的一部分是响应于确定所述物理环境的所述图像缺少对应于所述第三锚的一部分而执行的。
11.一种电子设备,所述电子设备包括:
相机;
显示器;
一个或多个输入设备;
非暂态存储器;和
一个或多个处理器,所述一个或多个处理器用于:
经由所述一个或多个输入设备接收用于呈现包括一个或多个计算机生成现实(CGR)对象的CGR场景的用户输入,其中所述CGR场景与第一锚和第二锚相关联;
使用所述相机来捕获物理环境的图像;
确定所述物理环境的所述图像缺少对应于所述第一锚的一部分;
检测所述物理环境的所述图像的对应于所述第二锚的一部分;以及
响应于确定所述物理环境的所述图像缺少对应于所述第一锚的一部分并且检测到所述物理环境的所述图像的对应于所述第二锚的一部分,而在所述显示器上显示处于所述显示器的对应于所述第二锚的位置处的所述CGR场景。
12.根据权利要求11所述的电子设备,其中响应于所述相机的视角的变化,所述一个或多个处理器进一步相应地改变所述CGR场景在所述显示器上的显示。
13.根据权利要求11至12中任一项所述的电子设备,其中所述物理环境的所述图像的所述部分对应于物理对象,并且响应于所述物理对象的移动,所述一个或多个处理器进一步使所述CGR场景在所述显示器上的显示相应地移动。
14.根据权利要求11至13中任一项所述的电子设备,其中所述一个或多个处理器用于响应于确定在阈值时间量内拍摄的所述物理环境的多个图像各自缺少对应于所述第一锚的一部分而显示处于所述显示器的对应于所述第二锚的所述位置处的所述CGR场景。
15.根据权利要求11至14中任一项所述的电子设备,其中所述第一锚是锚图像,并且所述第二锚是水平面或竖直面。
16.根据权利要求11至15中任一项所述的电子设备,其中所述第一锚是桌面或地板,并且所述第二锚是水平面。
17.一种非暂态计算机可读介质,所述非暂态计算机可读介质上编码有指令,所述指令在由包括相机、显示器、一个或多个输入设备和一个或多个处理器的电子设备执行时,使得所述电子设备:
经由所述一个或多个输入设备接收用于呈现包括一个或多个计算机生成现实(CGR)对象的CGR场景的用户输入,其中所述CGR场景与第一锚和第二锚相关联;
使用所述相机来捕获物理环境的图像;
确定所述物理环境的所述图像缺少对应于所述第一锚的一部分;
检测所述物理环境的所述图像的对应于所述第二锚的一部分;以及
响应于确定所述物理环境的所述图像缺少对应于所述第一锚的一部分并且检测到所述物理环境的所述图像的对应于所述第二锚的一部分,而在所述显示器上显示处于所述显示器的对应于所述第二锚的位置处的所述CGR场景。
18.根据权利要求17所述的非暂态计算机可读介质,其中所述物理环境的所述图像的所述部分对应于物理对象,并且其中所述指令在由所述电子设备执行时,使得所述电子设备响应于所述物理对象的移动而使所述CGR场景在所述显示器上的显示相应地移动。
19.根据权利要求17至18中任一项所述的非暂态计算机可读介质,其中所述指令在由所述电子设备执行时,使得所述设备响应于确定在阈值时间量内拍摄的所述物理环境的多个图像各自缺少对应于所述第一锚的一部分而显示处于所述显示器的对应于所述第二锚的所述位置处的所述CGR场景。
20.根据权利要求17至19中任一项所述的非暂态计算机可读介质,其中所述第一锚是锚图像,并且所述第二锚是水平面或竖直面。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201916403858A | 2019-05-06 | 2019-05-06 | |
US16/403,858 | 2019-05-06 | ||
PCT/US2020/027183 WO2020226832A1 (en) | 2019-05-06 | 2020-04-08 | Device, method, and computer-readable medium for presenting computer-generated reality files |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113508361A true CN113508361A (zh) | 2021-10-15 |
Family
ID=70476462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080017663.8A Pending CN113508361A (zh) | 2019-05-06 | 2020-04-08 | 用于呈现计算机生成现实文件的设备、方法和计算机可读介质 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11250604B2 (zh) |
CN (1) | CN113508361A (zh) |
DE (1) | DE112020002268T5 (zh) |
WO (1) | WO2020226832A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113508361A (zh) * | 2019-05-06 | 2021-10-15 | 苹果公司 | 用于呈现计算机生成现实文件的设备、方法和计算机可读介质 |
US11176755B1 (en) | 2020-08-31 | 2021-11-16 | Facebook Technologies, Llc | Artificial reality augments and surfaces |
US11227445B1 (en) | 2020-08-31 | 2022-01-18 | Facebook Technologies, Llc | Artificial reality augments and surfaces |
US11113893B1 (en) | 2020-11-17 | 2021-09-07 | Facebook Technologies, Llc | Artificial reality environment with glints displayed by an extra reality device |
US11409405B1 (en) * | 2020-12-22 | 2022-08-09 | Facebook Technologies, Llc | Augment orchestration in an artificial reality environment |
US11762952B2 (en) | 2021-06-28 | 2023-09-19 | Meta Platforms Technologies, Llc | Artificial reality application lifecycle |
US11874959B2 (en) * | 2021-09-15 | 2024-01-16 | Sony Interactive Entertainment Inc. | Dynamic notification surfacing in virtual or augmented reality scenes |
US11798247B2 (en) | 2021-10-27 | 2023-10-24 | Meta Platforms Technologies, Llc | Virtual object structures and interrelationships |
US11748944B2 (en) | 2021-10-27 | 2023-09-05 | Meta Platforms Technologies, Llc | Virtual object structures and interrelationships |
US11947862B1 (en) | 2022-12-30 | 2024-04-02 | Meta Platforms Technologies, Llc | Streaming native application content to artificial reality devices |
Family Cites Families (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6317144B1 (en) * | 1998-11-30 | 2001-11-13 | Sun Microsystems, Inc. | Method and apparatus for navigating displayed elements |
CN1993688B (zh) * | 2004-08-03 | 2012-01-18 | 西尔弗布鲁克研究有限公司 | 走近启动的打印 |
DE102005009437A1 (de) | 2005-03-02 | 2006-09-07 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Einblenden von AR-Objekten |
US9526587B2 (en) | 2008-12-31 | 2016-12-27 | Intuitive Surgical Operations, Inc. | Fiducial marker design and detection for locating surgical instrument in images |
WO2010029553A1 (en) | 2008-09-11 | 2010-03-18 | Netanel Hagbi | Method and system for compositing an augmented reality scene |
MX2012010238A (es) * | 2010-03-05 | 2013-01-18 | Sony Comp Entertainment Us | Mantenimiento de vistas multiples en un espacio virtual estable compartido. |
US10332176B2 (en) * | 2014-08-28 | 2019-06-25 | Ebay Inc. | Methods and systems for virtual fitting rooms or hybrid stores |
KR101329882B1 (ko) | 2010-08-12 | 2013-11-15 | 주식회사 팬택 | Ar 정보창 표시를 위한 사용자 장치 및 그 방법 |
EP3654147A1 (en) | 2011-03-29 | 2020-05-20 | QUALCOMM Incorporated | System for the rendering of shared digital interfaces relative to each user's point of view |
US8872852B2 (en) | 2011-06-30 | 2014-10-28 | International Business Machines Corporation | Positional context determination with multi marker confidence ranking |
US9443353B2 (en) * | 2011-12-01 | 2016-09-13 | Qualcomm Incorporated | Methods and systems for capturing and moving 3D models and true-scale metadata of real world objects |
WO2013119221A1 (en) | 2012-02-08 | 2013-08-15 | Intel Corporation | Augmented reality creation using a real scene |
CN103472909B (zh) | 2012-04-10 | 2017-04-12 | 微软技术许可有限责任公司 | 用于头戴式、增强现实显示器的逼真遮挡 |
US9214137B2 (en) | 2012-06-18 | 2015-12-15 | Xerox Corporation | Methods and systems for realistic rendering of digital objects in augmented reality |
US20140267411A1 (en) | 2013-03-15 | 2014-09-18 | Elwha Llc | Indicating observation or visibility patterns in augmented reality systems |
US9158431B2 (en) | 2013-05-29 | 2015-10-13 | Intergraph Corporation | Apparatus and method for manipulating the orientation of an object on a display device |
US10139623B2 (en) | 2013-06-18 | 2018-11-27 | Microsoft Technology Licensing, Llc | Virtual object orientation and visualization |
US9911235B2 (en) | 2014-11-14 | 2018-03-06 | Qualcomm Incorporated | Spatial interaction in augmented reality |
US9778814B2 (en) | 2014-12-19 | 2017-10-03 | Microsoft Technology Licensing, Llc | Assisted object placement in a three-dimensional visualization system |
US10740971B2 (en) | 2015-01-20 | 2020-08-11 | Microsoft Technology Licensing, Llc | Augmented reality field of view object follower |
US9643314B2 (en) | 2015-03-04 | 2017-05-09 | The Johns Hopkins University | Robot control, training and collaboration in an immersive virtual reality environment |
AU2016250773A1 (en) | 2015-04-23 | 2017-10-12 | Hasbro, Inc. | Context-aware digital play |
US9520002B1 (en) * | 2015-06-24 | 2016-12-13 | Microsoft Technology Licensing, Llc | Virtual place-located anchor |
US10176642B2 (en) * | 2015-07-17 | 2019-01-08 | Bao Tran | Systems and methods for computer assisted operation |
WO2017139509A1 (en) | 2016-02-12 | 2017-08-17 | Purdue Research Foundation | Manipulating 3d virtual objects using hand-held controllers |
US10373381B2 (en) * | 2016-03-30 | 2019-08-06 | Microsoft Technology Licensing, Llc | Virtual object manipulation within physical environment |
WO2017201162A1 (en) * | 2016-05-17 | 2017-11-23 | Google Llc | Virtual/augmented reality input device |
US10338392B2 (en) | 2016-06-13 | 2019-07-02 | Microsoft Technology Licensing, Llc | Identification of augmented reality image display position |
US20180095450A1 (en) | 2016-09-30 | 2018-04-05 | Velo3D, Inc. | Three-dimensional objects and their formation |
US10593116B2 (en) * | 2016-10-24 | 2020-03-17 | Snap Inc. | Augmented reality object manipulation |
US20210311723A1 (en) * | 2017-01-26 | 2021-10-07 | Nice Ltd. | Method and system for providing image-based interoperability with an application |
US10360736B2 (en) * | 2017-03-15 | 2019-07-23 | Facebook, Inc. | Visual editor for designing augmented-reality effects |
US10466953B2 (en) | 2017-03-30 | 2019-11-05 | Microsoft Technology Licensing, Llc | Sharing neighboring map data across devices |
US10249095B2 (en) * | 2017-04-07 | 2019-04-02 | Microsoft Technology Licensing, Llc | Context-based discovery of applications |
IL270002B2 (en) | 2017-04-19 | 2023-11-01 | Magic Leap Inc | Multimodal task execution and text editing for a wearable system |
US10871934B2 (en) | 2017-05-04 | 2020-12-22 | Microsoft Technology Licensing, Llc | Virtual content displayed with shared anchor |
US20180350145A1 (en) * | 2017-05-30 | 2018-12-06 | Reston Restoration | Augmented Reality Devices and Methods Thereof for Rendering Virtual Objects |
DE112018002775T5 (de) * | 2017-06-02 | 2020-02-20 | Apple Inc. | Verfahren und vorrichtung zum erfassen von ebenen und/oder quadtrees zur verwendung als ein virtuelles substrat |
WO2018237172A1 (en) | 2017-06-21 | 2018-12-27 | Quantum Interface, Llc | SYSTEMS, APPARATUSES, INTERFACES AND METHODS FOR VIRTUAL CONTROL CONSTRUCTIONS, OCULAR MOTION OBJECT CONTROL DEVICES, AND VIRTUAL TRAINING |
US10504297B2 (en) * | 2017-07-14 | 2019-12-10 | Glu Mobile Inc. | Systems and methods for competitive scene completion in an application |
US10943399B2 (en) | 2017-08-28 | 2021-03-09 | Microsoft Technology Licensing, Llc | Systems and methods of physics layer prioritization in virtual environments |
US10489951B2 (en) | 2017-09-29 | 2019-11-26 | Qualcomm Incorporated | Display of a live scene and auxiliary object |
US10685456B2 (en) | 2017-10-12 | 2020-06-16 | Microsoft Technology Licensing, Llc | Peer to peer remote localization for devices |
US20190114037A1 (en) * | 2017-10-17 | 2019-04-18 | Blend Systems, Inc. | Systems and methods for distributing customized avatars responsive to events |
US10600205B2 (en) | 2018-01-08 | 2020-03-24 | Htc Corporation | Anchor recognition in reality system |
EP3756079A4 (en) * | 2018-02-22 | 2021-04-28 | Magic Leap, Inc. | OBJECT GENERATION WITH PHYSICAL MANIPULATION |
CN108510597A (zh) * | 2018-03-09 | 2018-09-07 | 北京小米移动软件有限公司 | 虚拟场景的编辑方法、装置及非临时性计算机可读存储介质 |
US10944957B2 (en) | 2018-03-22 | 2021-03-09 | Microsoft Technology Licensing, Llc | Active stereo matching for depth applications |
US10475196B2 (en) | 2018-03-22 | 2019-11-12 | Microsoft Technology Licensing, Llc | Hybrid depth detection and movement detection |
US20210056762A1 (en) * | 2018-03-23 | 2021-02-25 | Hoverlay, Inc. | Design and generation of augmented reality experiences for structured distribution of content based on location-based triggers |
US10672159B2 (en) | 2018-04-02 | 2020-06-02 | Microsoft Technology Licensing, Llc | Anchor graph |
GB2572786B (en) * | 2018-04-10 | 2022-03-09 | Advanced Risc Mach Ltd | Image processing for augmented reality |
US10937249B2 (en) * | 2018-05-07 | 2021-03-02 | Google Llc | Systems and methods for anchoring virtual objects to physical locations |
US10579230B2 (en) | 2018-06-21 | 2020-03-03 | Google Llc | Digital supplement association and retrieval for visual search |
US20200082576A1 (en) * | 2018-09-11 | 2020-03-12 | Apple Inc. | Method, Device, and System for Delivering Recommendations |
US20200111256A1 (en) * | 2018-10-08 | 2020-04-09 | Microsoft Technology Licensing, Llc | Real-world anchor in a virtual-reality environment |
US10776954B2 (en) * | 2018-10-08 | 2020-09-15 | Microsoft Technology Licensing, Llc | Real-world anchor in a virtual-reality environment |
US11367250B2 (en) * | 2019-03-18 | 2022-06-21 | Geomagical Labs, Inc. | Virtual interaction with three-dimensional indoor room imagery |
EP3942394A1 (en) * | 2019-05-06 | 2022-01-26 | Apple Inc. | Device, method, and graphical user interface for composing cgr files |
CN113508361A (zh) * | 2019-05-06 | 2021-10-15 | 苹果公司 | 用于呈现计算机生成现实文件的设备、方法和计算机可读介质 |
US11055585B2 (en) * | 2019-09-26 | 2021-07-06 | Vintra, Inc. | Object detection based on object relation |
US11080879B1 (en) * | 2020-02-03 | 2021-08-03 | Apple Inc. | Systems, methods, and graphical user interfaces for annotating, measuring, and modeling environments |
US11521361B1 (en) * | 2021-07-01 | 2022-12-06 | Meta Platforms Technologies, Llc | Environment model with surfaces and per-surface volumes |
-
2020
- 2020-04-08 CN CN202080017663.8A patent/CN113508361A/zh active Pending
- 2020-04-08 WO PCT/US2020/027183 patent/WO2020226832A1/en active Application Filing
- 2020-04-08 DE DE112020002268.4T patent/DE112020002268T5/de active Pending
- 2020-06-03 US US16/892,010 patent/US11250604B2/en active Active
-
2022
- 2022-01-05 US US17/569,438 patent/US20220130089A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
DE112020002268T5 (de) | 2022-02-10 |
US20220130089A1 (en) | 2022-04-28 |
WO2020226832A1 (en) | 2020-11-12 |
US20200357155A1 (en) | 2020-11-12 |
US11250604B2 (en) | 2022-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11722764B2 (en) | Creative camera | |
EP4300430A2 (en) | Device, method, and graphical user interface for composing cgr files | |
CN113508361A (zh) | 用于呈现计算机生成现实文件的设备、方法和计算机可读介质 | |
US10375313B1 (en) | Creative camera | |
KR102270766B1 (ko) | 크리에이티브 카메라 | |
US11941764B2 (en) | Systems, methods, and graphical user interfaces for adding effects in augmented reality environments | |
US11782571B2 (en) | Device, method, and graphical user interface for manipulating 3D objects on a 2D screen | |
US11393164B2 (en) | Device, method, and graphical user interface for generating CGR objects | |
KR102400085B1 (ko) | 크리에이티브 카메라 | |
US20230401798A1 (en) | Accessible mixed reality applications | |
JP7285291B2 (ja) | クリエイティブカメラ | |
AU2021201295B2 (en) | Creative camera | |
CN117501316A (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 |