Devices, methods, and graphical user interfaces for improving accessibility of interactions with three-dimensional environments
By using technical means such as amplification area, rays, cursor selection, gesture detection, etc. in computer systems, the discomfort problem of virtual/accelerated reality environment interaction methods for damaged users in the existing technology is solved, and more efficient human-machine interface and power savings are achieved.
Patent Information
- Application Number
- CN202380060051.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-08-14
- Filing Date
- 2023-08-15
- Publication Date
- 2025-04-08
AI Technical Summary
In the prior art, methods and interfaces for interacting with virtual/augmented reality environments are troublesome, inefficient and limited to users with visual, hearing, cognitive and/or motion impaired, resulting in users facing a huge cognitive burden during the interaction and consuming excessive time and energy.
By implementing technical means such as amplification area, rays and cursor use, gesture detection and hierarchical structure-level navigation in computer systems, a more efficient human-machine interface is provided, reducing the number, degree and nature of user input, and improving power savings of battery-driven devices.
This enables more efficient virtual/augmented reality environment interaction methods for users with visual and/or motion impairment, reduces the cognitive burden of users, saves time and energy during the interaction, and extends battery life in battery-powered devices.
Smart Images

Figure CN119790364A_ABST
Abstract
Description
[0001] Related patent applications
[0002] This patent application is a continuation of U.S. patent application No. 18 / 233,841 filed on August 14, 2023, which claims priority to U.S. Provisional Patent Application No. 63 / 470,782 filed on June 2, 2023, U.S. Provisional Patent Application No. 63 / 409,620 filed on September 23, 2022, and U.S. Provisional Patent Application No. 63 / 398,509 filed on August 16, 2022. Technical Field
[0003] The present disclosure generally relates to computer systems providing computer-generated experiences in communication with display generation components and one or more input devices, including but not limited to electronic devices providing virtual reality and mixed reality experiences via a display. Background Art
[0004] In recent years, the development of computer systems for augmented reality has increased significantly. Example augmented reality environments include at least some virtual elements that replace or augment the physical world. Input devices (such as cameras, controllers, joysticks, touch-sensitive surfaces, and touch screen displays) for computer systems and other electronic computing devices are used to interact with virtual / augmented reality environments. Example virtual elements include virtual objects such as digital images, videos, text, icons, and control elements (such as buttons and other graphics). Summary of the invention
[0005] Some methods and interfaces for interacting with environments (e.g., applications, augmented reality environments, mixed reality environments, and virtual reality environments) that include at least some virtual elements are cumbersome, inefficient, and limited, especially for users with visual, motor, hearing, learning, and / or cognitive impairments. For example, systems that provide inadequate adaptation for users with visual impairments, systems that provide inadequate adaptation for users with hearing impairments, systems that provide inadequate adaptation for users with motor impairments, and systems in which the manipulation of virtual objects is complex, cumbersome, and prone to errors place a huge cognitive burden on the user and detract from the experience of the virtual / augmented reality environment. In addition, these methods take longer than necessary, thereby wasting the energy of the computer system. This latter consideration is particularly important in battery-powered devices.
[0006] Therefore, there is a need for a computer system having improved methods and interfaces for providing computer-generated experiences to users with visual, hearing, cognitive and / or motor impairments. Such methods and interfaces optionally supplement or replace conventional methods for providing extended reality experiences to users. Such methods allow users with visual and / or motor impairments to interact with XR systems. In addition, such methods and interfaces reduce the amount, degree and / or nature of input from a user by helping the user understand the connection between the input provided and the device's response to the input, thereby forming a more efficient human-computer interface.
[0007] The above-mentioned defects and other problems associated with the user interface of the computer system are reduced or eliminated by the disclosed system. In some embodiments, the computer system is a desktop computer with an associated display. In some embodiments, the computer system is a portable device (e.g., a notebook computer, a tablet computer, or a handheld device). In some embodiments, the computer system is a personal electronic device (e.g., a wearable electronic device, such as a watch or a head-mounted device). In some embodiments, the computer system has a touch pad. In some embodiments, the computer system has one or more cameras. In some embodiments, the computer system has a touch-sensitive display (also referred to as a "touch screen" or "touch screen display"). In some embodiments, the computer system has one or more eye tracking components. In some embodiments, the computer system has one or more hand tracking components. In some embodiments, in addition to the display generation component, the computer system also has one or more output devices, which include one or more tactile output generators and / or one or more audio output devices. In some embodiments, the computer system has a graphical user interface (GUI), one or more processors, a memory, and one or more modules, a program or instruction set stored in the memory for performing multiple functions. In some embodiments, the user interacts with the GUI through contact and gestures of a stylus and / or finger on a touch-sensitive surface, movement of the user's eyes and hands in space relative to the GUI (and / or computer system) or the user's body (as captured by a camera and other mobile sensors), and / or voice input (as captured by one or more audio input devices). In some embodiments, the functions performed by interaction optionally include image editing, drawing, presentations, word processing, spreadsheet creation, playing games, making and receiving calls, video conferencing, sending and receiving emails, instant messaging, testing support, digital photography, digital video recording, web browsing, digital music playback, note-taking, and / or digital video playback. Executable instructions for performing these functions are optionally included in a transient and / or non-transient computer-readable storage medium or other computer program product configured for execution by one or more processors.
[0008] There is a need for electronic devices having improved methods and interfaces that enable physically and / or cognitively impaired users to interact with a three-dimensional environment. Such methods and interfaces may supplement or replace conventional methods for interacting with a three-dimensional environment. Such methods and interfaces reduce the amount, extent, and / or nature of input from a user and produce a more efficient human-computer interface. For battery-powered computing devices, such methods and interfaces save power and increase the time interval between battery charges.
[0009] According to some embodiments, a method is performed at a computer system that communicates with a display generation component and one or more input devices. The method includes: when a view of a three-dimensional environment is visible via the display generation component, wherein the view of the three-dimensional environment includes one or more real objects and virtual content, displaying a magnified area on at least a portion of the view of the three-dimensional environment, the magnified area including an enlarged version of a first portion of the three-dimensional environment, the first portion of the three-dimensional environment including one or more real objects and virtual content. The method includes: detecting a request to enlarge a second portion of the three-dimensional environment; and displaying an enlarged version of the second portion of the three-dimensional environment in the magnified area in response to detecting the request to enlarge the second portion of the three-dimensional environment. The second portion of the three-dimensional environment is different from the first portion of the three-dimensional environment, and the second portion of the three-dimensional environment includes one or more real objects and virtual content.
[0010] According to some embodiments, a method is performed at a computer system that communicates with a display generation component and one or more input devices. The method includes: when a view of a three-dimensional environment is visible via the display generation component, receiving one or more first user inputs from a user, the one or more first user inputs corresponding to a selection of a corresponding direction relative to a reference point associated with the user in the three-dimensional environment. The method includes: displaying a ray extending in a corresponding direction away from a reference point in the three-dimensional environment in the three-dimensional environment via the display generation component; and when displaying the ray, displaying a selection cursor that moves along the ray independently of the user input. The method includes: when the selection cursor is at a corresponding position along the ray, receiving one or more second user inputs corresponding to a request to stop the movement of the selection cursor along the ray. The method includes: in response to receiving the one or more second user inputs corresponding to the request to stop the movement of the selection cursor, setting the target position for the next user interaction to a position in the three-dimensional environment corresponding to the corresponding position of the selection cursor along the ray.
[0011] According to some embodiments, a method is performed at a computer system that communicates with a display generation component and one or more input devices. The method includes: when a view of a three-dimensional environment is visible via the display generation component, displaying a user interface of a first application associated with the computer system superimposed on the view of the three-dimensional environment. The method includes: when displaying the user interface of the first application superimposed on the view of the three-dimensional environment, detecting a gesture performed with a first hand, wherein the gesture satisfies a first gesture standard. The method includes: in response to detecting a gesture that satisfies the first gesture standard: performing a first operation in the first application based on determining that a second hand different from the first hand has a first configuration; and performing a second operation outside the first application based on determining that the second hand has a second configuration different from the first configuration.
[0012] According to some embodiments, a method is performed at a computer system in communication with a display generation component and one or more input devices. The method includes: when a view of a three-dimensional environment is visible via the display generation component, displaying a user interface of a first application superimposed on the view of the three-dimensional environment, including displaying multiple elements in the user interface. The user interface is associated with multiple hierarchical levels, the first hierarchical level corresponds to a first grouping of one or more elements in the multiple elements, and the second hierarchical level corresponds to a second grouping of one or more elements in the multiple elements. The method includes: detecting a gesture when a focus indicator identifies a first element in the multiple elements displayed in the user interface. The first element is associated with a first hierarchical level in the multiple hierarchical levels. The method includes: in response to detecting a gesture: based on determining that the gesture is performed with a first hand, moving the focus indicator from the first element to a second element in the multiple elements; and based on determining that the gesture is performed with a second hand different from the first hand, moving the focus indicator from the first element of the first hierarchical level to a corresponding element of the second hierarchical level in the multiple hierarchical levels.
[0013] According to some embodiments, a method is performed at a computer system that communicates with a display generation component and one or more input devices. The method includes: when a view of a three-dimensional environment is visible via the display generation component, wherein the three-dimensional environment includes a foreground and a background different from the foreground, detecting the occurrence of an event corresponding to a change in the appearance of the background of the three-dimensional environment. In response to detecting the occurrence of an event corresponding to a change in the appearance of the background of the three-dimensional environment and based on determining that the computer system is in a first operating mode when the event is detected, updating the view of the three-dimensional environment to apply the change to the background of the three-dimensional environment independently of the foreground of the three-dimensional environment. The change in the background of the three-dimensional environment includes changing the appearance of a virtual background element. The method includes: in response to detecting the occurrence of an event corresponding to a change in the appearance of the background of the three-dimensional environment and based on determining that the computer system is in a second operating mode different from the first operating mode when the event is detected, abandoning the application of the change to the background of the three-dimensional environment.
[0014] According to some embodiments, a method is performed at a computer system that communicates with a display generation component and one or more input devices. The method includes: when a first view of a three-dimensional environment is visible via the display generation component, an audio (or sound) event associated with a corresponding portion of an object in the three-dimensional environment occurs. In response to the occurrence of the audio (or sound) event associated with the corresponding portion of the object in the three-dimensional environment and based on determining that the corresponding portion of the object is outside the first view of the three-dimensional environment, a first visual effect is displayed via the display generation component, and the first visual effect indicates the position of the corresponding portion of the object in the three-dimensional environment relative to the first view. The first visual effect is displayed within the first view and indicates that the position of the audio (or sound) in the three-dimensional environment is outside the first view. The method includes: in response to the occurrence of the audio (or sound) event associated with the corresponding portion of the object in the three-dimensional environment and based on determining that the corresponding portion of the object is within the first view of the three-dimensional environment, a second visual effect is displayed via the display generation component, and the second visual effect indicates the position of the object within the first view, wherein the second visual effect is different from the first visual effect.
[0015] According to some embodiments, a method is performed at a computer system in communication with a display generation component and one or more input devices. The method includes: automatically detecting an object in a three-dimensional environment when a view of the three-dimensional environment is visible via the display generation component. In response to detecting the object and in accordance with determining that the object includes textual content, automatically displaying a user interface element for generating an audio representation of the textual content via the display generation component. The method includes: detecting an input selecting the user interface element. In response to detecting the input selecting the user interface element, generating an audio representation of at least a portion of the textual content of the object.
[0016] According to some embodiments, a method is performed at a computer system that communicates with one or more input devices. The method includes: detecting input including a corresponding gesture via the one or more input devices. The method includes: when the input including the corresponding gesture is detected: detecting via the one or more input devices that the corresponding part of the user's body has a first posture toward one or more first objects in a three-dimensional environment; and in response to detecting that the corresponding part of the user's body has a first posture toward the one or more first objects, outputting non-visual information describing the one or more first objects. The method includes: detecting via the one or more input devices the movement of the corresponding part of the user's body from the first posture corresponding to the one or more first objects to the second posture toward one or more second objects in the three-dimensional environment. The method includes: in response to detecting the movement of the corresponding part of the user's body to the second posture toward the one or more second objects, outputting non-visual information describing the one or more second objects based on determining that the input including the corresponding gesture continues to be detected.
[0017] According to some embodiments, a method is performed at a computer system in communication with a display generation component and one or more input devices. The method includes: when a three-dimensional environment is available for viewing via the display generation component, wherein the three-dimensional environment includes one or more virtual objects and a view of a physical environment including one or more physical objects, detecting a gesture via the one or more input devices. The method includes: in response to detecting the gesture: outputting an audio description of the view of the physical environment based on determining that the gesture satisfies a first gesture criterion, the audio description including information about the one or more physical objects; and abandoning outputting the audio description of the view of the physical environment based on determining that the gesture does not satisfy the first gesture criterion.
[0018] It should be noted that the various embodiments described above can be combined with any other embodiments described herein. The features and advantages described in this specification are not comprehensive, and in particular, many additional features and advantages will be apparent to those of ordinary skill in the art based on the drawings, the specification, and the claims. In addition, it should be noted that the language used in this specification is selected in principle for readability and instructional purposes, and may not be selected to describe or define the subject matter of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] For a better understanding of the various described embodiments, reference should be made to the following detailed description taken in conjunction with the following drawings, wherein like reference numerals designate corresponding parts throughout the several views.
[0020] Figure 1A is a block diagram illustrating an operating environment of a computer system for providing an extended reality (XR) experience according to some embodiments.
[0021] Figure 1B to Figure 1P is used in Figure 1A An example of a computer system that provides an XR experience in an operating environment.
[0022] Figure 2 is a block diagram illustrating a controller of a computer system configured to manage and coordinate a user's XR experience according to some embodiments.
[0023] Figure 3 is a block diagram illustrating display generation components of a computer system configured to provide a visual component of an XR experience to a user according to some embodiments.
[0024] Figure 4 is a block diagram illustrating a hand tracking unit of a computer system configured to capture gesture input from a user according to some embodiments.
[0025] Figure 5 is a block diagram illustrating an eye tracking unit of a computer system configured to capture gaze input of a user according to some embodiments.
[0026] Figure 6 is a flow chart illustrating a flash-assisted gaze tracking pipeline according to some embodiments.
[0027] FIG. 7A to FIG. 7G Example techniques for amplifying virtual content and real content in a three-dimensional environment are illustrated according to some embodiments.
[0028] FIG. 8A to FIG. 8L Example techniques for selecting and interacting with a point in a three-dimensional environment using a ray and a selection cursor that moves along the ray are illustrated in accordance with some embodiments.
[0029] 9A to 9H Example techniques for switching between interacting with an active application in a three-dimensional environment and performing operations outside of the active application are illustrated in accordance with some embodiments.
[0030] FIG. 10A to FIG. 10F Example techniques for navigating within an application hierarchy level or between different application hierarchy levels in a three-dimensional environment are illustrated in accordance with some embodiments.
[0031] Fig.11 is a flow chart of a method of amplifying virtual content and real content in a three-dimensional environment according to various embodiments.
[0032] Fig.12 is a flow chart of a method of selecting and interacting with a point in a three-dimensional environment using a ray and a selection cursor that moves along the ray, according to various embodiments.
[0033] Fig.13 is a flow chart of a method of switching between interacting with an active application in a three-dimensional environment and performing operations outside of the active application, according to various embodiments.
[0034] Fig.14 is a flow chart of a method of navigating within an application hierarchy level or between different application hierarchy levels in a three-dimensional environment according to various embodiments.
[0035] FIG. 15A to FIG. 15J Example techniques are illustrated for limiting various types of changes that occur in a mixed reality three-dimensional environment when a guided access mode of operation is active, according to some embodiments.
[0036] FIG. 16A to FIG. 16E Example techniques for positioning and visualizing sounds in a mixed reality three-dimensional environment according to some embodiments are illustrated.
[0037] FIG. 17A to FIG. 17I Example techniques for detecting text content in a mixed reality three-dimensional environment and generating corresponding audio representations of the detected text content according to some embodiments are illustrated.
[0038] Fig.18 is a flowchart of a method for limiting various types of changes that occur in a mixed reality three-dimensional environment when a guided access mode of operation is active, according to various embodiments.
[0039] Fig.19 is a flow chart of a method for positioning and visualizing sounds in a mixed reality three-dimensional environment according to various embodiments.
[0040] Fig. 20 is a flow chart of a method of detecting text content in a mixed reality three-dimensional environment and generating a corresponding audio representation of at least a portion of the detected text content according to various embodiments.
[0041] FIG. 21A to FIG. 21J Example techniques for providing non-visual information (eg, audio description) about virtual content in a mixed reality three-dimensional environment are illustrated in accordance with various embodiments.
[0042] FIG. 22A to FIG. 22F Example techniques for providing non-visual information (e.g., audio description) about a view of a physical environment portion of a mixed reality three-dimensional environment in accordance with various embodiments are illustrated.
[0043] Fig.23is a flowchart of a method of providing non-visual information (e.g., audio description) about virtual content in a mixed reality three-dimensional environment according to various embodiments.
[0044] Fig.24 is a flowchart of a method of providing non-visual information (e.g., audio description) about a view of a physical environment portion of a mixed reality three-dimensional environment according to various embodiments. DETAILED DESCRIPTION
[0045] According to some embodiments, the present disclosure relates to a user interface for providing an extended reality (XR) experience to a user.
[0046] The systems, methods, and GUIs described herein improve user interface interactions with virtual / augmented reality environments in a number of ways.
[0047] In some embodiments, a magnification area (e.g., a virtual magnifier) is provided that allows a user (e.g., a visually impaired user) to interact with a three-dimensional environment (e.g., a virtual or mixed reality environment). The magnification area automatically magnifies portions of the three-dimensional environment as it is moved in the three-dimensional environment (e.g., following the user's gaze or other reference point). The magnification area can magnify both virtual content and real-world content, making it easier for the user to see and interact with the three-dimensional environment (e.g., without the need to use lenses or other devices to assist the user's vision). In addition, inputs detected at the magnification area (e.g., as opposed to the content below) are forwarded to the content below (and processed as if they were detected at the content below). Allowing the user to interact directly with the content magnified in the magnification area improves the user's ability to interact with the content because the content is easier to see, which thereby reduces the amount of time required to perform operations in the three-dimensional environment.
[0048] In some embodiments, in response to one or more inputs selecting a corresponding direction in a three-dimensional environment, a computer system displays a ray extending in the corresponding direction away from a reference point associated with a user (such as a viewpoint of the user), and displays a cursor that automatically moves along the ray. In response to one or more additional inputs from the user to stop the movement of the cursor, the cursor is stopped at a specific location along the ray, and a target corresponding to the specific location of the cursor is selected for further interaction. Optionally, the ray direction is selected from a plurality of candidate directions through which one or more direction indications automatically move, and then the location along the ray is selected by stopping the cursor that automatically moves along the ray, which reduces the number and extent of inputs required for the user to select a three-dimensional interactive point or target within the three-dimensional environment. In addition, in embodiments in which an assistive input device can be used to provide input, users with physical impairments (such as motor impairments) are enabled to interact with the three-dimensional environment.
[0049] In some embodiments, an air gesture performed with a first hand is detected while the first application is active in a mixed reality three-dimensional environment, and an operation is performed in the first application or outside the first application (e.g., in a second application or system operation) based on the shape, configuration, or gesture of a second hand (e.g., an opposing hand). Thus, the second hand modifies the detected gesture input performed with the first hand, thereby allowing the user to efficiently switch between interactions with user interface elements of the currently active application, or to switch to other inactive applications. In some embodiments, an audio description of the traversed user interface elements is generated and output as the focus selector moves through the user interface elements. In the case of performing an operation in response to a particular air gesture performed by the first hand, changing the location where the operation is performed (and therefore which operation is performed in some embodiments) based on different second hand configurations enables a greater number of interactions with the computer system without requiring more gestures and without displaying additional controls.
[0050] In some embodiments, different modes of navigating or traversing in an organization of a user interface (e.g., a page or screen) are provided in a mixed reality three-dimensional environment. The first navigation mode is performed linearly or sequentially, for example, advancing from one navigable (or traversable) user interface element to another, including through an application hierarchy level to another application hierarchy level of the same application (e.g., when the navigable elements of the current hierarchy level are exhausted). The second mode of navigating in the organization is non-linear. In the second mode, the type of navigable user interface element is selected, and the navigation advances from a navigable user interface element of the selected type to another (e.g., the next in the sequence) navigable user interface element of the selected type, thereby cycling through the user interface elements of the selected type. In some embodiments, navigation in the first mode is performed with one hand, and navigation in the second mode is performed with the opposite hand. In some embodiments, navigation between types of navigable elements is performed with a first group of fingers, and back and forth navigation is performed within the elements of the selected type with a second group of fingers. In some embodiments, two-handed navigation (e.g., via an air pinch gesture) is used to navigate in the hierarchy level of the active application in the mixed reality three-dimensional environment. For example, one hand is used to navigate within user interface elements at one application hierarchy level, and the other hand is used to switch to navigation to another application hierarchy level (e.g., across application hierarchy levels). Providing two-handed navigation within a hierarchical organization of user interfaces enables a greater number of interactions with a computer system in a mixed reality three-dimensional environment without requiring more gestures and without displaying additional controls (e.g., touchless interaction for visually impaired users).
[0051] In some embodiments, when the "guided access" operating mode is active, the computer system restricts various types of changes or actions from occurring in a three-dimensional environment (e.g., a virtual or mixed reality environment), while allowing such changes or actions to occur when the "guided access" operating mode is not active (e.g., a normal operating mode is active). When the "guided access" operating mode is active, the computer system does not respond to various user inputs and / or requests, including, but not limited to: requests to change the immersion level of the three-dimensional environment, requests to launch new applications, requests to move open windows in the three-dimensional environment, requests to play media content, input directed to a specific portion of the three-dimensional environment that is designated as restricted (e.g., a background portion of the three-dimensional environment). Limiting changes and actions that can occur in the mixed reality three-dimensional environment reduces the number of unintentional inputs, allows the user to focus on interacting with specific portions of the three-dimensional environment or specific applications while reducing distractions and interruptions, and makes the user-system interface more efficient (e.g., by helping or guiding the user to provide correct input).
[0052] In some embodiments, different visual effects are provided for visualizing the location of a sound (or indicating the source of the sound) in a three-dimensional environment (e.g., a virtual or mixed reality environment) depending on whether the location of the sound is within or outside the field of view (e.g., the user's field of view or the field of view captured by one or more cameras). A first visual effect is provided if the sound occurs within the field of view, and a second visual effect is provided if the sound occurs outside the field of view. Optionally, the first visual effect may be changed to a second visual effect in response to detecting that the location of the sound is moved from within the field of view to outside the field of view. Accordingly, the second visual effect is optionally changed to the first visual effect in response to detecting that the location of the sound is moved from outside the field of view to within the field of view. Providing different visual effects for visualizing sounds in a mixed reality three-dimensional environment depending on whether the location of the sound is within or outside the corresponding field of view provides visual feedback about the sound occurring in the mixed reality environment (e.g., thereby enhancing the user experience of the mixed reality environment), and provides a mechanism for spatially determining the location of the sound (e.g., by helping the user determine the location of the sound source in the mixed reality three-dimensional environment).
[0053] In some embodiments, text content visible in a three-dimensional environment (e.g., a virtual or mixed reality environment) is automatically detected, and in response, an input mechanism (e.g., a control element) for generating a speech synthesis or other audio representation of the detected text content is displayed. An audio representation is generated and optionally output in response to detecting a selection of a control to provide the user with additional controls (e.g., an option to play speech, rather than playing speech without providing the user with a selection), and visual feedback or prompts are provided to the user that there is text content available for reading in the three-dimensional environment. In addition, the text content is automatically detected without requiring user input indicating the presence of text content in the mixed reality three-dimensional environment, which reduces the number and complexity of inputs required to generate an audio representation of the text content.
[0054] In some embodiments, when input including a corresponding gesture is detected, the computer system detects that the corresponding part of the user's body has a first pose toward one or more virtual objects in the three-dimensional environment, and in response, outputs non-visual information describing the one or more virtual objects, including a voice description of the one or more virtual objects. The computer system detects movement of the corresponding part of the user's body to a second pose toward one or more other virtual objects in the three-dimensional environment, and in response, if input including the corresponding gesture continues to be detected, the computer system outputs non-visual information describing the one or more other virtual objects, including a voice description of the one or more other virtual objects. Automatically outputting a voice description of virtual content selected based on the position toward which the corresponding part of the user's body is directed assists the user in exploring the mixed reality three-dimensional environment without requiring the user to provide additional input and navigate a complex user interface, thereby reducing the amount, complexity, and extent of user input, and making the user's interaction with the mixed reality three-dimensional environment more accessible to a wider group of people, including users with reduced vision or other visual impairments.
[0055] In some embodiments, a computer system detects a gesture when a three-dimensional environment is available for viewing, the three-dimensional environment including one or more virtual objects and a view of a physical environment including one or more physical objects. In response to detecting the gesture: if the gesture satisfies a first gesture criterion, the computer system outputs non-visual information about the view of the physical environment, including an audio description of the view of the physical environment and optionally information about the one or more physical objects; and if the gesture does not satisfy the first gesture criterion, the computer system forgoes outputting the non-visual information and the audio description of the view of the physical environment. Outputting a voice description of a portion of the physical environment included in the mixed reality three-dimensional environment in response to detecting the corresponding gesture assists the user in exploring the state of the physical environment while also allowing the user to interact with virtual content in the mixed reality three-dimensional environment, thereby making the user's interaction with the mixed reality three-dimensional environment more accessible to a wider group (e.g., by providing contextual information in a voiced manner), including for users with reduced vision or other visual impairments. For example, the voice description of the physical environment can help users navigate the physical environment, avoid collisions, and otherwise orient themselves in the physical world without having to stop interacting with the virtual world that is part of the mixed reality environment.
[0056] Figures 1A to 6 A description of an example computer system for providing an XR experience to a user is provided. FIG. 7A to FIG. 7G Example techniques for amplifying virtual content and real content in a three-dimensional environment are illustrated according to some embodiments. Fig.11is a flow chart of a method of amplifying virtual content and real content in a three-dimensional environment according to various embodiments. FIG. 7A to FIG. 7G The user interface in Fig.11 process. FIG. 8A to FIG. 8L Example techniques for selecting and interacting with a point in a three-dimensional environment using a ray and a selection cursor that moves along the ray are illustrated in accordance with some embodiments. Fig.12 is a flow chart of a method of selecting and interacting with a point in a three-dimensional environment using a ray and a selection cursor that moves along the ray, according to various embodiments. FIG. 8A to FIG. 8L The user interface in Fig.12 process. 9A to 9H Example techniques for switching between interacting with an active application in a three-dimensional environment and performing operations outside of the active application are illustrated in accordance with some embodiments. Fig.13 is a flow chart of a method of switching between interacting with an active application in a three-dimensional environment and performing operations outside of the active application, according to various embodiments. 9A to 9H The user interface in Fig.13 process. FIG. 10A to FIG. 10F Example techniques for navigating within one application hierarchy level or between different application hierarchy levels in a three-dimensional environment are illustrated. Fig.14 is a flow chart of a method of navigating within an application hierarchy level or between different application hierarchy levels in a three-dimensional environment according to various embodiments. FIG. 10A to FIG. 10F The user interface in Fig.14 process. FIG. 15A to FIG. 15J Example techniques are illustrated for limiting various types of changes that occur in a mixed reality three-dimensional environment when a guided access mode of operation is active, according to some embodiments. Fig.18 is a flowchart of a method for limiting various types of changes that occur in a mixed reality three-dimensional environment when a guided access mode of operation is active, according to various embodiments. FIG. 15A to FIG. 15J The user interface in Fig.18 process. FIG. 16A to FIG. 16E Example techniques for positioning and visualizing sounds in a mixed reality three-dimensional environment according to some embodiments are illustrated. Fig.19 is a flow chart of a method for positioning and visualizing sounds in a mixed reality three-dimensional environment according to various embodiments. FIG. 16A to FIG. 16E The user interface in Fig.19 process. FIG. 17A to FIG. 17IExample techniques for detecting text content in a mixed reality three-dimensional environment and generating corresponding audio representations of the detected text content according to some embodiments are illustrated. Fig. 20 is a flowchart of a method of detecting text content in a mixed reality three-dimensional environment and generating a corresponding audio representation of the detected text content according to various embodiments. FIG. 17A to FIG. 17I The user interface in Fig. 20 process. FIG. 21A to FIG. 21J Example techniques for providing non-visual information (e.g., audio description) about virtual content in a mixed reality three-dimensional environment according to some embodiments are illustrated. Fig.23 is a flowchart of a method of providing non-visual information (e.g., audio description) about virtual content in a mixed reality three-dimensional environment according to various embodiments. FIG. 21A to FIG. 21J The user interface in Fig.23 process. FIG. 22A to FIG. 22F Example techniques for providing non-visual information (e.g., audio description) about a view of a physical environment portion of a mixed reality three-dimensional environment according to some embodiments are illustrated. Fig.24 is a flowchart of a method of providing non-visual information (e.g., audio description) about a view of a physical environment portion of a mixed reality three-dimensional environment according to various embodiments. FIG. 22A to FIG. 22F The user interface in Fig.24 process.
[0057] The process described below enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device) through various techniques, including by providing improved visual feedback to the user, reducing the number of inputs required to perform an operation, providing additional control options without cluttering the user interface with additional display controls, performing an operation without further user input when a set of conditions have been met, improving privacy and / or security, providing a richer, more detailed and / or more realistic user experience while saving storage space, and / or additional techniques. These techniques also reduce power usage and extend the battery life of the device by enabling the user to use the device faster and more efficiently. Saving battery power, and therefore saving weight, improves the ergonomics of the device. These techniques also enable real-time communication, allow the use of fewer and / or less accurate sensors, thereby producing a more compact, lighter and cheaper device, and enable the device to be used under various lighting conditions. These techniques reduce energy usage and thereby reduce the heat emitted by the device, which is particularly important for wearable devices where if the device generates too much heat well within the operating parameters of the device components, it may become uncomfortable for the user to wear the device.
[0058] In addition, in the method described herein where one or more steps depend on one or more conditions being met, it should be understood that the method can be repeated in multiple repetitions so that in the process of repetition, all conditions for determining the steps in the method have been met in different repetitions of the method. For example, if the method needs to perform the first step (if the condition is met), and perform the second step (if the condition is not met), then the ordinary technician will know that the steps stated are repeated until both the condition is met and the condition is not met (in no particular order). Therefore, the method described as having one or more steps depending on one or more conditions being met can be rewritten as a method of repeating until each condition described in the method is met. However, this does not require the system or computer-readable medium to declare that the system or computer-readable medium contains instructions for performing a contingent operation based on the satisfaction of the corresponding one or more conditions, and is therefore able to determine whether the possible situation has been met without explicitly repeating the steps of the method until all conditions for determining the steps in the method have been met. It will also be understood by ordinary technicians in the art that, similar to the method with the contingent step, the system or computer-readable storage medium can repeat the steps of the method as many times as needed to ensure that all the contingent steps have been performed.
[0059] In some embodiments, such as Figure 1A As shown, an XR experience is provided to a user via an operating environment 100 including a computer system 101. The computer system 101 includes a controller 110 (e.g., a processor of a portable electronic device or a remote server), a display generation component 120 (e.g., a head mounted device (HMD), a display, a projector, a touch screen, etc.), one or more input devices 125 (e.g., an eye tracking device 130, a hand tracking device 140, other input devices 150), one or more output devices 155 (e.g., a speaker 160, a tactile output generator 170, and other output devices 180), one or more sensors 190 (e.g., an image sensor (e.g., one or more cameras of the computer system 101), a light sensor, a depth sensor, a tactile sensor, an orientation sensor, a proximity sensor, a temperature sensor, a position sensor, a motion sensor, a speed sensor, etc.), and optionally one or more peripheral devices 195 (e.g., a household appliance, a wearable device, etc.). In some embodiments, one or more of the input device 125, output device 155, sensor 190, and peripheral device 195 are integrated with the display generation component 120 (e.g., in a head-mounted device or a handheld device).
[0060] In describing an XR experience, various terms are used to distinguishably refer to several related but distinct environments that a user can sense and / or with which the user can interact (e.g., using inputs detected by the computer system 101 generating the XR experience, which inputs cause the computer system generating the XR experience to generate audio, visual, and / or tactile feedback corresponding to the various inputs provided to the computer system 101). The following is a subset of these terms:
[0061] Physical environment: The physical environment refers to the physical world that people can sense and / or interact with without the help of electronic systems. A physical environment, such as a physical park, includes physical objects, such as physical trees, physical buildings, and physical people. People can directly sense and / or interact with the physical environment, such as through vision, touch, hearing, taste, and smell.
[0062] Extended Reality: In contrast, an extended reality (XR) environment refers to a fully or partially simulated environment that people sense and / or interact with via an electronic system. In XR, a subset of a person's physical movements or a representation thereof is tracked, and in response, one or more characteristics of one or more virtual objects simulated in the XR environment are adjusted in a manner that complies with at least one physical law. For example, an XR system may detect a person's head turn, and in response, adjust the graphical content and sound field presented to the person in a manner similar to the way such views and sounds change in a physical environment. In some cases (e.g., for accessibility reasons), adjustments to the characteristics of virtual objects in the XR environment may be made in response to a representation of physical movement (e.g., a voice command). People can sense and / or interact with XR objects using any of their senses, including vision, hearing, touch, taste, and smell. For example, people can sense and / or interact with audio objects, which create a 3D or spatial audio environment that provides the perception of a point audio source in 3D space. As another example, an audio object can enable audio transparency that selectively introduces ambient sounds from the physical environment with or without computer-generated audio. In some XR environments, a person can sense and / or interact only with an audio object.
[0063] Examples of XR include virtual reality and mixed reality.
[0064] Virtual Reality: A virtual reality (VR) environment refers to a simulated environment designed to be based entirely on computer-generated sensory input to one or more senses. A VR environment includes a plurality of virtual objects that a person can sense and / or interact with. For example, trees, buildings, and computer-generated images representing avatars of people are examples of virtual objects. A person can sense and / or interact with virtual objects in a VR environment through a simulation of the person's presence within the computer-generated environment and / or through a simulation of a subset of the person's physical movement within the computer-generated environment.
[0065] Mixed Reality: In contrast to VR environments, which are designed to be based entirely on computer-generated sensory input, a mixed reality (MR) environment refers to a simulated environment that is designed to include sensory input from the physical environment, or representations thereof, in addition to computer-generated sensory input (e.g., virtual objects). On the virtuality continuum, a mixed reality environment is anything between, but not including, a fully physical environment at one end and a virtual reality environment at the other end. In some MR environments, computer-generated sensory input can respond to changes in sensory input from the physical environment. In addition, some electronic systems used to render MR environments can track position and / or orientation relative to the physical environment to enable virtual objects to interact with real objects (i.e., physical items from the physical environment, or representations thereof). For example, the system can cause motion so that virtual trees appear stationary relative to the physical ground.
[0066] Examples of mixed reality include augmented reality and augmented virtuality.
[0067] Augmented reality: An augmented reality (AR) environment refers to a simulated environment in which one or more virtual objects are superimposed on a physical environment or a representation of a physical environment. For example, an electronic system for presenting an AR environment may have a transparent or translucent display through which a person can directly view the physical environment. The system may be configured to present virtual objects on a transparent or translucent display so that a person uses the system to perceive virtual objects superimposed on the physical environment. Alternatively, the system may have an opaque display and one or more imaging sensors that capture images or videos of the physical environment, which are representations of the physical environment. The system combines the image or video with the virtual object and presents the composition on an opaque display. A person uses the system to indirectly view the physical environment via an image or video of the physical environment and perceives virtual objects superimposed on the physical environment. As used herein, a video of a physical environment displayed on an opaque display is referred to as a "transparent video," meaning that the system uses one or more image sensors to capture images of the physical environment and uses those images when presenting the AR environment on an opaque display. Further alternatively, the system may have a projection system that projects virtual objects into a physical environment, such as as a hologram or on a physical surface, so that a person using the system perceives virtual objects superimposed on the physical environment. An augmented reality environment also refers to a simulated environment in which a representation of a physical environment is transformed by computer-generated sensory information. For example, in providing a pass-through video, the system may transform one or more sensor images to apply a selected perspective (e.g., a viewpoint) that is different from the perspective captured by the imaging sensor. For another example, the representation of the physical environment may be transformed by graphically modifying (e.g., enlarging) a portion thereof so that the modified portion may be a representative but not real version of the original captured image. For another example, the representation of the physical environment may be transformed by graphically eliminating a portion thereof or blurring a portion thereof.
[0068] Augmented Virtual: An augmented virtual (AV) environment refers to a simulated environment in which a virtual environment or computer-generated environment incorporates one or more sensory inputs from the physical environment. The sensory input may be a representation of one or more characteristics of the physical environment. For example, an AV park may have virtual trees and virtual buildings, but the faces of people are realistically reproduced from images taken of physical people. For another example, a virtual object may take the shape or color of a physical object imaged by one or more imaging sensors. For another example, a virtual object may take a shadow that conforms to the positioning of the sun in the physical environment.
[0069] In an augmented reality, mixed reality or virtual reality environment, a view of a three-dimensional environment is visible to a user. The view of a three-dimensional environment is usually visible to a user through a virtual viewport via one or more display generation components (e.g., a display or a pair of display modules that provide stereoscopic content to different eyes of the same user), and the virtual viewport has a viewport boundary, which defines the scope of the three-dimensional environment visible to the user via one or more display generation components. In some embodiments, the area defined by the viewport boundary is smaller than the user's visual range in one or more dimensions (e.g., based on the user's visual range, the size of one or more display generation components, optical properties or other physical properties, and / or the position and / or orientation of one or more display generation components relative to the user's eyes). In some embodiments, the area defined by the viewport boundary is larger than the user's visual range in one or more dimensions (e.g., based on the user's visual range, the size of one or more display generation components, optical properties or other physical properties, and / or the position and / or orientation of one or more display generation components relative to the user's eyes). The viewport and viewport boundary usually move with the movement of one or more display generation components (e.g., for a head-mounted device, it moves with the user's head, or for a handheld device such as a tablet or smart phone, it moves with the user's hand). The user's viewpoint determines what is visible in the viewport, the viewpoint typically specifies a position and orientation relative to the three-dimensional environment, and as the viewpoint moves, the view of the three-dimensional environment will also move in the viewport. For head-mounted devices, the viewpoint is typically based on the position and orientation of the user's head, face, and / or eyes to provide a view of the three-dimensional environment that is perceptually accurate and provides an immersive experience when the user is using the head-mounted device. For handheld or fixed devices, the viewpoint moves as the handheld or fixed device moves and / or as the user's positioning relative to the handheld or fixed device changes (e.g., the user moves toward, away from, up, down, right, and / or left). For a device including display generation components with virtual pass-through, the portion of the physical environment that is visible (e.g., displayed and / or projected) via one or more display generation components is based on the field of view of one or more cameras in communication with the display generation components, which one or more cameras typically move with movement of the display generation components (e.g., with movement of the user's head for a head-mounted device, or with movement of the user's hands for a handheld device such as a tablet or smartphone) because the user's viewpoint moves with movement of the field of view of the one or more cameras (and the appearance of one or more virtual objects displayed via the one or more display generation components is updated based on the user's viewpoint (e.g., the display positioning and pose of the virtual objects are updated based on movement of the user's viewpoint)).For display generating components with optical transmittance, portions of the physical environment that are visible via one or more display generating components (e.g., optically visible through one or more partially or fully transparent portions of the display generating components) are based on the user's field of view through the partially or fully transparent portions of the display generating components (e.g., moves as the user's head moves for a head-mounted device, or moves as the user's hands move for a handheld device such as a tablet or smart phone) because the user's viewpoint moves as the user moves through the field of view of the partially or fully transparent portions of the display generating components (and the appearance of one or more virtual objects is updated based on the user's viewpoint).
[0070] In some embodiments, the representation of the physical environment (e.g., displayed via virtual transmission or optical transmission) may be partially or completely obscured by the virtual environment. In some embodiments, the amount of the virtual environment displayed (e.g., the amount of the physical environment that is not displayed) is based on the immersion level of the virtual environment (e.g., relative to the representation of the physical environment). For example, increasing the immersion level optionally causes more of the virtual environment to be displayed, replacing and / or obscuring more of the physical environment, and reducing the immersion level optionally causes less of the virtual environment to be displayed, thereby revealing portions of the physical environment that were previously not displayed and / or obscured. In some embodiments, at a particular immersion level, one or more first background objects (e.g., in the representation of the physical environment) are more visually de-emphasized (e.g., dimmed, blurred, displayed with increased transparency) than one or more second background objects, and one or more third background objects cease to be displayed. In some embodiments, the immersion level includes an associated degree to which virtual content (e.g., a virtual environment and / or virtual content) displayed by a computer system obscures background content (e.g., content other than the virtual environment and / or virtual content) surrounding / behind the virtual environment, optionally including the number of items of background content displayed and / or displayed visual characteristics of the background content (e.g., color, contrast, and / or opacity), the angular range of the virtual content displayed via the display generation component (e.g., 60 degrees for content displayed at low immersion, 120 degrees for content displayed at medium immersion, or 180 degrees for content displayed at high immersion), and / or the proportion of the field of view displayed via the display generation component that is occupied by the virtual content (e.g., 33% of the field of view occupied by the virtual content at low immersion, 66% of the field of view occupied by the virtual content at medium immersion, or 100% of the field of view occupied by the virtual content at high immersion). In some embodiments, the background content is included in the background on which the virtual content is displayed (e.g., background content in a representation of the physical environment). In some embodiments, the background content includes a user interface (e.g., a user interface generated by a computer system corresponding to an application), virtual objects that are not associated with or included in the virtual environment and / or virtual content (e.g., files generated by a computer system or representations of other users, etc.), and / or real objects (e.g., transparent objects representing real objects in the physical environment surrounding the user, which are visible so that they are displayed via the display generation component and / or visible via transparent or translucent components of the display generation component because the computer system does not block / impede their visibility through the display generation component). In some embodiments, at a low immersion level (e.g., a first immersion level), the background, virtual and / or real objects are displayed in an unobstructed manner. For example, a virtual environment with a low immersion level is optionally displayed simultaneously with the background content, which is optionally displayed at full brightness, color and / or translucency.In some embodiments, at a higher immersion level (e.g., a second immersion level higher than the first immersion level), background, virtual and / or real objects are displayed in an obstructed manner (e.g., dimmed, blurred, or removed from the display). For example, a corresponding virtual environment with a high immersion level is displayed without simultaneously displaying background content (e.g., in full screen or full immersion mode). As another example, a virtual environment displayed at a medium immersion level is displayed simultaneously with background content that is dimmed, blurred, or otherwise de-emphasized. In some embodiments, the visual characteristics of background objects vary between background objects. For example, at a particular immersion level, one or more first background objects are more visually de-emphasized (e.g., dimmed, blurred, and / or displayed with increased transparency) than one or more second background objects, and one or more third background objects stop displaying. In some embodiments, zero immersion or zero immersion level corresponds to a virtual environment that stops displaying, and instead displays a representation of the physical environment (optionally with one or more virtual objects, such as applications, windows, or virtual three-dimensional objects), while the representation of the physical environment is not obscured by the virtual environment. Adjusting the immersion level using physical input elements provides a fast and efficient method of adjusting the degree of immersion, which enhances the operability of the computer system and makes the user-device interface more efficient.
[0071] Viewpoint-locked virtual objects: When a computer system displays a virtual object at the same position and / or location in a user's viewpoint, the virtual object is viewpoint-locked even if the user's viewpoint shifts (e.g., changes). In embodiments where the computer system is a head-mounted device, the user's viewpoint is locked to the forward direction of the user's head (e.g., when the user is looking straight ahead, the user's viewpoint is at least a portion of the user's field of view); thus, without moving the user's head, the user's viewpoint remains fixed even when the user's gaze shifts. In embodiments where the computer system has a display generation component (e.g., a display screen) that is repositionable relative to the user's head, the user's viewpoint is an augmented reality view presented to the user on the display generation component of the computer system. For example, a viewpoint-locked virtual object that is displayed in the upper left corner of the user's viewpoint when the user's viewpoint is in a first orientation (e.g., the user's head is facing north) continues to be displayed in the upper left corner of the user's viewpoint even when the user's viewpoint changes to a second orientation (e.g., the user's head is facing west). In other words, the position and / or location of the viewpoint-locked virtual object displayed in the user's viewpoint is independent of the user's position and / or orientation in the physical environment. In embodiments where the computer system is a head-mounted device, the user's viewpoint is locked to the orientation of the user's head, such that the virtual object is also referred to as a "head-locked virtual object."
[0072] Environment-locked visual objects: A virtual object is environment-locked (alternatively, "world-locked") when a computer system displays a virtual object at a position and / or location in a user's viewpoint that is based on (e.g., selected with reference to and / or anchored to) a location and / or object in a three-dimensional environment (e.g., a physical environment or a virtual environment). As the user's viewpoint moves, the location and / or objects in the environment change relative to the user's viewpoint, which causes the environment-locked virtual object to be displayed at a different location and / or location in the user's viewpoint. For example, an environment-locked virtual object locked to a tree immediately in front of the user is displayed at the center of the user's viewpoint. When the user's viewpoint shifts to the right (e.g., the user's head turns to the right) such that the tree is now to the left of center in the user's viewpoint (e.g., the tree location in the user's viewpoint shifts), the environment-locked virtual object locked to the tree is displayed to the left of center in the user's viewpoint. In other words, the position and / or orientation of the virtual object that is locked to the environment in the user's viewpoint depends on the position and / or orientation of the object in the environment to which the virtual object is locked. In some embodiments, the computer system uses a stationary reference system (e.g., a coordinate system anchored to a fixed position and / or object in the physical environment) to determine the position of the virtual object that is locked to the user's viewpoint. The virtual object that is locked to the environment can be locked to a stationary part of the environment (e.g., a floor, wall, table or other stationary object), or can be locked to a movable part of the environment (e.g., a vehicle, animal, person or even a representation of a part of the user's body that moves independently of the user's viewpoint, such as a hand, wrist, arm or foot of the user) so that the virtual object moves as the viewpoint or the part of the environment moves to maintain a fixed relationship between the virtual object and the part of the environment.
[0073] In some embodiments, an environment-locked or viewpoint-locked virtual object exhibits an inertial following behavior that reduces or delays the movement of the environment-locked or viewpoint-locked virtual object relative to the movement of the reference point followed by the virtual object. In some embodiments, when exhibiting inertial following behavior, when detecting the movement of a reference point (e.g., a portion of the environment, a viewpoint, or a point fixed relative to the viewpoint, such as a point between 5cm and 300cm from the viewpoint) that the virtual object is following, the computer system intentionally delays the movement of the virtual object. For example, when the reference point (e.g., the portion of the environment or the viewpoint) moves at a first speed, the virtual object is moved by the device to remain locked to the reference point, but moves at a second speed that is slower than the first speed (e.g., until the reference point stops moving or slows down, at which point the virtual object begins to catch up with the reference point). In some embodiments, when the virtual object exhibits inertial following behavior, the device ignores small amounts of movement of the reference point (e.g., ignoring movements of the reference point below a threshold movement amount, such as moving 0 degrees to 5 degrees or moving 0cm to 50cm). For example, when a reference point (e.g., a portion or viewpoint of an environment to which a virtual object is locked) moves a first amount, the distance between the reference point and the virtual object increases (e.g., because the virtual object is being displayed so as to maintain a fixed or substantially fixed position relative to a viewpoint or portion of the environment different from the reference point to which the virtual object is locked), and when the reference point (e.g., the portion or viewpoint of the environment to which the virtual object is locked) moves a second amount greater than the first amount, the distance between the reference point and the virtual object first increases (e.g., because the virtual object is being displayed so as to maintain a fixed or substantially fixed position relative to a viewpoint or portion of the environment different from the reference point to which the virtual object is locked), and then decreases when the amount of movement of the reference point increases above a threshold (e.g., a “lazy follow” threshold) because the virtual object is moved by the computer system to maintain a fixed or substantially fixed position relative to the reference point. In some embodiments, maintaining a substantially fixed position of the virtual object relative to the reference point includes displaying the virtual object within a threshold distance (e.g., 1 cm, 2 cm, 3 cm, 5 cm, 15 cm, 20 cm, 50 cm) of the reference point in one or more dimensions (e.g., up / down, left / right, and / or forward / backward relative to the position of the reference point).
[0074] Hardware: There are many different types of electronic systems that enable a person to sense and / or interact with various XR environments. Examples include head-mounted systems, projection-based systems, heads-up displays (HUDs), vehicle windshields with integrated display capabilities, windows with integrated display capabilities, displays formed as lenses designed to be placed on a person's eyes (e.g., similar to contact lenses), headphones / earpieces, speaker arrays, input systems (e.g., wearable or handheld controllers with or without tactile feedback), smartphones, tablet devices, and desktop / laptop computers. A head-mounted system may have one or more speakers and an integrated opaque display. Alternatively, a head-mounted system may be configured to accept an external opaque display (e.g., a smartphone). A head-mounted system may incorporate one or more imaging sensors for capturing images or video of the physical environment and / or one or more microphones for capturing audio of the physical environment. Instead of an opaque display, a head-mounted system may have a transparent or translucent display. A transparent or translucent display may have a medium through which light representing an image is directed to a person's eyes. The display may utilize digital light projection, OLED, LED, uLED, liquid crystal on silicon, laser scanning light source, or any combination of these technologies. The medium may be an optical waveguide, a hologram medium, an optical combiner, an optical reflector, or any combination thereof. In one embodiment, a transparent or translucent display may be configured to selectively become opaque. Projection-based systems may employ retinal projection technology that projects graphic images onto a person's retina. The projection system may also be configured to project virtual objects into a physical environment, such as as a hologram or on a physical surface. In some embodiments, the controller 110 is configured to manage and coordinate the user's XR experience. In some embodiments, the controller 110 includes a suitable combination of software, firmware, and / or hardware. The following description with respect to Figure 2Controller 110 is described in more detail. In some embodiments, controller 110 is a computing device that is located locally or remotely relative to scene 105 (e.g., physical environment). For example, controller 110 is a local server located within scene 105. As another example, controller 110 is a remote server (e.g., cloud server, central server, etc.) located outside scene 105. In some embodiments, controller 110 is communicatively coupled to display generation component 120 (e.g., HMD, display, projector, touch screen, etc.) via one or more wired or wireless communication channels 144 (e.g., Bluetooth, IEEE 802.11x, IEEE802.16x, IEEE 802.3x, etc.). In another example, the controller 110 is included within a housing (e.g., a physical housing) of the display generating component 120 (e.g., an HMD or a portable electronic device including a display and one or more processors, etc.), one or more input devices of the input devices 125, one or more output devices of the output devices 155, one or more sensors of the sensors 190, and / or one or more peripheral devices of the peripheral devices 195, or shares the same physical housing or support structure with one or more of the above devices.
[0075] In some embodiments, the display generation component 120 is configured to provide an XR experience (e.g., at least the visual component of the XR experience) to the user. In some embodiments, the display generation component 120 includes a suitable combination of software, firmware, and / or hardware. Figure 3 Display generation component 120 is described in further detail. In some embodiments, the functionality of controller 110 is provided by and / or combined with display generation component 120.
[0076] According to some embodiments, display generation component 120 provides an XR experience to the user when the user is virtually and / or physically present within scene 105.
[0077] In some embodiments, the display generation component is worn on a part of the user's body (e.g., on his / her head, on his / her hand, etc.). In this way, the display generation component 120 includes one or more XR displays provided for displaying XR content. For example, in various embodiments, the display generation component 120 surrounds the user's field of view. In some embodiments, the display generation component 120 is a handheld device (such as a smart phone or tablet device) configured to present XR content, and the user holds a device with a display facing the user's field of view and a camera facing the scene 105. In some embodiments, the handheld device is optionally placed in a shell worn on the user's head. In some embodiments, the handheld device is optionally placed on a support (e.g., a tripod) in front of the user. In some embodiments, the display generation component 120 is an XR room, shell, or room configured to present XR content, wherein the user does not wear or hold the display generation component 120. Many user interfaces described with reference to one type of hardware for displaying XR content (e.g., a handheld device or a device on a tripod) may be implemented on another type of hardware for displaying XR content (e.g., an HMD or other wearable computing device). For example, a user interface showing interactions with XR content triggered based on interactions occurring in the space in front of a handheld device or a tripod-mounted device may similarly be implemented with an HMD, where the interactions occur in the space in front of the HMD and responses to the XR content are displayed via the HMD. Similarly, a user interface showing interactions with XR content triggered based on movement of a handheld device or a tripod-mounted device relative to a physical environment (e.g., scene 105 or a part of a user's body (e.g., the user's eyes, head, or hands)) may similarly be implemented with an HMD, where the movement is caused by movement of the HMD relative to the physical environment (e.g., scene 105 or a part of a user's body (e.g., the user's eyes, head, or hands)).
[0078] Despite Figure 1A Relevant features of operating environment 100 are shown in , but those skilled in the art will appreciate from this disclosure that various other features are not illustrated for the sake of brevity and so as not to obscure more relevant aspects of the example embodiments disclosed herein.
[0079] Figure 1A to Figure 1PVarious examples of computer systems for performing methods and providing audio, visual, and / or tactile feedback as part of the user interface described herein are shown. In some embodiments, the computer system includes one or more display generation components (e.g., first and second display components 1-120a, 1-120b and / or first and second optical modules 11.1.1-104a and 11.1.1-104b) for displaying virtual elements and / or representations of the physical environment to a user of the computer system, the virtual elements and / or the representations of the physical environment are optionally generated based on detected events and / or user input detected by the computer system. The user interface generated by the computer system is optionally corrected by one or more corrective lenses 11.3.2-216 to enable users who would otherwise use glasses or contact lenses to correct their vision to more easily view the user interface, the one or more corrective lenses optionally being removably attached to one or more of the optical modules. Although many of the user interfaces shown herein show a single view of the user interface, the user interface in the HMD is optionally displayed using two optical modules (e.g., a first display component 1-120a and a second display component 1-120b and / or a first optical module 11.1.1-104a and a second optical module 11.1.1-104b), one optical module for the user's right eye and a different optical module for the user's left eye, and slightly different images are presented to the two different eyes to create an illusion of stereoscopic depth, the single view of the user interface is typically a right eye view or a left eye view, and the depth effect is explained in the text or using other schematics or views. In some embodiments, the computer system includes one or more external displays (e.g., display components 1-108) for displaying status information of the computer system to a user of the computer system (when the computer system is not worn) and / or to other people near the computer system, the status information being optionally generated based on detected events and / or user input detected by the computer system. In some embodiments, the computer system includes one or more audio output components (e.g., electronic components 1-112) for generating audio feedback, which is optionally generated based on detected events and / or user input detected by the computer system. In some embodiments, the computer system includes one or more input devices for detecting input, such as one or more sensors for detecting information about the physical environment of the device (e.g., sensor components 1-356 and / or Fig. 1I One or more sensors in the apparatus), which may be used (optionally in conjunction with one or more illuminators, such as Fig. 1IIn some embodiments, the computer system includes one or more input devices for detecting input, such as one or more sensors for detecting hand positioning and / or movement (e.g., sensor assembly 1-356 and / or sensor assembly 1-357). Fig. 1I One or more sensors in the apparatus), which may be used (optionally in conjunction with one or more illuminators, such as Fig. 1I In some embodiments, the computer system includes one or more input devices for detecting input, such as one or more sensors for detecting eye movement (e.g., Fig. 1I eye tracking and gaze tracking sensors in the Fig.1OLights 11.3.2-110 in the device) determine attention or gaze location and / or gaze movement, which locations and / or movements can be optionally used to detect gaze-only input based on gaze movement and / or dwell. Combinations of the various sensors described above can be used to determine user facial expressions and / or hand movements for generating an avatar or representation of the user, such as an anthropomorphic avatar or representation for a real-time communication session, where the avatar has facial expressions, hand movements, and / or body movements based on or similar to the detected facial expressions, hand movements, and / or body movements of the user of the device. Gaze and / or attention information is optionally combined with hand tracking information to determine interaction between a user and one or more user interfaces based on direct and / or indirect input, such as air gestures or input using one or more hardware input devices, such as one or more buttons (e.g., first button 1-128, button 11.1.1-114, second button 1-132, and / or dial or button 1-328), knobs (e.g., first button 1-128, button 11.1.1-114, and / or dial or button 1-328), digital crown (e.g., pressable and twistable or rotatable first button 1-128, button 11.1.1-114, and / or dial or button 1-328), touchpad, touch screen, keyboard, mouse, and / or other input devices. One or more buttons (e.g., first button 1-128, button 11.1.1-114, second button 1-132, and / or dial or button 1-328) are optionally used to perform system operations, such as re-centering content in a three-dimensional environment visible to a user of the device, displaying a primary user interface for launching an application, starting a real-time communication session, or initiating display of a virtual three-dimensional background. A knob or digital crown (e.g., a pressable and twistable or rotatable first button 1-128, button 11.1.1-114, and / or dial or button 1-328) is optionally rotatable to adjust parameters of visual content, such as an immersion level of a virtual three-dimensional environment (e.g., the extent to which virtual content occupies a user's viewport in the three-dimensional environment) or other parameters associated with the three-dimensional environment and virtual content displayed via optical modules (e.g., first display component 1-120a and second display component 1-120b and / or first optical module 11.1.1-104a and second optical module 11.1.1-104b).
[0080] Figure 1BFront, top, and perspective views of an example of a head-mountable display (HMD) device 1-100 configured to be worn by a user and provide a virtual and altered / mixed reality (VR / AR) experience are illustrated. The HMD 1-100 may include a display unit 1-102 or assembly, an electronic strap assembly 1-104 connected to and extending from the display unit 1-102, and a strap assembly 1-106 secured to the electronic strap assembly 1-104 at either end. The electronic strap assembly 1-104 and the strap 1-106 may be part of a retaining assembly configured to wrap around a user's head to hold the display unit 1-102 against the user's face.
[0081] In at least one example, the strap assembly 1-106 may include a first strap 1-116 configured to wrap around the back of a user's head and a second strap 1-117 configured to extend over the top of the user's head. As shown, the second strap may extend between the first electronic strip 1-105a and the second electronic strip 1-105b of the electronic strip assembly 1-104. The strap assembly 1-104 and the strap assembly 1-106 may be part of a securing mechanism that extends rearward from the display unit 1-102 and is configured to hold the display unit 1-102 against the user's face.
[0082] In at least one example, the securing mechanism includes a first electronic strip 1-105a including a first proximal end 1-134 coupled to the display unit 1-102 (e.g., a housing 1-150 of the display unit 1-102) and a first distal end 1-136 opposite the first proximal end 1-134. The securing mechanism may also include a second electronic strip 1-105b including a second proximal end 1-138 coupled to the housing 1-150 of the display unit 1-102 and a second distal end 1-140 opposite the second proximal end 1-138. The securing mechanism may also include a first band 1-116 and a second band 1-117, the first band including a first end 1-142 coupled to the first distal end 1-136 and a second end 1-144 coupled to the second distal end 1-140, and the second band extending between the first electronic strip 1-105a and the second electronic strip 1-105b. The strips 1-105a-b and the strip 1-116 may be coupled via a connection mechanism or assembly 1-114. In at least one example, the second strip 1-117 includes a first end 1-146 coupled to the first electronic strip 1-105a between the first proximal end 1-134 and the first distal end 1-136 and a second end 1-148 coupled to the second electronic strip 1-105b between the second proximal end 1-138 and the second distal end 1-140.
[0083] In at least one example, the first and second electronic strips 1-105a-b comprise plastic, metal, or other structural material that forms the shape of a substantially rigid strip 1-105a-b. In at least one example, the first and second bands 1-116, 1-117 are formed of a resilient flexible material including a woven textile, rubber, etc. The first and second bands 1-116, 1-117 may be flexible to conform to the shape of a user's head when the HMD 1-100 is worn.
[0084] In at least one example, one or more of the first and second electronic strips 1-105a-b can define an inner strip volume and include one or more electronic components disposed in the inner strip volume. Figure 1B As shown, the first electronic strip 1-105a may include an electronic component 1-112. In one example, the electronic component 1-112 may include a speaker. In one example, the electronic component 1-112 may include a computing component, such as a processor.
[0085] In at least one example, the housing 1-150 defines a first front opening 1-152. Figure 1B 1-152 in dashed lines because the display assembly 1-108 is arranged to block the first opening 1-152 from view when the HMD 1-100 is assembled. The housing 1-150 may also define a rear-mounted second opening 1-154. The housing 1-150 also defines an internal volume between the first opening 1-152 and the second opening 1-154. In at least one example, the HMD 1-100 includes a display assembly 1-108, which may include a front cover and a display screen (shown in other figures) disposed in or across the front opening to block the front opening 1-152. In at least one example, the display screen of the display assembly 1-108, and the display assembly 1-108 in general, has a curvature configured to follow the curvature of the user's face. The display screen of the display assembly 1-108 may be curved as shown to complement the user's facial features and the overall curvature from one side of the face to the other, such as from left to right and / or from top to bottom, where the display unit 1-102 is pressed.
[0086] In at least one example, the housing 1-150 may define a first hole 1-126 between the first opening 1-152 and the second opening 1-154 and a second hole 1-130 between the first opening 1-152 and the second opening 1-154. The HMD 1-100 may also include a first button 1-126 disposed in the first hole 1-128, and a second button 1-132 disposed in the second hole 1-130. The first button 1-128 and the second button 1-132 can be pressed through the corresponding holes 1-126, 1-130. In at least one example, the first button 1-126 and / or the second button 1-132 can be a twistable dial and a depressible button. In at least one example, the first button 1-128 is a depressible and twistable dial button, and the second button 1-132 is a depressible button.
[0087] Figure 1C A rear perspective view of an HMD 1-100 is illustrated. The HMD 1-100 may include a light seal 1-110 extending rearwardly from a housing 1-150 of a display assembly 1-108 around the periphery of the housing 1-150, as shown. The light seal 1-110 may be configured to extend from the housing 1-150 to the face of the user, around the eyes of the user, to block external light from being visible. In one example, the HMD 1-100 may include a first display assembly 1-120a and a second display assembly 1-120b, which are disposed at or in a rearward-facing second opening 1-154 defined by the housing 1-150 and / or disposed in an internal volume of the housing 1-150 and are configured to project light through the second opening 1-154. In at least one example, each display assembly 1-120a to b may include a corresponding display screen 1-122a, 1-122b, which is configured to project light toward the user's eyes through the second opening 1-154 in a rearward direction.
[0088] In at least one example, reference Figure 1B and Figure 1C In both cases, the display assembly 1-108 may be a front-facing forward display assembly including a display screen configured to project light in a first forward direction, and the rear display screens 1-122a-b may be configured to project light in a second rearward direction opposite the first direction. As described above, the light seal 1-110 may be configured to block light external to the HMD 1-100 from reaching the user's eyes, including by Figure 1B 1-108 is shown in the front perspective view of the HMD 1-100. In at least one example, the HMD 1-100 may also include a curtain 1-124 that blocks a second opening 1-154 between the housing 1-150 and the rear display assembly 1-120a-b. In at least one example, the curtain 1-124 may be elastic or at least partially elastic.
[0089] Figure 1B and Figure 1C Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination. Figures 1D to 1F Any other examples of the devices, features, components and parts shown and described herein. Likewise, reference Figures 1D to 1F Any of the features, components and / or parts shown and described (including their arrangements and configurations) may be included alone or in any combination. Figure 1B and Figure 1C Examples of equipment, features, components and parts shown.
[0090] Figure 1D An exploded view of an example of an HMD 1-200 including its various parts or components that are separated according to the modularity and selective coupling of these components is illustrated. For example, the HMD 1-200 may include a band 1-216 that is selectively coupleable to the first electronic strip 1-205a and the second electronic strip 1-205b. The first fixed strip 1-205a may include a first electronic component 1-212a, and the second fixed strip 1-205b may include a second electronic component 1-212b. In at least one example, the first and second strips 1-205a-b can be removably coupled to the display unit 1-202.
[0091] Additionally, the HMD 1-200 may include an optical seal 1-210 configured to be removably coupled to the display unit 1-202. The HMD 1-200 may also include a lens 1-218 that may be removably coupled to the display unit 1-202, for example, over a first component including a display screen and a second display component. The lens 1-218 may include a custom prescription lens configured to correct vision. As noted, in Figure 1D Each of the parts shown in the exploded view of and described above can be removably coupled, attached, reattached, and replaced to update parts, or swap out parts for different users. For example, bands such as band 1-216, optical seals such as optical seal 1-210, lenses such as lens 1-218, and electronic strips such as electronic strips 1-205a-b can be swapped out depending on the user so that these parts are customized to fit and correspond to a single user of the HMD 1-200.
[0092] Figure 1D Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination. Figure 1B , Figure 1C and Figure 1E to Figure 1FAny other examples of the devices, features, components and parts shown and described herein. Likewise, reference Figure 1B , Figure 1C and Figure 1E to Figure 1F Any of the features, components and / or parts shown and described (including their arrangements and configurations) may be included alone or in any combination. Figure 1D Examples of equipment, features, components and parts shown.
[0093] Figure 1E An exploded view of an example of a display unit 1-306 of an HMD is illustrated. The display unit 1-306 may include a front display assembly 1-308, a frame / housing assembly 1-350, and a curtain assembly 1-324. The display unit 1-306 may also include a sensor assembly 1-350, a logic board assembly 1-358, and a cooling assembly 1-360 disposed between the frame assembly 1-356 and the front display assembly 1-308. In at least one example, the display unit 1-306 may also include a rear display assembly 1-320, which includes a first rear display screen 1-322a and a second rear display screen 1-322b disposed between the frame 1-350 and the curtain assembly 1-324.
[0094] In at least one example, the display unit 1-306 may also include a motor assembly 1-362 configured as an adjustment mechanism for adjusting the positioning of the display screens 1-322a-b of the display assembly 1-320 relative to the frame 1-350. In at least one example, the display assembly 1-320 is mechanically coupled to the motor assembly 1-362, with each display screen 1-322a-b having at least one motor such that the motor can translate the display screens 1-322a-b to match the interpupillary distance of the user's eyes.
[0095] In at least one example, the display unit 1-306 may include a dial or button 1-328 that is depressible relative to the frame 1-350 and accessible by a user external to the frame 1-350. The button 1-328 may be electrically connected to the motor assembly 1-362 via a controller such that the button 1-328 may be manipulated by a user to cause a motor of the motor assembly 1-362 to adjust the positioning of the display screens 1-322a-b.
[0096] Figure 1E Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination. Figures 1B to 1D and Figure 1F Any other examples of the devices, features, components and parts shown and described herein. Likewise, reference Figures 1B to 1D and Figure 1FAny of the features, components and / or parts shown and described (including their arrangements and configurations) may be included alone or in any combination. Figure 1E Examples of equipment, features, components and parts shown.
[0097] Figure 1F An exploded view of another example of a display unit 1-406 of an HMD device similar to other HMD devices described herein is illustrated. The display unit 1-406 may include a front display assembly 1-402, a sensor assembly 1-456, a logic board assembly 1-458, a cooling assembly 1-460, a frame assembly 1-450, a rear display assembly 1-421, and a curtain assembly 1-424. The display unit 1-406 may also include a motor assembly 1-462 for adjusting the positioning of the first display subassembly 1-420a and the second display subassembly 1-420b of the rear display assembly 1-421, including the first corresponding display screen and the second corresponding display screen for interpupillary adjustment, as described above.
[0098] References in this article Figures 1B to 1E and the subsequent drawings referred to in this disclosure to describe in more detail Figure 1F Various parts, systems and assemblies are shown in exploded views. Figure 1F The display unit 1-406 shown can be used with Figures 1B to 1E The fixing mechanism shown is assembled and integrated, and the fixing mechanism includes electronic strips, ribbons and other components (including optical seals, connecting components, etc.).
[0099] Figure 1F Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination. Figures 1B to 1E Any other examples of the devices, features, components and parts shown and described herein. Likewise, reference Figures 1B to 1E Any of the features, components and / or parts shown and described (including their arrangements and configurations) may be included alone or in any combination. Figure 1F Examples of equipment, features, components and parts shown.
[0100] Figure 1G The front cover assembly 3-100 (eg, Figure 1G An exploded perspective view of the front cover assembly 3-1) of the HMD 3-100 shown, or any other HMD device shown and described herein. Figure 1GThe illustrated front cover assembly 3-100 may include a transparent or translucent cover 3-102, a shield 3-104 (or "cover"), an adhesive layer 3-106, a display assembly 3-108 including a lenticular lens panel or array 3-110, and a structural trim 3-112. The adhesive layer 3-106 may secure the shield 3-104 and / or the transparent cover 3-102 to the display assembly 3-108 and / or the trim 3-112. The trim 3-112 may secure the various components of the front cover assembly 3-100 to a frame or base of the HMD device.
[0101] In at least one example, Figure 1G As shown, the transparent cover 3-102, the shield 3-104 and the display assembly 3-108 including the lenticular lens array 3-110 can be bent to accommodate the curvature of the user's face. The transparent cover 3-102 and the shield 3-104 can be bent in two or three dimensions, for example, vertically bent in the Z direction inside and outside the ZX plane, and horizontally bent in the X direction inside and outside the ZX plane. In at least one example, the display assembly 3-108 may include a lenticular lens array 3-110 and a display panel having pixels that are configured to project light through the shield 3-104 and the transparent cover 3-102. The display assembly 3-108 can be bent in at least one direction (e.g., horizontally) to accommodate the curvature of the user's face from one side of the face (e.g., the left side) to the other side (e.g., the right side). In at least one example, each layer or component of the display assembly 3-108 (which will be shown in subsequent figures and described in more detail, but which may include the lenticular lens array 3-110 and the display layer) may be curved similarly or concentrically in the horizontal direction to accommodate the curvature of the user's face.
[0102] In at least one example, the shield 3-104 may include a transparent or translucent material through which the display assembly 3-108 projects light. In one example, the shield 3-104 may include one or more opaque portions, such as an opaque ink printed portion or other opaque film portion on the back of the shield 3-104. When the HMD device is worn, the rear surface may be the surface of the shield 3-104 facing the user's eyes. In at least one example, the opaque portion may be on the front surface of the shield 3-104 opposite to the rear surface. In at least one example, one or more opaque portions of the shield 3-104 may include a peripheral portion that visually hides any components surrounding the outer periphery of the display screen of the display assembly 3-108. In this way, the opaque portion of the shield hides any other components of the HMD device that would otherwise be visible through the transparent or translucent cover 3-102 and / or the shield 3-104, including electronic components, structural components, etc.
[0103] In at least one example, the shield 3-104 may define one or more aperture transparent portions 3-120 through which the sensor may send and receive signals. In one example, the portion 3-120 is a hole through which the sensor may extend or send and receive signals. In one example, the portion 3-120 is a transparent portion, or a portion that is more transparent than the surrounding translucent or opaque portion of the shield through which the sensor may send and receive signals through the shield and through the transparent cover 3-102. In one example, the sensor may include a camera, an IR sensor, a LUX sensor, or any other visual or non-visual environmental sensor of the HMD device.
[0104] Figure 1G Any of the features, components, and / or parts shown (including arrangements and configurations thereof) may be included, alone or in any combination, in any other example of the devices, features, components, and parts described herein. Likewise, any of the features, components, and / or parts shown and described herein (including arrangements and configurations thereof) may be included, alone or in any combination, in any other example of the devices, features, components, and parts described herein. Figure 1G Examples of equipment, features, components and parts shown.
[0105] Figure 1H An exploded view of an example of an HMD device 6-100 is illustrated. The HMD device 6-100 may include a sensor array or system 6-102 including one or more sensors, cameras, projectors, etc. mounted to one or more components of the HMD 6-100. In at least one example, the sensor system 6-102 may include a bracket 1-338 to which one or more sensors of the sensor system 6-102 may be fixed / fastened.
[0106] Fig. 1I A portion of an HMD device 6-100 is illustrated that includes a front transparent cover 6-104 and a sensor system 6-102. The sensor system 6-102 may include a plurality of different sensors, emitters, receivers, including cameras, IR sensors, projectors, etc. The transparent cover 6-104 is shown in front of the sensor system 6-102 to illustrate the relative positioning of the various sensors and emitters and the orientation of each sensor / emitter of the system 6-102. As referred to herein, "beside," "sideways," "lateral," "horizontal," and other similar terms refer to a portion of an HMD device 6-100 that is configured as a front transparent cover 6-104 and a sensor system 6-102. Figure 1J The orientation or direction is indicated by the x-axis shown. Terms such as "vertical", "upward", "downward" and similar terms refer to the orientation or direction indicated by the x-axis shown. Figure 1JThe orientation or direction is indicated by the Z-axis shown. Terms such as "frontward", "rearward", "forward", "backward" and similar terms refer to the orientation or direction indicated by the Z-axis shown. Figure 1J The orientation or direction indicated by the Y-axis shown.
[0107] In at least one example, a transparent cover 6-104 may define a front exterior surface of the HMD device 6-100, and a sensor system 6-102 including various sensors and components thereof may be disposed in the Y axis / direction behind the cover 6-104. The cover 6-104 may be transparent or translucent to allow light to pass through the cover 6-104, including both light detected by the sensor system 6-102 and light emitted thereby.
[0108] As described elsewhere herein, the HMD device 6-100 may include one or more controllers including processors for electrically coupling the various sensors and transmitters of the sensor system 6-102 to one or more motherboards, processing units, and other electronic devices such as display screens. In addition, as will be shown in more detail below with reference to other figures, the various sensors, transmitters, and other components of the sensor system 6-102 may be coupled to the HMD device 6-100 at Fig. 1I Various structural frame members, brackets, etc. are not shown in the figure. For the sake of clarity, Fig. 1I Components of the sensor system 6-102 are shown unattached and unelectrically coupled to other components.
[0109] In at least one example, the device may include one or more controllers having processors configured to execute instructions stored on a memory component electrically coupled to the processor. The instructions may include or cause the processor to execute one or more algorithms for self-correcting the angles and positions of the various cameras described herein over time as the initial position, angle, or orientation of the camera is bumped or deformed due to an accidental drop event or other event.
[0110] In at least one example, the sensor system 6-102 may include one or more scene cameras 6-106. The system 6-102 may include two scene cameras 6-102, disposed on either side of the bridge or arch of the HMD device 6-100, such that each of the two cameras 6-106 roughly corresponds to the positioning of the left and right eyes of the user behind the cover 6-103. In at least one example, the scene camera 6-106 is generally oriented forward in the Y direction to capture images in front of the user during use of the HMD 6-100. In at least one example, the scene camera is a color camera and provides images and content for MR video pass-through to a display screen facing the user's eyes when the HMD device 6-100 is used. The scene camera 6-106 can also be used for environment and object reconstruction.
[0111] In at least one example, the sensor system 6-102 may include a first depth sensor 6-108 pointing generally forward in the Y direction. In at least one example, the first depth sensor 6-108 may be used for environment and object reconstruction and hand and body tracking of a user. In at least one example, the sensor system 6-102 may include a second depth sensor 6-110 centrally disposed along the width of the HMD device 6-100 (e.g., along the X-axis). For example, the second depth sensor 6-110 may be disposed on an adapting structure above a central nose bridge or above a nose when the user wears the HMD 6-100. In at least one example, the second depth sensor 6-110 may be used for environment and object reconstruction and hand and body tracking. In at least one example, the second depth sensor may include a LIDAR sensor.
[0112] In at least one example, the sensor system 6-102 may include a depth projector 6-112 that is generally forward facing to project electromagnetic waves (e.g., in a predetermined pattern of light dots) into or within the field of view of a user and / or scene camera 6-106, or into or within a field of view that includes and exceeds the field of view of the user and / or scene camera 6-106. In at least one example, the depth projector is capable of projecting electromagnetic waves of light in the form of a pattern of light dots that are reflected from an object and returned to the depth sensors described above, including the depth sensors 6-108, 6-110. In at least one example, the depth projector 6-112 can be used for environment and object reconstruction and hand and body tracking.
[0113] In at least one example, the sensor system 6-102 may include downward facing cameras 6-114 whose fields of view are generally pointed downward on the Z axis relative to the HMD device 6-100. In at least one example, the downward cameras 6-114 may be disposed on the left and right sides of the HMD device 6-100 as shown and used for hand and body tracking, headset tracking, and facial avatar detection and creation for displaying a user avatar on a forward facing display screen of the HMD device 6-100 as described elsewhere herein. For example, the downward cameras 6-114 may be used to capture facial expressions and movements of a user's face below the HMD device 6-100, including cheeks, mouth, and chin.
[0114] In at least one example, the sensor system 6-102 may include a jaw camera 6-116. In at least one example, the jaw cameras 6-116 may be disposed on the left and right sides of the HMD device 6-100 as shown and used for hand and body tracking, headset tracking, and facial avatar detection and creation for displaying a user avatar on a forward-facing display screen of the HMD device 6-100 as described elsewhere herein. For example, the jaw camera 6-116 may be used to capture facial expressions and movements of a user's face (including the user's jaw, cheeks, mouth, and chin) beneath the HMD device 6-100. For hand and body tracking, headset tracking, and facial avatar detection and creation, the user avatar may be displayed on the front display screen of the HMD device 6-100 as described elsewhere herein.
[0115] In at least one example, the sensor system 6-102 may include a side camera 6-118. The side camera 6-118 may be oriented to capture left and right side views in an X-axis or direction relative to the HMD device 6-100. In at least one example, the side camera 6-118 may be used for hand and body tracking, headset tracking, and facial avatar detection and re-creation.
[0116] In at least one example, the sensor system 6-102 may include a plurality of eye tracking and gaze tracking sensors for determining the identity, status, and gaze direction of the user's eyes during and / or prior to use. In at least one example, the eye / gaze tracking sensors may include a nose-eye camera 6-120 that is disposed on either side of the user's nose and adjacent to the user's nose when the HMD device 6-100 is worn. The eye / gaze sensors may also include a bottom eye camera 6-122 disposed below the respective user's eyes for capturing images of the eyes for facial avatar detection and creation, gaze tracking, and iris identification functions.
[0117] In at least one example, the sensor system 6-102 may include an infrared illuminator 6-124 that points outward from the HMD device 6-100 to illuminate the external environment and any objects therein with IR light for IR detection using one or more IR sensors of the sensor system 6-102. In at least one example, the sensor system 6-102 may include a flicker sensor 6-126 and an ambient light sensor 6-128. In at least one example, the flicker sensor 6-126 may detect the overhead light refresh rate to avoid display flicker. In one example, the infrared illuminator 6-124 may include a light emitting diode and may be particularly useful in low light environments for illuminating the user's hands and other objects in low light for detection by the infrared sensors of the sensor system 6-102.
[0118] In at least one example, multiple sensors (including the scene camera 6-106, the downward camera 6-114, the jaw camera 6-116, the side camera 6-118, the depth projector 6-112, and the depth sensors 6-108, 6-110) can be used in combination with an electrically coupled controller to combine depth data with camera data for hand tracking and for size determination to better perform hand tracking and object recognition and tracking functions of the HMD device 6-100. In at least one example, the above-described and Fig. 1I The downward camera 6-114, the jaw camera 6-116, and the side camera 6-118 shown in the figure can be wide-angle cameras capable of operating in the visible spectrum and the infrared spectrum. In at least one example, these cameras 6-114, 6-116, 6-118 can operate only in black and white light detection to simplify image processing and gain sensitivity.
[0119] Fig. 1I Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination. Figure 1J to Figure 1L Any other examples of the devices, features, components and parts shown and described herein. Likewise, reference Figure 1J to Figure 1L Any of the features, components and / or parts shown and described (including their arrangements and configurations) may be included alone or in any combination. Fig. 1I Examples of equipment, features, components and parts shown.
[0120] Figure 1JA lower perspective view of an example of an HMD 6-200 including a cover or shroud 6-204 secured to a frame 6-230 is illustrated. In at least one example, sensors 6-202 of a sensor system 6-203 may be disposed around the perimeter of the HMD 6-200 such that the sensors 6-203 are disposed outwardly around the perimeter of a display area or region 6-232 so as to not obstruct viewing of displayed light. In at least one example, the sensors may be disposed behind the shroud 6-204 and aligned with a transparent portion of the shroud, thereby allowing the sensor and projector to allow light to pass back and forth through the shroud 6-204. In at least one example, opaque ink or other opaque material or film / layer may be disposed on the shroud 6-204 around the display area 6-232 to hide components of the HMD 6-200 outside the display area 6-232 rather than the transparent portion defined by the opaque portion through which the sensor and projector send and receive light and electromagnetic signals during operation. In at least one example, the shield 6-204 allows light to pass from the display (eg, within the display area 6-232), but does not allow light to pass radially outward from the display area around the display and the perimeter of the shield 6-204.
[0121] In some examples, the shield 6-204 includes a transparent portion 6-205 and an opaque portion 6-207, as described above and elsewhere herein. In at least one example, the opaque portion 6-204 of the shield 6-207 may define one or more transparent areas 6-209 through which the sensor 6-203 of the sensor system 6-202 can send and receive signals. In the illustrated example, the sensor 6-203 of the sensor system 6-202 that sends and receives signals through the shield 6-204, or more specifically through the transparent areas 6-209 of (or defined by) the opaque portion 6-207 of the shield 6-204, may include a sensor 6-203 that sends and receives signals through the shield 6-204, or more specifically through the transparent areas 6-209 of (or defined by) the opaque portion 6-207 of the shield 6-204. Fig. 1I The same or similar sensors as those shown in the example of FIG. 6-108, such as depth sensors 6-108 and 6-110, depth projector 6-112, first and second scene cameras 6-106, first and second downward cameras 6-114, first and second side cameras 6-118, and first and second infrared illuminators 6-124. These sensors are also Figure 1K and Figure 1L Other sensors, sensor types, number of sensors, and their relative positioning may be included in one or more other examples of the HMD.
[0122] Figure 1J Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination. Fig. 1I and Figure 1K to Figure 1LAny other examples of the devices, features, components and parts shown and described herein. Likewise, reference Fig. 1I and Figure 1K to Figure 1L Any of the features, components and / or parts shown and described (including their arrangements and configurations) may be included alone or in any combination. Figure 1J Examples of equipment, features, components and parts shown.
[0123] Figure 1K A front view of a portion of an example of an HMD device 6-300 including a display 6-334, brackets 6-336, 6-338, and a frame or housing 6-330 is illustrated. Figure 1K The example shown does not include a front cover or shield in order to illustrate the brackets 6-336, 6-338. For example, Figure 1J The illustrated shield 6-204 includes an opaque portion 6-207 that would visually cover / block viewing of anything outside the display / display area 6-334 (e.g., radially / peripherally outside the display / display area), including the sensor 6-303 and the bracket 6-338.
[0124] In at least one example, the various sensors of the sensor system 6-302 are coupled to brackets 6-336, 6-338. In at least one example, the scene cameras 6-306 include tight tolerances on angles relative to each other. For example, the tolerance on mounting angles between two scene cameras 6-306 may be 0.5 degrees or less, such as 0.3 degrees or less. In order to achieve and maintain such tight tolerances, in one example, the scene camera 6-306 may be mounted to the bracket 6-338 instead of the shield. The bracket may include a cantilever on which the scene camera 6-306 and other sensors of the sensor system 6-302 may be mounted to maintain positioning and orientation in the event of a drop by a user causing any deformation of the other brackets 6-226, the housing 6-330, and / or the shield.
[0125] Figure 1K Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination. Figures 1I to 1J and Figure 1L Any other examples of the devices, features, components and parts shown and described herein. Likewise, reference Figures 1I to 1J and Figure 1L Any of the features, components and / or parts shown and described (including their arrangements and configurations) may be included alone or in any combination. Figure 1K Examples of equipment, features, components and parts shown.
[0126] Figure 1LA bottom view of an example of an HMD 6-400 including a front display / cover assembly 6-404 and a sensor system 6-402 is illustrated. The sensor system 6-402 may be used in conjunction with the HMD 6-400 described above and elsewhere herein (including reference Figures 1I to 1K ) are similar to other sensor systems described herein. In at least one example, the jaw camera 6-416 may face downward to capture images of lower facial features of the user. In one example, the jaw camera 6-416 may be directly coupled to the frame or housing 6-430 or one or more internal brackets that are directly coupled to the frame or housing 6-430 as shown. The frame or housing 6-430 may include one or more holes / openings 6-415 through which the jaw camera 6-416 may send and receive signals.
[0127] Figure 1L Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination. Figures 1I to 1K Any other examples of the devices, features, components and parts shown and described herein. Likewise, reference Figures 1I to 1K Any of the features, components and / or parts shown and described (including their arrangements and configurations) may be included alone or in any combination. Figure 1L Examples of equipment, features, components and parts shown.
[0128] Figure 1M Illustrated is a rear perspective view of an interpupillary distance (IPD) adjustment system 11.1.1-102 including first and second optical modules 11.1.1-104a-b slidably engaged / coupled to respective guide rods 11.1.1-108a-b and motors 11.1.1-110a-b of left and right adjustment subsystems 11.1.1-106a-b. The IPD adjustment system 11.1.1-102 may be coupled to a bracket 11.1.1-112 and include a button 11.1.1-114 in electrical communication with the motors 11.1.1-110a-b. In at least one example, the button 11.1.1-114 may electrically communicate with the first and second motors 11.1.1-110a-b via a processor or other circuit component to cause the first and second motors 11.1.1-110a-b to activate and respectively cause the first and second optical modules 11.1.1-104a-b to change position relative to each other.
[0129] In at least one example, the first and second optical modules 11.1.1-104a-b may include respective display screens configured to project light toward the user's eyes when the HMD 11.1.1-100 is worn. In at least one example, the user may manipulate (e.g., press and / or rotate) the button 11.1.1-114 to activate position adjustment of the optical modules 11.1.1-104a-b to match the interpupillary distance of the user's eyes. The optical modules 11.1.1-104a-b may also include one or more cameras or other sensors / sensor systems for imaging and measuring the user's IPD so that the optical modules 11.1.1-104a-b may be adjusted to match the IPD.
[0130] In one example, a user may manipulate the button 11.1.1-114 to cause automatic position adjustment of the first and second optical modules 11.1.1-104a-b. In one example, a user may manipulate the button 11.1.1-114 to cause manual adjustment such that the optical modules 11.1.1-104a-b move farther or closer (e.g., as the user rotates the button 11.1.1-114 one way or another) until the user visually matches her / his own IPD. In one example, the manual adjustment is communicated electronically via one or more circuits, and power for moving the optical modules 11.1.1-104a-b via the motors 11.1.1-110a-b is provided by a power source. In one example, adjustment and movement of the optical modules 11.1.1-104a-b via the manipulation button 11.1.1-114 is mechanically actuated via the movement button 11.1.1-114.
[0131] Figure 1M Any of the features, components and / or parts shown (including arrangements and configurations thereof) may be included, alone or in any combination, in any other example of the device, features, components and parts shown in any other illustrated figures and described herein. Similarly, any of the features, components and / or parts shown and described in any other illustrated figures and described herein (including arrangements and configurations thereof) may be included, alone or in any combination, in any other example of the device, features, components and parts shown in any other illustrated figures and described herein. Figure 1M Examples of equipment, features, components and parts shown.
[0132] Figure 1N A front perspective view of a portion of an HMD 11.1.2-100 is illustrated, comprising an outer structural frame 11.1.2-102 and an inner or intermediate structural frame 11.1.2-104 defining first and second openings 11.1.2-106a, 11.1.2-106b. Figure 1N106a-b because a view of the opening apertures 11.1.2-106a-b may be blocked by one or more other components of the HMD 11.1.2-100 coupled to the inner frame 11.1.2-104 and / or the outer frame 11.1.2-102, as shown. In at least one example, the HMD 11.1.2-100 may include a first mounting bracket 11.1.2-108 coupled to the inner frame 11.1.2-104. In at least one example, the mounting bracket 11.1.2-108 is coupled to the inner frame 11.1.2-104 between the first and second apertures 11.1.2-106a-b.
[0133] The mounting bracket 11.1.2-108 may include a middle or center portion 11.1.2-109 coupled to the internal frame 11.1.2-104. In some examples, the middle or center portion 11.1.2-109 may not be the geometric middle or center of the bracket 11.1.2-108. Instead, the middle / center portion 11.1.2-109 may be disposed between a first cantilevered extension arm and a second cantilevered extension arm extending away from the middle portion 11.1.2-109. In at least one example, the mounting bracket 108 includes a first cantilever 11.1.2-112 and a second cantilever 11.1.2-114 extending away from the middle portion 11.1.2-109 of the mounting bracket 11.1.2-108 coupled to the internal frame 11.1.2-104.
[0134] like Figure 1N As shown, the outer frame 11.1.2-102 may define a curved geometry on its lower side to accommodate the user's nose when the user wears the HMD 11.1.2-100. The curved geometry may be referred to as a nose bridge 11.1.2-111 and is centrally located on the underside of the HMD 11.1.2-100 as shown. In at least one example, the mounting bracket 11.1.2-108 may be connected to the inner frame 11.1.2-104 between the holes 11.1.2-106a-b so that the cantilevers 11.1.2-112, 11.1.2-114 extend downwardly and laterally outwardly away from the middle portion 11.1.2-109 to complement the nose bridge 11.1.2-111 geometry of the outer frame 11.1.2-102. In this way, the mounting bracket 11.1.2-108 is configured to accommodate the user's nose, as described above. The geometry of the nose bridge 11.1.2-111 adapts to the nose as the nose bridge 11.1.2-111 provides a curvature that conforms to the shape of the user's nose, providing a comfortable fit from above, over, and around.
[0135] The first cantilever arm 11.1.2-112 may extend away from the middle portion 11.1.2-109 of the mounting bracket 11.1.2-108 in a first direction, and the second cantilever arm 11.1.2-114 may extend away from the middle portion 11.1.2-109 of the mounting bracket 11.1.2-108 in a second direction opposite to the first direction. The first cantilever arm 11.1.2-112 and the second cantilever arm 11.1.2-114 are referred to as "cantilever" or "cantilever" arms because each arm 11.1.2-112, 11.1.2-114 includes a free distal end 11.1.2-116, 11.1.2-118, respectively, which are not attached to the inner frame 11.1.2-102 and the outer frame 11.1.2-104. In this way, the arms 11.1.2-112, 11.1.2-114 depend from the middle portion 11.1.2-109, which may be connected to the inner frame 11.1.2-104, while the distal ends 11.1.2-102, 11.1.2-104 are unattached.
[0136] In at least one example, the HMD 11.1.2-100 may include one or more components coupled to a mounting bracket 11.1.2-108. In one example, the components include a plurality of sensors 11.1.2-110a-f. Each of the plurality of sensors 11.1.2-110a-f may include various types of sensors, including cameras, IR sensors, and the like. In some examples, one or more of the sensors 11.1.2-110a-f may be used for object recognition in three-dimensional space, such that maintaining accurate relative positioning of two or more of the plurality of sensors 11.1.2-110a-f is important. The cantilever nature of the mounting bracket 11.1.2-108 may protect the sensors 11.1.2-110a-f from damage and changing positioning in the event of an accidental drop by a user. Because the sensors 11.1.2-110a-f are cantilevered on the arms 11.1.2-112, 11.1.2-114 of the mounting bracket 11.1.2-108, stresses and deformations of the inner frame and / or outer frame 11.1.2-104, 11.1.2-102 are not transmitted to the cantilevered arms 11.1.2-112, 11.1.2-114 and therefore do not affect the relative positions of the sensors 11.1.2-110a-f coupled / mounted to the mounting bracket 11.1.2-108.
[0137] Figure 1NAny of the features, components, and / or parts shown (including arrangements and configurations thereof) may be included, alone or in any combination, in any other example of the apparatus, features, components, and other examples described herein. Similarly, any of the features, components, and / or parts shown and described herein (including arrangements and configurations thereof) may be included, alone or in any combination, in any other example of the apparatus, features, components, and other examples described herein. Figure 1N Examples of equipment, features, components and parts shown.
[0138] Fig.1O An example of an optical module 11.3.2-100 for use in an electronic device (such as an HMD, including the HDM devices described herein) is illustrated. As shown in one or more other examples described herein, the optical module 11.3.2-100 can be one of two optical modules within the HMD, where each optical module is aligned to project light toward an eye of a user. In this way, a first optical module can project light to a first eye of a user via a display screen, and a second optical module of the same device can project light to a second eye of the user via another display screen.
[0139] In at least one example, the optical module 11.3.2-100 may include an optical frame or housing 11.3.2-102, which may also be referred to as a barrel or optical module barrel. The optical module 11.3.2-100 may also include a display 11.3.2-104 coupled to the housing 11.3.2-102, the display including one or more display screens. The display 11.3.2-104 may be coupled to the housing 11.3.2-102 such that the display 11.3.2-104 is configured to project light toward the eyes of a user when the HMD to which the display module 11.3.2-100 belongs is worn during use. In at least one example, the housing 11.3.2-102 may surround the display 11.3.2-104 and provide connection features for coupling other components of the optical module described herein.
[0140] In one example, the optical module 11.3.2-100 may include one or more cameras 11.3.2-106 coupled to the housing 11.3.2-102. The camera 11.3.2-106 may be positioned relative to the display 11.3.2-104 and the housing 11.3.2-102 such that the camera 11.3.2-106 is configured to capture one or more images of a user's eye during use. In at least one example, the optical module 11.3.2-100 may also include a light strip 11.3.2-108 surrounding the display 11.3.2-104. In one example, the light strip 11.3.2-108 is disposed between the display 11.3.2-104 and the camera 11.3.2-106. The light strip 11.3.2-108 may include a plurality of lights 11.3.2-110. The plurality of lights may include one or more light emitting diodes (LEDs) or other lights configured to project light toward the eyes of the user when the HMD is worn. The individual lights 11.3.2-110 in the light strip 11.3.2-108 may be spaced around the light strip 11.3.2-108 and thus evenly or unevenly spaced around the display 11.3.2-104 at various locations on the light strip 11.3.2-108 and around the display 11.3.2-104.
[0141] In at least one example, the housing 11.3.2-102 defines a viewing opening 11.3.2-101 through which a user can view the display 11.3.2-104 when wearing the HMD device. In at least one example, the LEDs are configured and arranged to emit light through the viewing opening 11.3.2-101 onto the user's eyes. In one example, the camera 11.3.2-106 is configured to capture one or more images of the user's eyes through the viewing opening 11.3.2-101.
[0142] As mentioned above, Fig.1O Each of the components and features of the illustrated optical module 11.3.2-100 may be replicated in another (eg, second) optical module provided with the HMD to interact with (eg, project light and capture images) the user's other eye.
[0143] Fig.1O Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination. Figure 1P any other examples of other examples of devices, features, components, and parts shown or otherwise described herein. Likewise, reference Figure 1P Any of the features, components and / or parts shown and described or otherwise described herein (including arrangements and configurations thereof) may be included alone or in any combination. Fig.1O Examples of equipment, features, components and parts shown.
[0144] Figure 1P A cross-sectional view of an example of an optical module 11.3.2-200 is illustrated, the optical module comprising a housing 11.3.2-202, a display assembly 11.3.2-204 coupled to the housing 11.3.2-202, and a lens 11.3.2-216 coupled to the housing 11.3.2-202. In at least one example, the housing 11.3.2-202 defines a first hole or channel 11.3.2-212 and a second hole or channel 11.3.2-214. The channels 11.3.2-212, 11.3.2-214 can be configured to slidably engage corresponding tracks or guides of the HMD device to allow the optical module 11.3.2-200 to be adjusted relative to the user's eyes to match the user's interpupillary distance (IPD). The housing 11.3.2-202 can slidably engage the guide rods to secure the optical module 11.3.2-200 in place within the HMD.
[0145] In at least one example, the optical module 11.3.2-200 may also include a lens 11.3.2-216 coupled to the housing 11.3.2-202 and disposed between the display assembly 11.3.2-204 and the user's eyes when the HMD is worn. The lens 11.3.2-216 may be configured to direct light from the display assembly 11.3.2-204 to the user's eyes. In at least one example, the lens 11.3.2-216 may be part of a lens assembly including a corrective lens that is removably attached to the optical module 11.3.2-200. In at least one example, the lens 11.3.2-216 is disposed above the light strip 11.3.2-208 and the one or more eye tracking cameras 11.3.2-206 such that the camera 11.3.2-206 is configured to capture images of the user's eyes through the lens 11.3.2-216, and the light strip 11.3.2-208 includes lights configured to project light into the user's eyes through the lens 11.3.2-216 during use.
[0146] Figure 1P Any of the features, components, and / or parts shown (including arrangements and configurations thereof) may be included, alone or in any combination, in any other example of the apparatus, features, components, and parts and other examples described herein. Similarly, any of the features, components, and / or parts shown and described herein (including arrangements and configurations thereof) may be included, alone or in any combination, in any other example of the apparatus, features, components, and parts and other examples described herein. Figure 1P Examples of equipment, features, components and parts shown.
[0147] Figure 2is a block diagram of an example of a controller 110 according to some embodiments. While some specific features are shown, those skilled in the art will recognize from this disclosure that various other features are not shown for the sake of brevity and so as not to obscure more relevant aspects of the embodiments disclosed herein. To this end, as a non-limiting example, in some embodiments, the controller 110 includes one or more processing units 202 (e.g., a microprocessor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a graphics processing unit (GPU), a central processing unit (CPU), a processing core, etc., sometimes referred to as a processor in this document), one or more input / output (I / O) devices 206, one or more communication interfaces 208 (e.g., a universal serial bus (USB), FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Global Positioning System (GPS), infrared (IR), Bluetooth, ZIGBEE and / or similar types of interfaces), one or more programming (e.g., I / O) interfaces 210, a memory 220, and one or more communication buses 204 for interconnecting these components and various other components.
[0148] In some embodiments, the one or more communication buses 204 include circuits that interconnect and control communications between system components. In some embodiments, the one or more I / O devices 206 include at least one of a keyboard, a mouse, a touch pad, a joystick, one or more microphones, one or more speakers, one or more image sensors, one or more displays, and the like.
[0149] The memory 220 includes a high-speed random access memory, such as a dynamic random access memory (DRAM), a static random access memory (SRAM), a double data rate random access memory (DDR RAM), or other random access solid-state memory devices. In some embodiments, the memory 220 includes a non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. The memory 220 optionally includes one or more storage devices located away from the one or more processing units 202. The memory 220 includes a non-transitory computer-readable storage medium. In some embodiments, the memory 220 or the non-transitory computer-readable storage medium of the memory 220 stores the following programs, modules, and data structures or subsets thereof, including an optional operating system 230 and an XR experience module 240.
[0150] The operating system 230 includes instructions for handling various basic system services and for performing hardware-related tasks. In some embodiments, the XR experience module 240 is configured to manage and coordinate single or multiple XR experiences of one or more users (e.g., a single XR experience of one or more users, or multiple XR experiences of corresponding groups of one or more users). To this end, in various embodiments, the XR experience module 240 includes a data acquisition unit 242, a tracking unit 244, a coordination unit 246, and a data transmission unit 248.
[0151] In some embodiments, the data acquisition unit 242 is configured to obtain Figure 1A 120, and optionally acquires data (e.g., presentation data, interaction data, sensor data, location data, etc.) from one or more of input device 125, output device 155, sensor 190, and / or peripheral device 195. For this purpose, in various embodiments, data acquisition unit 242 includes instructions and / or logic for instructions as well as heuristics and metadata for the heuristics.
[0152] In some embodiments, tracking unit 244 is configured to map scene 105 and track at least display generation component 120 and optionally one or more of input device 125, output device 155, sensor 190, and / or peripheral device 195 relative to the scene 105. Figure 1A The tracking unit 244 may be configured to track the position / location of one or more parts of the user's hand and / or the position of one or more parts of the user's hand relative to the scene 105. For this purpose, in various embodiments, the tracking unit 244 includes instructions and / or logic for the instructions and heuristics and metadata for the heuristics. In some embodiments, the tracking unit 244 includes a hand tracking unit 245 and / or an eye tracking unit 243. In some embodiments, the hand tracking unit 245 is configured to track the position / location of one or more parts of the user's hand relative to the scene 105. Figure 1A The scene 105, the movement relative to the display generation component 120 and / or relative to a coordinate system (the coordinate system is defined relative to the user's hand). Figure 4 The hand tracking unit 245 is described in more detail. In some embodiments, the eye tracking unit 243 is configured to track the position or movement of the user's gaze (or more generally, the user's eyes, face, or head) relative to the scene 105 (e.g., relative to the physical environment and / or relative to the user (e.g., the user's hands)) or relative to the XR content displayed via the display generation component 120. Figure 5 The eye tracking unit 243 is described in more detail.
[0153] In some embodiments, coordination unit 246 is configured to manage and coordinate the XR experience presented to the user by display generation component 120, and optionally by one or more of output device 155 and / or peripherals 195. To this end, in various embodiments, coordination unit 246 includes instructions and / or logic for instructions and heuristics and metadata for the heuristics.
[0154] In some embodiments, data transfer unit 248 is configured to transfer data (e.g., presentation data, position data, etc.) to at least display generation component 120, and optionally to one or more of input device 125, output device 155, sensor 190, and / or peripheral device 195. To this end, in various embodiments, data transfer unit 248 includes instructions and / or logic for instructions as well as heuristics and metadata for the heuristics.
[0155] Although the data acquisition unit 242, the tracking unit 244 (e.g., including the eye tracking unit 243 and the hand tracking unit 245), the coordination unit 246, and the data transmission unit 248 are illustrated as residing on a single device (e.g., the controller 110), it should be understood that in other embodiments, any combination of the data acquisition unit 242, the tracking unit 244 (e.g., including the eye tracking unit 243 and the hand tracking unit 245), the coordination unit 246, and the data transmission unit 248 may be located in separate computing devices.
[0156] also, Figure 2 It serves more as a functional description of various features that may be present in a particular implementation, as opposed to a block diagram of the embodiments described herein. As one of ordinary skill in the art will recognize, items shown separately may be combined, and some items may be separated. For example, Figure 2 Some functional modules shown separately in the figure may be implemented in a single module, and the various functions of a single functional block may be implemented by one or more functional blocks in various embodiments. The actual number of modules and the division of specific functions and how the features are distributed among them will vary depending on the specific implementation, and in some embodiments, depends in part on the specific combination of hardware, software and / or firmware selected for a specific implementation.
[0157] Figure 31 is a block diagram of an example of a display generation component 120 according to some embodiments. Although some specific features are shown, those skilled in the art will recognize from this disclosure that various other features are not shown for the sake of brevity and so as not to obscure more relevant aspects of the embodiments disclosed herein. For this purpose, as a non-limiting example, in some embodiments, the display generation component 120 (e.g., an HMD) includes one or more processing units 302 (e.g., a microprocessor, an ASIC, an FPGA, a GPU, a CPU, a processing core, etc.), one or more input / output (I / O) devices and sensors 306, one or more communication interfaces 308 (e.g., USB, FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE802.11x, IEEE 802.16x, GSM, CDMA, TDMA, GPS, IR, Bluetooth, ZIGBEE and / or similar types of interfaces), one or more programming (e.g., I / O) interfaces 310, one or more XR displays 312, one or more optional internal-facing and / or external-facing image sensors 314, a memory 320, and one or more communication buses 304 for interconnecting these and various other components.
[0158] In some embodiments, one or more communication buses 304 include circuits for interconnecting and controlling communications between various system components. In some embodiments, one or more I / O devices and sensors 306 include an inertial measurement unit (IMU), an accelerometer, a gyroscope, a thermometer, one or more physiological sensors (e.g., a blood pressure monitor, a heart rate monitor, a blood oxygen sensor, a blood glucose sensor, etc.), one or more microphones, one or more speakers, a haptic engine, and / or one or more depth sensors (e.g., structured light, time of flight, etc.), etc.
[0159] In some embodiments, one or more XR displays 312 are configured to provide an XR experience to the user. In some embodiments, one or more XR displays 312 correspond to holographic, digital light processing (DLP), liquid crystal display (LCD), liquid crystal on silicon (LCoS), organic light emitting field effect transistor (OLET), organic light emitting diode (OLED), surface conduction electron emission display (SED), field emission display (FED), quantum dot light emitting diode (QD-LED), microelectromechanical system (MEMS) and / or similar display types. In some embodiments, one or more XR displays 312 correspond to diffraction, reflection, polarization, holographic and other waveguide displays. For example, the display generation component 120 (e.g., HMD) includes a single XR display. As another example, the display generation component 120 includes an XR display for each eye of the user. In some embodiments, one or more XR displays 312 are capable of presenting MR and VR content. In some embodiments, one or more XR displays 312 are capable of presenting MR or VR content.
[0160] In some embodiments, the one or more image sensors 314 are configured to acquire image data corresponding to at least a portion of the user's face, including the user's eyes (and may be referred to as an eye tracking camera). In some embodiments, the one or more image sensors 314 are configured to acquire image data corresponding to the user's hands and, optionally, at least a portion of the user's arms (and may be referred to as a hand tracking camera). In some embodiments, the one or more image sensors 314 are configured to face forward so as to acquire image data corresponding to a scene that the user would see in the absence of the display generating component 120 (e.g., an HMD) (and may be referred to as a scene camera). The one or more optional image sensors 314 may include one or more RGB cameras (e.g., with a complementary metal oxide semiconductor (CMOS) image sensor or a charge coupled device (CCD) image sensor), one or more infrared (IR) cameras, and / or one or more event-based cameras, etc.
[0161] The memory 320 includes a high-speed random access memory, such as a DRAM, SRAM, DDR RAM, or other random access solid-state memory device. In some embodiments, the memory 320 includes a non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. The memory 320 optionally includes one or more storage devices located away from the one or more processing units 302. The memory 320 includes a non-transitory computer-readable storage medium. In some embodiments, the memory 320 or the non-transitory computer-readable storage medium of the memory 320 stores the following programs, modules, and data structures or a subset thereof, including an optional operating system 330 and an XR rendering module 340.
[0162] The operating system 330 includes processes for handling various basic system services and for performing hardware-related tasks. In some embodiments, the XR rendering module 340 is configured to present XR content to a user via one or more XR displays 312. For such purposes, in various embodiments, the XR rendering module 340 includes a data acquisition unit 342, an XR rendering unit 344, an XR map generation unit 346, and a data transfer unit 348.
[0163] In some embodiments, the data acquisition unit 342 is configured to at least Figure 1A The controller 110 acquires data (e.g., presentation data, interaction data, sensor data, positioning data, etc.). For the purposes described, in various embodiments, the data acquisition unit 342 includes instructions and / or logic for instructions and heuristics and metadata for the heuristics.
[0164] In some embodiments, the XR rendering unit 344 is configured to render XR content via one or more XR displays 312. For such purposes, in various embodiments, the XR rendering unit 344 includes instructions and / or logic for the instructions and heuristics and metadata for the heuristics.
[0165] In some embodiments, the XR map generation unit 346 is configured to generate an XR map (e.g., a 3D map of a mixed reality scene or a map of a physical environment in which a computer-generated object can be placed to generate an extended reality) based on the media content data. For this purpose, in various embodiments, the XR map generation unit 346 includes instructions and / or logic for the instructions and heuristics and metadata for the heuristics.
[0166] In some embodiments, the data transmission unit 348 is configured to transmit data (e.g., presentation data, position data, etc.) to at least the controller 110, and optionally to one or more of the input device 125, the output device 155, the sensor 190, and / or the peripheral device 195. For such purposes, in various embodiments, the data transmission unit 348 includes instructions and / or logic for the instructions and heuristics and metadata for the heuristics.
[0167] Although the data acquisition unit 342, the XR rendering unit 344, the XR map generation unit 346, and the data transfer unit 348 are shown as residing on a single device (e.g., Figure 1A , but it should be understood that in other embodiments, any combination of the data acquisition unit 342, the XR rendering unit 344, the XR mapping generation unit 346, and the data transmission unit 348 may be located in a separate computing device.
[0168] also, Figure 3 More as a functional description of various features that may be present in a particular embodiment, rather than a schematic diagram of the structures of the embodiments described herein. As one of ordinary skill in the art will recognize, items shown separately may be combined, and some items may be separated. For example, Figure 3 Some functional modules shown separately in the figure may be implemented in a single module, and the various functions of a single functional block may be implemented by one or more functional blocks in various embodiments. The actual number of modules and the division of specific functions and how the features are distributed among them will vary depending on the specific implementation, and in some embodiments, depends in part on the specific combination of hardware, software and / or firmware selected for a specific implementation.
[0169] Figure 4 is a schematic illustration of an example implementation of the hand tracking device 140. In some implementations, the hand tracking device 140 ( Figure 1A ) by the hand tracking unit 245( Figure 2 ) to track the position / location of one or more parts of the user's hand and / or one or more parts of the user's hand relative to Figure 1AThe hand tracking device 140 is configured to monitor movement of the scene 105 (e.g., relative to a portion of the physical environment surrounding the user, relative to the display generation component 120, or relative to a portion of the user (e.g., the user's face, eyes, or head), and / or relative to a coordinate system (which is defined relative to the user's hands). In some embodiments, the hand tracking device 140 is part of the display generation component 120 (e.g., embedded in or attached to the head-mounted device). In some embodiments, the hand tracking device 140 is separate from the display generation component 120 (e.g., located in a separate housing or attached to a separate physical support structure).
[0170] In some embodiments, the hand tracking device 140 includes an image sensor 404 (e.g., one or more IR cameras, 3D cameras, depth cameras, and / or color cameras, etc.) that captures three-dimensional scene information including at least a human user's hand 406. The image sensor 404 captures hand images at a sufficient resolution so that fingers and their corresponding positions can be distinguished. The image sensor 404 typically captures images of other parts of the user's body, or may also capture images of all parts of the body, and may have zoom capabilities or a dedicated sensor with increased magnification to capture images of the hand with a desired resolution. In some embodiments, the image sensor 404 also captures 2D color video images of the hand 406 and other elements of the scene. In some embodiments, the image sensor 404 is used in conjunction with other image sensors to capture the physical environment of the scene 105, or is used as an image sensor that captures the physical environment of the scene 105. In some embodiments, the image sensor is positioned relative to the user or the user's environment in a manner that the field of view of the image sensor 404 or a portion thereof is used to define an interaction space, in which the hand movements captured by the image sensor are considered as input to the controller 110.
[0171] In some embodiments, the image sensor 404 outputs a sequence of frames containing 3D image data (and, in addition, possible color image data) to the controller 110, which extracts high-level information from the image data. The high-level information is typically provided to an application running on the controller via an application program interface (API), which drives the display generation component 120 accordingly. For example, a user can interact with software running on the controller 110 by moving their hands 406 and / or changing their hand postures.
[0172] In some embodiments, the image sensor 404 projects a speckled pattern onto a scene containing the hand 406 and captures an image of the projected pattern. In some embodiments, the controller 110 calculates the 3D coordinates of points in the scene (including points on the surface of the user's hand) by triangulation based on the lateral offset of the spots in the pattern. This method is advantageous because it does not require the user to hold or wear any kind of beacon, sensor, or other marker. The method gives the depth coordinates of points in the scene at a specific distance from the image sensor 404 relative to a predetermined reference plane. In the present disclosure, it is assumed that the image sensor 404 defines an orthogonal set of x-axis, y-axis, and z-axis, so that the depth coordinates of points in the scene correspond to the z component measured by the image sensor. Alternatively, the image sensor 404 (e.g., a hand tracking device) may use other 3D mapping methods based on a single or multiple cameras or other types of sensors, such as stereo imaging or time-of-flight measurement.
[0173] In some embodiments, the hand tracking device 140 captures and processes a time series of depth maps containing the user's hand as the user moves their hand (e.g., the entire hand or one or more fingers). Software running on the image sensor 404 and / or a processor in the controller 110 processes the 3D map data to extract image patch descriptors of the hand in these depth maps. The software can match these descriptors with image patch descriptors stored in the database 408 based on a previous learning process to estimate the pose of the hand in each frame. The pose typically includes the 3D location of the user's hand joints and finger tips.
[0174] The software can also analyze the trajectory of the hand and / or finger over multiple frames in the sequence to identify gestures. The pose estimation function described herein can be alternated with the motion tracking function so that the image block-based pose estimation is performed only once every two (or more) frames, and the tracking is used to find the changes in pose that occur on the remaining frames. The pose, motion, and gesture information is provided to the application running on the controller 110 via the above-mentioned API. The program can, for example, move and modify the image presented on the display generation component 120 in response to the pose and / or gesture information, or perform other functions.
[0175] In some embodiments, gestures include air gestures. An air gesture is a gesture detected without the user touching an input element that is part of a device (e.g., computer system 101, one or more input devices 125, and / or hand tracking device 140) (or independent of an input element that is part of a device) and based on detected movement of a part of the user's body (e.g., head, one or more arms, one or more hands, one or more fingers, and / or one or more legs) through the air (including movement of the user's body relative to an absolute reference (e.g., the angle of the user's arm relative to the ground or the distance of the user's hand relative to the ground), movement relative to another part of the user's body (e.g., movement of the user's hand relative to the user's shoulder, movement of one of the user's hands relative to the user's other hand, and / or movement of a user's finger relative to another finger or part of the user's hand), and / or absolute movement of a part of the user's body (e.g., a tap gesture in which the hand moves a predetermined amount and / or speed in a predetermined posture, or a shake gesture including a predetermined speed or amount of rotation of a part of the user's body)).
[0176] In some embodiments, according to some embodiments, the input gestures used in the various examples and embodiments described herein include air gestures for interacting with an XR environment (e.g., a virtual or mixed reality environment) performed by movement of a user's fingers relative to other fingers or parts of the user's hand. In some embodiments, an air gesture is a gesture detected without the user touching an input element that is part of the device (or independent of an input element that is part of the device) and based on detected movement of a part of the user's body through the air (including movement of the user's body relative to an absolute reference (e.g., the angle of the user's arm relative to the ground or the distance of the user's hand relative to the ground), movement relative to another part of the user's body (e.g., movement of the user's hand relative to the user's shoulder, movement of one of the user's hands relative to the user's other hand, and / or movement of the user's fingers relative to another finger or part of the user's hand), and / or absolute movement of a part of the user's body (e.g., a tap gesture in which the hand moves a predetermined amount and / or speed in a predetermined posture, or a shake gesture including a predetermined speed or rotation amount of a part of the user's body)).
[0177] In some embodiments where the input gesture is an in-air gesture (e.g., in the absence of physical contact with an input device that provides information to the computer system about which user interface element is the target of the user input, such as contact with a user interface element displayed on a touch screen, or contact with a mouse or trackpad to move a cursor to a user interface element), the gesture takes into account the user's attention (e.g., gaze) to determine the target of the user input (e.g., for direct input, as described below). Thus, in embodiments involving in-air gestures, for example, the input gesture is combined (e.g., simultaneously) with movement of the user's fingers and / or hand to detect attention (e.g., gaze) toward a user interface element to perform a pinch and / or tap input, as described below.
[0178] In some embodiments, an input gesture pointing to a user interface object is performed directly or indirectly with reference to the user interface object. For example, the user input is performed directly on the user interface object according to performing an input gesture with the user's hand at a location corresponding to the location of the user interface object in the three-dimensional environment (e.g., as determined based on the user's current viewpoint). In some embodiments, when the user's attention (e.g., gaze) to the user interface object is detected, the input gesture is performed indirectly on the user interface object according to the user's hand being located at a location corresponding to the location of the user interface object in the three-dimensional environment while the user performs the input gesture. For example, for a direct input gesture, the user can direct the user's input to the user interface object by initiating a gesture at or near a location corresponding to the display location of the user interface object (e.g., within 0.5 cm, 1 cm, 5 cm, or a distance between 0 and 5 cm measured from the outer edge of the option or the center portion of the option). For an indirect input gesture, the user can direct the user's input to the user interface object by focusing on the user interface object (e.g., by gazing at the user interface object), and while focusing on the option, the user initiates an input gesture (e.g., at any location detectable by the computer system) (e.g., at a location that does not correspond to the display location of the user interface object).
[0179] In some embodiments, according to some embodiments, the input gestures (e.g., air gestures) used in various examples and embodiments described herein include pinch input and tap input for interacting with a virtual or mixed reality environment. For example, the pinch input and tap input described below are performed as air gestures.
[0180] In some embodiments, the pinch input is part of an air gesture that includes one or more of the following: a pinch gesture, a long pinch gesture, a pinch and drag gesture, or a double pinch gesture. For example, a pinch gesture as an air gesture includes movement of two or more fingers of a hand to contact each other, that is, optionally followed by an immediate (e.g., within 0 seconds to 1 second) interruption of contact with each other. A long pinch gesture as an air gesture includes movement of two or more fingers of a hand in contact with each other for at least a threshold amount of time (e.g., at least 1 second) before an interruption of contact with each other is detected. For example, a long pinch gesture includes the user maintaining a pinch gesture (e.g., in which two or more fingers are in contact), and the long pinch gesture continues until an interruption of contact between the two or more fingers is detected. In some embodiments, a double pinch gesture as an air gesture includes two (e.g., or more) pinch inputs (e.g., performed by the same hand) that are detected consecutively immediately (e.g., within a predefined time period) with each other. For example, the user performs a first pinch input (e.g., a pinch input or a long pinch input), releases the first pinch input (e.g., interrupts contact between two or more fingers), and performs a second pinch input within a predefined time period after releasing the first pinch input (e.g., within 1 second or within 2 seconds).
[0181] In some embodiments, the pinch and drag gesture as an air gesture includes a pinch gesture (e.g., a pinch gesture or a long pinch gesture) performed in conjunction with (e.g., following) a drag input that changes the positioning of the user's hand from a first positioning (e.g., a starting positioning for dragging) to a second positioning (e.g., an ending positioning for dragging). In some embodiments, the user maintains the pinch gesture while performing the drag input, and releases the pinch gesture (e.g., opens their two or more fingers) to end the drag gesture (e.g., at the second positioning). In some embodiments, the pinch input and the drag input are performed by the same hand (e.g., the user pinches two or more fingers to contact each other and moves the same hand to the second positioning in the air using the drag gesture). In some embodiments, a pinch input is performed by a first hand of a user, and a drag input is performed by a second hand of the user (e.g., the second hand of the user moves in the air from a first position to a second position while the user continues the pinch input with the user's first hand. In some embodiments, the input gesture as an air gesture includes input performed using both hands of the user (e.g., pinch and / or tap input). For example, the input gesture includes two (e.g., or more) pinch inputs performed in conjunction with each other (e.g., concurrently or within a predefined time period). For example, a first pinch gesture (e.g., a pinch input, a long pinch input, or a pinch and drag input) is performed using the first hand of the user, and in conjunction with the pinch input performed using the first hand, a second pinch input is performed using another hand (e.g., a second hand of the user's two hands). In some embodiments, movement between the two hands of the user (e.g., increasing and / or decreasing the distance or relative orientation between the two hands of the user).
[0182] In some embodiments, a tap input performed as an air gesture (e.g., pointing to a user interface element) includes movement of a user's finger toward the user interface element, movement of the user's hand toward the user interface element (optionally, extension of the user's finger toward the user interface element), downward movement of the user's finger (e.g., mimicking a mouse click motion or a tap on a touch screen), or other predefined movement of the user's hand. In some embodiments, a tap input performed as an air gesture is detected based on movement characteristics of the finger or hand performing the tap gesture movement of the finger or hand, which is a movement of the finger or hand away from the user's viewpoint and / or toward an object that is the target of the tap input, followed by an end of the movement. In some embodiments, the end of the movement is detected based on a change in the movement characteristics of the finger or hand performing the tap gesture (e.g., the end of movement away from the user's viewpoint and / or toward an object that is the target of the tap input, a reversal of the direction of movement of the finger or hand, and / or a reversal of the acceleration direction of the movement of the finger or hand).
[0183] In some embodiments, a single-finger air pinch gesture includes movement of a thumb and another finger of the same hand into contact with each other (e.g., pinching), optionally followed by breaking contact with each other (e.g., immediately breaking or releasing the pinch, or breaking or releasing the pinch within a threshold amount of time). Both fingers do not have to move, as long as contact between the thumb and the other finger occurs, or at least the thumb and the other finger are brought sufficiently close to each other (e.g., within a threshold distance).
[0184] In some embodiments, a multi-finger air pinch gesture includes movement of a thumb and two other fingers of the same hand to make contact between the thumb and the two other fingers (e.g., pinching), optionally followed by releasing the pinch or breaking contact between the thumb and the two other fingers (e.g., breaking or releasing the pinch immediately, or breaking or releasing the pinch within a threshold amount of time). As long as contact occurs between the thumb and the two other fingers, or at least the thumb and the two other fingers are sufficiently close to each other (e.g., within a threshold distance), the thumb and the two other fingers do not have to move.
[0185] In some embodiments, the secondary air pinch gesture includes performing or holding a single-finger air pinch or a multi-finger air pinch gesture with one hand while combined with a single-finger air pinch (e.g., between the thumb and index finger) on the opposing hand. For example, while the single-finger air pinch gesture is held on the first hand, other air pinch gestures performed with the second hand are interpreted by the computer system as secondary air pinch gestures. Releasing the air pinch on the second hand causes the computer system to execute the gesture, and the air pinch gesture held on the first hand continues to modify any subsequent air pinches performed with the first hand before being released. Thus, the first hand modifies the air pinch gesture performed with the second hand.
[0186] In some embodiments, the air pinch-swipe gesture includes a pinch gesture (e.g., a single-finger air pinch gesture or a multi-finger air pinch gesture) performed in combination with (e.g., followed by) a movement (e.g., a drag or slide input) of a user's hand from a first position (e.g., a starting position for the slide) to a second position (e.g., an ending position for the slide) in a corresponding direction (e.g., up, right, left, or down). In some embodiments, the user maintains the pinch gesture (e.g., where the fingers are or have been in contact with each other at the first position) while performing the slide input, and releases the pinch gesture (e.g., opening their two or more fingers) to end the slide gesture (e.g., at the second position). In some embodiments, the pinch input and the slide input are performed by the same hand (e.g., the user pinches two or more fingers to contact each other, and moves the same hand to the second position in the air with a slide gesture).
[0187] In some embodiments, it is determined that the user's attention is directed to a portion of the three-dimensional environment based on detection of a gaze directed to that portion of the three-dimensional environment (optionally, no other conditions are required). In some embodiments, it is determined that the user's attention is directed to a portion of the three-dimensional environment based on detection of a gaze directed to that portion of the three-dimensional environment using one or more additional conditions, such as requiring the gaze to be directed to the portion of the three-dimensional environment for at least a threshold duration (e.g., a dwell duration) and / or requiring the gaze to be directed to the portion of the three-dimensional environment when the user's viewpoint is within a distance threshold from the portion of the three-dimensional environment, so that the device determines that the user's attention is directed to the portion of the three-dimensional environment, wherein if one of these additional conditions is not met, the device determines that the attention is not directed to the portion of the three-dimensional environment to which the gaze is directed (e.g., until the one or more additional conditions are met).
[0188] In some embodiments, the detection of a ready state configuration of a user or a portion of a user is detected by a computer system. The detection of the ready state configuration of a hand is used by the computer system as an indication that the user may be preparing to interact with the computer system using one or more air gesture inputs (e.g., pinch, tap, pinch and drag, double pinch, long pinch, or other air gestures described herein) performed by the hand. For example, the ready state of the hand is determined based on whether the hand has a predetermined hand shape (e.g., a pre-pinch shape with the thumb and one or more fingers extended and spaced apart to prepare for a pinch or grab gesture, or a pre-tap with one or more fingers extended and the palm facing away from the user), based on whether the hand is in a predetermined position relative to the user's viewpoint (e.g., below the user's head and above the user's waist and extending at least 15 cm, 20 cm, 25 cm, 30 cm, or 50 cm from the body), and / or based on whether the hand has moved in a particular manner (e.g., toward an area in front of the user above the user's waist and below the user's head or away from the user's body or legs). In some embodiments, the ready state is used to determine whether an interactive element of a user interface responds to attention (e.g., gaze) input.
[0189] In some embodiments, the software may be downloaded to the controller 110 in electronic form, for example, over a network, or may alternatively be provided on a tangible, non-transitory medium such as an optical, magnetic, or electronic memory medium. In some embodiments, the database 408 is also stored in a memory associated with the controller 110. Alternatively or in addition, some or all of the described functions of the computer may be implemented in dedicated hardware, such as a custom or semi-custom integrated circuit or a programmable digital signal processor (DSP). Although in Figure 4Controller 110 is shown in FIG. 1 , but some or all of the processing functions of the controller may be performed by a suitable microprocessor and software or by dedicated circuitry within the housing of the image sensor 404 (e.g., a hand tracking device) or other device associated with the image sensor 404, for example, as a separate unit from the image sensor 404. In some embodiments, at least some of these processing functions may be performed by a suitable processor integrated with the display generation component 120 (e.g., in a television receiver, handheld device, or head-mounted device) or with any other suitable computerized device (such as a game console or media player). The sensing functions of the image sensor 404 may also be integrated into a computer or other computerized device to be controlled by the sensor output.
[0190] Figure 4 Also included is a schematic diagram of a depth map 410 captured by the image sensor 404 according to some embodiments. As described above, the depth map includes a matrix of pixels with corresponding depth values. Pixels 412 corresponding to the hand 406 have been segmented from the background and wrist in the figure. The brightness of each pixel in the depth map 410 is inversely proportional to its depth value (i.e., the measured z distance from the image sensor 404), where the gray shades become darker as the depth increases. The controller 110 processes these depth values in order to identify and segment the components of the image that have human hand characteristics (i.e., a group of adjacent pixels). These characteristics may include, for example, overall size, shape, and movement from frame to frame in the depth map sequence.
[0191] Figure 4 Also schematically illustrated is a hand skeleton 414 that the controller 110 ultimately extracts from the depth map 410 of the hand 406 according to some embodiments. Figure 4 , a hand skeleton 414 is superimposed on a hand background 416 that has been segmented from the original depth map. In some embodiments, key feature points of the hand and optionally on a wrist or arm connected to the hand (e.g., points corresponding to knuckles, finger tips, center of the palm, end of the hand connected to the wrist, etc.) are identified and located on the hand skeleton 414. In some embodiments, the controller 110 uses the position and movement of these key feature points over multiple image frames to determine a gesture performed by the hand or the current state of the hand according to some embodiments.
[0192] Figure 5 The eye tracking device 130 ( Figure 1A ). In some embodiments, the eye tracking device 130 is composed of an eye tracking unit 243 ( Figure 2) controls to track the position and movement of the user's gaze relative to the scene 105 or relative to the XR content displayed via the display generation component 120. In some embodiments, the eye tracking device 130 is integrated with the display generation component 120. For example, in some embodiments, when the display generation component 120 is a head-mounted device (such as headphones, helmets, goggles, or glasses) or a handheld device placed in a wearable frame, the head-mounted device includes both components for generating XR content for viewing by the user and components for tracking the user's gaze relative to the XR content. In some embodiments, the eye tracking device 130 is separate from the display generation component 120. For example, when the display generation component is a handheld device or an XR room, the eye tracking device 130 is optionally a device separate from the handheld device or the XR room. In some embodiments, the eye tracking device 130 is a head-mounted device or a part of a head-mounted device. In some embodiments, the head-mounted eye tracking device 130 is optionally used in conjunction with a display generation component that is also head-mounted or a display generation component that is not head-mounted. In some embodiments, the eye tracking device 130 is not a head mounted device, and is optionally used in conjunction with a head mounted display generation component. In some embodiments, the eye tracking device 130 is not a head mounted device, and is optionally part of a non-head mounted display generation component.
[0193] In some embodiments, the display generation component 120 uses a display mechanism (e.g., a left near-eye display panel and a right near-eye display panel) to display a frame including a left image and a right image in front of the user's eyes, thereby providing a 3D virtual view to the user. For example, the head-mounted display generation component may include a left optical lens and a right optical lens (referred to herein as eye lenses) located between the display and the user's eyes. In some embodiments, the display generation component may include or be coupled to one or more external cameras that capture a video of the user's environment for display. In some embodiments, the head-mounted display generation component may have a transparent or translucent display, and display a virtual object on the transparent or translucent display, and the user can directly view the physical environment through the transparent or translucent display. In some embodiments, the display generation component projects the virtual object into the physical environment. The virtual object may, for example, be projected on a physical surface or projected as a hologram so that an individual using the system observes the virtual object superimposed on the physical environment. In this case, separate display panels and image frames for the left and right eyes may not be required.
[0194] like Figure 5As shown, in some embodiments, the eye tracking device 130 (e.g., gaze tracking device) includes at least one eye tracking camera (e.g., an infrared (IR) or near infrared (NIR) camera), and an illumination source (e.g., an IR or NIR light source, such as an array or ring of LEDs) that emits light (e.g., IR or NIR light) toward the user's eyes. The eye tracking camera can be pointed at the user's eyes to receive the IR or NIR light reflected directly from the eyes by the light source, or alternatively can be pointed at "hot" mirrors located between the user's eyes and the display panel, which reflect the IR or NIR light from the eyes to the eye tracking camera while allowing visible light to pass through. The eye tracking device 130 optionally captures images of the user's eyes (e.g., as a video stream captured at 60-120 frames per second (fps)), analyzes the images to generate gaze tracking information, and transmits the gaze tracking information to the controller 110. In some embodiments, the user's two eyes are tracked separately by corresponding eye tracking cameras and illumination sources. In some embodiments, only one eye of the user is tracked by the corresponding eye tracking camera and illumination source.
[0195] In some embodiments, the eye tracking device 130 is calibrated using a device-specific calibration process to determine the parameters of the eye tracking device for a specific operating environment 100, such as the 3D geometric relationships and parameters of the LED, camera, thermal mirror (if present), eye lens, and display screen. The device-specific calibration process can be performed at a factory or another facility before the AR / VR equipment is delivered to the end user. The device-specific calibration process can be an automatic calibration process or a manual calibration process. According to some embodiments, the user-specific calibration process may include an estimate of the eye parameters of a specific user, such as pupil position, foveal position, optical axis, visual axis, eye spacing, etc. According to some embodiments, once the device-specific parameters and user-specific parameters are determined for the eye tracking device 130, a flash-assisted method can be used to process the images captured by the eye tracking camera to determine the current visual axis and the user's gaze point relative to the display.
[0196] like Figure 5As shown, the eye tracking device 130 (e.g., 130A or 130B) includes an eye lens 520 and a gaze tracking system, which includes at least one eye tracking camera 540 (e.g., an infrared (IR) or near infrared (NIR) camera) positioned on the side of the user's face on which eye tracking is performed, and an illumination source 530 (e.g., an IR or NIR light source, such as an array or ring of NIR light emitting diodes (LEDs)) that emits light (e.g., IR or NIR light) toward the user's eye 592. The eye tracking camera 540 can be directed toward a mirror 550 (which reflects IR or NIR light from the eye 592 while allowing visible light to pass) located between the user's eye 592 and a display 510 (e.g., a left display panel or a right display panel of a head-mounted display, or a display of a handheld device, a projector, etc.) (e.g., as Figure 5 ), or alternatively may be directed toward the user's eye 592 to receive reflected IR or NIR light from the eye 592 (e.g., as shown in the top portion of Figure 5 ).
[0197] In some embodiments, the controller 110 renders AR or VR frames 562 (e.g., left and right frames for left and right display panels) and provides the frames 562 to the display 510. The controller 110 uses the gaze tracking input 542 from the eye tracking camera 540 for various purposes, such as for processing the frames 562 for display. The controller 110 optionally estimates the user's gaze point on the display 510 based on the gaze tracking input 542 obtained from the eye tracking camera 540 using a flash-assisted method or other suitable method. The gaze point estimated from the gaze tracking input 542 is optionally used to determine the direction in which the user is currently looking.
[0198] Several possible use cases for the user's current gaze direction are described below and are not intended to be limiting. As an example use case, the controller 110 may render virtual content differently based on the determined direction of the user's gaze. For example, the controller 110 may generate virtual content at a higher resolution in the foveal area determined according to the user's current gaze direction than in the peripheral area. As another example, the controller may position or move virtual content in a view based at least in part on the user's current gaze direction. As another example, the controller may display specific virtual content in a view based at least in part on the user's current gaze direction. As another example use case in an AR application, the controller 110 may guide an external camera for capturing the physical environment of the XR experience to focus in the determined direction. The autofocus mechanism of the external camera may then focus on an object or surface in the environment that the user is currently looking at on the display 510. As another example use case, the eye lens 520 may be a focusable lens, and the controller uses gaze tracking information to adjust the focus of the eye lens 520 so that the virtual object that the user is currently looking at has an appropriate degree of convergence to match the convergence of the user's eye 592. The controller 110 can use the gaze tracking information to guide the eye lens 520 to adjust the focus so that nearby objects that the user is looking at appear at the correct distance.
[0199] In some embodiments, the eye tracking device is part of a head mounted device that includes a display (e.g., display 510), two eye lenses (e.g., eye lenses 520), an eye tracking camera (e.g., eye tracking camera 540), and a light source (e.g., light source 530 (e.g., IR or NIR LED)). The light source emits light (e.g., IR or NIR light) toward the user's eye 592. In some embodiments, the light sources may be arranged in a ring or circle around each of the lenses, such as Figure 5 In some embodiments, for example, eight light sources 530 (eg, LEDs) are arranged around each lens 520. However, more or fewer light sources 530 may be used, and other arrangements and locations of the light sources 530 may be used.
[0200] In some embodiments, the display 510 emits light in the visible range and does not emit light in the IR or NIR range, and therefore does not introduce noise into the gaze tracking system. Note that the positions and angles of the eye tracking cameras 540 are given by way of example and are not intended to be limiting. In some embodiments, a single eye tracking camera 540 is located on each side of the user's face. In some embodiments, two or more NIR cameras 540 may be used on each side of the user's face. In some embodiments, a camera 540 with a wider field of view (FOV) and a camera 540 with a narrower FOV may be used on each side of the user's face. In some embodiments, a camera 540 operating at one wavelength (e.g., 850 nm) and a camera 540 operating at a different wavelength (e.g., 940 nm) may be used on each side of the user's face.
[0201] like Figure 5 Embodiments of the gaze tracking system illustrated in the drawings may be used, for example, in computer-generated reality, virtual reality, and / or mixed reality applications to provide a user with a computer-generated reality, virtual reality, augmented reality, and / or augmented virtual experience.
[0202] Figure 6 A flash-assisted gaze tracking pipeline according to some embodiments is illustrated. In some embodiments, the gaze tracking pipeline is implemented by a flash-assisted gaze tracking system (e.g., as shown in FIG. 1 and FIG. Figure 5 The flash-assisted gaze tracking system may maintain a tracking state. Initially, the tracking state is off or "no". When in the tracking state, the flash-assisted gaze tracking system uses previous information from previous frames when analyzing the current frame to track the pupil outline and the flash in the current frame. When not in the tracking state, the flash-assisted gaze tracking system attempts to detect the pupil and the flash in the current frame, and if successful, initializes the tracking state to "yes" and continues with the next frame in the tracking state.
[0203] like Figure 6 As shown, the gaze tracking camera can capture left and right images of the user's left and right eyes. The captured images are then input to the gaze tracking pipeline for processing starting at 610. As indicated by the arrow returning to element 600, the gaze tracking system can continue to capture images of the user's eyes at a rate of, for example, 60 to 120 frames per second. In some embodiments, each group of captured images can be input to the pipeline for processing. However, in some embodiments or under some conditions, not all captured frames are processed by the pipeline.
[0204] At 610, for the currently captured image, if the tracking status is yes, the method proceeds to element 640. At 610, if the tracking status is no, the image is analyzed to detect the user's pupil and glint in the image, as indicated at 620. At 630, if the pupil and glint are successfully detected, the method proceeds to element 640. Otherwise, the method returns to element 610 to process the next image of the user's eye.
[0205] At 640, if advancing from element 610, the current frame is analyzed to track pupils and glints based in part on previous information from previous frames. At 640, if advancing from element 630, the tracking state is initialized based on the pupils and glints detected in the current frame. The processing results at element 640 are checked to verify that the results of the tracking or detection can be credible. For example, the results can be checked to determine whether the pupil and a sufficient number of glints for performing gaze estimation are successfully tracked or detected in the current frame. At 650, if the results are not likely to be credible, at element 660, the tracking state is set to no, and the method returns to element 610 to process the next image of the user's eye. At 650, if the results are credible, the method advances to element 670. At 670, the tracking state is set to yes (if not already yes), and the pupil and glint information is passed to element 680 to estimate the user's gaze point.
[0206] Figure 6 It is intended to be used as an example of an eye tracking technology that can be used for a particular implementation. As recognized by one of ordinary skill in the art, according to various embodiments, other eye tracking technologies currently existing or developed in the future can be used in place of or in combination with the flash-assisted eye tracking technology described herein in a computer system 101 for providing an XR experience to a user.
[0207] In some embodiments, the captured portion of the real-world environment 602 is used to provide an XR experience to the user, such as a mixed reality environment in which one or more virtual objects are overlaid on top of a representation of the real-world environment 602 .
[0208] Thus, the description herein describes some embodiments of a three-dimensional environment (e.g., an XR environment) including representations of real-world objects and representations of virtual objects. For example, the three-dimensional environment optionally includes a representation of a table present in a physical environment, which is captured and displayed in the three-dimensional environment (e.g., actively displayed via a camera and display of a computer system or passively displayed via a transparent or translucent display of a computer system). As previously described, the three-dimensional environment is optionally a mixed reality system, wherein the three-dimensional environment is based on a physical environment captured by one or more sensors of a computer system and displayed via a display generation component. As a mixed reality system, the computer system is optionally capable of selectively displaying parts and / or objects of the physical environment so that the corresponding parts and / or objects of the physical environment appear as if they exist in the three-dimensional environment displayed by the computer system. Similarly, the computer system is optionally capable of displaying virtual objects in a three-dimensional environment by placing virtual objects at corresponding positions in the three-dimensional environment that have corresponding positions in the real world to appear as if the virtual objects exist in the real world (e.g., a physical environment). For example, the computer system optionally displays a vase so that the vase appears as if a real vase is placed on top of a table in the physical environment. In some embodiments, a corresponding location in the three-dimensional environment has a corresponding location in the physical environment. Thus, when a computer system is described as displaying a virtual object at a corresponding location relative to a physical object (e.g., such as a location at or near a user's hand or at or near a physical table), the computer system displays the virtual object at a specific location in the three-dimensional environment so that it appears as if the virtual object is at or near the physical object in the physical environment (e.g., the virtual object is displayed at a location in the three-dimensional environment that corresponds to the location in the physical environment where the virtual object would be displayed if it were a real object at that specific location).
[0209] In some embodiments, real-world objects present in the physical environment that are displayed in the three-dimensional environment (e.g., and / or visible via a display generation component) can interact with virtual objects that only exist in the three-dimensional environment. For example, the three-dimensional environment may include a table and a vase placed on top of the table, where the table is a view (or representation) of a physical table in the physical environment and the vase is a virtual object.
[0210] In a three-dimensional environment (e.g., a real environment, a virtual environment, or an environment comprising a mixture of real objects and virtual objects), an object is sometimes referred to as having depth or simulated depth, or an object is referred to as being visible, displayed, or placed at different depths. In this context, depth refers to a dimension different from height or width. In some embodiments, depth is defined relative to a fixed coordinate set (e.g., where a room or object has a height, depth, and width defined relative to a fixed coordinate set). In some embodiments, depth is defined relative to the user's position or viewpoint, in which case the depth dimension varies based on the position and angle of the user's position and / or the user's viewpoint. In some embodiments where depth is defined relative to the user's position relative to the surface of the environment (e.g., the surface of the floor or ground of the environment), an object farther away from the user along a line extending parallel to the surface is considered to have greater depth in the environment, and / or the depth of an object is measured along an axis extending outward from the user's position and parallel to the surface of the environment (e.g., depth is defined in a cylindrical or substantially cylindrical coordinate system, where the user's position is at the center of a cylinder extending from the user's head toward the user's feet). In some embodiments where depth is defined relative to a user's viewpoint (e.g., relative to a direction of a point in space that determines which portion of an environment is visible via a head-mounted device or other display), objects that are farther away from the user's viewpoint along a line extending parallel to the user's viewpoint are considered to have greater depth in the environment, and / or the depth of an object is measured along an axis extending outward from the user's viewpoint and parallel to the user's viewpoint (e.g., depth is defined in a spherical or substantially spherical coordinate system with the origin of the viewpoint at the center of a sphere extending outward from the user's head). In some embodiments, depth is defined relative to a user interface container (e.g., a window or application in which applications and / or system content are displayed), where the user interface container has a height and / or width, and the depth is a dimension orthogonal to the height and / or width of the user interface container. In some embodiments, where the depth is defined relative to a user interface container, when the container is placed in a three-dimensional environment or is initially displayed (e.g., such that the depth dimension of the container extends outward away from the user or the user's viewpoint), the height and / or width of the container is generally orthogonal or substantially orthogonal to a straight line extending from a user-based position (e.g., the user's viewpoint or the user's position) to the user interface container (e.g., the center of the user interface container or another feature point of the user interface container). In some embodiments, where the depth is defined relative to the user interface container, the depth of an object relative to the user interface container refers to the positioning of the object along the depth dimension of the user interface container. In some embodiments, multiple different containers may have different depth dimensions (e.g., different depth dimensions extending away from the user or the user's viewpoint in different directions and / or from different starting points).In some embodiments, when depth is defined relative to a user interface container, the direction of the depth dimension remains constant for the user interface container as the position of the user interface container, the user, and / or the user's viewpoint changes (e.g., or when multiple different viewers are viewing the same container in a three-dimensional environment, such as during an in-person collaboration session and / or when multiple participants are in a real-time communication session with shared virtual content including the container). In some embodiments, for curved containers (e.g., including containers with curved surfaces or curved content areas), the depth dimension optionally extends into the surface of the curved container. In some cases, z separation (e.g., the separation of two objects in the depth dimension), z height (e.g., the distance of one object from another in the depth dimension), z positioning (e.g., the positioning of an object in the depth dimension), z depth (e.g., the positioning of an object in the depth dimension), or simulated z dimension (e.g., depth used as a dimension of an object, a dimension of an environment, a direction in space, and / or a direction in simulated space) is used to refer to the concept of depth as described above.
[0211] In some embodiments, the user is optionally able to use one or more hands to interact with virtual objects in a three-dimensional environment as if the virtual objects were real objects in a physical environment. For example, as described above, one or more sensors of a computer system optionally capture one or more hands of a user and display a representation of the user's hands in a three-dimensional environment (e.g., in a manner similar to displaying real-world objects in a three-dimensional environment as described above), or in some embodiments, due to the transparency / translucency of a portion of a display generation component that is displaying a user interface, or due to a projection of a user interface onto a transparent / translucent surface or a projection of a user interface onto a user's eyes or into the field of view of a user's eyes, the user's hands can be seen via the display generation component, via the ability to see the physical environment through the user interface. Therefore, in some embodiments, the user's hands are displayed at corresponding locations in the three-dimensional environment and are treated as if they were objects in the three-dimensional environment, which can interact with virtual objects in the three-dimensional environment as if these virtual objects were physical objects in the physical environment. In some embodiments, the computer system can update the display of the representation of the user's hands in the three-dimensional environment in conjunction with the movement of the user's hands in the physical environment.
[0212] In some of the embodiments described below, the computer system is optionally capable of determining an "effective" distance between a physical object in the physical world and a virtual object in a three-dimensional environment, for example, to determine whether the physical object is directly interacting with the virtual object (e.g., whether the hand is touching, grabbing, holding, etc. a virtual object or is within a threshold distance of the virtual object). For example, a hand that directly interacts with a virtual object optionally includes one or more of the following: a finger of a hand pressing a virtual button, a user's hand grabbing a virtual vase, a user's hand closing together and pinching / holding the user interface of an application, and two fingers that perform any other type of interaction described herein. For example, when determining whether a user is interacting with a virtual object and / or how a user is interacting with a virtual object, the computer system optionally determines the distance between the user's hand and the virtual object. In some embodiments, the computer system determines the distance between the user's hand and the virtual object by determining the distance between the position of the hand in the three-dimensional environment and the position of the virtual object of interest in the three-dimensional environment. For example, the one or more hands of the user are located at a specific location in the physical world, and the computer system optionally captures the one or more hands and displays the one or more hands at a specific corresponding location in the three-dimensional environment (e.g., if the hand is a virtual hand instead of a physical hand, the location where the hand will be displayed in the three-dimensional environment). The location of the hand in the three-dimensional environment is optionally compared with the location of the virtual object of interest in the three-dimensional environment to determine the distance between the one or more hands of the user and the virtual object. In some embodiments, the computer system optionally determines the distance between the physical object and the virtual object by comparing the location in the physical world (e.g., instead of comparing the location in the three-dimensional environment). For example, when determining the distance between the one or more hands of the user and the virtual object, the computer system optionally determines the corresponding position of the virtual object in the physical world (e.g., if the virtual object is a physical object instead of a virtual object, the location where the virtual object will be located in the physical world), and then determines the distance between the corresponding physical location and the one or more hands of the user. In some embodiments, the same technology is optionally used to determine the distance between any physical object and any virtual object. Therefore, as described herein, when determining whether a physical object is in contact with a virtual object or whether a physical object is within a threshold distance of a virtual object, a computer system optionally executes any of the techniques described above to map the position of the physical object to a three-dimensional environment and / or to map the position of the virtual object to the physical environment.
[0213] In some embodiments, the same or similar techniques are used to determine where and what the user's gaze is directed to, and / or where and what the physical stylus held by the user is pointed to. For example, if the user's gaze is directed to a particular location in the physical environment, the computer system optionally determines the corresponding location in the three-dimensional environment (e.g., the virtual location of the gaze), and if a virtual object is located at the corresponding virtual location, the computer system optionally determines that the user's gaze is directed to the virtual object. Similarly, the computer system is optionally able to determine the direction in which the stylus is pointing in the physical environment based on the orientation of the physical stylus. In some embodiments, based on this determination, the computer system determines a corresponding virtual location in the three-dimensional environment that corresponds to the location in the physical environment that the stylus is pointing to, and optionally determines that the stylus is pointing to the corresponding virtual location in the three-dimensional environment.
[0214] Similarly, the embodiments described herein may refer to the position of a user (e.g., a user of a computer system) in a three-dimensional environment and / or the position of a computer system in a three-dimensional environment. In some embodiments, the user of the computer system is holding, wearing, or otherwise located at or near the computer system. Therefore, in some embodiments, the position of the computer system is used as a proxy for the position of the user. In some embodiments, the position of the computer system and / or the user in the physical environment corresponds to the corresponding position in the three-dimensional environment. For example, the position of the computer system will be a position in the physical environment (and its corresponding position in the three-dimensional environment), and if the user stands at this position, facing the corresponding part of the physical environment visible via the display generation component, the user will see from this position in the physical environment in the same positioning, orientation and / or size (e.g., in an absolute sense and / or relative to each other) of the objects displayed in the three-dimensional environment by the display generation component of the computer system or visible in the three-dimensional environment via the display generation component. Similarly, if the virtual objects displayed in the three-dimensional environment are physical objects in the physical environment (e.g., physical objects placed at the same locations in the physical environment as the virtual objects are located in the three-dimensional environment, and physical objects that have the same size and orientation in the physical environment as they do in the three-dimensional environment), then the position of the computer system and / or user is the position from which the user would see the positions of the virtual objects in the physical environment at the same positions, orientations, and / or sizes (e.g., in an absolute sense and / or relative to each other and real-world objects) as the virtual objects displayed in the three-dimensional environment by the display generation components of the computer system.
[0215] In the present disclosure, various input methods are described with respect to interaction with a computer system. When an input device or input method is used to provide an example, and another input device or input method is used to provide another example, it should be understood that each example is compatible with the input device or input method described with respect to another example and optionally utilizes the input device or input method. Similarly, various output methods are described with respect to interaction with a computer system. When an output device or output method is used to provide an example, and another output device or output method is used to provide another example, it should be understood that each example is compatible with the output device or output method described with respect to another example and optionally utilizes the output device or output method. Similarly, various methods are described with respect to interaction with a virtual environment or a mixed reality environment by a computer system. When an example is provided using interaction with a virtual environment, and another example is provided using a mixed reality environment, it should be understood that each example is compatible with the method described with respect to another example and optionally utilizes these methods. Therefore, the present disclosure discloses an embodiment as a combination of features of multiple examples, without exhaustively listing all features of the embodiment in the description of each example embodiment.
[0216] User interface and associated processes
[0217] Attention is now focused on embodiments of a user interface ("UI") and associated processes that may be implemented on a computer system, such as a portable multifunction device or a head mounted device, in communication with a display generating component, one or more input devices, and optionally one or more cameras.
[0218] FIG. 7A to FIG. 7G , FIG. 8A to FIG. 8L , 9A to 9H , FIG. 10A to FIG. 10F , FIG. 15A to FIG. 15J , FIG. 16A to FIG. 16E , FIG. 17A to FIG. 17I , FIG. 21A to FIG. 21J as well as FIG. 22A to FIG. 22FIncluded are illustrations of a three-dimensional environment visible via a display generation component (e.g., display generation component 7100, display generation component 9100, or display generation component 120) of a computer system (e.g., computer system 101), and interactions occurring in the three-dimensional environment caused by user input directed to the three-dimensional environment and / or input received from other computer systems and / or sensors. In some embodiments, input is directed to a virtual object within the three-dimensional environment by a user gaze detected in an area occupied by the virtual object or by a gesture performed at a location in the physical environment corresponding to the area of the virtual object. In some embodiments, input is directed to a virtual object within the three-dimensional environment by a gesture performed (e.g., optionally, at a location in the physical environment that is unrelated to the area of the virtual object in the three-dimensional environment) when the virtual object has input focus (e.g., when the virtual object has been selected by concurrently and / or previously detected gaze input, by concurrently or previously detected pointer input, and / or by concurrently and / or previously detected gesture input). In some embodiments, the input is directed to the virtual object in the three-dimensional environment by an input device that has positioned the focus selector object (e.g., a pointer object or a selector object) at the location of the virtual object. In some embodiments, the input is directed to the virtual object in the three-dimensional environment via other devices (e.g., voice and / or control buttons). In some embodiments, the input is directed to the representation of the physical object or the virtual object corresponding to the physical object by the user's hand (e.g., with an air gesture, a touch gesture, or other hand input) movement (e.g., the whole hand moves, the whole hand moves with a corresponding posture, the movement of a part of the user's hand relative to another part of the hand, and / or the relative movement between the hands) and / or the manipulation relative to the physical object (e.g., touch, swipe, tap, open, move toward, and / or move relative). In some embodiments, the computer system displays some changes in the three-dimensional environment (e.g., displaying additional virtual content, stopping displaying existing virtual content, and / or transitioning between different immersion levels of displaying visual content) based on input from sensors (e.g., image sensors, temperature sensors, biometric sensors, motion sensors, and / or proximity sensors) and contextual conditions (e.g., location, time, and / or the presence of other people in the environment). In some embodiments, a computer system displays some changes in a three-dimensional environment (e.g., displaying additional virtual content, ceasing to display existing virtual content, and / or transitioning between different immersive levels of displayed visual content) based on input from other computers used by other users sharing a computer-generated environment with a user of the computer system (e.g., in a shared computer-generated experience, in a shared virtual environment, and / or in a shared virtual or augmented reality environment of a communication session).In some embodiments, a computer system displays some changes in a three-dimensional environment (e.g., displaying movement, deformation, and / or changes in visual characteristics of a user interface, virtual surfaces, user interface objects, and / or virtual scenery) based on input from a sensor that detects movement of other people and objects as well as movement of a user that may not be recognized as recognized gesture input for triggering an associated operation of the computer system.
[0219] In some embodiments, the three-dimensional environment visible via the display generation component described herein is a virtual three-dimensional environment including virtual objects and content at different virtual locations in the three-dimensional environment without a representation of the physical environment. In some embodiments, the three-dimensional environment is a mixed reality environment that displays virtual objects at different virtual locations in the three-dimensional environment that are constrained by one or more physical aspects of the physical environment (e.g., walls, floors, positioning and orientation of surfaces, gravity direction, time of day, and / or spatial relationships between physical objects). In some embodiments, the three-dimensional environment is an augmented reality environment that includes a representation of the physical environment. In some embodiments, the representation of the physical environment includes corresponding representations of physical objects and surfaces at different locations in the three-dimensional environment, so that the spatial relationship between different physical objects and surfaces in the physical environment is reflected by the spatial relationship between the representations of the physical objects and surfaces in the three-dimensional environment. In some embodiments, when a virtual object is placed relative to the positioning of the representations of the physical objects and surfaces in the three-dimensional environment, the virtual object appears to have a corresponding spatial relationship with the physical objects and surfaces in the physical environment. In some embodiments, a computer system transitions between displaying different types of environments based on user input and / or situational conditions (e.g., transitioning between presenting computer-generated environments or experiences with different levels of immersion, adjusting the relative prominence of audio / visual sensory input from virtual content and from representations of the physical environment).
[0220] In some embodiments, the display generating component includes a see-through portion in which a representation of the physical environment is displayed or visible. In some embodiments, the see-through portion of the display generating component is a transparent or translucent (e.g., see-through) portion of the display generating component that shows at least a portion of the physical environment around the user or within the user's field of view (sometimes referred to as "optical see-through"). For example, the see-through portion is a portion of a head-mounted display or a heads-up display that is made translucent (e.g., less than 50%, 40%, 30%, 20%, 15%, 10% or 5% opacity) or transparent, so that the user can see through it to view the real world around the user without removing the head-mounted display or moving away from the heads-up display. In some embodiments, when a virtual or mixed reality environment is displayed, the see-through portion gradually transitions from translucent or transparent to completely opaque. In some embodiments, the see-through portion of the display generating component displays a real-time feed of an image or video of at least a portion of the physical environment captured by one or more cameras (e.g., a rear-facing camera of a mobile device or associated with a head-mounted display, or other cameras that feed image data to a computer system) (sometimes referred to as "optical see-through"). In some embodiments, the one or more cameras are pointed at a portion of the physical environment that is directly in front of the user's eyes (e.g., behind the display generating component relative to the user of the display generating component). In some embodiments, the one or more cameras are pointed at a portion of the physical environment that is not directly in front of the user's eyes (e.g., in a different physical environment, or to the side or behind the user).
[0221] In some embodiments, when virtual objects are displayed at a location corresponding to the location of one or more physical objects in a physical environment (e.g., at a location in a virtual reality environment, a mixed reality environment, or an augmented reality environment), at least some of the virtual objects are displayed to replace (e.g., replace the display of) a portion of the camera's real-time view (e.g., a portion of the physical environment captured in the real-time view). In some embodiments, at least some of the virtual objects and content are projected onto a physical surface or blank space in the physical environment and are visible through a see-through portion of a display generation component (e.g., visible as part of the camera view of the physical environment, or visible through a transparent or translucent portion of the display generation component). In some embodiments, at least some of the virtual objects and content are displayed to cover a portion of the display and obstruct at least a portion of the view of the physical environment visible through a transparent or translucent portion of the display generation component.
[0222] In some embodiments, the display generation component displays different views of the three-dimensional environment based on user input or movement that changes the virtual positioning of the viewpoint of the currently displayed view of the three-dimensional environment relative to the three-dimensional environment. In some embodiments, when the three-dimensional environment is a virtual environment, the viewpoint moves based on navigation or motion requests (e.g., aerial gestures and / or gestures performed by movement of one part of the hand relative to another part of the hand) without requiring movement of the user's head, torso, and / or display generation components in the physical environment. In some embodiments, movement of the user's head and / or torso, and / or movement of the display generation component or other positioning sensing elements of the computer system (e.g., due to the user holding the display generation component or wearing an HMD) relative to the physical environment causes a corresponding movement of the viewpoint relative to the three-dimensional environment (e.g., with a corresponding movement direction, movement distance, movement speed, and / or orientation change), thereby causing a corresponding change in the current displayed view of the three-dimensional environment. In some embodiments, when a virtual object has a preset spatial relationship relative to a viewpoint (e.g., anchored or fixed to the viewpoint), movement of the viewpoint relative to the three-dimensional environment will cause movement of the virtual object relative to the three-dimensional environment while maintaining the positioning of the virtual object in the field of view (e.g., the virtual object is said to be head-locked). In some embodiments, the virtual object is body-locked to the user and moves relative to the three-dimensional environment as the user as a whole moves in the physical environment (e.g., carrying or wearing the display generation components and / or other position sensing components of the computer system), but will not move in the three-dimensional environment in response to individual user head movements (e.g., the display generation components and / or other position sensing components of the computer system rotate around a fixed position of the user in the physical environment). In some embodiments, the virtual object is optionally locked to another part of the user, such as the user's hand or the user's wrist, and moves in the three-dimensional environment in accordance with the movement of that part of the user in the physical environment to maintain a preset spatial relationship between the positioning of the virtual object and the virtual positioning of that part of the user in the three-dimensional environment. In some embodiments, the virtual object is locked to a preset portion of the field of view provided by the display generation component and moves in the three-dimensional environment based on the movement of the field of view, regardless of the user's movement that does not cause the field of view to change.
[0223] In some embodiments, such as FIG. 7A to FIG. 7G , FIG. 8A to FIG. 8L , 9A to 9H , FIG. 10A to FIG. 10F , FIG. 15A to FIG. 15J , FIG. 16A to FIG. 16E , FIG. 17A to FIG. 17I , FIG. 21A to FIG. 21J as well as FIG. 22A to FIG. 22FAs shown, the view of the three-dimensional environment sometimes does not include the representation of the user's hand, arm and / or wrist. In some embodiments, the representation of the user's hand, arm and / or wrist is included in the view of the three-dimensional environment. In some embodiments, the representation of the user's hand, arm and / or wrist is included in the view of the three-dimensional environment as a part of the representation of the physical environment provided via the display generation component. In some embodiments, these representations are not part of the representation of the physical environment, and are captured separately (e.g., by one or more cameras pointing to the user's hand, arm and wrist) and are displayed in the three-dimensional environment independently of the view currently displayed by the three-dimensional environment. In some embodiments, these representations include camera images captured by one or more cameras of the computer system or stylized versions of arms, wrists and / or hands based on information captured by various sensors. In some embodiments, these representations replace the display of a part of the representation of the physical environment, are superimposed on this part of the representation of the physical environment, or block the view of this part of the representation of the physical environment. In some embodiments, when the display generation component does not provide a view of the physical environment and provides a completely virtual environment (e.g., no camera view and no transparent pass-through portion), a real-time visual representation of one or both arms, wrists, and / or hands of the user is optionally still displayed in the virtual environment (e.g., a stylized representation or a segmented camera image). In some embodiments, if no representation of the user's hands is provided in the view of the three-dimensional environment, the position corresponding to the user's hands is optionally indicated in the three-dimensional environment, for example, by changing the appearance of the virtual content at the position in the three-dimensional environment corresponding to the position of the user's hands in the physical environment (e.g., by a change in translucency and / or simulated reflectivity). In some embodiments, the representation of the user's hand or wrist is outside the currently displayed view of the three-dimensional environment, and the virtual position corresponding to the position of the user's hand or wrist in the three-dimensional environment is outside the current field of view provided by the display generation component; and in response to the virtual position corresponding to the position of the user's hand or wrist moving within the current field of view due to the movement of the display generation component, the user's hand or wrist, the user's head, and / or the user as a whole, the representation of the user's hand or wrist is made visible in the view of the three-dimensional environment.
[0224] like FIG. 7A to FIG. 7G , FIG. 8A to FIG. 8L , 9A to 9H , FIG. 10A to FIG. 10F , FIG. 15A to FIG. 15J as well as FIG. 16A to FIG. 16E As shown in the example in , the display generation component 7100 of the computer system 101 is a touch screen held by the user 7002 or otherwise positioned in front of the user. In some embodiments, the display generation component of the computer system 101 is a head-mounted display worn on the head of the user 7002 (e.g., as shown in FIG. Figure 7E1 to Figure 7E2 , Figures 8F2 to 8F3 , FIG. 9F1 to FIG. 9F2 , FIG. 10C1 to FIG. 10C2 , FIG. 15E1 to FIG. 15F1 , FIG. 16D1 to FIG. 16D2 , FIG. 17D2 to FIG. 17D3 , Figure 21E1 to Figure 21E2 as well as FIG. 22D2 to FIG. 22D3 The head mounted display 7100a shown (e.g., in FIG. 7A to FIG. 7G , FIG. 8A to FIG. 8L , 9A to 9H , FIG. 10A to FIG. 10F , FIG. 15A to FIG. 15J as well as FIG. 16A to FIG. 16E 1 corresponds to the field of view of the user 7002 when wearing the head mounted display). FIG. 17A to FIG. 17I , FIG. 21A to FIG. 21J as well as FIG. 22A to FIG. 22F As shown in the example in , the display generating component 9100 of the computer system 101 is a touch screen held by or otherwise positioned in front of the user 9002. In some embodiments, the display generating component of the computer system 101 is a head mounted display worn on the head of the user 9002 (e.g., in FIG. 17A to FIG. 17I , FIG. 21A to FIG. 21J as well as FIG. 22A to FIG. 22FThe content shown as visible via the display generation component 9100 of the computer system 101 corresponds to the field of view of the user 9002 when wearing the head-mounted display). In some embodiments, the display generation component is a stand-alone display, a projector, or another type of display. In some embodiments, the computer system communicates with one or more input devices, which include cameras or other sensors and input devices that detect movement of a user's hands, movement of the user's entire body, and / or movement of the user's head in the physical environment. In some embodiments, the one or more input devices detect movement and current posture, orientation, and position of the user's hands, face, and / or entire body. For example, in some embodiments, when a user's hand 7020 is within the field of view of the one or more sensors of the HMD 7100a (e.g., within the user's field of view), a representation of the user's hand 7020 is displayed in a user interface displayed on the display of the HMD 7100a (e.g., as a pass-through representation and / or as a virtual representation of the user's hand 7020). In some embodiments, when the user's hand 7022 is within the field of view of the one or more sensors of the HMD 7100a (e.g., within the user's field of view), a representation of the user's hand 7022 is displayed in a user interface displayed on the display of the HMD 7100a (e.g., as a pass-through representation and / or as a virtual representation of the user's hand 7022). In some embodiments, the user's hand 7020 and / or the user's hand 7022 are used to perform one or more gestures (e.g., one or more air gestures), optionally in combination with gaze input. In some embodiments, the one or more gestures performed with the user's hands 7020 and / or 7022 include direct air gesture input, which is based on the positioning of the representations 7020' and / or 7022' of the user's hand displayed within the user interface on the display of the HMD 7100a. For example, direct air gesture input is determined to be directed to a user interface object displayed at a location that intersects with the displayed location of the representation 7020' and / or 7022' of the user's hand in the user interface. In some embodiments, the one or more gestures performed with the user's hands 7020 and / or 7022 include indirect air gesture input based on a virtual object displayed at a location corresponding to the location at which the user's attention is currently detected (e.g., and / or optionally not based on the location of the representation 7020' and / or 7022' of the user's hand displayed within the user interface). For example, when the user's attention to the user interface object is detected (e.g., based on gaze or other indication of the user's attention), an indirect air gesture, such as gaze and pinch (e.g., or other gestures performed with the user's hand) is performed relative to the user interface object.
[0225] In some embodiments, user input is detected via a touch-sensitive surface or a touch screen. In some embodiments, one or more input devices include an eye tracking component that detects the position and movement of the user's gaze. In some embodiments, the display generation component and optionally one or more input devices and a computer system are part of a head-mounted device that moves and rotates with the user's head in a physical environment and changes the user's viewpoint in a three-dimensional environment provided by the display generation component. In some embodiments, the display generation component is a head-up display that does not move or rotate with the user's head or the user's entire body, but optionally changes the user's viewpoint in a three-dimensional environment according to the movement of the user's head or body relative to the display generation component. In some embodiments, the display generation component (e.g., a touch screen) is optionally moved and rotated by the user's hand (e.g., with an air gesture, a touch gesture, or other hand input) relative to the physical environment or relative to the user's head, and changes the user's viewpoint in a three-dimensional environment according to the movement of the display generation component relative to the user's head or face or relative to the physical environment.
[0226] In some embodiments, the display generation component 7100 of the computer system 101 includes a head mounted display (HMD) 7100a. Fig.7E1 (For example, and Figure 8F2 , Figure 9F1 , Fig.10C1 , Fig.15E1 , Fig.16D1 , Fig.17D2 , Fig.21E1 and Fig.22D2), the head-mounted display 7100a includes one or more displays that display a representation 7000' of a portion of a three-dimensional environment corresponding to the user's perspective, while the HMD typically includes multiple displays (including a display for the right eye and a separate display for the left eye) that display slightly different images to generate a user interface with stereoscopic depth of field, and a single image corresponding to an image for a single eye is shown in these figures, and depth information is indicated by other annotations or descriptions of these figures. In some embodiments, the HMD 7100a includes one or more sensors (e.g., one or more inward-facing and / or outward-facing image sensors 314), such as sensor 7101a, sensor 7101b, and / or sensor 7101c, which are used to detect the user's state, including tracking the user's face and / or eyes (e.g., using one or more inward-facing sensors 7101a and / or 7101b) and / or tracking the user's hands, torso, or other movements (e.g., using one or more outward-facing sensors 7101c). In some embodiments, the HMD 7100a includes one or more input devices, such as one or more buttons, a touchpad, a touch screen, a scroll wheel, a rotatable and depressible digital crown, or other input devices, optionally located on the housing of the HMD 7100a. In some embodiments, the input element is a mechanical input element, and in some embodiments, the input element is a solid-state input element that responds to a press input based on the detected pressure or intensity. For example, in Fig.7E1 , the HMD 7100a includes one or more of a button 701, a button 702, and a digital crown 703 for providing input to the HMD 7100a. It should be understood that additional and / or alternative input devices may be included in the HMD 7100a.
[0227] Fig.7E2 (For example, and Figure 8F3 , Figure 9F2 , Fig.10C2 , Fig.15E2 , Fig.16D2 , Fig.17D3 , Fig.21E2 and Fig.22D3 ) illustrates an overhead view of a user 7002 in a physical environment 7000. For example, the user 7002 is wearing an HMD 7100a such that the user's hands 7020 and / or 7022 are actually present within the physical environment 7000 behind the display of the HMD 7100a, and optionally in front of a box 7014 (e.g., where a representation 7014' of the box is displayed farther away from the user's viewpoint than representations 7020' and / or 7022' of the user's hands).
[0228] Fig.7E1 (For example, and Figure 8F2, Figure 9F1 , Fig.10C1 , Fig.15E1 , Fig.16D1 , Fig.17D2 , Fig.21E1 and Fig.22D2 ) illustrates an alternative display generating component of a computer system, rather than FIG. 7A to FIG. 7D , Figures 7E3 to 8F1 , Figures 8G to 9E , FIG. 9F3 to FIG. 10B , FIG. 10C3 to FIG. 10F , FIG. 15A to FIG. 15D Figure 15E3 to Fig. 16C , Figures 16D3 to 17D1 , FIG. 17E to FIG. 17I , FIG. 21A to FIG. 21D Figure 21D3 to Fig.22D1 as well as FIG. 22E to FIG. 22F It should be understood that the display shown in the example herein FIG. 7A to FIG. 7D , Figures 7E3 to 8F1 , Figures 8G to 9E , FIG. 9F3 to FIG. 10B , FIG. 10C3 to FIG. 10F , FIG. 15A to FIG. 15D Figure 15E3 to Fig. 16C , Figures 16D3 to 17D1 , FIG. 17E to FIG. 17I , FIG. 21A to FIG. 21D Figure 21D3 to Fig.22D1 as well as FIG. 22E to FIG. 22F The processes, features and functions described in the display generation component 7100 described in Fig.7E1 (For example, and Figure 8F2 , Figure 9F1 , Fig.10C1 , Fig.15E1 , Fig.16D1 , Fig.17D2 , Fig.21E1 and Fig.22D2 ) HMD 7100a illustrated in ). .
[0229] FIG. 7A to FIG. 7G Examples for magnifying virtual content and real content in a three-dimensional environment are illustrated. Fig.11 is a flow chart of an exemplary method 1100 for augmenting virtual content and real content in a three-dimensional environment. FIG. 7A to FIG. 7G The user interface in is used to illustrate the process described below, including Fig.11 process.
[0230] Fig. 7AThe physical environment 7000 visible to the user 7002 via the display generation component 7100 of the computer system 101 is illustrated. The physical environment includes physical walls 7004, 7006, and 7008. The physical environment 7000 also includes a physical ball 7028 placed on top of the physical object 7014. The user 7002 holds the display generation component 7100 with hand 7020 or hand 7022 or both hands. Optionally, the display generation component 7100 can be placed on a surface or attached to the body of the user 7002 (e.g., a head-mounted display), leaving the hands 7020 and 7022 free to perform various mid-air gestures. In some embodiments, one or more portions of the view of the physical environment 7000 visible to the user 7002 via the display generation component 7100 are virtual pass-through portions that include representations of corresponding portions of the physical environment 7000 captured via one or more image sensors of the computer system 101. In some embodiments, one or more portions of the view of the physical environment 7000 visible to the user 7002 via the display generation component 7100 are optically transparent portions because the user 7002 can see one or more portions of the physical environment 7000 through one or more transparent or translucent portions of the display generation component 7100.
[0231] Figure 7B A view 7000' of a three-dimensional environment visible to a user 7002 via a display generation component 7100 is illustrated. The display generation component 7100 is held by the user 7002 with a hand 7022. The view 7000' of the three-dimensional environment includes a representation (or optical view) of a portion of the physical environment 7000 as captured by one or more cameras of the computer system 101 (or in some embodiments, an optical see-through view through one or more transparent or semi-transparent portions of the display generation component 7100). The view 7000' of the three-dimensional environment includes a representation (or optical view) 7004' of a portion of a physical wall 7004, a representation (or optical view) 7006' of a portion of a physical wall 7006, and a representation (or optical view) 7008' of a portion of a physical wall 7008. In addition, the view 7000' of the three-dimensional environment includes a representation (or optical view) 7014' of a portion of a physical object 7014 and a representation (or optical view) 7028' of a physical ball 7028. In addition, the view 7000' of the three-dimensional environment includes an application user interface 7030 for a messaging application. The application user interface 7030 is virtual content visible at a distance in the view 7000' of the three-dimensional environment where it may be difficult for some users to see the content. Fig. 7A , side view 7024 illustrates application user interface 7030 as seen from the side (eg, rather than from the front as in view 7000' of the three-dimensional environment).
[0232] In some embodiments, the application user interface 7030 of the messaging application corresponds to the user interface of a software application executing on the computer system 101. The application user interface 7030 includes one or more user interface elements, including a search field 7036 and a control 7038 for initiating a video call. Other user interface elements are shown in FIG. Figure 7B It is also visible in the figure, but is not described for the sake of brevity.
[0233] Figure 7C A virtual magnifier 7032 is illustrated that magnifies (or increases the size of) a first portion of an application user interface 7030 according to some embodiments. For example, the virtual magnifier 7032 magnifies the search field 7036 and other user interface elements. In some embodiments, the virtual magnifier 7032 magnifies the portion of the view 7000' of the three-dimensional environment on which the user 7002 is focused, where the user's focus can be determined in a variety of ways (e.g., the location of gaze, the cursor, the location pointed to by the controller, the user's field of view, or other means). In some embodiments, different inputs can be used to activate and display the virtual magnifier 7032, including but not limited to air gestures, selection of controls for activating accessibility mode (via air gestures, controllers, or other selection inputs), voice commands, or other inputs.
[0234] The virtual magnifier 7032 includes a slider 7034, which is a user interface element for adjusting the zoom level of the virtual magnifier 7032. The user can increase or decrease the zoom or magnification level by interacting (e.g., directly or indirectly) with the slider 7034. For example, a gaze input directed at the slider 7034 combined with movement of the hand 7020 (e.g., up or down) can increase or decrease the zoom level, respectively. If the zoom level is increased in response to the input of the user 7002 directed at the slider 7034, the size of the displayed search field and / or other user interface elements (displayed by the virtual magnifier 7032 or displayed within the virtual magnifier) increases according to the increased zoom level.
[0235] As shown in the side view 7024 and the top view 7026, the virtual magnifier 7032 is spaced apart from the application user interface 7030, e.g., the virtual magnifier 7032 is separated from the application user interface 7030 in the "z" direction, such that the virtual magnifier 7032 and the application user interface 7030 are displayed at different depths in the view 7000' of the three-dimensional environment. For example, in the view 7000' of the three-dimensional environment, the virtual magnifier 7032 is displayed closer to the viewpoint of the user 7002 than the application user interface 7030, e.g., the distance from the application user interface 7030 to the user 7002 (or other reference point) is greater than the distance from the virtual magnifier 7032 to the user 7002 (or the same reference point).
[0236] In some embodiments, the application user interface 7030 is world locked and the virtual magnifier 7032 is locked to a reference point. When the location of the reference point changes, the location of the virtual magnifier 7032 also changes accordingly, and then, the portion of the application user interface 7030 that is magnified also changes accordingly. For example, Fig.7D In response to user 7002 using hand 7020 to perform interactive input (such as Figure 7C 7020 shown with an arrow) from Figure 7C In some embodiments, the interactive input includes hand gestures (e.g., using hand 7020 and / or hand 7022), gaze input, interaction with user interface elements (e.g., directly or indirectly), voice input, and / or input with a controller. Fig.7D Shown in Figure 7C The virtual magnifier 7032 is located at a different position in the application user interface 7030, thereby magnifying the virtual magnifier 7032 of the second portion of the application user interface 7030 (or increasing its size). FIG. 7C to FIG. 7D As shown in the top view 7026 in FIG. 7 , the virtual magnifier 7032 is moved from left to right, while the distance between the virtual magnifier 7032 and the application user interface 7030 remains the same. The enlarged second portion of the application user interface 7030 includes an enlarged version 7038′ of the control 7038 for initiating a video call.
[0237] In some embodiments, the virtual amplifier 7032 is locked to a reference point in response to changing the position of the reference point. Fig.7D The positioning of the virtual amplifier 7032 in Figure 7C ), wherein the application user interface 7030 remains anchored or locked to its position in the view 7000' of the three-dimensional environment (e.g., in response to changing the position of the virtual magnifier 7032, the position of the application user interface 7030 in FIG. C is in Fig.7D 7000'). The reference point to which the virtual magnifier is locked can be controlled by: the viewpoint of the user 7002; the orientation of the head of the user 7002; the position or movement of the user's hand 7020; the orientation, position or movement of the wrist of the user 7002; the position at which the controller is pointed, or other reference point in the view 7000' of the three-dimensional environment. In some embodiments, the positioning of the virtual magnifier 7032 relative to the reference point to which the virtual magnifier 7032 is locked can be changed (e.g., by the user).
[0238] FIG. 7E (eg, Fig.7E1 , Fig.7E2 and Figure 7E3 , among which Fig.7E1 The HMD 7100a in FIG. Figure 7E3 ) illustrates a user interface similar to the user interface described in , in response to user 7002 using hand 7020 to perform an interaction input (e.g., a direct air gesture, such as an air tap or air pinch at the location where the user is interacting; an indirect air gesture, such as an air pinch when the user's attention or the user's gaze is toward the location where the user is interacting; a tap input; a gaze input; a drag input; and / or another type of user input) (e.g., Figure 7C 7020 shown with an arrow) from Fig.7D FIG7E illustrates the transition from Fig.7D The positioning of the reference point in the right direction changes the positioning of the reference point, and the positioning of the virtual magnifier 7032 is also changed accordingly, and then the virtual magnifier 7032 magnifies the third part of the application user interface 7030. For example, Figure 7C As shown in top view 7026 in FIG. 7E , virtual magnifier 7032 moves from left to right. In some embodiments, interactive input includes hand gestures (e.g., using hand 7020 and / or hand 7022), gaze input, interaction with user interface elements (e.g., directly or indirectly), voice input, and / or input with a controller. In addition, FIG. 7E shows that in addition to magnifying the third portion of application user interface 7030, virtual magnifier 7032 also magnifies physical ball 7028, which is an example of falling real-world content magnified by virtual magnifier 7032. In some embodiments, virtual magnifier 7032 can magnify application user interface 7030 without magnifying real-world content.
[0239] In some embodiments, in addition to magnifying content (e.g., virtual content and / or real-world content), a filter stack can be applied to the magnified content of the application user interface 7030 displayed in the virtual magnifier 7032. In some embodiments, the filter stack can be applied to virtual content (such as the application user interface 7030) and / or real-world content (such as the physical ball 7028). In some embodiments, applying the filter stack in FIG. 7E may include changing one or more colors of the magnified content of the application user interface 7030 and / or the physical ball 7028. In some embodiments, applying the filter stack in FIG. 7E may include inverting one or more colors of the magnified content of the application user interface 7030 and / or the physical ball 7028. In some embodiments, in FIG. 7E (e.g., Fig.7E1 , Fig.7E2 and Figure 7E3 ) may include converting the enlarged content of the application user interface 7030 and / or the physical ball 7028 from color to grayscale.
[0240] In some embodiments, user 7002 may interact with virtual magnifier 7032. Inputs directed at virtual magnifier 7032 (e.g., directed at the surface of virtual magnifier 7032 rather than at the underlying content being magnified) are interpreted by computer system 101 as if those inputs were received by the underlying content. Figure 7F , input directed at the enlarged version 7038′ of the control 7038 for initiating a video call is forwarded to the control 7038 of the application user interface 7030. Figure 7F In some embodiments, the input directed at the enlarged version 7038' of the control 7038 is an indirect input gesture that includes a gaze directed at or near the enlarged version 7038' of the control 7038 combined with an air pinch gesture (e.g., an air pinch gesture in which the thumb is directed toward or in contact with another finger (such as the index finger) of the same hand) performed with the hand 7020. In some embodiments, the input directed at the enlarged version 7038' of the control 7038 for initiating a video call is a direct input gesture, such as an air tap at or near the enlarged version 7038' of the control 7038.
[0241] like Figure 7G As shown, a video call is initiated in response to an input directed at an enlarged version 7038' of a control 7038. For example, the application user interface 7030 of the messaging application is replaced with a user interface 7031 for a video call. In addition, a virtual amplifier 7032 enlarges a portion of the user interface 7031 for a video call.
[0242] The following reference is relative to Fig.11 The method 1100 is described to provide information about FIG. 7A to FIG. 7G Additional description.
[0243] FIG. 8A to FIG. 8L An example of selecting and interacting with a point in a three-dimensional environment using a ray and a selection cursor that moves along the ray is illustrated. Fig.12 is a flow chart of an exemplary method 1200 for selecting and interacting with a point in a three-dimensional environment using a ray and a selection cursor that moves along the ray. FIG. 8A to FIG. 8L The user interface in is used to illustrate the process described below, including Fig.12 process.
[0244] Fig. 8A A view of a three-dimensional environment 8000 visible to a user 7002 via a display generation component 7100 of the computer system 101 is illustrated. Fig. 8A The three-dimensional environment optionally includes a physical environment such as physical environment 7000 ( Fig. 7A ) (e.g., as captured by one or more cameras of computer system 101), except that there is no physical ball 7028 on top of physical object 7014. For example, in Fig. 8A , the three-dimensional environment 8000 includes a representation (or optical view) 7014' of a physical object 7014, a representation (or optical view) 7006' of a physical wall 7006, and a representation (or optical view) 7008' of a physical floor 7008. In addition, the three-dimensional environment 8000 includes one or more computer-generated objects, also referred to as virtual objects, such as a ball 8002 and a speaker 8004 (in FIG. Fig. 8A is obscured from view of the environment 8000 visible via the display generation component 7100, but in Fig. 8A 8010 in top view 8010). In some embodiments, one or more portions of the view of the three-dimensional environment 8000 visible to the user 7002 via the display generation component 7100 are virtual see-through portions that include representations of corresponding portions of the physical environment 7000 captured via one or more image sensors of the computer system 101. In some embodiments, one or more portions of the view of the three-dimensional environment 8000 visible to the user 7002 via the display generation component 7100 are optical see-through portions because the user 7002 can see one or more portions of the physical environment 7000 through one or more transparent or semi-transparent portions of the display generation component 7100.
[0245] Fig. 8AAlso shown is an application user interface 8006 displayed in the three-dimensional environment 8000. In some embodiments, the application user interface 8006 corresponds to a user interface of a software application (e.g., an email application, a web browser, a messaging application, a mapping application, or other software application) executing on the computer system 101. The application user interface 8006 includes one or more user interface elements, such as Fig. 8A E1, E2, and E3 in the example.
[0246] Fig. 8A A ray 8008 is shown extending from a reference point corresponding to the user 7002 (e.g., a viewpoint of the user 7002 in the three-dimensional environment 8000 or a simulated location 7002' of a portion of the user 7002 (such as the hand 7020), or a simulated location 7100' of a viewpoint of the display generation component 7100 in the three-dimensional environment 8000). Fig. 8A As indicated in the top view 8010 of the three-dimensional environment 8000 in FIG. Fig. 8A As indicated in , ray 8008 extends into three-dimensional environment 8000 and intersects one or more objects in environment 8000. For example, Fig. 8A The ray 8008 in intersects the wall 7006'. Fig. 8A , ray 8008 moves horizontally through multiple candidate directions (e.g., pivots about a reference point), as indicated by the dashed arrows.
[0247] In some embodiments, when switching interaction mode is enabled for computer system 101, FIG. 8A to FIG. 8L In some embodiments, when one or more auxiliary input devices are connected to the computer system 101, or when the computer system 101 is otherwise in communication with one or more auxiliary input devices, FIG. 8A to FIG. 8L In some embodiments, in response to an auxiliary input device being connected to the computer system 101 or otherwise beginning to communicate with the computer system, FIG. 8A to FIG. 8Lfeatures (e.g., as part of switching interaction modes) are automatically enabled for computer system 101. In some embodiments, an assistive input device (also referred to as an adaptive switching device) is an input device other than a traditional keyboard or pointing device (such as a mouse, finger, or stylus) and allows individuals with physical impairments to independently operate a computer system. Examples of assistive input devices include joysticks (e.g., which can assist in navigating around a displayed user interface), buttons (e.g., which can be pressed by a finger or hand, foot, chin, head, or other part of a user, and which can be configured to respond to lighter presses than traditional buttons), and / or mouthpieces (e.g., which can be operated by air (exhaled or blown), by sound, and / or by biting). In some embodiments, assistive input devices are used to provide input to perform selection input, activation input, or other types of input. In some embodiments, the information referred to herein is received via one or more assistive input devices in communication with computer system 101. FIG. 8A to FIG. 8L The interactive input described.
[0248] Figure 8B In response to user 7002 using hand 7020 to perform interactive input (such as Figure 8B 7020 shown with an arrow) from Fig. 8A In some embodiments, the interactive input includes hand gestures (e.g., using hand 7020 and / or hand 7022), button presses, key presses, voice input, and / or any input using an adaptive input device. In some embodiments, the user 7002 must keep their hands (e.g., hand 7020 and / or hand 7022) in a predefined configuration (e.g., a ready state) in order for the ray 8008 to be displayed and moved through multiple candidate directions, and the movement of the ray 8008 through the multiple candidate directions is stopped in response to the user 7002 performing the interactive input with the hands in the predefined configuration. In response to Figure 8B , computer system 101 stops horizontal movement of ray 8008 (e.g., from the plurality of candidate directions spanned horizontally) and begins moving ray 8008 vertically (e.g., pivoting about a reference point) from the intermediate direction at which horizontal movement of ray 8008 was stopped through another plurality of candidate directions (e.g., spanned vertically), as indicated by Figure 8B When the ray 8008 extends in the middle direction (eg, where the horizontal movement of the ray 8008 is stopped and where the vertical movement of the ray 8008 starts), as shown in FIG. Figure 8BAs shown in , ray 8008 intersects wall 7006 ′ and passes over speaker 8004 and representation 7014 ′ of physical object 7014 (without intersecting), as viewed via display generation component 7100 and indicated in top view 8010 .
[0249] Figure 8C In response to user 7002 using hand 7020 to perform an interactive input (e.g., another interactive input, such as reference Figure 8B The interactive input) Figure 8C 7020 shown with an arrow) from Figure 8B In response to Figure 8C , when ray 8008 extends in the corresponding direction, computer system 101 stops the movement of ray 8008 through the multiple candidate directions vertically spanning, and continues to display ray 8008 extending in the corresponding direction (also referred to as the selected direction).
[0250] therefore, FIG. 8A to FIG. 8C An example embodiment is illustrated in which the corresponding direction of ray 8008 is selected from a plurality of candidate directions by moving ray 8008 through (e.g., Fig. 8A As shown, the ray 8008 is moved from an intermediate direction selected from the first set of candidate directions through a second set of candidate directions (e.g., vertically) spanned in response to the first interaction input. Figure 8B ), in response to the second interactive input, the corresponding direction of the ray 8008 is selected from the second set of candidate directions ( Figure 8C). In other example embodiments, the corresponding direction of ray 8008 is selected from multiple candidate directions by moving ray 8008 in different ways (e.g., pivoting ray 8008 in different ways around a reference point corresponding to user 7002). In some embodiments, the current candidate direction of ray 8008 is the gaze direction of user 7002 (e.g., the direction from the reference point to a point in the three-dimensional environment 8008 corresponding to the location where user 7002 is currently looking). In some embodiments, in response to detecting a single interactive input for selecting the corresponding direction of ray 8008 (e.g., an interactive input performed when ray 8008 extends in the corresponding candidate direction, whether ray 8008 is automatically moving through multiple candidate directions, or whether user 7002 is looking at a specific target in environment 8000), computer system 101 sets the current candidate direction of ray 8008 to the corresponding direction for ray 8008. In some embodiments, the plurality of candidate directions in environment 8000 are grouped into one, two, or more sets of candidate directions, and two or more corresponding interaction inputs are required to select a corresponding direction for ray 8008 (e.g., as described herein with reference to FIG. 8A to FIG. 8C described above).
[0251] When ray 8008 extends in the selected direction, as Figure 8C , ray 8008 intersects the application user interface 8006 , and in particular, intersects element E3 of the application user interface 8006 , and intersects the speaker 8004 , as indicated in the top view 8010 . Figure 8C Also illustrated is that after the vertical movement of ray 8008 is stopped, and when ray 8008 is displayed as extending in the selected direction, computer system 101 displays cursor 8012 along ray 8008. In the view of environment 8000 visible via display generation component 7100 and in Figure 8C8008 in the environment 8000. In some embodiments, the cursor 8012 automatically moves along the ray 8008 in response to the movement of the ray 8008 being stopped, thereby enabling a user (such as the user 7002) to select an interaction point along the ray 8008 in the three-dimensional environment 8000. In some embodiments, the cursor 8012 moves smoothly along the ray 8008. In some embodiments, the cursor 8012 moves in discrete steps along the ray 8008. In addition, the computer system 101 optionally displays a stop button 8014 next to the cursor 8012. In some embodiments, whenever the stop button 8014 is displayed (e.g., regardless of where the stop button 8014 is displayed in the environment 8000), the stop button 8014 has focus (e.g., such as being visually emphasized by being highlighted, displayed outlining, or other visual feedback) to indicate the interactive input (e.g., as described herein with reference to FIG. 1 ). Fig. 8E 8008) will activate stop button 8014 and stop movement of cursor 8012 along ray 8008 (e.g., to select the current position of cursor 8012 along ray 8008 for subsequent interaction).
[0252] Fig.8D The example shows that in the absence of interactive input to activate the stop button 8014 (e.g., when the Figure 8C After the interactive input of Fig. 8E 8008. As indicated in the view of the environment 8000 visible via the display generation component 7100 and as Fig.8D As indicated in the top view 8010 in FIG. 80, the cursor 8012 has moved further along the ray 8008 from the simulated location 7002′ of the user 7002 in the environment 8000 and has not yet reached the application user interface 8006. Fig.8D As shown, the stop button 8014 moves with the cursor 8012 (e.g., stays next to the cursor 8012 as the cursor 8012 moves). In some embodiments, the stop button 8014 is displayed at a fixed position in the environment 8000 as the cursor 8012 moves.
[0253] Fig. 8E Further automatic movement of cursor 8012 along ray 8008 is illustrated. As indicated in the view of environment 8000 visible via display generation component 7100 and as Fig. 8EAs indicated in top view 8010 in FIG. 8 , cursor 8012 has moved further from simulated location 7002′ of user 7002 in environment 8000 along ray 8008 and has reached element E3 of application user interface 8006. When cursor 8012 has reached element E3 of application user interface 8006, user 7002 performs an interaction input (e.g., another interaction input, as shown in FIG. 8 ) that activates stop button 8014. FIG. 8B to FIG. 8C In response to detecting the interactive input, movement of cursor 8012 along ray 8008 is stopped, and the current position of cursor 8012 in three-dimensional environment 8000 (eg, on element E3 of application user interface 8006) is selected as the current interaction point.
[0254] FIG8F (eg, Figure 8F1 , Figure 8F2 and Figure 8F3 , where a user interface similar to that described in FIG. 7F1 is shown on HMD 7100a in FIG. 7F2 ) shows that, in accordance with stopping movement of cursor 8012 (which in this example causes interaction point 8016 on element E3 of application user interface 8006 to be selected as the current interaction point), computer system 101 automatically displays one or more (and in this example, multiple) interaction options available for selected interaction point 8016. In the example of FIG. 8F , the available options for interacting with interaction point 8016 on element E3 of application user interface 8006 are: option 8018 labeled “Tap” (e.g., for performing an operation in response to a tap input on element E3 at interaction point 8016 (such as by activating element E3)); option 8020 labeled “Scroll Down” (e.g., for scrolling down application user interface 8006); and option 8022 labeled “Select” (e.g., for selecting element E3 for further interaction). In Figure 8F, the "Tap" option 8018 currently has focus and will be activated in response to interactive input, as indicated by the selection outline displayed around the "Tap" option 8018.
[0255] Figure 8G The user 7002 is shown performing an interaction input when the "Tap" interaction option 8018 is selected (e.g., has focus). In response, the computer system 101 performs the operation associated with tapping on the interaction point 8016 by replacing the display of the application user interface 8006 with the user interface 8024 labeled "E3-2" corresponding to the activation of the element E3, as shown in FIG. Figure 8H For example, Figure 8G (as well as Fig. 8A8F) in the elements E1, E2 and E3 represent different items in a list of content items (e.g., emails, messaging conversations, audio tracks, videos, or other content), and in Figure 8H The user interface 8024 displays a corresponding content item E3-2 (eg, a particular email, conversation, song, video, or other content item).
[0256] In some embodiments, when the multiple available interaction options for the selected interaction point are displayed (e.g., in response to an interaction input that selects the corresponding interaction point and stops the movement of the cursor 8012 along the ray 8008), and in the absence of an interaction input that selects a particular interaction option, the computer system 101 automatically cycles through the different interaction options in sequence to change which of the interaction options has focus. For example, if the execution is not performed Figure 8G , the focus will move from the “Tap” option 8018 to another option, such as the “Scroll Down” option 8020, if an interactive input is received, such as after a predetermined amount of time, such as 0.2 seconds, 0.3 seconds, 0.5 seconds, 1 second, 2 seconds, or any other period of time (which may be a system default or user-selected period of time), as shown in FIG. Figure 8I In response to the "Scroll Down" option 8020 being selected (as shown in FIG. Figure 8I As shown in FIG. 8 , user 7002 performs interactive input to perform an operation associated with the “scroll down” option 8020. In particular, Figure 8J As shown, the list of content items in the application user interface 8006 is scrolled to access content items below the previously displayed content items, so that elements E1 and E2 are scrolled up out of view, element E3 is offset upward, and elements E4, E5 and E6 are (partially) scrolled up into view.
[0257] In some embodiments, when the multiple available interaction options for the selected interaction point are displayed (e.g., in response to an interaction input that selects the corresponding interaction point and stops movement of the cursor 8012 along the ray 8008), the computer system 101 is configured to select different interaction options (e.g., perform different associated operations) in response to different types of user inputs (e.g., direct air gestures at the location with which the user is interacting, such as an air tap or an air pinch; indirect air gestures when the user's attention or the user's gaze is toward the location with which the user is interacting, such as an air pinch; a tap input; a gaze input; a drag input; and / or another type of user input). With respect to the example of FIG. 8F , optionally, the computer system 101 activates the "Tap" option 8018 and performs the operation associated with tapping on the interaction point 8016 in response to the user 7002 performing the first type of input ( Figures 8G to 8H), however, the computer system 101 activates the "Scroll Down" option 8020 and performs a scroll down operation in response to the user 7002 performing a second type of input that is different from the first type of input (e.g., a tap input versus a pinch input, an input performed with a first number of fingers versus an input performed with a different second number of fingers (such as a single finger pinch versus a multi-finger pinch as described herein with reference to method 1300), an input performed with a first number of iterations versus an input performed with a different second number of iterations (such as a single press versus a double press), an input performed via one input device versus an input performed via a different input device (such as an air gesture versus a hardware actuation), or any other manner of distinguishing between input types) ( FIG. 8I to FIG. 8J ). Those of ordinary skill in the art will readily appreciate that any number of different types of inputs may be used to select a corresponding interaction option from the plurality of available interaction options presented for the selected interaction point. For example, a third type of input (e.g., a third type of gesture, input performed with a third number of fingers or a third number of repetitions or using a third input device, or other means of distinguishing input types) optionally causes the computer system 101 to activate the “Select” option 8022 ( FIG. 8F ) and perform an operation associated with the “Select” option 8022. Similarly, with respect to the description herein, Figure 8L In the example, optionally, computer system 101 activates “Tap” option 8028 and performs an operation associated with tapping on interaction point 8026 in response to user 7002 performing a fourth type of input (e.g., the same as the first type of input), whereas computer system 101 activates “Select” option 8030 and performs an operation associated with “Select” option 8030 in response to user 7002 performing a fifth type of input (e.g., the same as the second type of input or the same as the third type of input) that is different from the fourth type of input.
[0258] In some embodiments, as the cursor 8012 moves along the ray 8008, objects in the environment 8000 that intersect the ray 8008 are visually emphasized or de-emphasized based on the current position of the cursor 8012 along the ray 8008. For example, in FIG. 8C to FIG. 8E , the application user interface 8006 (optionally by virtue of being the next closest object to the current position of the cursor 8012 in the environment 8000) is visually prominent (e.g., displayed in the foreground with high opacity and / or brightness, and / or close to the viewpoint of the user 7002 (e.g., the simulated position 7002' of the user 7002 or the simulated position 7100' of the display generation component 7100)).
[0259] In contrast, if the movement of cursor 8012 is not stopped at element E3 of application user interface 8006 (as in FIG. 8F in response to Fig. 8E ), the cursor 8012 continues to move along the ray 8008. For example, if no interactive input is executed Fig. 8E If the interactive input is inputted by the user, the cursor 8012 will continue to move along the ray 8008 through the application user interface 8006 (e.g., so as to be farther from the user's 7002 viewpoint than the point in the application user interface 8006 where the ray 8008 intersects), as shown in FIG. Figure 8K Thus, application user interface 8006 is visually de-emphasized in one or more ways (optionally with one or more visual characteristics maintained). For example, when application user interface 8006 remains in the foreground (e.g., at the same location in environment 8000), Figure 8K 8006 in the environment 8000 is blurred and / or has its opacity reduced (e.g., made more transparent). Thus, the speaker 8004, the additional portion of the ray 8008, and the additional portion of the representation 7014′ of the physics object 7014 (which is behind the application user interface 8006 in the environment 8000 and was previously obscured by the application user interface 8006) are blurred and / or have their opacity reduced (e.g., made more transparent). FIG. 8C to FIG. 8E ))exist Figure 8K In some embodiments, the speaker 8004, additional portions of the ray 8008, and additional portions of the representation 7014' of the physical object 7014 remain partially obscured by the visually de-emphasized application user interface 8006, such as Figure 8K In some embodiments, stop-enable indication 8014 retains focus because stop-enable indication 8014 is not obscured by application user interface 8006 (e.g., even though stop-enable indication 8014 is next to cursor 8012 and therefore behind application user interface 8006 in environment 8000). In some embodiments, stop-enable indication 8014 is partially obscured by visually de-emphasized application user interface 8006 like cursor 8012, but is still displayed as having focus in a different manner (e.g., using a selection outline and / or highlighting).
[0260] In particular, Figure 8K , the cursor 8012 has moved along ray 8008 through the application user interface 8006 and has reached the speaker 8004, as indicated in the view of the environment 8000 visible via the display generation component 7100 and as indicated in the top view 8010. Figure 8KAlso shown is the user 7002 performing an interaction input using hand 7020 when the cursor 8012 has reached the speaker 8004, as indicated by the hand 7020 shown with an arrow. In response to detecting the interaction input, movement of the cursor 8012 along the ray 8008 is stopped, and the current location of the cursor 8012 in the three-dimensional environment 8000 (e.g., on the speaker 8004) is selected as the current interaction point.
[0261] Figure 8L It is shown that upon stopping the movement of the cursor 8012 and selecting the interaction point 8026 on the speaker 8004 as the current interaction point, the computer system 101 automatically displays one or more (and in this example, multiple) interaction options available for the selected interaction point 8026. Figure 8L In the example of , the available options for interacting with interaction point 8026 on speaker 8004 are: option 8028 labeled "Tap" (e.g., for performing an operation in response to a tap input on speaker 8004 at interaction point 8026 (such as by activating speaker 8004)); and option 8030 labeled "Select" (e.g., for selecting speaker 8004 for further interaction). Figure 8L , the “tap” option 8028 currently has focus and will be activated in response to an interactive input, as indicated by the selection outline displayed around the “tap” option 8028. Figure 8I As described, in some embodiments, before an interactive option is selected or an input causing a different action is detected, the computer system 101 automatically and sequentially cycles through the different interactive options to give focus to the "tap" option 8028 and the "select" option 8030. Figure 8G As described, in some embodiments, when the corresponding interactive option is selected, the user 7002 is enabled to perform interactive input so that the computer system 101 performs an operation associated with the selected interactive option. For example, in response to the user 7002 performing interactive input when the "tap" option 8028 is selected, the computer system 101 optionally starts the media playback application and displays the user interface of the media playback application. For another example, in response to the user 7002 performing interactive input when the "select" option 8030 is selected, the computer system 101 optionally selects the speaker 8004 (for example, for repositioning, rescaling, deleting or other object manipulation operations).
[0262] The following reference is relative to Fig.12 The method 1200 is used to provide information about FIG. 8A to FIG. 8L Additional description.
[0263] 9A to 9HExample techniques are illustrated for using two hands to switch between interacting with an active application in a three-dimensional environment and performing operations outside of the active application. Fig.13 is a flow chart of an exemplary method 1300 for using two hands to switch between interacting with an active application in a three-dimensional environment and performing operations outside of the active application. 9A to 9H The user interface in is used to illustrate the processes described below, which include Fig.13 process.
[0264] This article is about 9A to 9H The techniques and methods 1300 (e.g., Fig.13 ) relates to an accessibility mode for visually impaired people, sometimes referred to as a “read aloud” mode, in which spoken descriptions of virtual objects (e.g., user interfaces and user interface elements) are provided in response to navigation gestures or other user input (e.g., navigation gestures that disambiguate between navigation within a currently active application or navigation to another (e.g., inactive or without input focus) application).
[0265] Fig.9A The physical environment 9000 visible to the user 9002 via the display generation component 9100 of the computer system 101 is illustrated. The physical environment includes physical walls 9004, 9006 and floor 9008 and physical object 9014. The display generation component 9100 is placed on top of the physical object 9026, leaving the hands 9020 and 9022 free to perform various mid-air gestures. In some embodiments, the display generation component 9100 is attached to the body of the user 9002 (e.g., a head-mounted display). In some embodiments, one or more portions of the view of the physical environment 9000 visible to the user 9002 via the display generation component 9100 are virtual pass-through portions that include representations of corresponding portions of the physical environment 9000 captured via one or more image sensors of the computer system 101. In some embodiments, one or more portions of the view of the physical environment 9000 visible to the user 9002 via the display generating component 9100 are optically transparent portions because the user 9002 can see one or more portions of the physical environment 9000 through one or more transparent or translucent portions of the display generating component 9100.
[0266] Fig. 9BA view 9000' of a three-dimensional environment visible to a user 9002 via a display generation component 9100 is illustrated. The view 9000' of the three-dimensional environment includes a representation (or optical view) of a portion of the physical environment 9000 as captured by one or more cameras of the computer system 101. The view 9000' of the three-dimensional environment includes a representation (or optical view) 9004' of a portion of a physical wall 9004, a representation (or optical view) 9006' of a portion of a physical wall 9006, and a representation (or optical view) 9008' of a portion of a physical floor 9008. Additionally, the view 9000' of the three-dimensional environment includes a representation (or optical view) 9014' of a portion of a physical object 9014.
[0267] In addition, Fig. 9B 9000′ of the three-dimensional environment includes an application user interface 9030 of an email application, which is currently open and active (e.g., the user 9002's attention or gaze is focused on the application user interface 9030 of the email application). The application user interface 9030 is a virtual content (e.g., not part of the physical environment 9000) visible to the user 9002 via the display generation component 9100. In some embodiments, the application user interface 9030 of the email application corresponds to a user interface of a software application executed on the computer system 101. The application user interface 9030 is divided into three sections, including: a first section 9032 that lists inboxes (or electronic folders storing emails), a second section 9034 that lists emails of a corresponding folder or inbox selected from the first section 9032, and a third section 9036 for displaying the content of an email selected from the second section 9034. For example, the first section 9032 includes an inbox 9032a for incoming emails and a draft folder 9032b for draft emails. In addition, inbox 9032a for incoming emails is currently active and selected. The second section 9034 displays a list of emails in the inbox 9032a (e.g., assigned to, stored in, and / or otherwise associated with the inbox), and the third section 9036 displays the content of the first email in the list of emails displayed in section 9034.
[0268] Fig. 9B It is further illustrated that when the right hand 9022 is in state B0, the user 9002 uses the left hand 9020 (in Fig. 9B101 (shown as an arrow in the figure) to perform a first gesture A1 (e.g., an air gesture). For example, the first gesture A1 performed by the left hand 9020 corresponds to a single-finger air pinch (e.g., pinching the index finger and thumb), and state B0 corresponds to the ready state. In some embodiments, the right hand 9022 is not performing any gesture recognized by the computer system 101, or the right hand 9022 is outside the field of view of the user 9002.
[0269] Fig. 9C The example shows that in response to the user 9002 performing the first gesture A1 (such as Fig. 9B 9020 shown with an arrow and the right hand 9022 shown without an arrow) from Fig. 9B In response to the first gesture A1 performed by the left hand 9020 when the right hand 9022 is in state B0, a first operation is performed in the email application (e.g., navigating forward between user interface elements). Because the right hand 9022 was not performing a gesture when the left hand 9020 performed the first air gesture A1, the first operation is performed within the same email application, as opposed to switching to another application or performing other operations outside of the email application (e.g., the input / gesture performed by the left hand 9020 is not modified when the right hand 9022 is in state B0). In particular, as Fig. 9C 3, the focus selector (or indicator) is moved forward (or downward, from the inbox) from the inbox 9032a to the draft folder 9032b (as indicated by the selection outline displayed around the draft folder 9032b), where the draft folder 9032b (the terms "box", "inbox" or "mailbox" are sometimes used instead of "folder") becomes currently active and / or selected. In response to navigating forward from the inbox 9032a to the draft folder 9032b, the content shown in the second section 9034 is changed. In particular, the second section 9034 lists the emails saved in the draft folder 9032b; in this example, only one email is saved in the draft folder 9032b.
[0270] In some embodiments, a screen reader application is enabled on the computer system 101. In some embodiments, the screen reader is a system application that is enabled or disabled by selecting a setting of the computer system 101, for example, via direct or indirect air gestures, voice commands, or use of a controller device. In some embodiments, the screen reader describes aloud what is visible in the view 9000' of the three-dimensional environment, for example, the screen reader automatically speaks text that is focused (e.g., highlighted or otherwise indicated, identified, or selected by a focus selector or focus indicator) or describes a user interface element of the currently active application. In some embodiments, two-handed navigation is used to interact with and navigate through: application user interfaces visible in the view 9000' of the three-dimensional environment and corresponding user interface elements within the user interfaces. In some embodiments, an audio description (e.g., a spoken description) of the draft folder 9032b is generated and output in response to navigating forward from the inbox 9032a to the draft folder 9032b. For example, as the focus indicator moves from one location or user interface element to another location or user interface element in the view 9000' of the three-dimensional environment, the screen reader outputs a description of the item indicated by the focus indicator. In some embodiments, an audio description may inform a visually impaired user what the currently selected user interface element is. In some embodiments, a screen reader application receives as input a user interface of an application that includes a plurality of user interface elements, and the screen reader application interprets the user interface as a hierarchical structure of user interface elements that can be navigated. In some embodiments, when the screen reader application is activated or when the screen reader is enabled, an overlay providing information / instructions for available gestures is displayed or visible in the view 9000' of the three-dimensional environment.
[0271] In some embodiments, if the first gesture A1 performed with the left hand 9020 corresponds to a multi-finger air pinch (eg, pinching the index and middle fingers with the thumb), then Fig. 9B9032a) will move forward to another section in the application user interface 9030 of the email application (e.g., the focus selector will move to another hierarchical level (sometimes referred to as a hierarchical level) of the same email application). For example, the focus selector will move to a second section 9034 (for selecting email messages within a currently selected folder), which is a section adjacent to a first section 9032 (e.g., for selecting a mailbox folder), where the first section 9032 and the second section 9034 are part of the same application hierarchical level (e.g., the top level or the first level below the root level). In some embodiments, what operation is performed in the email application depends on the type of gesture performed with the left hand 9020 and / or the position of the focus selector (or the position of the user's gaze) when the gesture is performed.
[0272] Fig. 9C It is further illustrated that when the right hand 9022 is in state B0, the user 9002 uses the left hand 9020 (in Fig. 9C 101 as an arrow in the figure) to perform a second gesture A2. For example, the second gesture A2 performed by the left hand 9020 corresponds to a single-finger air pinch (e.g., pinching the middle finger and thumb) that is different from the first gesture A1 (e.g., a multi-finger air gesture), and state B0 corresponds to the ready state. In some embodiments, the right hand 9022 is not performing any gesture recognized by the computer system 101, or the right hand 9022 is outside the field of view of the user 9002.
[0273] Fig.9D The example shows that in response to the user 9002 performing the second gesture A2 (such as Fig. 9C 9020 shown with an arrow and the right hand 9022 shown without an arrow) from Fig. 9C In response to the second gesture A2 performed with the left hand 9020 when the right hand 9022 is in state B0, a second operation is performed in the email application (e.g., navigating back between user interface elements in the first area 9032). Because the right hand 9022 was not performing a gesture when the second air gesture A2 was performed with the left hand 9020, the second operation is performed within the same email application, as opposed to switching to another application or performing another operation outside of the email application. In particular, as Fig.9DAs shown, the focus selector is moved back from the draft folder 9032b to the inbox 9032a (as indicated by the selection outline displayed around the inbox 9032a), and the inbox 9032a becomes currently active. In response to navigating back from the draft folder 9032b to the inbox 9032a, the content shown in the second section 9034 is changed (e.g., with Fig. 9B In particular, the second section 9034 lists the email messages in the inbox 9032a, which in this example includes four emails located in (e.g., assigned to or saved in) the inbox 9032a, and the third section 9036 shows the contents of the email messages listed in the second section 9034 (e.g., the top email message in this example, or in another example, the last selected email message (if any) in the currently selected email folder in the first area 9032).
[0274] In some embodiments, if the second gesture A2 performed with the left hand 9020 corresponds to a specific multi-finger air pinch (e.g., pinching the ring finger and middle finger with the thumb), then Fig. 9C In some embodiments, the focus selector (or indicator) located on the drafts folder 9032b in the email application will move to another segment in the application user interface 9030 of the email application (e.g., the focus selector will move to another hierarchical level of the same email application). For example, in response to the second gesture A2, the focus selector will move back to the third segment 9036, where the first segment 9032 and the third segment 9036 are at the same hierarchical level, and where the first segment 9032 is the first segment in a sequence of segments including segments 9032, 9034, and 9036, and the third segment 9036 is the last segment in the sequence. In some embodiments, what operation is performed in the email application depends on the type of gesture performed with the left hand 9020 and / or the position of the focus selector (or the position of the user's gaze) when the gesture is performed.
[0275] Fig.9D It is further illustrated that when the right hand 9022 is in state B1 (shown as no arrow), the user 9002 uses the left hand 9020 (in Fig.9DThe first gesture A1 is performed by the left hand 9020 (shown as an arrow in FIG. 1 ). For example, the first gesture A1 corresponds to a single-finger air pinch gesture, in which a single-finger air pinch is performed with the left hand 9020 (e.g., pinching the index finger and thumb, followed by releasing the pinch), while the right hand 9022 is held in state B1, which corresponds to maintaining a single-finger air pinch gesture (e.g., pinching the index finger and thumb of the right hand 9022 without releasing the pinch). The right hand 9022 acts as a modifier of any air pinch gesture performed with the left hand 9020 when in state B1.
[0276] Fig.9E The example shows that in response to the user 9002 performing the first gesture A1 (such as Fig.9D as indicated in Fig.9D In this example, in response to the first gesture A1 performed with the left hand 9020 when the right hand 9022 is in state B1, an operation is performed outside the email application. In this example, keeping the right hand 9022 in state B1 while performing the first air gesture A1 with the left hand 9020 causes the first air gesture A1 to be understood as an instruction, command, or request to perform an operation outside the email application, as opposed to performing it in the email application that is the currently active application. In some embodiments, a system operation is performed. For example, Fig.9E As shown, a screen reader is invoked and a user interface 9040 of the screen reader is visible in a view 9000' of a three-dimensional environment, wherein the user interface 9040 of the screen reader is superimposed on the user interface 9030 of the email application. In some embodiments, the screen reader is a system application. In some embodiments, the user interface 9040 of the screen reader includes multiple settings that, if selected, can be adjusted in response to user input (e.g., direct air gestures, such as air taps or air pinches at a location where the user is interacting with it; indirect air gestures, such as air pinches when the user's attention or the user's gaze is toward a location where the user is interacting with it; tap inputs; gaze inputs; drag inputs; and / or another type of user input). For example, the user interface 9040 of the screen reader indicates that the focus indicator is located at a setting of the screen reader application related to the speaking rate (e.g., speaking rate setting 9040a). User 9002 may perform subsequent gestures (such as a single pinch, multi-pinch, or pinch-swipe air gesture) to change the speaking rate at which the screen reader application describes user interface elements (eg, of an email application) displayed in view 9000' of the three-dimensional environment.
[0277] in addition, Fig.9EThe example shows that when the right hand 9022 is in state B0, the user 9002 uses the left hand 9020 (in Fig.9E 1002) to perform a first gesture A1. For example, the first gesture A1 performed with the left hand 9020 corresponds to a single-finger air pinch (e.g., pinching the index finger and thumb), and state B0 corresponds to the ready state. In some embodiments, the right hand 9022 is not performing any gesture recognized by the computer system 101, or the right hand 9022 is outside the field of view of the user 9002. The right hand 9022 does not act as a modifier of any air gesture performed with the left hand 9020 when in state B0, or alternatively, keeping the right hand 9022 in state B0 indicates that the computer system 101 interprets any detected air gesture performed with the left hand 9020 as one of a predefined set, or a default set, or a first set of instructions, commands, or requests.
[0278] FIG. 9F (eg, Figure 9F1 , Figure 9F2 and Figure 9F3 , among which Figure 9F1 The HMD 7100a in FIG. Figure 9F3 ) illustrates an example of a user input (e.g., a direct air gesture, such as an air tap or air pinch at a location where the user is interacting; an indirect air gesture, such as an air pinch when the user's attention or the user's gaze is toward a location where the user is interacting; a tap input; a gaze input; a drag input; and / or another type of user input) in response to the user 9002 performing a first gesture A1 with the left hand 9020 when the right hand 9022 is in state B0. Fig.9E 9020 shown with an arrow and the right hand 9022 shown without an arrow) from Fig.9E In response to a first air gesture A1 performed with the left hand 9020 while the right hand 9022 is in state B0, an operation is performed in the screen reader application (e.g., navigating forward between settings). Because the right hand 9022 was not performing a gesture when the first air gesture A1 was performed with the left hand 9020, the operation is performed within the same screen reader application, as opposed to switching to another application or performing other operations outside of the screen reader application. In particular, as shown in FIG. 9F , the focus selector is moved forward from the speaking rate setting 9040a to the volume setting 9040b. The user 9002 may perform subsequent gestures (such as a single pinch, multiple pinch, or pinch-swipe air gestures) to change the volume of the audio output generated by the screen reader application of the user interface elements (e.g., of an email application) displayed in the view 9000′ depicting the three-dimensional environment.
[0279] Figure 9G (View 9000' of a three-dimensional environment) illustrates an application user interface 9030 for an email application that is currently open and active (e.g., the user 9002's attention or gaze is focused on the application user interface 9030 for the email application). A focus selector is located at an inbox 9032a for incoming emails in a first section 9032 of the application user interface 9030. Additionally, Figure 9G The example shows that when the left hand 9020 is in state A1, the user 9002 uses the right hand 9022 (in Figure 9G The left hand 9020, when in state A1, acts as a modifier for any air gesture (e.g., an air pinch gesture or other air gesture) performed with the right hand 9022. For example, the first gesture B1 corresponds to a secondary air pinch gesture, in which a single-finger air pinch is performed with the right hand 9022 (e.g., pinching the index finger and thumb, followed by releasing the pinch), and state A1 corresponds to maintaining the single-finger air pinch gesture (e.g., pinching the index finger and thumb without releasing). The left hand 9020, when in state A1, acts as a modifier for any air gesture (e.g., an air pinch gesture or other air gesture) performed with the right hand 9022.
[0280] Figure 9H The example shows that in response to the user 9002 performing the first gesture B1 (such as Figure 9G as indicated in Figure 9G In response to a first gesture 1 performed with the right hand 9022 when the left hand 9020 is in state A1, an operation is performed outside the email application. In this example, keeping the left hand 9020 in state A1 (e.g., maintaining a pinch gesture) while performing the first gesture B1 with the right hand 9022 causes the first gesture B1 to be understood as an instruction, command, or request to perform an operation (e.g., a second operation) outside the email application rather than in the email application that is the currently active application. In some embodiments, the operation performed in response to the first gesture B1 when the left hand 9020 is maintained in state A1 corresponds to: switching to another application (optionally an application that has already been launched), for example, switching to the next open application (e.g., optionally, ordering the open applications in a sequence based on, for example, the last time the user 9002 interacted with the corresponding open application). For example, as Figure 9H As shown, in response to the first gesture B1, when the left hand 9020 is maintained in the state A1, in the view 9000' of the three-dimensional environment, the application user interface 9050 of the message application replaces the application user interface 9030 of the email application.
[0281] In some embodiments, if the user 9002 performs a second gesture B2 (different from the first gesture B1) with the right hand 9022 while the left hand 9020 is in state A1, the computer system 101 interprets the gesture as an instruction, command, or request to switch to another application different from the message application. For example, if the second gesture B2 corresponds to a secondary air pinch gesture different from the first gesture B1 (such as a single-finger air pinch performed with the right hand 9022 (e.g., pinching the middle finger and thumb and then releasing the pinch)) while the left hand 9020 maintains a single-finger air pinch gesture (e.g., pinching the index finger and thumb together without releasing), the computer system 101 moves backward (as opposed to forward) in the sequence of open applications. According to this example, in Figure 9G In the context of , detecting a second gesture B2 performed with the right hand 9022 when the left hand 9020 is in state A1 causes the computer system 101 to display a user interface of a third application different from the email application and the message application in the view 9000' of the three-dimensional environment.
[0282] The following reference is relative to Fig.13 The method 1300 is described to provide information about 9A to 9H Additional description.
[0283] FIG. 10A to FIG. 10F Example techniques are illustrated for switching between navigating within one application hierarchy level and navigating between different application hierarchy levels of a user interface visible in a three-dimensional environment. Fig.14 is a flow chart of an exemplary method 1100 for switching between navigating within one application hierarchy level and navigating between different application hierarchy levels of a user interface visible in a three-dimensional environment. FIG. 10A to FIG. 10F The user interface in is used to illustrate the processes described below, which include Fig.14 process.
[0284] This article is about FIG. 10A to FIG. 10F The techniques and methods 1400 (e.g., Fig.14 ) relates to an accessibility mode for visually impaired people, sometimes referred to as a “read aloud” mode, in which spoken descriptions of virtual objects (e.g., user interfaces and user interface elements) are provided in response to navigation gestures (e.g., navigation gestures that disambiguate between navigation within one hierarchical level (e.g., of a user interface of an application) and navigation between different hierarchical levels (e.g., of a user interface of an application)).
[0285] Fig. 10AA view 9000' of a three-dimensional environment visible to a user 9002 via a display generation component 9100 of a computer system 101 is illustrated. In the view 9000' of the three-dimensional environment, Fig. 10A The physical environment shown in part is similar to that described above. Fig.9A As described herein, in some embodiments, one or more portions of the view of the physical environment 9000 visible to the user 9002 via the display generation component 9100 are virtual see-through portions that include representations of corresponding portions of the physical environment 9000 captured via one or more image sensors of the computer system 101. In some embodiments, one or more portions of the view of the physical environment 9000 visible to the user 9002 via the display generation component 9100 are optical see-through portions because the user 9002 can see one or more portions of the physical environment 9000 through one or more transparent or semi-transparent portions of the display generation component 9100. As described above with reference to Fig. 9B The view 9000′ of the three-dimensional environment includes an application user interface 9030 of an email application; the user interface 9030 is divided into three sections, including: a first section 9032 listing inboxes (or electronic folders storing emails), a second section 9034 listing emails of the corresponding inbox selected from the first section 9032, and a third section 9036 for displaying the content of the email selected from the second section 9034. In some embodiments, the first section 9032, the second section 9034, and the third section 9036 are part of the same application hierarchy, but at different hierarchical levels. In some embodiments, the email inbox 9032a, the draft folder 9032b, the sent folder 9032c, the spam folder 9032d, the trash folder 9032e, and the archive folder 9032f are part of the same application hierarchy level (e.g., folder level) corresponding to the first section 9032.
[0286] exist Fig. 10A , a focus selector 9060 (sometimes referred to as a focus indicator) is positioned on or at the first segment 9032, as indicated by a selection outline displayed around the first segment 9032 of the application user interface 9030. In some embodiments, a screen reader application is enabled on the computer system 101. When the screen reader application is enabled and traversal or navigation is performed in the user interface 9030, the screen reader application generates and outputs a description of the user interface elements through which the focus selector 9060 is moved. In some embodiments, the screen reader application interprets the visual layout and user interface elements of the application user interface 9030 as a hierarchical structure of elements that can be navigated or traversed.
[0287] Fig. 10A It is further illustrated that when the right hand 9022 is in state B0, the user 9002 uses the left hand 9020 (in Fig. 10A 101 as shown with an arrow in the figure) to perform the first gesture A1. For example, the first gesture A1 performed by the left hand 9020 corresponds to a single-finger air pinch (e.g., pinching the index finger and thumb), and state B0 corresponds to the ready state. In some embodiments, the right hand 9022 is not performing any gesture recognized by the computer system 101, or the right hand 9022 is outside the field of view of the user 9002.
[0288] Fig. 10B The example shows that in response to the user 9002 performing the first gesture A1 (such as Fig. 10A 9020 shown with an arrow and the right hand 9022 shown without an arrow) from Fig. 10A In response to a first gesture A1 performed with the left hand 9020 when the right hand 9022 is in state B0, the focus selector 9060 is moved forward (e.g., in a first direction) from the first segment 9032 (e.g., a folder pane) to the second segment 9034 (e.g., an inbox pane) of the application user interface 9030, as indicated by a selection outline displayed around the second segment 9034. In some embodiments, an audio description (e.g., a spoken description) of the second segment 9034 (e.g., an inbox pane) is generated and output by the computer system 101. In some embodiments, the audio description is output from a simulated position in the view 9000' of the three-dimensional environment corresponding to the segment 9034. Because the first gesture A1 is performed with the left hand 9020 instead of the right hand 9022, the focus selector 9060 moves forward within the same application hierarchy, where the first segment 9032, the second segment 9034, and the third segment 9036 are part of the same application hierarchy level. In some embodiments, if the gesture performed with the left hand 9020 corresponds to a second gesture A2 that is different from the first gesture A1 (e.g., a single-finger air pinch gesture, such as pinching the middle finger and thumb), the focus selector 9060 moves backward within the same hierarchical structure level, for example, from the first ...
Claims
1. A method comprising: At a computer system in communication with a display generating component and one or more input devices: When a view of a three-dimensional environment is visible via the display generation component, wherein the view of the three-dimensional environment includes one or more real objects and virtual content, displaying a magnified area over at least a portion of the view of the three-dimensional environment, the magnified area including an enlarged version of a first portion of the three-dimensional environment, the first portion of the three-dimensional environment including the one or more real objects and virtual content; detecting a request to zoom in on a second portion of the three-dimensional environment; as well as In response to detecting the request to zoom in on the second portion of the three-dimensional environment, an enlarged version of the second portion of the three-dimensional environment is displayed in the zoom area, wherein the second portion of the three-dimensional environment is different from the first portion of the three-dimensional environment and the second portion of the three-dimensional environment includes one or more real objects and virtual content.
2. The method of claim 1 , wherein the second portion of the three-dimensional environment includes a first interactive element that is magnified in the magnified area, and the method comprises: detecting a first input directed toward the magnified area, wherein the magnified area is displayed at a first distance from a viewpoint of a user that is closer than a portion of the three-dimensional environment shown as magnified in the magnified area; as well as In response to detecting the first input directed to the magnified area: Based on determining that the first input points to the enlarged first interactive element in the enlarged area, a first operation with respect to the first interactive element corresponding to the first input pointing to the enlarged area is performed.
3. The method according to claim 2, wherein: In response to detecting the first input directed to the magnified area: When the enlarged version of the second portion of the three-dimensional environment is visible in the enlarged area, and based on determining that the first input directed to the enlarged area is directed to a first location in enlarged virtual content included in the enlarged second portion of the three-dimensional environment, perform a second operation different from the first operation relative to the second portion of the three-dimensional environment, wherein the first location in the enlarged virtual content does not include an interactive element.
4. The method according to any one of claims 1 to 3, further comprising: detecting a request to apply a filter stack on the magnified area; as well as In response to detecting the request to apply the filter stack on the magnified area: Based on determining that the request includes a request to apply the filter stack on the enlarged version of the virtual content in the enlarged region, the filter stack is applied on the enlarged version of the virtual content in the enlarged region.
5. The method of claim 4, wherein applying the filter stack on the enlarged version of the virtual content included in the enlarged region comprises one or more of: changing one or more colors of the enlarged version of the virtual content; inverting one or more colors of the upscaled version of the virtual content; and The upscaled version of the virtual content is converted from color to grayscale.
6. The method according to any one of claims 4 to 5, further comprising: In response to detecting the request to apply the filter stack on the magnified area: Based on determining that the request includes a request to apply the filter stack on an enlarged version of a first real object among the one or more real objects in the enlarged region, the filter stack is applied on the enlarged version of the first real object among the one or more real objects included in the enlarged region.
7. The method of any one of claims 4 to 6, wherein applying the filter stack further comprises applying the filter stack on an enlarged version of a second real object among the one or more real objects included in the enlarged region, and applying the filter stack comprises one or more of the following: changing one or more colors of the enlarged version of the first real object and / or the second real object; inverting one or more colors of the enlarged version of the first real object and / or the second real object; and The enlarged version of the first real object and / or the second real object is displayed in grayscale.
8. The method according to any one of claims 1 to 7, wherein The magnified area is displayed at a first distance from a viewpoint of a user that is closer than the portion of the three-dimensional environment shown as magnified in the magnified area.
9. The method of any one of claims 1 to 8, wherein the magnified area includes a control for adjusting a magnification level of the magnified area.
10. The method according to any one of claims 1 to 9, wherein The magnified region has a first spatial relationship relative to a reference point corresponding to a first location in the three-dimensional environment; The request to enlarge the second portion of the three-dimensional environment includes detecting movement of the reference point corresponding to a second position in the three-dimensional environment; and the method includes: In response to detecting the movement of the reference point: The positioning of the magnified area is changed according to the movement of the reference point, and an enlarged version of the content is displayed in the magnified area without moving the one or more real objects and the virtual content in the three-dimensional environment. The method of claim 10 , wherein the reference point is a user's viewpoint. The method of claim 10 , wherein the reference point is a user's hand or a wrist of the user.
13. The method according to any one of claims 10 to 12, further comprising: detecting a request to change the positioning of the amplifier region relative to the reference point; as well as The magnifier region is changed from the first spatial relationship to the reference point to a second spatial relationship to the reference point in response to detecting a request to change the positioning of the magnifier region relative to the reference point.
14. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for executing the method according to any one of claims 1 to 13.
15. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 1 to 13.
16. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: Device for carrying out the method according to any one of claims 1 to 13.
17. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for: When a view of a three-dimensional environment is visible via the display generation component, wherein the view of the three-dimensional environment includes one or more real objects and virtual content, displaying a magnified area over at least a portion of the view of the three-dimensional environment, the magnified area including an enlarged version of a first portion of the three-dimensional environment, the first portion of the three-dimensional environment including the one or more real objects and virtual content; detecting a request to zoom in on a second portion of the three-dimensional environment that is different from the first portion; as well as In response to detecting the request to zoom in on the second portion of the three-dimensional environment, an enlarged version of the second portion of the three-dimensional environment is displayed in the zoom area, wherein the second portion of the three-dimensional environment is different from the first portion of the three-dimensional environment and the second portion of the three-dimensional environment includes one or more real objects and virtual content.
18. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: When a view of a three-dimensional environment is visible via the display generation component, wherein the view of the three-dimensional environment includes one or more real objects and virtual content, displaying a magnified area over at least a portion of the view of the three-dimensional environment, the magnified area including an enlarged version of a first portion of the three-dimensional environment, the first portion of the three-dimensional environment including the one or more real objects and virtual content; detecting a request to zoom in on a second portion of the three-dimensional environment that is different from the first portion; as well as In response to detecting the request to zoom in on the second portion of the three-dimensional environment, an enlarged version of the second portion of the three-dimensional environment is displayed in the zoom area, wherein the second portion of the three-dimensional environment is different from the first portion of the three-dimensional environment and the second portion of the three-dimensional environment includes one or more real objects and virtual content.
19. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: When a view of a three-dimensional environment is visible via the display generation component, wherein the view of the three-dimensional environment includes one or more real objects and virtual content, means enabled for: displaying a magnified area over at least a portion of the view of the three-dimensional environment, the magnified area including an enlarged version of a first portion of the three-dimensional environment, the first portion of the three-dimensional environment including one or more real objects and virtual content; means for: detecting a request to zoom in on a second portion of the three-dimensional environment that is different from the first portion; and In response to detecting the request to zoom in on the second portion of the three-dimensional environment, means are enabled for: displaying an enlarged version of the second portion of the three-dimensional environment in the zoom area, wherein the second portion of the three-dimensional environment is different from the first portion of the three-dimensional environment and the second portion of the three-dimensional environment includes one or more real objects and virtual content.
20. A method comprising: At a computer system in communication with a display generating component and one or more input devices: receiving one or more first user inputs from a user while a view of a three-dimensional environment is visible via the display generating component, the one or more first user inputs corresponding to selections of respective directions in the three-dimensional environment relative to a reference point associated with the user; displaying, via the display generation component, rays in the three-dimensional environment extending in the corresponding directions away from the reference point in the three-dimensional environment; while displaying the ray, displaying a selection cursor that moves along the ray independent of user input; receiving one or more second user inputs corresponding to a request to stop the movement of the selection cursor along the ray when the selection cursor is at a corresponding position along the ray; as well as In response to receiving the one or more second user inputs corresponding to a request to stop the movement of the selection cursor, a target position for a next user interaction is set to a position in the three-dimensional environment corresponding to the respective position of the selection cursor along the ray.
21. The method of claim 20, wherein after ceasing to receive the one or more first user inputs selecting the corresponding direction, the computer system displays the ray extending in the corresponding direction away from the reference point in the three-dimensional environment.
22. The method according to any one of claims 20 to 21, comprising: When displaying the selection cursor moving along the ray independent of user input, a stop enable indication is displayed that can be activated to stop the movement of the selection cursor along the ray, wherein the one or more second user inputs corresponding to the request to stop the movement of the selection cursor along the ray include activation of the stop enable indication.
23. The method of any one of claims 20 to 22, comprising, prior to receiving the one or more first user inputs corresponding to selection of the respective direction: displaying, via the display generating component, a direction indication in the three-dimensional environment, the direction indication extending away from the reference point in the three-dimensional environment and moving through a plurality of candidate directions including the corresponding direction; The one or more first user inputs correspond to selection inputs, and the direction indication indicates the corresponding direction as a candidate direction.
24. The method of claim 23, wherein the movement of the selection cursor along the ray is initiated in response to receiving the one or more first user inputs corresponding to selection of the respective directions.
25. The method of any one of claims 23 to 24, wherein the direction indication extends away from the reference point when moving through the plurality of candidate directions.
26. The method of any one of claims 20 to 25, wherein displaying the selection cursor that moves along the ray independently of user input comprises: The selection cursor is displayed to move along the ray through a plurality of intermediate positions independent of user input.
27. A method according to any one of claims 20 to 26, comprising: In response to receiving the one or more second user inputs corresponding to the request to stop the movement of the selection cursor along the ray, one or more user interface elements are displayed, the one or more user interface elements representing one or more options for interacting with the target location, wherein the corresponding user interface element can be activated to perform a corresponding operation associated with the target location.
28. A method according to any one of claims 20 to 27, comprising: When the ray is displayed, an interactive menu is displayed that moves along the ray together with the selection cursor.
29. A method according to any one of claims 20 to 27, comprising: receiving an interaction input after receiving the one or more second user inputs and when the target position for the next user interaction is set to the position in the three-dimensional environment corresponding to the respective position of the selection cursor along the ray; as well as In response to receiving the interaction input, a corresponding operation associated with the target location is performed in the three-dimensional environment.
30. The method of claim 29, wherein: According to determining that the target position for the next user interaction is set to a first position in the three-dimensional environment, the corresponding operation is a first operation associated with the first position; and Based on determining that the target position for the next user interaction is set to a second position in the three-dimensional environment, the corresponding operation is a second operation associated with the second position, wherein the second position is different from the first position.
31. A method according to any one of claims 29 to 30, wherein: According to determining that the interactive input is a first type of interactive input, the corresponding operation is a first operation associated with the target position; and According to determining that the interaction input is a second type of interaction input different from the first type of interaction input, the corresponding operation is a second operation associated with the target position and different from the first operation.
32. A method according to any one of claims 20 to 31, wherein: executing the method when a switching interaction mode of the computer system is enabled; An input is received via an auxiliary input device, and the method comprises: detecting that communication is established between the computer system and the auxiliary input device; and Wherein the switched interaction mode of the computer system is enabled in response to detecting that the communication is established between the computer system and the assistive input device.
33. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs comprising instructions for executing a method according to any one of claims 20 to 32.
34. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 20 to 32.
35. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: Device for carrying out the method according to any one of claims 20 to 32.
36. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for: receiving one or more first user inputs from a user while a view of a three-dimensional environment is visible via the display generating component, the one or more first user inputs corresponding to selections of respective directions in the three-dimensional environment relative to a reference point associated with the user; displaying, via the display generation component, rays in the three-dimensional environment extending in the corresponding directions away from the reference point in the three-dimensional environment; while displaying the ray, displaying a selection cursor that moves along the ray independent of user input; receiving one or more second user inputs corresponding to a request to stop the movement of the selection cursor along the ray while the selection cursor is at a corresponding position along the ray; and In response to receiving the one or more second user inputs corresponding to a request to stop the movement of the selection cursor, a target position for a next user interaction is set to a position in the three-dimensional environment corresponding to the respective position of the selection cursor along the ray.
37. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: receiving one or more first user inputs from a user while a view of a three-dimensional environment is visible via the display generating component, the one or more first user inputs corresponding to selections of respective directions in the three-dimensional environment relative to a reference point associated with the user; displaying, via the display generation component, rays in the three-dimensional environment extending in the corresponding directions away from the reference point in the three-dimensional environment; while displaying the ray, displaying a selection cursor that moves along the ray independent of user input; receiving one or more second user inputs corresponding to a request to stop the movement of the selection cursor along the ray when the selection cursor is at a corresponding position along the ray; as well as In response to receiving the one or more second user inputs corresponding to a request to stop the movement of the selection cursor, a target position for a next user interaction is set to a position in the three-dimensional environment corresponding to the respective position of the selection cursor along the ray.
38. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: means enabled, when a view of a three-dimensional environment is visible via the display generating component, for: receiving one or more first user inputs from a user, the one or more first user inputs corresponding to selections of respective directions in the three-dimensional environment relative to a reference point associated with the user; means for displaying, via the display generating component, rays in the three-dimensional environment extending in the respective directions away from the reference point in the three-dimensional environment; means enabled, when displaying the ray, for: displaying a selection cursor that moves along the ray independent of user input; means for: receiving one or more second user inputs corresponding to a request to stop the movement of the selection cursor along the ray when the selection cursor is at a corresponding position along the ray; and In response to receiving the one or more second user inputs corresponding to a request to stop the movement of the selection cursor, a device is enabled for: setting a target position for a next user interaction to a position in the three-dimensional environment corresponding to the corresponding position of the selection cursor along the ray.
39. A method comprising: At a computer system in communication with a display generating component and one or more input devices: displaying a user interface of a first application associated with the computer system superimposed on the view of the three-dimensional environment when the view of the three-dimensional environment is visible via the display generation component; while displaying the user interface of the first application superimposed on the view of the three-dimensional environment, detecting a gesture performed with a first hand, wherein the gesture satisfies first gesture criteria; and In response to detecting the gesture satisfying the first gesture criterion: Based on determining that a second hand different from the first hand has a first configuration, performing a first operation in the first application; and Based on determining that the second hand has a second configuration different from the first configuration, a second operation outside of the first application is performed.
40. The method of claim 39, wherein the first operation in the first application comprises: moving a focus indicator from a first element of a plurality of elements displayed in the user interface of the first application to a second element of the plurality of elements displayed in the user interface of the first application; as well as An audio description of a second user interface element is generated in response to moving the focus indicator to the second element.
41. The method of any one of claims 39 to 40, wherein the second operation outside of the first application is a system operation.
42. The method of any one of claims 39 to 41, wherein the second operation outside the first application is an operation in a second application.
43. A method according to any one of claims 39 to 42, wherein the first operation in the first application is selected based on the type of the gesture performed with the first hand.
44. A method according to any one of claims 39 to 43, wherein the first operation in the first application is selected based on a location to which the gesture performed with the first hand was pointed.
45. The method according to any one of claims 39 to 44, further comprising: In response to detecting the gesture performed with the first hand: moving a focus indicator forward in the sequence based on determining that a thumb of the first hand touches a first finger of the first hand; as well as Based on determining that the thumb of the first hand touches a second finger of the first hand, the focus indicator is moved backward in the sequence.
46. A method according to any one of claims 39 to 45, wherein: In response to detecting the gesture performed with the first hand: Based on determining that the second hand has the first configuration, navigating between objects in a sequence of objects in the first application.
47. A method according to any one of claims 39 to 46, wherein: In response to detecting the gesture performed with the first hand: Based on determining that the second hand has the second configuration, switching to a different application in the sequence of applications.
48. A method according to any one of claims 39 to 47, comprising: Instructions are output indicating a corresponding gesture and a corresponding operation that the computer system is configured to perform in response to the corresponding gesture.
49. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs comprising instructions for executing a method according to any one of claims 39 to 48.
50. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 39 to 48.
51. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: Apparatus for carrying out the method according to any one of claims 39 to 48.
52. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for: displaying a user interface of a first application associated with the computer system superimposed on the view of the three-dimensional environment when the view of the three-dimensional environment is visible via the display generation component; while displaying the user interface of the first application superimposed on the view of the three-dimensional environment, detecting a gesture performed with a first hand, wherein the gesture satisfies first gesture criteria; and In response to detecting the gesture satisfying the first gesture criterion: Based on determining that a second hand different from the first hand has a first configuration, performing a first operation in the first application; and Based on determining that the second hand has a second configuration different from the first configuration, a second operation outside of the first application is performed.
53. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying a user interface of a first application associated with the computer system superimposed on the view of the three-dimensional environment when the view of the three-dimensional environment is visible via the display generation component; while displaying the user interface of the first application superimposed on the view of the three-dimensional environment, detecting a gesture performed with a first hand, wherein the gesture satisfies first gesture criteria; and In response to detecting the gesture satisfying the first gesture criterion: Based on determining that a second hand different from the first hand has a first configuration, performing a first operation in the first application; and Based on determining that the second hand has a second configuration different from the first configuration, a second operation outside of the first application is performed.
54. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: means enabled, when a view of a three-dimensional environment is visible via the display generation component, for: displaying a user interface of a first application associated with the computer system superimposed on the view of the three-dimensional environment; means enabled, while displaying the user interface of the first application superimposed on the view of the three-dimensional environment, for: detecting a gesture performed with a first hand, wherein the gesture satisfies a first gesture criterion; and A device enabled in response to detecting the gesture satisfying the first gesture criterion, the device comprising: means enabled based on determining that a second hand different from the first hand has a first configuration for: performing a first operation in the first application; and Means enabled based on determining that the second hand has a second configuration different from the first configuration for: performing a second operation outside of the first application.
55. A method comprising: At a computer system in communication with a display generating component and one or more input devices: displaying a user interface of a first application superimposed on the view of the three-dimensional environment when the view of the three-dimensional environment is visible via the display generating component, including displaying a plurality of elements in the user interface, wherein the user interface is associated with a plurality of hierarchical levels, a first hierarchical level corresponding to a first grouping of one or more elements of the plurality of elements, and a second hierarchical level corresponding to a second grouping of one or more elements of the plurality of elements; detecting a gesture when a focus indicator identifies a first element of the plurality of elements displayed in the user interface, wherein the first element is associated with the first hierarchical level of the plurality of hierarchical levels; as well as In response to detecting the gesture: based on determining that the gesture is performed with a first hand, moving the focus indicator from the first element to a second element in the plurality of elements; as well as Based on determining that the gesture is performed with a second hand different from the first hand, the focus indicator is moved from the first element of the first hierarchical level to a corresponding element of the second hierarchical level of the plurality of hierarchical levels.
56. The method of claim 55, comprising: In response to detecting the gesture, based on determining that the gesture is performed with the first hand, moving the focus indicator from the first element to the second element in the first grouping of one or more elements in the first hierarchical level.
57. A method according to any one of claims 55 to 56, comprising: In response to detecting the gesture, the focus indicator is moved sequentially between elements in a sequence of elements of the plurality of elements in accordance with a determination that the gesture is performed with the first hand.
58. The method according to any one of claims 55 to 57, further comprising: In response to detecting the gesture performed with the first hand: Based on determining that the gesture is performed with a first set of fingers, performing a first operation of the first application; and Based on determining that the gesture is performed with a second set of fingers, a second operation of the first application is performed.
59. The method of claim 58, comprising: Based on determining that the gesture is a single-finger air pinch gesture performed with a thumb of the first hand and an index finger or a ring finger of the first hand, navigating in the sequence of elements in a first direction.
60. The method of claim 59, comprising: Based on determining that the gesture is a single-finger air pinch gesture performed with a thumb of the first hand and a middle finger of the first hand, navigating in the sequence of elements in a second direction, wherein the second direction is opposite to the first direction.
61. A method according to any one of claims 58 to 60, comprising: Based on determining that the gesture is a multi-finger air pinch gesture performed with the thumb of the first hand and the index and middle fingers of the first hand, activating a corresponding element currently indicated by the focus indicator.
62. The method of any one of claims 55 to 61, wherein moving the focus indicator between elements comprises: The focus indicator is moved to a corresponding user interface element and an audio description of the corresponding interface element is generated.
63. A method according to any one of claims 55 to 61, comprising: In response to detecting the gesture, generating voiceover audio corresponding to a respective user interface element of the plurality of elements to which the focus selector was moved.
64. The method according to any one of claims 62 to 63, further comprising: The audio description of the corresponding user interface element of the first application is output from a simulated location in the three-dimensional environment corresponding to the corresponding user interface element.
65. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs comprising instructions for executing a method according to any one of claims 55 to 64.
66. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 55 to 64.
67. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: Apparatus for carrying out the method according to any one of claims 55 to 64.
68. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for: displaying a user interface of a first application superimposed on the view of the three-dimensional environment when the view of the three-dimensional environment is visible via the display generating component, including displaying a plurality of elements in the user interface, wherein the user interface is associated with a plurality of hierarchical levels, a first hierarchical level corresponding to a first grouping of one or more elements of the plurality of elements, and a second hierarchical level corresponding to a second grouping of one or more elements of the plurality of elements; detecting a gesture when a focus indicator identifies a first element of the plurality of elements displayed in the user interface, wherein the first element is associated with the first hierarchical level of the plurality of hierarchical levels; as well as In response to detecting the gesture: based on determining that the gesture is performed with a first hand, moving the focus indicator from the first element to a second element in the plurality of elements; as well as Based on determining that the gesture is performed with a second hand different from the first hand, the focus indicator is moved from the first element of the first hierarchical level to a corresponding element of the second hierarchical level of the plurality of hierarchical levels.
69. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying a user interface of a first application superimposed on the view of the three-dimensional environment when the view of the three-dimensional environment is visible via the display generating component, including displaying a plurality of elements in the user interface, wherein the user interface is associated with a plurality of hierarchical levels, a first hierarchical level corresponding to a first grouping of one or more elements of the plurality of elements, and a second hierarchical level corresponding to a second grouping of one or more elements of the plurality of elements; detecting a gesture when a focus indicator identifies a first element of the plurality of elements displayed in the user interface, wherein the first element is associated with the first hierarchical level of the plurality of hierarchical levels; as well as In response to detecting the gesture: based on determining that the gesture is performed with a first hand, moving the focus indicator from the first element to a second element in the plurality of elements; as well as Based on determining that the gesture is performed with a second hand different from the first hand, the focus indicator is moved from the first element of the first hierarchical level to a corresponding element of the second hierarchical level of the plurality of hierarchical levels.
70. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: means enabled, when a view of a three-dimensional environment is visible via the display generating component, for: displaying a user interface of a first application superimposed on the view of the three-dimensional environment, the apparatus comprising means for: displaying a plurality of elements in the user interface, wherein the user interface is associated with a plurality of hierarchical levels, a first hierarchical level corresponding to a first grouping of one or more elements of the plurality of elements, and a second hierarchical level corresponding to a second grouping of one or more elements of the plurality of elements; means enabled for: detecting a gesture when a focus indicator identifies a first element of the plurality of elements displayed in the user interface, wherein the first element is associated with the first hierarchical level of the plurality of hierarchical levels; and A device enabled in response to detecting the gesture, the device comprising: means enabled, based on determining that the gesture is performed with a first hand, for: moving the focus indicator from the first element to a second element in the plurality of elements; and Means enabled, based on determining that the gesture was performed with a second hand different than the first hand, for moving the focus indicator from the first element of the first hierarchical level to a corresponding element at a second hierarchical level of the plurality of hierarchical levels.
71. A method comprising: At a computer system in communication with a display generating component and one or more input devices: while a view of a three-dimensional environment is visible via the display generation component, wherein the three-dimensional environment includes a foreground and a background distinct from the foreground, detecting the occurrence of an event corresponding to a change in the appearance of the background of the three-dimensional environment; In response to detecting an occurrence of the event corresponding to a change in the appearance of the background of the three-dimensional environment: Based on determining that the computer system was in the first operating mode when the event was detected: updating the view of the three-dimensional environment to apply the change to the background of the three-dimensional environment independently of the foreground of the three-dimensional environment, wherein the change to the background of the three-dimensional environment includes changing the appearance of a virtual background element; as well as Based on determining that the computer system was in a second operating mode different from the first operating mode when the event was detected: Applying the change to the background of the three-dimensional environment is abandoned.
72. The method of claim 71, wherein: The one or more input devices comprise physical hardware devices; and Detecting the occurrence of the event corresponding to the change in the background of the three-dimensional environment includes detecting, via the physical hardware device, an input manipulating the physical hardware device.
73. The method of any one of claims 71 to 72, wherein detecting the occurrence of the event corresponding to the change in the background of the three-dimensional environment comprises: Receives a request to launch an application.
74. The method of any one of claims 71 to 73, wherein detecting the occurrence of the event corresponding to the change in the background of the three-dimensional environment comprises: Receive a request to play media content.
75. The method of any one of claims 71 to 74, wherein the background of the three-dimensional environment comprises at least a portion of a first computer-generated three-dimensional environment, and applying the change to the background of the three-dimensional environment comprises: Displaying the portion of the first computer-generated three-dimensional environment is ceased.
76. The method of claim 75, wherein the computer system comprises one or more cameras, and applying the change to the background of the three-dimensional environment comprises: Representations of one or more physical objects in the field of view of the one or more cameras that were previously hidden by the computer-generated three-dimensional environment are displayed.
77. The method of claim 75, wherein applying the change to the background of the three-dimensional environment comprises: At least a portion of a second computer-generated three-dimensional environment different from the portion of the first computer-generated three-dimensional environment is displayed.
78. A method according to any one of claims 71 to 77, wherein the computer system communicates with one or more cameras and the background of the three-dimensional environment includes a representation of a portion of the physical environment in the field of view of the one or more cameras.
79. The method of claim 78, wherein applying the change to the background of the three-dimensional environment comprises: One or more visual characteristics of the representation of the portion of the physical environment are changed.
80. The method of any one of claims 71 to 79, comprising: When entering the second operating mode or when in the second operating mode: displaying, via the display generating component, a first user interface element for enabling or disabling a corresponding input; detecting input selecting the first user interface element; as well as In response to detecting the input selecting the first user interface element: enabling or disabling a response to the corresponding input detected when the second mode of operation is active based on determining that the second mode of operation is not already active; as well as Based on determining that the second operating mode is active, foregoing enabling or disabling a response to the corresponding input detected while the second operating mode is active.
81. The method of any one of claims 71 to 80, comprising: When entering the second operating mode or when in the second operating mode: displaying, via the display generating component, a second user interface element for setting a duration of activity of the second operating mode; detecting input directed at the second user interface element; In response to detecting the input directed at the second user interface element: in response to determining that the second mode of operation is not already active, setting the duration of activity of the second mode of operation; Based on determining that the second operating mode is active, the duration of activity for changing the second operating mode is foregone.
82. The method of any one of claims 71 to 81, comprising: When entering the second operating mode or when in the second operating mode: displaying, via the display generating component, a third user interface element for enabling or disabling one or more applications; detecting input selecting the third user interface element; In response to detecting the input selecting the third user interface element: based on determining that the second operating mode is active, foregoing enabling or disabling operations associated with the one or more applications; as well as Based on determining that the second operating mode is not already active, operations associated with the one or more applications are enabled or disabled.
83. The method according to any one of claims 71 to 82, comprising: when entering the second operating mode or when in the second operating mode; displaying, via the display generation component, a fourth user interface element for controlling an immersion level of the view of the three-dimensional environment; detecting input directed at the fourth user interface element; In response to detecting the input directed at the fourth user interface element: based on determining that the second operating mode is active, forgoing changing the immersion level of the view of the three-dimensional environment; as well as Based on determining that the second operating mode is not already active, the immersion level of the view of the three-dimensional environment is changed from a first immersion level to a second immersion level.
84. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system that communicates with a display generating component and one or more input devices, the one or more programs comprising instructions for executing a method according to any one of claims 71 to 83.
85. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 71 to 83.
86. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: Apparatus for carrying out the method according to any one of claims 71 to 83.
87. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for: while a view of a three-dimensional environment is visible via the display generation component, wherein the three-dimensional environment includes a foreground and a background distinct from the foreground, detecting the occurrence of an event corresponding to a change in the appearance of the background of the three-dimensional environment; In response to detecting an occurrence of the event corresponding to a change in the appearance of the background of the three-dimensional environment: Based on determining that the computer system was in the first operating mode when the event was detected: updating the view of the three-dimensional environment to apply the change to the background of the three-dimensional environment independently of the foreground of the three-dimensional environment, wherein the change to the background of the three-dimensional environment includes changing the appearance of a virtual background element; and Based on determining that the computer system was in a second operating mode different from the first operating mode when the event was detected: Applying the change to the background of the three-dimensional environment is abandoned.
88. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: while a view of a three-dimensional environment is visible via the display generation component, wherein the three-dimensional environment includes a foreground and a background distinct from the foreground, detecting the occurrence of an event corresponding to a change in the appearance of the background of the three-dimensional environment; In response to detecting an occurrence of the event corresponding to a change in the appearance of the background of the three-dimensional environment: Based on determining that the computer system was in the first operating mode when the event was detected: updating the view of the three-dimensional environment to apply the change to the background of the three-dimensional environment independently of the foreground of the three-dimensional environment, wherein the change to the background of the three-dimensional environment includes changing the appearance of a virtual background element; as well as Based on determining that the computer system was in a second operating mode different from the first operating mode when the event was detected: Applying the change to the background of the three-dimensional environment is abandoned.
89. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: When a view of a three-dimensional environment is visible via the display generation component, wherein the three-dimensional environment includes a foreground and a background distinct from the foreground, means enabled for: detecting an occurrence of an event corresponding to a change in the appearance of the background of the three-dimensional environment; means enabled in response to detecting an occurrence of the event corresponding to a change in the appearance of the background of the three-dimensional environment: means enabled in accordance with determining that the computer system was in a first operating mode when the event was detected for: updating the view of the three-dimensional environment to apply the change to the background of the three-dimensional environment independently of the foreground of the three-dimensional environment, wherein the change to the background of the three-dimensional environment includes changing the appearance of a virtual background element; and means enabled for: Applying the change to the background of the three-dimensional environment is abandoned.
90. A method comprising: At a computer system in communication with a display generating component and one or more input devices: When a first view of a three-dimensional environment is visible via the display generation component, an audio event associated with a corresponding portion of an object in the three-dimensional environment occurs; In response to an occurrence of the audio event associated with the corresponding portion of the object in the three-dimensional environment: Based on determining that the corresponding portion of the object is outside the first view of the three-dimensional environment: displaying, via the display generation component, a first visual effect indicating a location of the corresponding portion of the object in the three-dimensional environment relative to the first view, wherein the first visual effect is displayed within the first view and indicates a location of audio in the three-dimensional environment that is outside of the first view; as well as Based on determining that the corresponding portion of the object is within the first view of the three-dimensional environment: A second visual effect is displayed via the display generation component, the second visual effect indicating a location of the object within the first view, wherein the second visual effect is different from the first visual effect.
91. The method of claim 90, comprising: receiving a request to change a portion of the three-dimensional environment visible in the first view; as well as In response to receiving the request to change the portion of the three-dimensional environment visible in the first view, changing the first view of the three-dimensional environment includes: Based on determining that the corresponding portion of the object is within the changed first view of the three-dimensional environment: Displaying the first visual effect indicating a position of the object in the three-dimensional environment relative to the changed first view is stopped.
92. The method of claim 91, comprising: In conjunction with ceasing to display the first visual effect, displaying the second visual effect via the display generation component, the second visual effect indicating the changed position of the object within the first view.
93. The method of any one of claims 90 to 92, wherein: The object corresponds to a user interface of the application; and The second visual effect includes visually highlighting a portion of the user interface of the application.
94. A method according to claim 93, wherein the highlighted portion of the user interface of the application corresponds to a user interface element for moving the user interface of the application.
95. The method of any one of claims 90 to 94, wherein displaying the first visual effect comprises: The appearance of a portion of the first view of the three-dimensional environment that does not include the object is changed.
96. A method according to any one of claims 90 to 95, wherein the first visual effect and / or the second visual effect are displayed in conjunction with displaying an indication of the type of audio detected.
97. A method according to any one of claims 90 to 96, wherein the first view of the three-dimensional environment includes a view of a portion of a physical environment, and the object is an inanimate physical object or a living thing in the physical environment.
98. The method according to any one of claims 90 to 97, comprising: Based on determining that a predetermined amount of time has elapsed since displaying the first visual effect, the first visual effect is faded out.
99. The method of claim 98, comprising: While the audio event is occurring, the second visual effect is maintained.
100. The method according to any one of claims 90 to 99, comprising: prior to displaying the first visual effect and while the audio event is occurring, moving a viewpoint of a user relative to the three-dimensional environment to change a corresponding portion of the three-dimensional environment visible in the first view, including ceasing to display the corresponding portion of the object in the first view; as well as The first visual effect is displayed in response to detecting that the corresponding portion of the object is no longer displayed in the first view.
101. The method according to any one of claims 90 to 100, comprising: prior to displaying the first visual effect and while the audio event is occurring, moving the corresponding portion of the object out of the first view; as well as The first visual effect is displayed in response to detecting that the corresponding portion of the object is no longer displayed in the first view.
102. The method according to any one of claims 90 to 101, comprising: detecting the audio before displaying the first visual effect and when the corresponding portion of the object is out of the first view; as well as In response to the occurrence of the audio event and when the corresponding portion of the object is out of the first view, the first visual effect is displayed.
103. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system that communicates with a display generating component and one or more input devices, the one or more programs comprising instructions for executing a method according to any one of claims 90 to 102.
104. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 90 to 102.
105. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: Apparatus for carrying out the method according to any one of claims 90 to 102.
106. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for: When a first view of a three-dimensional environment is visible via the display generation component, an audio event associated with a corresponding portion of an object in the three-dimensional environment occurs; In response to an occurrence of the audio event associated with the corresponding portion of the object in the three-dimensional environment: Based on determining that the corresponding portion of the object is outside the first view of the three-dimensional environment: displaying, via the display generating component, a first visual effect indicating a location of the corresponding portion of the object in the three-dimensional environment relative to the first view, wherein the first visual effect is displayed within the first view and indicates that a location of audio in the three-dimensional environment is outside of the first view; and Based on determining that the corresponding portion of the object is within the first view of the three-dimensional environment: A second visual effect is displayed via the display generation component, the second visual effect indicating a location of the object within the first view, wherein the second visual effect is different from the first visual effect.
107. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: When a first view of a three-dimensional environment is visible via the display generation component, an audio event associated with a corresponding portion of an object in the three-dimensional environment occurs; In response to an occurrence of the audio event associated with the corresponding portion of the object in the three-dimensional environment: Based on determining that the corresponding portion of the object is outside the first view of the three-dimensional environment: displaying, via the display generation component, a first visual effect indicating a location of the corresponding portion of the object in the three-dimensional environment relative to the first view, wherein the first visual effect is displayed within the first view and indicates a location of audio in the three-dimensional environment that is outside of the first view; as well as Based on determining that the corresponding portion of the object is within the first view of the three-dimensional environment: A second visual effect is displayed via the display generation component, the second visual effect indicating a location of the object within the first view, wherein the second visual effect is different from the first visual effect.
108. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: means for being enabled when an audio event associated with a corresponding portion of an object in a three-dimensional environment occurs while a first view of the three-dimensional environment is visible via the display generating component; means enabled in response to an occurrence of the audio event associated with the corresponding portion of the object in the three-dimensional environment: Means for being enabled based on determining that the corresponding portion of the object is outside of the first view of the three-dimensional environment: displaying, via the display generation component, a first visual effect indicating a location of the corresponding portion of the object in the three-dimensional environment relative to the first view, wherein the first visual effect is displayed within the first view and indicates a location of audio in the three-dimensional environment that is outside of the first view; and Means for being enabled based on determining that the corresponding portion of the object is within the first view of the three-dimensional environment: A second visual effect is displayed via the display generation component, the second visual effect indicating a location of the object within the first view, wherein the second visual effect is different from the first visual effect.
109. A method comprising: At a computer system in communication with a display generating component and one or more input devices: automatically detecting an object in the three-dimensional environment when a view of the three-dimensional environment is visible via the display generating component; In response to detecting the object: automatically displaying, via the display generation component, a user interface element for generating an audio representation of the text content based on determining that the object includes text content; detecting input selecting the user interface element; as well as In response to detecting the input selecting the user interface element, an audio representation of at least a portion of the textual content of the object is generated.
110. The method of claim 109, comprising: In response to detecting a second object in the three-dimensional environment: Based on determining that the second object includes at least a threshold amount of textual content, displaying a user interface element for generating an audio representation of the textual content of the second object; and Based on determining that the second object includes less than the threshold amount of textual content, displaying the user interface element for generating the audio representation of the textual content of the second object is foregone.
111. The method according to any one of claims 109 to 110, comprising: A visual indication of the portion of the textual content of the object is displayed concurrently with outputting the audio representation.
112. The method of claim 111, wherein: The portion of the text content of the object is a first portion, the visual indication of the portion of the text content is a first visual indication, and the audio representation of the portion of the text content of the object is a first audio representation generated at a first time, and the method comprises: At a second time after the first time, outputting a second audio representation of a second portion of the text content of the object that is different from the first portion of the text content of the object; and A second visual indication of the second portion of the textual content of the object is displayed concurrently with outputting the second audio representation.
113. The method of claim 109, wherein: wherein the portion of the text content of the object includes a first portion of the text content of the object; and the method comprises: simultaneously displaying a first visual indication of two or more visual indications and a second visual indication of the two or more visual indications, wherein the first visual indication corresponds to the first portion of the textual content of the object and the second visual indication corresponds to a second portion of the textual content of the object; In response to detecting an input selecting a corresponding visual indication of the two or more visual indications: Based on determining that the first visual indication is selected, generating an audio representation of the first portion of the textual content of the object; and Based on determining that the second visual indication is selected, generating an audio representation of the second portion of the textual content of the object.
114. The method according to any one of claims 109 to 113, comprising: In response to detecting the object: Based on determining that the object includes textual content, a copy of the area of the three-dimensional environment that includes at least the portion of the textual content of the object is displayed in a computer-generated window visible in the view of the three-dimensional environment.
115. The method of claim 114, comprising: detecting a first input directed at the computer-generated window; as well as The computer-generated window is moved from a first position in the view of the three-dimensional environment to a second position in the view of the three-dimensional environment in response to detecting the first input.
116. The method of claim 115, comprising: In response to detecting the first input: The computer-generated window is resized in conjunction with moving the computer-generated window from the first position to the second position in the view of the three-dimensional environment.
117. The method according to any one of claims 115 to 116, comprising: detecting a second input directed at the computer-generated window, wherein the second input is different than the first input; In response to detecting the second input: The computer-generated window is resized.
118. The method according to any one of claims 114 to 117, comprising: detecting a third input corresponding to a request to change a user's viewpoint relative to the computer-generated window; In response to detecting the third input: The computer-generated window is resized in conjunction with changing the viewpoint of the user relative to the computer-generated window.
119. The method of any one of claims 114 to 118, wherein the computer system comprises one or more cameras, and the object and the computer-generated window are visible within a field of view of the one or more cameras, and the method comprises: It is detected that the object is no longer within the field of view of the one or more cameras, and visibility of the computer-generated window in the field of view of the one or more cameras is maintained.
120. The method of any one of claims 114 to 119, wherein: While the computer-generated window is maintained in the view of the three-dimensional environment, the computer system forgoes displaying a user interface element for generating an audio representation of other textual content, and the method includes: After closing the computer-generated window, detecting textual content that was not previously detected; and In response to detecting the textual content that has not been previously detected, a user interface element for generating an audio representation of the textual content that has not been previously detected is displayed.
121. The method according to any one of claims 114 to 120, comprising: detecting previously undetected text content while the computer-generated window is open; In response to detecting text content that was not previously detected: closing the computer-generated window; as well as A second computer-generated window is opened, the second computer-generated window including a copy of the area of the three-dimensional environment that includes the textual content that was not previously detected.
122. The method of any one of claims 114 to 121, wherein: the computer-generated window being world-locked based on the position of the object in the three-dimensional environment when the object is initially detected and displayed at a corresponding world-locked position in the three-dimensional environment and having a first spatial relationship relative to a viewpoint of a user; and After the viewpoint of a user changes, the world-locked position of the object has a second spatial relationship relative to the viewpoint of the user that is different from the first spatial relationship.
123. The method of any one of claims 109 to 113, wherein: The computer system includes one or more cameras; The object is visible within a field of view of the one or more cameras; as well as In response to detecting that the object is moved outside the field of view of the one or more cameras, displaying a copy of the area of the three-dimensional environment that includes at least the portion of the text content of the object in a computer-generated window visible in the view of the three-dimensional environment.
124. The method according to any one of claims 109 to 113, comprising: In response to detecting the input selecting the user interface element, in addition to generating the audio representation of at least the portion of the text content of the object, a copy of the area of the three-dimensional environment including at least the portion of the text content of the object is displayed in a computer-generated window visible in the view of the three-dimensional environment.
125. A method according to any one of claims 114 to 124, wherein the copy of the area of the three-dimensional environment that includes at least the portion of the text content of the object also includes a portion of a user's body.
126. The method of any one of claims 109 to 125, wherein: The computer system is in communication with one or more audio output devices; In response to detecting the object and based on determining that the object includes the text content, automatically displaying, via the display generation component, a plurality of user interface elements, the plurality of user interface elements including: the user interface element for generating the audio representation of the text content, and a user interface element for playing or stopping output of the audio representation via the one or more audio output devices; detecting user input selecting the user interface element for playing or stopping output of the audio representation; and In response to detecting the user input of the user interface selecting to play or stop output of the audio representation, output of the audio representation is played or stopped via the one or more audio output devices.
127. The method of claim 126, wherein: The plurality of user interface elements include one or more controls for selecting different portions of the text content for which respective audio representations are to be output via the one or more audio output devices, and the method includes: detecting a user input selecting a corresponding control from among the one or more controls for selecting a different portion of the text content; and In response to detecting the user input selecting the respective control from the one or more controls for selecting a different portion of the textual content, outputting the respective audio representation via the one or more audio output devices.
128. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system that communicates with a display generating component and one or more input devices, the one or more programs comprising instructions for executing a method according to any one of claims 109 to 127.
129. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 109 to 127.
130. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: Apparatus for carrying out the method according to any one of claims 109 to 127.
131. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for: automatically detecting an object in the three-dimensional environment when a view of the three-dimensional environment is visible via the display generating component; In response to detecting the object: automatically displaying, via the display generation component, a user interface element for generating an audio representation of the text content based on determining that the object includes text content; detecting input selecting the user interface element; as well as In response to detecting the input selecting the user interface element, an audio representation of at least a portion of the textual content of the object is generated.
132. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: automatically detecting an object in the three-dimensional environment when a view of the three-dimensional environment is visible via the display generating component; In response to detecting the object: automatically displaying, via the display generation component, a user interface element for generating an audio representation of the text content based on determining that the object includes text content; detecting input selecting the user interface element; as well as In response to detecting the input selecting the user interface element, an audio representation of at least a portion of the textual content of the object is generated.
133. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: means enabled, when a view of a three-dimensional environment is visible via the display generating component, for: automatically detecting an object in the three-dimensional environment; A device enabled in response to detecting the object: means enabled, based on determining that the object includes textual content, for: automatically displaying, via the display generation component, a user interface element for generating an audio representation of the textual content; Means for: detecting an input selecting the user interface element; and Means enabled in response to detecting the input selecting the user interface element for: generating an audio representation of at least a portion of the textual content of the object.
134. A method comprising: At a computer system in communication with one or more input devices: detecting, via the one or more input devices, an input comprising a corresponding gesture; When the input including the corresponding gesture is detected: detecting, via the one or more input devices, that a corresponding portion of a user's body has a first pose toward one or more first objects in a three-dimensional environment; as well as In response to detecting that the corresponding portion of the user's body has the first pose toward the one or more first objects, outputting non-visual information describing the one or more first objects; detecting, via the one or more input devices, movement of the corresponding portion of the user's body from the first pose corresponding to the one or more first objects to a second pose toward one or more second objects in the three-dimensional environment; as well as In response to detecting the movement of the corresponding part of the user's body to the second pose toward the one or more second objects, based on determining that the input including the corresponding gesture continues to be detected, non-visual information describing the one or more second objects is output.
135. The method of claim 134, wherein the three-dimensional environment including the one or more first objects and the one or more second objects is a virtual reality environment or an augmented reality environment.
136. The method of any one of claims 134 to 135, wherein detecting the input comprising the corresponding gesture comprises detecting performance of the corresponding gesture by a hand of the user.
137. A method according to any one of claims 134 to 136, wherein the corresponding part of the user's body is the user's head.
138. A method according to any one of claims 134 to 136, wherein the corresponding part of the user's body includes the user's eyes.
139. A method according to any one of claims 134 to 136, wherein the corresponding part of the user's body is the user's wrist.
140. A method according to any one of claims 134 to 136, wherein the corresponding part of the user's body is a finger of the user.
141. A method according to any one of claims 134 to 140, wherein the corresponding part of the user's body is selected as the focus indicator from one or more options in a setting user interface, wherein the one or more options correspond to one or more parts of the user's body.
142. The method of any one of claims 134 to 141, comprising: In response to detecting the movement of the corresponding part of the user's body to the second posture corresponding to the one or more second objects, based on determining that the input including the corresponding gesture has ceased to be detected, abandoning outputting the non-visual information describing the one or more second objects.
143. The method according to any one of claims 134 to 142, comprising: detecting, via the one or more input devices, a first selection input directed to a corresponding object; as well as In response to detecting the first selection input: Based on determining that the corresponding gesture is no longer detected, an operation is performed relative to the corresponding object.
144. The method of claim 143, wherein the first selection input comprises an air pinch gesture, followed by a release of the air pinch gesture before a threshold amount of time has elapsed.
145. The method of any one of claims 143 to 144, wherein the corresponding gesture is an air pinch gesture being held.
146. The method of any one of claims 134 to 145, wherein: The one or more first objects have one or more corresponding locations in the three-dimensional environment that are more than a threshold distance from a viewpoint of a user, and The threshold distance is determined based on the reach of the user's hand.
147. The method of any one of claims 134 to 146, wherein: The one or more second objects have one or more corresponding locations in the three-dimensional environment that are more than a threshold distance from a viewpoint of the user, and The threshold distance is determined based on the reach of the user's hand.
148. A method according to any one of claims 134 to 147, wherein the corresponding gesture is performed using the corresponding part of the user's body.
149. A method according to any one of claims 134 to 147, wherein the corresponding gesture is performed using a part of the user's body that is different from the corresponding part of the user's body.
150. The method of any one of claims 134 to 149, comprising: detecting a second gesture performed with a second part of the user's body, wherein the second gesture is performed directly on a first object of the one or more first objects; and In response to detecting the second gesture, non-visual information describing the first object is output, regardless of whether the corresponding gesture continues to be detected.
151. A method according to any one of claims 134 to 150, wherein the corresponding gesture satisfies a first gesture criterion, and the method comprises: detecting a third gesture; as well as In response to detecting the third gesture: outputting non-visual information describing the first corresponding object in response to determining that the third gesture satisfies the first gesture criteria and that the corresponding portion of the user's body has a pose toward a first corresponding object when the third gesture continues to be detected; as well as Based on determining that the third gesture satisfies a second gesture criterion different from the first gesture criterion, a focus indicator is moved to a second corresponding object and non-visual information describing the second corresponding object is output.
152. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system that communicates with one or more input devices, the one or more programs comprising instructions for executing a method according to any one of claims 134 to 151.
153. A computer system in communication with one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 134 to 151.
154. A computer system in communication with one or more input devices, the computer system comprising: Apparatus for carrying out the method according to any one of claims 134 to 151.
155. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with one or more input devices, the one or more programs comprising instructions for: detecting, via the one or more input devices, an input comprising a corresponding gesture; When the input including the corresponding gesture is detected: detecting, via the one or more input devices, that a corresponding portion of a user's body has a first pose toward one or more first objects in a three-dimensional environment; as well as In response to detecting that the corresponding portion of the user's body has the first pose toward the one or more first objects, outputting non-visual information describing the one or more first objects; detecting, via the one or more input devices, movement of the corresponding portion of the user's body from the first pose corresponding to the one or more first objects to a second pose toward one or more second objects in the three-dimensional environment; as well as In response to detecting the movement of the corresponding part of the user's body to the second pose toward the one or more second objects, based on determining that the input including the corresponding gesture continues to be detected, non-visual information describing the one or more second objects is output.
156. A computer system in communication with one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: detecting, via the one or more input devices, an input comprising a corresponding gesture; When the input including the corresponding gesture is detected: detecting, via the one or more input devices, that a corresponding portion of a user's body has a first pose toward one or more first objects in a three-dimensional environment; as well as In response to detecting that the corresponding portion of the user's body has the first pose toward the one or more first objects, outputting non-visual information describing the one or more first objects; detecting, via the one or more input devices, movement of the corresponding portion of the user's body from the first pose corresponding to the one or more first objects to a second pose toward one or more second objects in the three-dimensional environment; as well as In response to detecting the movement of the corresponding part of the user's body to the second pose toward the one or more second objects, based on determining that the input including the corresponding gesture continues to be detected, non-visual information describing the one or more second objects is output.
157. A computer system in communication with one or more input devices, the computer system comprising: means for: detecting, via the one or more input devices, an input comprising a corresponding gesture; A device that is enabled when the input including the corresponding gesture is detected, the device comprising: means for detecting, via the one or more input devices, that a corresponding portion of a user's body has a first pose toward one or more first objects in a three-dimensional environment; and means enabled in response to detecting that the corresponding portion of the user's body has the first pose toward the one or more first objects for: outputting non-visual information describing the one or more first objects; means for detecting, via the one or more input devices, movement of the corresponding portion of the user's body from the first pose corresponding to the one or more first objects to a second pose toward one or more second objects in the three-dimensional environment; and In response to detecting the movement of the corresponding part of the user's body to the second posture toward the one or more second objects, a device is enabled for the following based on determining that the input including the corresponding gesture continues to be detected: outputting non-visual information describing the one or more second objects.
158. A method comprising: At a computer system in communication with a display generating component and one or more input devices: detecting a gesture via the one or more input devices when a three-dimensional environment is available for viewing via the display generating component, wherein the three-dimensional environment includes one or more virtual objects and a view of a physical environment including one or more physical objects; as well as In response to detecting the gesture: outputting an audio description of the view of the physical environment, the audio description including information about the one or more physical objects, based on determining that the gesture satisfies a first gesture criterion; as well as Based on determining that the gesture does not satisfy the first gesture criteria, outputting an audio description of the view of the physical environment is foregone.
159. The method of claim 158, comprising: In response to detecting the gesture: Based on determining that the gesture satisfies a second gesture criterion different from the first gesture criterion, performing an operation other than outputting an audio description of the view of the physical environment.
160. The method of any one of claims 158 to 159, comprising: In response to detecting the gesture: Based on determining that the gesture satisfies a third gesture criterion, an audio description of the one or more virtual objects is output.
161. The method of any one of claims 158 to 160, wherein outputting an audio description of the view of the physical environment comprises: An audio description of a portion of the view of the physical environment is output regardless of whether the portion of the view of the physical environment is occluded by a virtual object of the one or more virtual objects when viewed from a user's point of view.
162. A method according to any one of claims 158 to 161, wherein the three-dimensional environment is capable of being viewed at different levels of immersion via the display generating component, and the audio description of the view of the physical environment is output regardless of the selected level of immersion.
163. The method of any one of claims 158 to 162, wherein: In response to detecting the gesture: Based on determining that the gesture satisfies the first gesture criteria and the first portion of the three-dimensional environment is included in the viewport of the three-dimensional environment, outputting an audio description of the view of the physical environment includes: when the gesture is detected, outputting an audio description of the first portion of the physical environment included in the viewport of the three-dimensional environment; and Based on determining that the gesture satisfies the first gesture criteria and a second portion of the three-dimensional environment is included in the viewport of the three-dimensional environment, outputting an audio description of the view of the physical environment includes: when the gesture is detected, outputting an audio description of the second portion of the physical environment included in the viewport of the three-dimensional environment, wherein the second portion of the physical environment is different from the first portion of the physical environment.
164. The method of any one of claims 158 to 163, wherein: In response to detecting the gesture: Based on determining that the gesture satisfies the first gesture criteria and the first subset of the one or more physical objects is included in a corresponding viewport of the three-dimensional environment, outputting an audio description of the view of the physical environment includes: outputting an audio description of the first subset of the one or more physical objects, wherein the one or more virtual objects occlude at least a portion of the first subset of the one or more physical objects; Based on determining that the gesture satisfies the first gesture criteria and a second subset of the one or more physical objects is included in a corresponding viewport of the three-dimensional environment, outputting an audio description of the view of the physical environment includes: outputting an audio description of the second subset of the one or more physical objects, wherein the one or more virtual objects occlude at least a portion of the second subset of the one or more physical objects.
165. The method of any one of claims 158 to 164, wherein: In response to detecting the gesture: Based on determining that the gesture satisfies the first gesture criteria and detecting the gesture at a first time, outputting an audio description of the view of the physical environment includes: outputting an audio description based on a first state of the physical environment at the first time; Based on determining that the gesture satisfies the first gesture criteria and the gesture is detected at a second time different from the first time, outputting an audio description of the view of the physical environment includes: outputting an audio description based on a second state of the physical environment at the second time, wherein the first state of the physical environment at the first time is different from the second state of the physical environment at the second time.
166. A method according to any one of claims 158 to 165, wherein the gesture is an air gesture performed with one or more hands of a user.
167. A method according to any one of claims 158 to 166, wherein the gesture is included in an input that is different from other inputs used to perform one or more operations relative to the one or more virtual objects.
168. The method of any one of claims 158 to 167, wherein: in response to detecting the gesture, wherein the gesture satisfies first gesture criteria, and in accordance with determining that a corresponding accessibility mode is active, the audio description of the view of the physical environment is output; and In response to detecting the gesture, wherein the gesture satisfies first gesture criteria, the computer system forgoes outputting the audio description of the view of the physical environment based on determining that the corresponding accessibility mode is inactive.
169. The method of any one of claims 158 to 168, wherein: the gesture is included in a first input, and the audio description of the view of the physical environment including information about the one or more physical objects is a first audio description of the view of the physical environment; and The method comprises: detecting, while the three-dimensional environment is available for viewing via the display generating component, a second input including the gesture, wherein the gesture satisfies the first gesture criteria; as well as In response to the second input comprising the gesture, a second audio description of the view of the physical environment is output, wherein the second audio description of the view of the physical environment is different from the first audio description of the view of the physical environment.
170. The method of claim 169, wherein the second audio description of the view of the physical environment is output based on determining that a state of the physical environment has changed.
171. The method of claim 169, wherein: The first audio description of the view of the physical environment is output at a first time, and the physical environment has a first state at the first time; and The second audio description of the view of the physical environment is output at a second time after the first time, and the physical environment has the first state at the second time.
172. The method of any one of claims 169 to 171, wherein: When the first input is detected, a first portion of the three-dimensional environment is included in a viewport of the three-dimensional environment, and the first audio description of the view of the physical environment is based on the first portion of the three-dimensional environment; and When the second input is detected, a second portion of the three-dimensional environment is included in the viewport of the three-dimensional environment, and the second audio description of the view of the physical environment is based on the second portion of the three-dimensional environment.
173. A method according to any one of claims 158 to 172, wherein based on determining that a first setting corresponding to a first length of verbosity among a plurality of lengths of verbosity is enabled when the gesture is detected, the audio description of the view of the physical environment including information about the one or more physical objects is based on the first length of verbosity among the plurality of lengths of verbosity.
174. The method of claim 173, wherein the gesture satisfies the first gesture criteria and is included in a first input, and the audio description of the view of the physical environment output in response to the first input is a first audio description of the view of the physical environment, the first audio description is based on the first of the plurality of lengths of verbosity based on determining that the first length of verbosity is enabled when the first input is detected, and the method comprises: detecting, while the three-dimensional environment is available for viewing via the display generating component, a second input including the gesture satisfying the first gesture criteria; as well as In response to the second input comprising the gesture: Based on determining that a second setting corresponding to a second length of the multiple lengths is enabled when the second input including the gesture is detected, outputting a second audio description of the view of the physical environment based on the second length of the length, wherein the first audio description of the view of the physical environment includes information about a first subset of the one or physical objects but does not include information about a second subset of the one or more physical objects, and the second audio description of the physical environment includes information about the first subset of the one or physical objects and the second subset of the one or physical objects.
175. The method of any one of claims 158 to 174, wherein: a first virtual object of the one or more virtual objects having a first position in the three-dimensional environment, and the first virtual object at the first position occludes a corresponding portion of the view of the physical environment when viewed from a corresponding viewpoint of a user; and The audio description of the view of the physical environment is output while the first virtual object is maintained at the first position in the three-dimensional environment.
176. The method of any one of claims 158 to 175, comprising: detecting a third gesture that satisfies the first gesture criteria; as well as In response to detecting the third gesture, based on determining that a change has occurred in the physical environment after outputting the audio description of the view of the physical environment, output a different audio description of the view of the physical environment, the different audio description including information about the change that has occurred in the physical environment.
177. The method of any one of claims 158 to 176, comprising: detecting a fourth gesture that satisfies the first gesture criteria; as well as In response to detecting the fourth gesture, based on determining that a corresponding object of the one or more physical objects has moved in the physical environment after outputting the audio description of the view of the physical environment, output a corresponding audio description of the view of the physical environment, the corresponding audio description including information about the corresponding object of the one or more physical objects that has moved in the physical environment.
178. The method of any one of claims 158 to 177, comprising: detecting a fifth gesture that satisfies the second gesture criteria; as well as In response to detecting the fifth gesture that satisfies the second gesture criteria, non-visual information about a first virtual object among the one or more virtual objects included in the three-dimensional environment is output, wherein the corresponding part of the user's body is oriented toward the first virtual object.
179. The method of any one of claims 158 to 178, comprising: detecting a sixth gesture; In response to detecting the sixth gesture: outputting an audio description of a portion of the view of the physical environment included in a corresponding viewport of the three-dimensional environment based on determining that the sixth gesture satisfies the first gesture criteria; as well as Based on determining that the sixth gesture satisfies third gesture criteria, a focus indicator is moved to a second virtual object among the one or more virtual objects, and non-visual information about the second virtual object included in the three-dimensional environment is output.
180. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system that communicates with a display generating component and one or more input devices, the one or more programs comprising instructions for executing a method according to any one of claims 158 to 179.
181. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 158 to 179.
182. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: Apparatus for carrying out the method according to any one of claims 158 to 179.
183. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for: detecting a gesture via the one or more input devices when a three-dimensional environment is available for viewing via the display generating component, wherein the three-dimensional environment includes one or more virtual objects and a view of a physical environment including one or more physical objects; as well as In response to detecting the gesture: outputting an audio description of the view of the physical environment, the audio description including information about the one or more physical objects, based on determining that the gesture satisfies a first gesture criterion; as well as Based on determining that the gesture does not satisfy the first gesture criteria, outputting an audio description of the view of the physical environment is foregone.
184. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: detecting a gesture via the one or more input devices when a three-dimensional environment is available for viewing via the display generating component, wherein the three-dimensional environment includes one or more virtual objects and a view of a physical environment including one or more physical objects; as well as In response to detecting the gesture: outputting an audio description of the view of the physical environment, the audio description including information about the one or more physical objects, based on determining that the gesture satisfies a first gesture criterion; as well as Based on determining that the gesture does not satisfy the first gesture criteria, outputting an audio description of the view of the physical environment is foregone.
185. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: When a three-dimensional environment is available for viewing via the display generating component, means enabled for: detecting a gesture via the one or more input devices, wherein the three-dimensional environment includes one or more virtual objects and a view of a physical environment including one or more physical objects; and A device enabled in response to detecting the gesture, the device comprising: means enabled, based on determining that the gesture satisfies a first gesture criterion, for: outputting an audio description of the view of the physical environment, the audio description including information about the one or more physical objects; as well as Means enabled, based on determining that the gesture does not satisfy the first gesture criteria, for forgoing outputting an audio description of the view of the physical environment.