Apparatus and method for improving accessibility of interactions with three-dimensional environment
By introducing technologies such as amplification area, ray cursor, two-hand gesture navigation and audio feedback into the computer system, the problem of inefficiency of users with impaired vision, hearing and movement in three-dimensional environment interaction is solved, improving interaction efficiency and user experience, while saving system energy.
Patent Information
- Application Number
- CN202510498799.X
- 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-07-15
AI Technical Summary
When existing computer systems interact with a three-dimensional environment, especially for users with visual, hearing, movement and cognitive impairment, the interaction method is cumbersome, inefficient and error-prone, resulting in poor user experience and consumes computer system energy, especially in battery-driven devices, which shortens battery life.
By introducing technologies such as amplified area, ray cursor, two-hand gesture navigation, guided access mode, audio feedback and non-visual information output into the computer system, we will improve the interaction mode between users and the three-dimensional environment, reduce the number and complexity of user input, improve interaction efficiency, and save system energy.
Improves the interaction efficiency between visual and motion-impaired users and the three-dimensional environment, reduces the number and complexity of user input, saves system energy, extends battery life, and improves user experience.
Smart Images

Figure CN120315591A_ABST
Abstract
Description
[0001] This application is a divisional application of a Chinese patent application with an application date of August 15, 2023, a national application number of 202380060051.0, and an invention title of "Devices, Methods, and Graphical User Interfaces for Improving the Accessibility of Interaction with a Three-Dimensional Environment".
[0002] Related Patent Applications
[0003] This patent application is a continuation of U.S. Patent Application No. 18 / 233,841, filed on August 14, 2023, which claims the priority of 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
[0004] The present disclosure generally relates to computer systems that communicate with a display generation component and one or more input devices to provide a computer-generated experience, including but not limited to electronic devices that provide virtual reality and mixed reality experiences via a display. Background Art
[0005] 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 enhance the physical world. Input devices for computer systems and other electronic computing devices, such as cameras, controllers, joysticks, touch-sensitive surfaces, and touchscreen displays, 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
[0006] Some methods and interfaces for interacting with an environment that includes at least some virtual elements (e.g., applications, augmented reality environments, mixed reality environments, and virtual reality environments) are cumbersome, inefficient, and limited, especially for users with visual, motor, hearing, learning, and / or cognitive impairments. For example, systems that are not adequately adapted for visually impaired users, systems that are not adequately adapted for hearing impaired users, systems that are not adequately adapted for motor impaired users, and systems in which the manipulation of virtual objects is complex, cumbersome, and error-prone impose a significant cognitive burden on users and detract from the experience of virtual / augmented reality environments. 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.
[0007] Accordingly, 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. Additionally, such methods and interfaces reduce the amount, degree, and / or nature of input from the 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-machine interface.
[0008] The above-described deficiencies and other problems associated with the user interface of a computer system are reduced or eliminated by the disclosed system. In some embodiments, the computer system is a desktop computer having an associated display. In some embodiments, the computer system is a portable device (e.g., a laptop 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 touchpad. 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 a display generation component, the computer system has one or more output devices including one or more haptic 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, programs, or sets of instructions 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 the computer system) or the user's body (as captured by cameras and other motion sensors), and / or voice input (as captured by one or more audio input devices). In some embodiments, the functions performed through the interaction optionally include image editing, drawing, presentation, word processing, spreadsheet creation, playing games, making phone calls, video conferencing, sending and receiving emails, instant messaging, test support, digital photography, digital video recording, web browsing, digital music playback, note-taking, and / or digital video playback. The 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 to be executed by one or more processors.
[0009] There is a need for an electronic device having improved methods and interfaces that enable users with physical and / or cognitive impairments to interact with a three-dimensional environment. Such methods and interfaces can supplement or replace conventional methods for interacting with a three-dimensional environment. Such methods and interfaces reduce the amount, degree, and / or nature of input from the user and result in a more efficient human-machine interface. For battery-powered computing devices, such methods and interfaces conserve power and increase the time interval between battery charges.
[0010] 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, where the view of the three-dimensional environment includes one or more real-world objects and virtual content, displaying a magnified region over at least a portion of the view of the three-dimensional environment, the magnified region including a magnified version of a first portion of the three-dimensional environment, the first portion of the three-dimensional environment including one or more real-world objects and virtual content. The method includes: detecting a request to magnify a second portion of the three-dimensional environment; and in response to detecting the request to magnify the second portion of the three-dimensional environment, displaying a magnified version of the second portion of the three-dimensional environment in the magnified region. 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-world objects and virtual content.
[0011] 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, receiving one or more first user inputs from the user, the one or more first user inputs corresponding to a selection of a respective direction in the three-dimensional environment relative to a reference point associated with the user. The method includes: displaying, via the display generation component, a ray extending in the respective direction away from the reference point in the three-dimensional environment; and when the ray is displayed, displaying a selection cursor that moves along the ray independent of user input. The method includes: when the selection cursor is at a respective 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 a target position for a next user interaction to a position in the three-dimensional environment corresponding to the respective position of the selection cursor along the ray.
[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 associated with the computer system overlaid on the view of the three-dimensional environment. The method includes: when the user interface of the first application is displayed overlaid on the view of the three-dimensional environment, detecting a gesture performed with a first hand, wherein the gesture meets a first gesture criterion. The method includes: in response to detecting a gesture that meets the first gesture criterion: 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.
[0013] 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 overlaid on the view of the three-dimensional environment, including displaying a plurality of elements in the user interface. The user interface is associated with a plurality of hierarchical levels, a first hierarchical level corresponding to a first grouping of one or more of the plurality of elements, and a second hierarchical level corresponding to a second grouping of one or more of the plurality of elements. The method includes: detecting a gesture when a focus indicator identifies a first element among the plurality of elements displayed in the user interface. The first element is associated with the first hierarchical level of the plurality of hierarchical levels. The method includes: in response to detecting the gesture: moving the focus indicator from the first element to a second element among the plurality of elements based on determining that the gesture is performed with a first hand; and moving the focus indicator from the first element of the first hierarchical level to a corresponding element of the second hierarchical level among the plurality of hierarchical levels based on determining that the gesture is performed with a second hand different from the first hand.
[0014] 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, where 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 to the background of the three-dimensional environment includes changing the appearance of virtual background elements. 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, foregoing applying the change to the background of the three-dimensional environment.
[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: 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, displaying, via the display generation component, a first visual effect that 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, displaying, via the display generation component, a second visual effect that indicates the position of the object within the first view, where the second visual effect is different from the first visual effect.
[0016] 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 based on determining that the object includes text content, automatically displaying, via the display generation component, a user interface element for generating an audio representation of the text content. The method includes: detecting an input selecting the user interface element. Generating an audio representation of at least a portion of the text content of the object in response to detecting the input selecting the user interface element.
[0017] According to some embodiments, a method is performed at a computer system in communication with one or more input devices. The method includes: detecting an input including a respective gesture via the one or more input devices. The method includes: when an input including a respective gesture is detected: detecting, via the one or more input devices, that a respective part of a user's body has a first pose toward one or more first objects in a three-dimensional environment; and outputting non-visual information describing the one or more first objects in response to detecting that the respective part of the user's body has the first pose toward the one or more first objects. The method includes: detecting, via the one or more input devices, a movement of the respective part 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. The method includes: in response to detecting the movement of the respective part of the user's body to the second pose toward the one or more second objects, outputting non-visual information describing the one or more second objects according to a determination that the input including the respective gesture continues to be detected.
[0018] 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, where the three-dimensional environment includes a view of one or more virtual objects and 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 according to a determination that the gesture meets a first gesture criterion, the audio description including information about the one or more physical objects; and refraining from outputting the audio description of the view of the physical environment according to a determination that the gesture does not meet the first gesture criterion.
[0019] Note 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. Specifically, many additional features and advantages will be apparent to those of ordinary skill in the art from the drawings, the specification, and the claims. In addition, it should be noted that for readability and guidance purposes, the language used in this specification has been selected in principle and may not have been selected to depict or define the subject matter of the invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] To better understand the various described embodiments, reference should be made to the following detailed description in conjunction with the following drawings, in which like reference numerals indicate corresponding parts in all the drawings.
[0021] 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.
[0022] Figures 1B to 1P is an example of a computer system for providing an XR experience in an Figure 1A operating environment.
[0023] Figure 2 is a block diagram of a controller of a computer system configured to manage and coordinate a user's XR experience according to some embodiments.
[0024] Figure 3 is a block diagram of a display generation component of a computer system configured to provide a visual component of an XR experience to a user according to some embodiments.
[0025] Figure 4 is a block diagram of a hand tracking unit of a computer system configured to capture a user's gesture input according to some embodiments.
[0026] Figure 5 is a block diagram of an eye tracking unit of a computer system configured to capture a user's gaze input according to some embodiments.
[0027] Figure 6 is a flowchart illustrating a flash-assisted gaze tracking pipeline according to some embodiments.
[0028] Figures 7A to 7G illustrates example techniques for magnifying virtual and real content in a three-dimensional environment according to some embodiments.
[0029] Figures 8A to 8L illustrates example techniques for selecting a point in a three-dimensional environment and interacting with the point using a ray and a selection cursor moving along the ray according to some embodiments.
[0030] Figures 9A to 9H illustrates example techniques for switching between interacting with an active application in a three-dimensional environment and performing an operation outside the active application according to some embodiments.
[0031] Figures 10A to 10F illustrates example techniques for navigating within or between different application hierarchy levels in a three-dimensional environment according to some embodiments.
[0032] Figure 11 is a flowchart of a method for magnifying virtual and real content in a three-dimensional environment according to various embodiments.
[0033] Figure 12 is a flowchart of a method for selecting a point in a three-dimensional environment and interacting with the point using a ray and a selection cursor moving along the ray according to various embodiments.
[0034] Figure 13 is a flowchart of a method for switching between interacting with an active application in a three - dimensional environment and performing operations outside the active application, according to various embodiments.
[0035] Figure 14 is a flowchart of a method for navigating within or between different application hierarchical levels in a three - dimensional environment, according to various embodiments.
[0036] Figures 15A to 15J Illustrates example techniques for restricting various types of changes from occurring in a mixed - reality three - dimensional environment when a guided - access operation mode is active, according to some embodiments.
[0037] Figures 16A to 16E Illustrates example techniques for determining the location and visualizing sounds in a mixed - reality three - dimensional environment, according to some embodiments.
[0038] Figures 17A to 17I Illustrates example techniques for detecting text content in a mixed - reality three - dimensional environment and generating a corresponding audio representation of the detected text content, according to some embodiments.
[0039] Figure 18 is a flowchart of a method for restricting various types of changes from occurring in a mixed - reality three - dimensional environment when a guided - access operation mode is active, according to various embodiments.
[0040] Figure 19 is a flowchart of a method for determining the location and visualizing sounds in a mixed - reality three - dimensional environment, according to various embodiments.
[0041] Figure 20 is a flowchart of a method for 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.
[0042] Figures 21A to 21J Illustrates example techniques for providing non - visual information (e.g., audio descriptions) about virtual content in a mixed - reality three - dimensional environment, according to various embodiments.
[0043] Figures 22A to 22F Illustrates example techniques for providing non - visual information (e.g., audio descriptions) about a view of the physical - environment portion of a mixed - reality three - dimensional environment, according to various embodiments.
[0044] Figure 23A flowchart of a method for providing non-visual information (e.g., audio description) about virtual content in a mixed reality three-dimensional environment according to various embodiments.
[0045] Figure 24 A flowchart of a method 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 various embodiments. Detailed Description
[0046] According to some embodiments, the present disclosure relates to a user interface for providing a user with an extended reality (XR) experience.
[0047] The systems, methods, and GUIs described herein improve user interface interactions with virtual / augmented reality environments in various ways.
[0048] In some embodiments, a magnified region (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 magnified region automatically magnifies portions of the three-dimensional environment as it is moved within the three-dimensional environment (e.g., following the user's gaze or other reference point). The magnified region can magnify both virtual content and real-world content, thereby making it easier for the user to see the three-dimensional environment and interact with it (e.g., without the need to use lenses or other devices to assist the user's vision). Additionally, inputs detected at the magnified region (e.g., relative to the content below) are forwarded to the content below and are processed as if they were detected at the content below. Allowing the user to directly interact with the magnified content in the magnified region improves the user's ability to interact with the content because the content is more easily visible, which in turn reduces the amount of time required to perform operations within the three-dimensional environment.
[0049] 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 the user (such as the user's viewpoint), 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 automatically traversed in one or more directions, and then the location along the ray is selected by stopping the cursor that automatically moves along the ray, which reduces the number and degree of inputs required for the user to select a three-dimensional interaction point or target within the three-dimensional environment. Additionally, in embodiments where assistive input devices can be used to provide inputs, users with physical impairments (such as motor impairments) are enabled to interact with the three-dimensional environment.
[0050] In some embodiments, an air gesture made with a first hand is detected while a 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., the opposite hand). Thus, the second hand modifies the detected gesture input made with the first hand, thereby allowing the user to efficiently switch between interactions with user interface elements of the currently active application or switch to other non-active 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 made with the first hand, changing the location where the operation is performed (and thus which operation is performed in some embodiments) based on the configuration of the different second hand enables a greater number of interactions with the computer system without requiring additional gestures and without displaying additional controls.
[0051] In some embodiments, different modes for navigating or traversing within the organization of a user interface (e.g., a page or screen) are provided in a mixed reality three-dimensional environment. A first navigation mode is performed linearly or sequentially, e.g., advancing from one navigable (or traversable) user interface element to another, including through one 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). A second mode for navigating within the organization is non-linear. In the second mode, a type of navigable user interface element is selected, and navigation advances from one navigable user interface element of the selected type to another (e.g., the next in a sequence) navigable user interface element of the selected type, thus 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 set of fingers, and back-and-forth navigation within elements of the selected type is performed with a second set of fingers. In some embodiments, two-handed navigation (e.g., via an air pinch gesture) is used to navigate within the hierarchy levels of an active application in a mixed reality three-dimensional environment. For example, one hand is used to navigate within the user interface elements of one application hierarchy level, and the other hand is used to switch to navigation of another application hierarchy level (e.g., across application hierarchy levels). Providing two-handed navigation within the hierarchical organization of the user interface enables a greater number of interactions with the computer system in a mixed reality three-dimensional environment without the need for additional gestures and without displaying additional controls (e.g., contactless interaction for visually impaired users).
[0052] In some embodiments, when the "Guided Access" operation 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" operation mode is not active (e.g., the normal operation mode is active). When the "Guided Access" operation 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 a new application, requests to move an open window in the three-dimensional environment, requests to play media content, inputs 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). Restricting the changes and actions that can occur in a mixed reality three-dimensional environment reduces the number of unintentional inputs, allowing the user to focus on interacting with a specific portion of the three-dimensional environment or a specific application while reducing distractions and interruptions, and making the user-system interface more efficient (e.g., by assisting or guiding the user to provide the correct input).
[0053] In some embodiments, different visual effects for visualizing the position of a sound (or indicating the sound source) in a three-dimensional environment (e.g., a virtual or mixed reality environment) are provided depending on whether the position of the sound is within the field of view (e.g., the user's field of view or the field of view captured by one or more cameras) or outside the field of view. 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 can be changed to the second visual effect in response to detecting that the position of the sound has moved from within the field of view to outside the field of view. Correspondingly, the second visual effect is optionally changed to the first visual effect in response to detecting that the position of the sound has moved from outside the field of view to within the field of view. Providing different visual effects for visualizing a sound in a mixed reality three-dimensional environment depending on whether the position of the sound is within or outside the corresponding field of view provides visual feedback regarding the sound occurring in the mixed reality environment (e.g., thus enhancing the user experience of the mixed reality environment), and provides a mechanism for spatially localizing the sound (e.g., by helping the user determine the location of the sound source in the mixed reality three-dimensional environment).
[0054] 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 the control to provide additional controls to the user (e.g., an option to play the speech rather than playing the speech without giving the user a choice), and visual feedback or a cue that there is text content available for reading in the three-dimensional environment is provided to the user. Additionally, automatically detecting the text content without requiring user input indicating the presence of text content in the mixed reality three-dimensional environment reduces the amount and complexity of the input required to generate an audio representation of the text content.
[0055] In some embodiments, when an input including a corresponding gesture is detected, the computer system detects that a corresponding part of the user's body has a first pose toward one or more virtual objects in a three-dimensional environment, and in response, outputs non-visual information describing the one or more virtual objects, including an auditory description of the one or more virtual objects. The computer system detects a 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 the 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 an auditory description of the one or more other virtual objects. Automatically outputting an auditory description of virtual content selected based on the position toward which a corresponding part of the user's body is oriented assists the user in exploring the mixed reality three-dimensional environment without the user having to provide additional input and navigate a complex user interface, thereby reducing the amount, complexity, and degree of user input and making the user's interaction with the mixed reality three-dimensional environment more accessible to a wider group, including users with reduced vision or other visual impairments.
[0056] In some embodiments, the computer system detects a gesture when a three-dimensional environment is available for viewing, the three-dimensional environment including a view of one or more virtual objects and a physical environment including one or more physical objects. In response to detecting the gesture: if the gesture meets 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 meet 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 an auditory 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 an auditory manner), including users with reduced vision or other visual impairments. For example, the auditory description of the physical environment can help the user 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.
[0057] Figures 1A to 6 A description of an example computer system for providing an XR experience to a user is provided. Figures 7A to 7G An example technique for magnifying virtual and real content in a three-dimensional environment according to some embodiments is illustrated. Figure 11Flowchart of a method for magnifying virtual and real content in an augmented three-dimensional environment according to various embodiments. Figures 7A to 7G The user interface in Figure 11 illustrates the process in Figures 8A to 8L Illustrates an example technique for selecting a point in a three-dimensional environment and interacting with the point using a ray and a selection cursor that moves along the ray according to some embodiments. Figure 12 Flowchart of a method for selecting a point in a three-dimensional environment and interacting with the point using a ray and a selection cursor that moves along the ray according to various embodiments. Figures 8A to 8L The user interface in Figure 12 illustrates the process in Figures 9A to 9H Illustrates an example technique for switching between interacting with an active application in a three-dimensional environment and performing an operation outside the active application according to some embodiments. Figure 13 Flowchart of a method for switching between interacting with an active application in a three-dimensional environment and performing an operation outside the active application according to various embodiments. Figures 9A to 9H The user interface in Figure 13 illustrates the process in Figures 10A to 10F Illustrates an example technique for navigating within one application hierarchy level or between different application hierarchy levels in a three-dimensional environment. Figure 14 Flowchart of a method for navigating within one application hierarchy level or between different application hierarchy levels in a three-dimensional environment according to various embodiments. Figures 10A to 10F The user interface in Figure 14 illustrates the process in Figures 15A to 15J Illustrates an example technique for restricting various types of changes from occurring in a mixed reality three-dimensional environment when a guided access operation mode is active according to some embodiments. Figure 18 Flowchart of a method for restricting various types of changes from occurring in a mixed reality three-dimensional environment when a guided access operation mode is active according to various embodiments. Figures 15A to 15J The user interface in Figure 18 illustrates the process in Figures 16A to 16E Illustrates an example technique for determining the location and visualizing sounds in a mixed reality three-dimensional environment according to some embodiments. Figure 19 Flowchart of a method for determining the location and visualizing sounds in a mixed reality three-dimensional environment according to various embodiments. Figures 16A to 16E The user interface in Figure 19 illustrates the process in Figures 17A to 17IIllustrates example techniques for detecting text content in a mixed reality three - dimensional environment and generating a corresponding audio representation of the detected text content, according to some embodiments. Figure 20 Is a flowchart of a method for 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. Figures 17A to 17I The user interface in Figure 20 Illustrates the process in Figures 21A to 21J Illustrates 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. Figure 23 Is a flowchart of a method for providing non - visual information (e.g., audio description) about virtual content in a mixed reality three - dimensional environment, according to various embodiments. Figures 21A to 21J The user interface in Figure 23 Illustrates the process in Figures 22A to 22F Illustrates 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. Figure 24 Is a flowchart of a method 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 various embodiments. Figures 22A to 22F The user interface in Figure 24 Illustrates the process in
[0058] The processes described below enhance the operability of the device and make the user - device interface more efficient through various techniques (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), including by providing the user with improved visual feedback, 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 when a set of conditions has been met without further user input, 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 effectively. Saving battery power, and thus weight, improves the ergonomics of the device. These techniques also enable real - time communication, allow the use of fewer and / or less precise sensors, resulting in a more compact, lighter, and cheaper device, and enable the device to be used under various lighting conditions. These techniques reduce energy usage, thereby reducing the heat emitted by the device, which is particularly important for wearable devices, where it can become uncomfortable for the user to wear the device if the device generates too much heat while operating entirely within the device component's operating parameters.
[0059] In addition, in a method where one or more of the steps described herein depend on one or more conditions being met, it should be understood that the method can be repeated in multiple iterations such that, during the repetition, all the conditions that determine the steps in the method are met in different iterations of the method. For example, if a method requires performing a first step (if a condition is met) and a second step (if the condition is not met), one of ordinary skill in the art will know to repeat the stated steps until both the condition being met and the condition not being met (in no particular order) occur. Thus, a method described as having one or more steps that depend on one or more conditions being met can be rewritten as a method that repeats until each condition described in the method is met. However, this does not require a system or computer-readable medium to state that the system or computer-readable medium includes instructions for performing conditional operations based on the satisfaction of corresponding one or more conditions and is thus capable of determining whether the possible scenarios have been met without explicitly repeating the steps of the method until all the conditions that determine the steps in the method are met. One of ordinary skill in the art will also understand that, similar to a method with conditional steps, a system or computer-readable storage medium can repeat the steps of the method as many times as needed to ensure that all conditional steps have been performed.
[0060] In some embodiments, as Figure 1A shown, an XR experience is provided to a user via an operating environment 100 that includes 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 touchscreen, 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 haptic 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 haptic 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., household appliances, wearable devices, etc.). In some embodiments, one or more of the input device 125, the output device 155, the sensor 190, and the peripheral device 195 are integrated with the display generation component 120 (e.g., in a head-mounted device or a handheld device).
[0061] When describing XR experiences, various terms are used to distinctively refer to several related but different environments that a user can sense and / or with which the user can interact (e.g., interact using inputs detected by the computer system 101 that generates the XR experience, where these inputs cause the computer system generating the XR experience to generate audio, visual, and / or haptic feedback corresponding to the various inputs provided to the computer system 101). The following is a subset of these terms:
[0062] Physical environment: The physical environment refers to the physical world that people can sense and / or interact with without the assistance of an electronic system. Physical environments such as a physical park include 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.
[0063] 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 representations thereof are 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 can detect a person's head rotation, and in response, adjust the graphical content and sound field presented to the person in a manner similar to how such views and sounds would change in the physical environment. In some cases (e.g., for accessibility reasons), the adjustment of the characteristics of virtual objects in the XR environment can be made in response to a representation of a physical movement (e.g., a voice command). A person can use any of their senses to sense and / or interact with XR objects, including vision, hearing, touch, taste, and smell. For example, a person can sense and / or interact with an audio object that creates a 3D or spatial audio environment that provides the perception of point audio sources 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 audio objects.
[0064] Examples of XR include virtual reality and mixed reality.
[0065] Virtual Reality: A virtual reality (VR) environment is an artificial environment designed to be based entirely on computer-generated sensory inputs for one or more senses. A VR environment includes multiple virtual objects with which a person can sense and / or interact. For example, computer-generated images of trees, buildings, and avatars representing people are examples of virtual objects. A person can sense and / or interact with the virtual objects in a VR environment by way of a simulation of the person's presence within the computer-generated environment and / or by way of a simulation of a subset of the person's physical movements within the computer-generated environment.
[0066] Mixed Reality: Compared with a VR environment designed to be based entirely on computer-generated sensory inputs, a mixed reality (MR) environment is an artificial environment designed to incorporate sensory inputs or their representations from the physical environment in addition to including computer-generated sensory inputs (e.g., virtual objects). On the virtual continuum, a mixed reality environment is any condition between a completely physical environment at one end and a virtual reality environment at the other end, but excluding these two ends. In some MR environments, the computer-generated sensory inputs can respond to changes in the sensory inputs from the physical environment. Additionally, some electronic systems for presenting an MR environment can track the position and / or orientation relative to the physical environment so that virtual objects can interact with real objects (i.e., physical items from the physical environment or their representations). For example, the system can cause movements such that a virtual tree appears stationary relative to the physical ground.
[0067] Examples of mixed reality include augmented reality and augmented virtuality.
[0068] Augmented Reality: An augmented reality (AR) environment is a simulated environment in which one or more virtual objects are superimposed over 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 can be configured to present virtual objects on the transparent or translucent display such that the person perceives the virtual objects superimposed over the physical environment using the system. Alternatively, the system may have an opaque display and one or more imaging sensors that capture images or video of the physical environment, which are representations of the physical environment. The system combines the images or video with virtual objects and presents the combination on the opaque display. The person indirectly views the physical environment through the images or video of the physical environment using the system and perceives the virtual objects superimposed over the physical environment. As used herein, a video of a physical environment displayed on an opaque display is referred to as "passthrough 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 the opaque display. Further alternatively, the system may have a projection system that projects virtual objects into the physical environment, such as as a hologram or on a physical surface, such that the person perceives the virtual objects superimposed over the physical environment using the system. An augmented reality environment also refers to a simulated environment in which a representation of the physical environment is transformed by computer-generated sensory information. For example, in providing passthrough video, the system may transform one or more sensor images to impose an alternative perspective (e.g., viewpoint) that is different from the perspective captured by the imaging sensor. As another example, a representation of the physical environment may be transformed by graphically modifying (e.g., magnifying) portions thereof such that the modified portions may be a representative but not a true version of the originally captured image. As yet another example, a representation of the physical environment may be transformed by graphically removing portions thereof or blurring portions thereof.
[0069] Augmented Virtuality: An augmented virtuality (AV) environment is a simulated environment in which a virtual environment or computer-generated environment incorporates one or more sensory inputs from a physical environment. The sensory inputs may be representations of one or more characteristics of the physical environment. For example, an AV park may have virtual trees and virtual buildings, but a person's face is a realistic reproduction from an image of a physical person. As another example, a virtual object may adopt the shape or color of a physical item imaged by one or more imaging sensors. As yet another example, a virtual object may adopt a shadow that conforms to the position of the sun in the physical environment.
[0070] 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 the three-dimensional environment is typically visible to the 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), the virtual viewport having a viewport boundary that defines the extent of the three-dimensional environment visible to the user via the one or more display generation components. In some embodiments, the region defined by the viewport boundary is smaller than the user's visual field in one or more dimensions (e.g., based on the user's visual field, the size, optical properties, or other physical characteristics of the one or more display generation components, and / or the position and / or orientation of the one or more display generation components relative to the user's eyes). In some embodiments, the region defined by the viewport boundary is larger than the user's visual field in one or more dimensions (e.g., based on the user's visual field, the size, optical properties, or other physical characteristics of the one or more display generation components, and / or the position and / or orientation of the one or more display generation components relative to the user's eyes). The viewport and the viewport boundary typically move as the one or more display generation components move (e.g., for a head-mounted device as the user's head moves, or for a handheld device such as a tablet or a smartphone as the user's hand moves). The user's viewpoint determines the content visible in the viewport, the viewpoint typically specifying a position and a direction 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 a head-mounted device, the viewpoint is typically based on the position and direction of the user's head, face, and / or eyes to provide a perceptually accurate view of the three-dimensional environment and an immersive experience when the user is using the head-mounted device. For a handheld or stationary device, the viewpoint moves as the handheld or stationary device moves and / or as the user's positioning relative to the handheld or stationary device changes (e.g., the user moves toward, away from, up, down, right, and / or left). For a device that includes a display generation component with virtual passthrough, the portion of the physical environment visible (e.g., displayed and / or projected) via the one or more display generation components is based on the field of view of one or more cameras in communication with the display generation component, the one or more cameras typically moving as the display generation component moves (e.g., for a head-mounted device as the user's head moves, or for a handheld device such as a tablet or a smartphone as the user's hand moves), since the user's viewpoint moves as the field of view of the one or more cameras moves (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 object are updated based on the movement of the user's viewpoint)).For a display generation component with optical passthrough, portions of the physical environment that are visible via one or more display generation components (e.g., optically visible through one or more partial or fully transparent portions of the display generation component) are based on the user's field of view through the partial or fully transparent portion of the display generation component (e.g., for a head-mounted device, moving as the user's head moves, or for a handheld device such as a tablet or smartphone, moving as the user's hand moves), because the user's viewpoint moves as the user's field of view through the partial or fully transparent portion of the display generation component moves (and the appearance of one or more virtual objects is updated based on the user's viewpoint).
[0071] In some embodiments, the representation of the physical environment (e.g., via virtual passthrough or optical passthrough display) may be partially or fully occluded by the virtual environment. In some embodiments, the amount of the virtual environment displayed (e.g., the amount of the physical environment 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 occluding more of the physical environment, and decreasing the immersion level optionally causes less of the virtual environment to be displayed, thereby revealing portions of the physical environment that were not previously displayed and / or occluded. In some embodiments, at a particular immersion level, one or more first background objects (e.g., in the representation of the physical environment) are visually de-emphasized (e.g., dimmed, blurred, displayed with increased transparency) more 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 the associated degree to which virtual content (e.g., virtual environment and / or virtual content) displayed by a computer system occludes background content (e.g., content other than the virtual environment and / or virtual content) around / behind the virtual environment, optionally including the number of items of the displayed background content and / or the displayed visual characteristics (e.g., color, contrast, and / or opacity) of the background content, the angular range of the virtual content displayed by a display generation component (e.g., 60 degrees of content displayed at low immersion, 120 degrees of content displayed at medium immersion, or 180 degrees of content displayed at high immersion), and / or the proportion of the field of view displayed by the display generation component 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 the 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 not associated with and / or not included in the virtual environment and / or virtual content (e.g., files or representations of other users generated by a computer system, etc.), and / or real objects (e.g., passthrough objects representing real objects in the physical environment around the user, which are visible such that they are displayed by the display generation component and / or visible via a transparent or translucent component of the display generation component because the computer system does not occlude / 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 a non-occluded manner. For example, a virtual environment with a low immersion level is optionally displayed simultaneously with background content, which is optionally displayed at full brightness, color, and / or semi-transparency.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 occluded 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 fully immersive 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 among the 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 cease to be displayed. In some embodiments, zero immersion or a zero immersion level corresponds to a virtual environment that ceases to be displayed, and instead a representation of the physical environment is displayed (optionally with one or more virtual objects, such as applications, windows, or virtual 3D objects), and the representation of the physical environment is not occluded by the virtual environment. Adjusting the immersion level using physical input elements provides a quick and efficient way to adjust the immersion, which enhances the operability of the computer system and makes the user-device interface more efficient.
[0072] Viewpoint-locked virtual objects: When a computer system displays a virtual object at the same position and / or orientation in the 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 the augmented reality view presented to the user on the computer system's display generation component. 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 orientation 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".
[0073] Environment-Locked Visual Objects: When a computer system displays a virtual object at a location and / or orientation in the user's field of view, the virtual object is environment-locked (alternatively, "world-locked"), where the location and / or orientation is based on a location and / or object in a three-dimensional environment (e.g., a physical environment or a virtual environment) (e.g., selected and / or anchored to the location and / or object with reference to the location and / or object). As the user's field of view moves, the location and / or object in the environment relative to the user's field of view changes, which causes the environment-locked virtual object to be displayed at a different location and / or orientation in the user's field of view. For example, an environment-locked virtual object locked to a tree directly in front of the user is displayed at the center of the user's field of view. When the user's field of view is shifted 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 field of view (e.g., the location of the tree in the user's field of view is offset), the environment-locked virtual object locked to the tree is displayed to the left of center in the user's field of view. In other words, the location and / or orientation at which the environment-locked virtual object is displayed in the user's field of view depends on the location and / or orientation of the location and / or object in the environment to which the virtual object is locked. In some embodiments, the computer system uses a stationary reference frame (e.g., a coordinate system anchored to a fixed location and / or object in a physical environment) in order to determine the orientation at which the environment-locked virtual object is displayed in the user's field of view. The environment-locked virtual object can be locked to a stationary part of the environment (e.g., a floor, a wall, a table, or other stationary object), or can be locked to a movable part of the environment (e.g., a vehicle, an animal, a person, or even a representation of a part of the user's body such as a hand, a wrist, an arm, or a foot that moves independently of the user's field of view) such that the virtual object moves as the field of view or that part of the environment moves to maintain a fixed relationship between the virtual object and that part of the environment.
[0074] In some embodiments, an environment-locked or view-locked virtual object exhibits a lazy follow behavior, which reduces or delays the movement of the environment-locked or view-locked virtual object relative to the movement of a reference point that the virtual object follows. In some embodiments, when exhibiting the lazy follow behavior, when a movement of a reference point (e.g., a portion of the environment, a view point, or a point fixed relative to the view point, such as a point between 5 cm and 300 cm from the view point) that the virtual object is following is detected, 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 view point) 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 the lazy follow behavior, the device ignores small movements of the reference point (e.g., ignores movements of the reference point below a threshold movement amount, such as moving 0 degrees to 5 degrees or moving 0 cm to 50 cm). For example, when the reference point (e.g., the portion of the environment or the view point to which the 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 to maintain a fixed or substantially fixed orientation relative to a view point or a portion of the environment that is different from the reference point to which the virtual object is locked), and when the reference point (e.g., the portion of the environment or the view point to which the virtual object is locked) moves a second amount that is 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 to maintain a fixed or substantially fixed orientation relative to a view point or a portion of the environment that is different from the reference point to which the virtual object is locked), and then decreases when the movement amount of the reference point increases above a threshold (e.g., the "lazy follow" threshold), because the virtual object is moved by the computer system to maintain a fixed or substantially fixed orientation relative to the reference point. In some embodiments, the virtual object maintaining a substantially fixed orientation relative to the reference point includes the virtual object being displayed 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 of the orientation relative to the reference point).
[0075] 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, head-up displays (HUDs), vehicle windshields integrated with display capabilities, windows integrated with 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 haptic feedback), smart phones, tablet devices, and desktop / laptop computers. A head-mounted system can have one or more speakers and an integrated opaque display. Alternatively, the head-mounted system can be configured to accept an external opaque display (e.g., a smart phone). A head-mounted system can 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. A head-mounted system can have a transparent or semi-transparent display instead of an opaque display. The transparent or semi-transparent display can have a medium through which light representing an image is directed to a person's eyes. The display can utilize digital light projection, OLED, LED, uLED, liquid crystal on silicon, laser scanned light sources, or any combination of these technologies. The medium can be an optical waveguide, a holographic medium, an optical combiner, an optical reflector, or any combination thereof. In one embodiment, the transparent or semi-transparent display can be configured to selectively become opaque. A projection-based system can employ retinal projection techniques that project graphical images onto a person's retina. The projection system can also be configured to project virtual objects into the physical environment, such as as a hologram or on a physical surface. In some embodiments, the controller 110 is configured to manage and coordinate a user's XR experience. In some embodiments, the controller 110 includes a suitable combination of software, firmware, and / or hardware. Below with respect to Figure 2Controller 110 is described in more detail. In some embodiments, controller 110 is a computing device that is local or remote relative to scene 105 (e.g., a 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., a cloud server, a central server, etc.) located outside of scene 105. In some embodiments, controller 110 is communicatively coupled to display generation component 120 (e.g., an HMD, a display, a projector, a touch screen, etc.) via one or more wired or wireless communication channels 144 (e.g., Bluetooth, IEEE 802.11x, IEEE 802.16x, IEEE 802.3x, etc.). In another example, controller 110 is included within the housing (e.g., a physical enclosure) of one or more input devices of display generation 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 input device 125, one or more output devices of output device 155, one or more sensors of sensor 190, and / or one or more peripheral devices of peripheral device 195, or shares the same physical housing or support structure with one or more of the above devices.
[0076] In some embodiments, display generation component 120 is configured to provide an XR experience (e.g., at least a visual component of the XR experience) to a user. In some embodiments, display generation component 120 includes a suitable combination of software, firmware, and / or hardware. Display generation component 120 is described in more detail below with respect to Figure 3 In some embodiments, the functionality of controller 110 is provided by and / or in combination with display generation component 120.
[0077] According to some embodiments, when a user is virtually and / or physically present within scene 105, display generation component 120 provides an XR experience to the user.
[0078] 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.). Thus, 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 a tablet device) configured to present XR content, and the user holds the device having 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 housing 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, housing, or chamber configured to present XR content, where 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) can 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 an interaction with XR content triggered based on an interaction occurring in the space in front of a handheld device or a tripod-mounted device can be similarly implemented with an HMD, where the interaction occurs in the space in front of the HMD and the response to the XR content is displayed via the HMD. Similarly, a user interface showing an interaction with XR content triggered based on the movement of a handheld device or a tripod-mounted device relative to the physical environment (e.g., the scene 105 or a part of the user's body (e.g., the user's eyes, head, or hand)) can be similarly implemented with an HMD, where the movement is caused by the movement of the HMD relative to the physical environment (e.g., the scene 105 or a part of the user's body (e.g., the user's eyes, head, or hand)).
[0079] Although relevant features of the operating environment 100 are shown in Figure 1A For the sake of brevity and to not obscure more relevant aspects of the example embodiments disclosed herein, various other features are not illustrated, as will be understood by those of ordinary skill in the art from this disclosure.
[0080] Figures 1A to 1PShows various examples of computer systems for performing methods and providing audio, visual, and / or tactile feedback as part of the user interfaces described herein. In some embodiments, the computer system includes one or more display generation components (e.g., a first display component and a second display component 1-120a, 1-120b and / or a first optical module and a second optical module 11.1.1-104a and 11.1.1-104b) for displaying virtual elements and / or a representation of the physical environment to a user of the computer system, the virtual elements and / or the representation of the physical environment being 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 such that users who would otherwise use glasses or contact lenses to correct their vision can more easily view the user interface, the one or more corrective lenses being optionally 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 an 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 presenting slightly different images to the two different eyes to create an illusion of stereoscopic depth, the single view of the user interface is typically the right-eye view or the left-eye view, and the depth effect is explained in the text or using other schematic diagrams or views. In some embodiments, the computer system includes one or more external displays (e.g., display component 1-108) for displaying status information of the computer system to a user of the computer system (when the computer system is not being worn) and / or to others in the vicinity of 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 component 1-112) for generating audio feedback, the audio feedback 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 input devices for detecting input, such as one or more sensors for detecting information about the physical environment of the device (e.g., sensor component 1-356 and / or Figure 1I one or more of the sensors in), the one or more sensors being usable (optionally in conjunction with one or more illuminators, such as Figure 1Iin combination with the illuminator described therein) generate a digital pass-through image, capture visual media (e.g., photos and / or videos) corresponding to the physical environment, or determine the pose (e.g., position and / or orientation) of physical objects and / or surfaces in the physical environment such that virtual objects can be placed based on the detected pose of the physical objects and / or surfaces. In some embodiments, the computer system includes one or more input devices for detecting input, such as one or more sensors for detecting hand position and / or movement (e.g., sensor assemblies 1-356 and / or Figure 1I one or more of the sensors therein), which can be used (optionally in combination with one or more illuminators, such as Figure 1I the illuminator 6-124 described therein) to determine when one or more air gestures have been performed. 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., Figure 1I the eye tracking and gaze tracking sensors in), which can be used (optionally in combination with one or more lights, such as Figure 1OThe lights in (11.3.2-110) determine attention or gaze localization and / or gaze movement, which can optionally be 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 a user's facial expression and / or hand movement for generating a user avatar or representation, 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 the interaction between the user and one or more user interfaces based on direct and / or indirect input, such as an air gesture 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), a knob (e.g., first button 1-128, button 11.1.1-114, and / or dial or button 1-328), a digital crown (e.g., a first button 1-128, button 11.1.1-114, and / or dial or button 1-328 that is pressable and twistable or rotatable), a touchpad, a touch screen, a keyboard, a 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 the user of the device, displaying a main user interface for launching an application, starting a real-time communication session, or initiating the display of a virtual three-dimensional background. A knob or digital crown (e.g., a first button 1-128, button 11.1.1-114, and / or dial or button 1-328 that is pressable and twistable or rotatable) is optionally rotatable to adjust parameters of visual content, such as the immersion level of a virtual three-dimensional environment (e.g., the extent to which virtual content occupies the user's viewport in the three-dimensional environment) or other parameters associated with the three-dimensional environment and the virtual content displayed via an optical module (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).
[0081] Figure 1BFront, top, and perspective views are illustrated of an example of a head-mounted display (HMD) device 1-100 configured to be worn by a user and provide a virtual and augmented reality (VR / AR) experience. The HMD 1-100 may include a display unit 1-102 or assembly, an electronic strip assembly 1-104 connected to and extending from the display unit 1-102, and a strap assembly 1-106 fixed to the electronic strip assembly 1-104 at either end. The electronic strip assembly 1-104 and strap 1-106 may be part of a retention assembly configured to wrap around the user's head to hold the display unit 1-102 against the user's face.
[0082] In at least one example, the strap assembly 1-106 may include a first strap 1-116 configured to wrap around the back of the 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 a first electronic strip 1-105a and a second electronic strip 1-105b of the electronic strip assembly 1-104. The strip assembly 1-104 and the strap assembly 1-106 may be part of a fixation 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.
[0083] In at least one example, the fixation mechanism includes a first electronic strip 1-105a that includes a first proximal end 1-134 coupled to the display unit 1-102 (e.g., the housing 1-150 of the display unit 1-102) and a first distal end 1-136 opposite the first proximal end 1-134. The fixation mechanism may also include a second electronic strip 1-105b that includes 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 fixation mechanism may also include a first strap 1-116 and a second strap 1-117, the first strap 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 strap extending between the first electronic strip 1-105a and the second electronic strip 1-105b. The strips 1-105a-b and the strap 1-116 may be coupled via a connection mechanism or assembly 1-114. In at least one example, the second strap 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.
[0084] In at least one example, the first and second electronic strips 1-105a to b comprise plastic, metal, or other structural materials forming the shape of substantially rigid strips 1-105a to b. In at least one example, the first and second bands 1-116, 1-117 are formed of an elastic flexible material (including woven textiles, rubber, etc.). The first band 1-116 and the second band 1-117 may be flexible to conform to the shape of the user's head when wearing the HMD 1-100.
[0085] In at least one example, one or more of the first and second electronic strips 1-105a to b may define an internal strip volume and include one or more electronic components disposed within the internal strip volume. In one example, as Figure 1B 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.
[0086] In at least one example, the housing 1-150 defines a first front opening 1-152. The front opening is Figure 1B marked as 1-152 in dashed lines therein because the display assembly 1-108 is arranged to occlude the first opening 1-152 from view when the HMD 1-100 is assembled. The housing 1-150 may also define a second rear 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 1-152 to occlude the front opening 1-152. In at least one example, the display screen of the display assembly 1-108, and typically the display assembly 1-108, 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, e.g., from left to right and / or from top to bottom, where the display unit 1-102 is pressed.
[0087] In at least one example, the housing 1-150 may define a first aperture 1-126 between a first opening 1-152 and a second opening 1-154, and a second aperture 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 aperture 1-128, and a second button 1-132 disposed in the second aperture 1-130. The first button 1-128 and the second button 1-132 can be pressed through the respective apertures 1-126, 1-130. In at least one example, the first button 1-126 and / or the second button 1-132 can be a twist dial and a depressible button. In at least one example, the first button 1-128 is a pressable and twistable dial button, and the second button 1-132 is a pressable button.
[0088] Figure 1C Illustrated is a rear perspective view of the HMD 1-100. The HMD 1-100 may include a light seal 1-110 that extends rearwardly from the housing 1-150 of the display assembly 1-108 around a perimeter of the housing 1-150, as shown. The light seal 1-110 may be configured to extend from the housing 1-150 to a user's face, around the user's eyes, 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 that are disposed at or within a second opening 1-154 defined by the housing 1-150 that faces rearward and / or are disposed within an interior 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-b may include a respective display screen 1-122a, 1-122b that is configured to project light in a rearward direction through the second opening 1-154 toward the user's eyes.
[0089] In at least one example, referring Figure 1B and Figure 1C both, the display assembly 1-108 can be a front-facing forward display assembly that includes a display screen configured to project light in a first forward direction, and the rear display screens 1-122a-b can be configured to project light in a second rearward direction that is opposite the first direction. As described above, the light seal 1-110 can be configured to block light external to the HMD 1-100 from reaching the user's eyes, including light projected by Figure 1B the frontward display screen of the display assembly 1-108 shown in the front perspective view of. In at least one example, the HMD 1-100 may also include a curtain 1-124 that occludes the second opening 1-154 between the housing 1-150 and the rear display assemblies 1-120a-b. In at least one example, the curtain 1-124 can be elastic or at least partially elastic.
[0090] Figure 1B and Figure 1C any one of the features, components, and / or parts shown (including their arrangement and configuration) can be included either individually or in any combination in Figures 1D to 1F any other examples of the devices, features, components, and parts shown and described herein. Similarly, with reference to Figures 1D to 1F any one of the features, components, and / or parts shown and described (including their arrangement and configuration) can be included either individually or in any combination in Figure 1B and Figure 1C the examples of the devices, features, components, and parts shown.
[0091] Figure 1D An exploded view of an example of the HMD 1-200 including its various parts or components is illustrated, and these parts or components are separated according to the modularity and selective coupling of these components. For example, the HMD 1-200 can include a strap 1-216, which can be selectively coupled to a first electronic strip 1-205a and a second electronic strip 1-205b. The first fixed strip 1-205a can include a first electronic component 1-212a, and the second fixed strip 1-205b can include a second electronic component 1-212b. In at least one example, the first and second strips 1-205a to b can be removably coupled to the display unit 1-202.
[0092] In addition, the HMD 1-200 can include a light seal 1-210 configured to be removably coupled to the display unit 1-202. The HMD 1-200 can also include a lens 1-218, which can be removably coupled to the display unit 1-202, for example, on a first component including a display screen and a second display component. The lens 1-218 can include a customized prescription lens configured to correct vision. As noted, each of the components shown in Figure 1D the exploded view and described above can be removably coupled, attached, reattached, and replaced to update components, or to swap out components for different users. For example, straps such as strap 1-216, light seals such as light seal 1-210, lenses such as lens 1-218, and electronic strips such as electronic strips 1-205a to b can be swapped out according to the user, such that these parts are customized to fit and correspond to a single user of the HMD 1-200.
[0093] Figure 1D any one of the features, components, and / or parts shown (including their arrangement and configuration) can be included either individually or in any combination in Figure 1B , Figure 1C and Figures 1E to 1Fin any other example of the devices, features, components, and parts shown and described herein. Similarly, reference Figure 1B , Figure 1C and Figures 1E to 1F any one of the features, components, and / or parts shown and described (including their arrangement and configuration) may be included individually or in any combination in Figure 1D the example of the devices, features, components, and parts shown.
[0094] Figure 1E FIG. illustrates an exploded view of an example of a display unit 1-306 of an HMD. The display unit 1-306 may include a front display assembly 1-308, a frame / casing 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.
[0095] 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, and each of the display screens 1-322a-b has at least one motor such that the motors can translate the display screens 1-322a-b to match the pupil spacing of the user's eyes.
[0096] In at least one example, the display unit 1-306 may include a dial or button 1-328 that can be pressed relative to the frame 1-350 and accessed 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 can be manipulated by the user to cause the motors of the motor assembly 1-362 to adjust the positioning of the display screens 1-322a-b.
[0097] Figure 1E any one of the features, components, and / or parts shown (including their arrangement and configuration) may be included individually or in any combination in Figures 1B to 1D and Figure 1F any other example of the devices, features, components, and parts shown and described herein. Similarly, 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 individually or in any combination in Figure 1E the examples of the devices, features, components, and parts shown
[0098] Figure 1F An exploded view of another example of the 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 a first display subassembly 1-420a and a second display subassembly 1-420b of the rear display assembly 1-421, including a first corresponding display screen and a second corresponding display screen for interpupillary adjustment, as described above.
[0099] Reference is made herein to Figures 1B to 1E and the subsequent figures referred to in this disclosure for a more detailed description of Figure 1F the various parts, systems, and components shown in the exploded view. Figure 1F The display unit 1-406 shown may be assembled and integrated with Figures 1B to 1E the shown fixing mechanism, which includes an electronic strip, a belt, and other components (including light seals, connection components, etc.).
[0100] Figure 1F Any of the features, components, and / or parts shown and described (including their arrangements and configurations) may be included individually or in any combination in Figures 1B to 1E any other examples of the devices, features, components, and parts shown and described herein. Similarly, reference is made to Figures 1B to 1E Any of the features, components, and / or parts shown and described (including their arrangements and configurations) may be included individually or in any combination in Figure 1F the examples of the devices, features, components, and parts shown.
[0101] Figure 1G An exploded perspective view of the front cover assembly 3-100 of the HMD device described herein (e.g., Figure 1G the HMD 3-100 shown or the front cover assembly 3-1 of any other HMD device shown and described herein) is illustrated. Figure 1GThe front cover assembly 3-100 shown 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 panel or array 3-110, and a structural trim 3-112. The adhesive layer 3-106 may fix 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 fix various components of the front cover assembly 3-100 to the frame or base of the HMD device.
[0102] In at least one example, as Figure 1G shown, the transparent cover 3-102, the shield 3-104, and the display assembly 3-108 including the lenticular array 3-110 may be bent to conform to the curvature of the user's face. The transparent cover 3-102 and the shield 3-104 may be bent in two or three dimensions, e.g., vertically along the Z direction inside and outside the Z-X plane, and horizontally along the X direction inside and outside the Z-X plane. In at least one example, the display assembly 3-108 may include a lenticular array 3-110 and a display panel having pixels configured to project light through the shield 3-104 and the transparent cover 3-102. The display assembly 3-108 may be bent in at least one direction (e.g., the horizontal direction) to conform to the curvature of the user's face from one side (e.g., the left side) to the other side (e.g., the right side) of the face. In at least one example, each layer or component of the display assembly 3-108 (which will be shown and described in more detail in subsequent figures, but which may include the lenticular array 3-110 and the display layer) may be bent similarly or concentrically in the horizontal direction to conform to the curvature of the user's face.
[0103] 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 surface of the shield 3-104. When the HMD device is worn, the back 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 the back 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 around 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.
[0104] In at least one example, the shield 3-104 can define one or more apertured transparent portions 3-120 through which the sensor can transmit and receive signals. In one example, portion 3-120 is an aperture through which the sensor can extend or through which the sensor can transmit and receive signals. In one example, 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 can transmit and receive signals through the shield and through the transparent cover 3-102. In one example, the sensor can include a camera, an IR sensor, a LUX sensor, or any other visual or non-visual ambient sensor of the HMD device.
[0105] Figure 1G Any of the features, components, and / or parts shown (including their arrangement and configuration) can be included, either alone or in any combination, in any other example of the devices, features, components, and parts described herein. Similarly, any of the features, components, and / or parts shown and described herein (including their arrangement and configuration) can be included, either alone or in any combination, in Figure 1G the examples of the devices, features, components, and parts shown.
[0106] Figure 1H An exploded view of an example of an HMD device 6-100 is illustrated. The HMD device 6-100 can include a sensor array or system 6-102 that includes 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 can include a bracket 1-338 to which one or more sensors of the sensor system 6-102 can be fixed / fastened.
[0107] Figure 1I A portion of an HMD device 6-100 including a front transparent cover 6-104 and a sensor system 6-102 is illustrated. The sensor system 6-102 can include a plurality of different sensors, transmitters, 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 transmitters and the orientation of each sensor / transmitter of the system 6-102. As used herein, the terms "beside", "side", "lateral", "horizontal", and other similar terms refer to the orientation or direction indicated by the Figure 1J X-axis as shown. Terms such as "vertical", "upward", "downward", and similar terms refer to the Figure 1JThe orientation or direction indicated by the Z-axis as shown. Terms such as "frontward", "rearward", "forward", "backward" and similar terms refer to the orientation or direction indicated by the Y-axis as shown by Figure 1J as shown.
[0108] In at least one example, the transparent cover 6-104 may define the front outer surface of the HMD device 6-100, and the sensor system 6-102 including various sensors and their components may be disposed behind the cover 6-104 in the Y-axis / direction. 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 therefrom.
[0109] As described elsewhere herein, the HMD device 6-100 may include one or more controllers that include 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. Additionally, as will be shown in more detail with reference to other figures below, the various sensors, transmitters, and other components of the sensor system 6-102 may be coupled to various structural frame members, brackets, etc. of the HMD device 6-100 that are Figure 1I not shown. For illustrative clarity, Figure 1I the components of the sensor system 6-102 are shown unattached and unelectrically coupled to other components.
[0110] In at least one example, the device may include one or more controllers having a processor 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 as the initial positioning, angles, or directions of the cameras change over time due to accidental drop events or other events causing collisions or deformations.
[0111] 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, respectively disposed on both sides of the bridge of the nose or the arch structure of the HMD device 6-100, such that each of the two cameras 6-106 generally corresponds to the positioning of the user's left and right eyes behind the cover 6-103. In at least one example, the scene cameras 6-106 are generally oriented forward in the Y direction to capture images in front of the user during the use of the HMD 6-100. In at least one example, the scene cameras are color cameras, and when the HMD device 6-100 is used, provide images and content for MR video pass-through to the display screen facing the user's eyes. The scene cameras 6-106 may also be used for environment and object reconstruction.
[0112] In at least one example, the sensor system 6-102 may include a first depth sensor 6-108 that generally points 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 user hand and body tracking. In at least one example, the sensor system 6-102 may include a second depth sensor 6-110 disposed centrally 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 above the central bridge of the nose or on an adapter structure above the 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.
[0113] In at least one example, the sensor system 6-102 may include a depth projector 6-112 that generally faces forward to project electromagnetic waves (e.g., in the form of a predetermined light point pattern) into the field of view or within the field of view of the user and / or the scene cameras 6-106, or into a field of view that includes and extends beyond the field of view of the user and / or the scene cameras 6-106. In at least one example, the depth projector is capable of projecting electromagnetic waves of light in the form of a point light pattern, which are reflected from objects and return to the aforementioned depth sensors, including depth sensors 6-108, 6-110. In at least one example, the depth projector 6-112 may be used for environment and object reconstruction and hand and body tracking.
[0114] In at least one example, the sensor system 6-102 can include a downward-facing camera 6-114 whose field of view generally points downward relative to the HMD device 6-100 along the Z-axis. In at least one example, the downward camera 6-114 can be disposed on the left and right sides of the HMD device 6-100 as shown and is used for hand and body tracking, headset tracking, and face avatar detection and creation for displaying a user avatar on the forward display screen of the HMD device 6-100 described elsewhere herein. For example, the downward camera 6-114 can be used to capture facial expressions and movements of the user's face below the HMD device 6-100, including the cheeks, mouth, and chin.
[0115] In at least one example, the sensor system 6-102 can include a jaw camera 6-116. In at least one example, the jaw camera 6-116 can be disposed on the left and right sides of the HMD device 6-100 as shown and is used for hand and body tracking, headset tracking, and face avatar detection and creation for displaying a user avatar on the forward display screen of the HMD device 6-100 described elsewhere herein. For example, the jaw camera 6-116 can be used to capture facial expressions and movements of the user's face (including the user's jaw, cheeks, mouth, and chin) below the HMD device 6-100. For hand and body tracking, headset tracking, and face avatar
[0116] In at least one example, the sensor system 6-102 can include a side camera 6-118. The side camera 6-118 can be oriented to capture left and right views along the X-axis or in a direction relative to the HMD device 6-100. In at least one example, the side camera 6-118 can be used for hand and body tracking, headset tracking, and face avatar detection and recreation.
[0117] In at least one example, the sensor system 6-102 can 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 before use. In at least one example, the eye / gaze tracking sensors can include a nose-eye camera 6-120 that is disposed on either side of the user's nose and is adjacent to the user's nose when the HMD device 6-100 is worn. The eye / gaze sensors can also include a bottom eye camera 6-122 that is disposed below the corresponding user eye for capturing images of the eye for face avatar detection and creation, gaze tracking, and iris identification functions.
[0118] In at least one example, the sensor system 6-102 can 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 can include a flicker sensor 6-126 and an ambient light sensor 6-128. In at least one example, the flicker sensor 6-126 can detect the top light refresh rate to avoid display flicker. In one example, the infrared illuminator 6-124 can include a light-emitting diode and can be particularly used in low-light environments to illuminate the user's hand and other objects in low light for detection by the infrared sensors of the sensor system 6-102.
[0119] 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 the hand tracking and object recognition and tracking functions of the HMD device 6-100. In at least one example, the downward camera 6-114, the jaw camera 6-116, and the side camera 6-118 described above and shown in Figure 1I can be wide-angle cameras capable of operating in both the visible and infrared spectra. 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 obtain sensitivity.
[0120] Figure 1I Any of the features, components, and / or parts shown (including their arrangements and configurations) can be included individually or in any combination in Figures 1J to 1L any other examples of the devices, features, components, and parts shown and described herein. Similarly, any of the features, components, and / or parts shown and described with reference to Figures 1J to 1L can be included individually or in any combination in Figure 1I the examples of the devices, features, components, and parts shown.
[0121] Figure 1JA bottom perspective view of an example of an HMD 6-200 is illustrated that includes a cover or shield 6-204 fixed to a frame 6-230. In at least one example, sensors 6-202 of a sensor system 6-203 can be disposed around the perimeter of the HDM 6-200 such that the sensors 6-203 are disposed outwardly around the perimeter of a display area or region 6-232 so as not to obstruct viewing of the displayed light. In at least one example, the sensors can be disposed behind the shield 6-204 and aligned with a transparent portion of the shield, thereby allowing light to pass back and forth through the shield 6-204 for the sensors and projectors. In at least one example, an opaque ink or other opaque material or film / layer can be disposed on the shield 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 sensors and projectors transmit and receive light and electromagnetic signals during operation. In at least one example, the shield 6-204 allows light to pass through from a display (e.g., within the display area 6-232), but does not allow light to pass radially outward from the display area around the perimeter of the display and the shield 6-204.
[0122] 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 can define one or more transparent regions 6-209 through which sensors 6-203 of the sensor system 6-202 can transmit and receive signals. In the illustrated example, sensors 6-203 of the sensor system 6-202 that transmit and receive signals through the shield 6-204, or more specifically through the transparent region 6-209 of (or defined by) the opaque portion 6-207 of the shield 6-204 can include sensors that are the same as or similar to those shown in the examples of Figure 1I such as depth sensors 6-108 and 6-110, depth projectors 6-112, a first scene camera and a second scene camera 6-106, a first downward camera and a second downward camera 6-114, a first side camera and a second side camera 6-118, and a first infrared illuminator and a second infrared illuminator 6-124. These sensors are also shown in the examples of Figure 1K and Figure 1L Other sensors, sensor types, sensor quantities, and their relative positioning can be included in one or more other examples of the HMD.
[0123] Figure 1J Any of the features, components, and / or parts shown (including their arrangement and configuration) can be included individually or in any combination in Figure 1I and Figures 1K to 1Lin any other examples of the devices, features, components, and parts shown and described herein. Similarly, reference Figure 1I and Figures 1K to 1L any one of the features, components, and / or parts shown and described (including their arrangements and configurations) may be included individually or in any combination in Figure 1J the examples of the devices, features, components, and parts shown.
[0124] Figure 1K FIG. 10 illustrates 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. Figure 1K The example shown does not include a front cover or shield to illustrate brackets 6-336, 6-338. For example, Figure 1J the shield 6-204 shown includes an opaque portion 6-207 that will visually cover / block the viewing of anything outside the display / display area 6-334 (e.g., radially / peripherally outside the display / display area), including sensors 6-303 and bracket 6-338.
[0125] In at least one example, 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 the angles relative to each other. For example, the tolerance on the mounting angle between two scene cameras 6-306 can be 0.5 degrees or less, e.g., 0.3 degrees or less. To achieve and maintain such tight tolerances, in one example, the scene cameras 6-306 may be mounted to bracket 6-338 rather than the shield. The bracket may include a cantilever on which the scene cameras 6-306 and other sensors of the sensor system 6-302 may be mounted to maintain their positioning and orientation unchanged in the event of a drop where other brackets 6-226, housing 6-330, and / or shield are deformed by the user.
[0126] Figure 1K any one of the features, components, and / or parts shown and described (including their arrangements and configurations) may be included individually or in any combination in Figures 1I to 1J and Figure 1L any other examples of the devices, features, components, and parts shown and described herein. Similarly, reference Figures 1I to 1J and Figure 1L any one of the features, components, and / or parts shown and described (including their arrangements and configurations) may be included individually or in any combination in Figure 1K the examples of the devices, features, components, and parts shown.
[0127] Figure 1LA bottom view of an example of an HMD 6-400 is illustrated that includes a front display / cover assembly 6-404 and a sensor system 6-402. The sensor system 6-402 may be similar to other sensor systems described above and elsewhere herein (including reference Figures 1I to 1K ). In at least one example, the chin camera 6-416 may face downward to capture images of the user's lower facial features. In one example, the chin 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 illustrated frame or housing 6-430. The frame or housing 6-430 may include one or more holes / openings 6-415 through which the chin camera 6-416 may send and receive signals.
[0128] Figure 1L Any of the illustrated features, components, and / or parts (including their arrangement and configuration) may be included individually or in any combination in Figures 1I to 1K any other example of the devices, features, components, and parts shown and described herein. Similarly, reference Figures 1I to 1K any of the illustrated and described features, components, and / or parts (including their arrangement and configuration) may be included individually or in any combination in Figure 1L the example of the devices, features, components, and parts shown.
[0129] Figure 1M A rear perspective view of an interpupillary distance (IPD) adjustment system 11.1.1-102 is illustrated that includes first and second optical modules 11.1.1-104a-b that are slidably engaged / coupled to respective guide rods 11.1.1-108a-b and motors 11.1.1-110a-b of a left adjustment subsystem and a right adjustment subsystem 11.1.1-106a-b. The IPD adjustment system 11.1.1-102 may be coupled to a bracket 11.1.1-112 and includes buttons 11.1.1-114 that are in electrical communication with the motors 11.1.1-110a-b. In at least one example, the buttons 11.1.1-114 may be in electrical communication with the first and second motors 11.1.1-110a-b via a processor or other circuit components such that the first and second motors 11.1.1-110a-b are activated and cause the first and second optical modules 11.1.1-104a-b to change their positioning relative to each other.
[0130] In at least one example, the first and second optical modules 11.1.1-104a to b may include respective display screens configured to project light toward a user's eyes when the HMD 11.1.1-100 is worn. In at least one example, a user may manipulate (e.g., press and / or rotate) button 11.1.1-114 to activate a position adjustment of the optical modules 11.1.1-104a to b to match the pupil spacing of the user's eyes. The optical modules 11.1.1-104a to b may also include one or more cameras or other sensors / sensor systems for imaging and measuring the user's IPD such that the optical modules 11.1.1-104a to b may be adjusted to match the IPD.
[0131] In one example, a user may manipulate button 11.1.1-114 to cause an automatic position adjustment of the first and second optical modules 11.1.1-104a to b. In one example, a user may manipulate button 11.1.1-114 to cause a manual adjustment such that the optical modules 11.1.1-104a to b move farther apart or closer together (e.g., when the user rotates button 11.1.1-114 in 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 to b via motors 11.1.1-110a to b is provided by a power source. In one example, the adjustment and movement of the optical modules 11.1.1-104a to b via manipulation of button 11.1.1-114 is mechanically actuated via movement of button 11.1.1-114.
[0132] Figure 1M Any of the features, components, and / or parts shown (including their arrangement and configuration) may be included, either alone or in any combination, in any other example of the devices, features, components, and parts shown in any other of the illustrated figures and described herein. Similarly, any of the features, components, and / or parts shown and described in any other of the illustrated figures and described herein (including their arrangement and configuration), either alone or in any combination, are in Figure 1M the examples of the devices, features, components, and parts shown.
[0133] Figure 1N A front perspective view of a portion of the HMD 11.1.2-100 is illustrated and includes an outer structural frame 11.1.2-102 and an inner or intermediate structural frame 11.1.2-104 that define a first opening and a second opening 11.1.2-106a, 11.1.2-106b. The openings 11.1.2-106a to b are in Figure 1Nis shown in dashed lines because the view of apertures 11.1.2-106a to b may be blocked by one or more other components of the HMD 11.1.2-100 that are 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 that is 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 to b.
[0134] The mounting bracket 11.1.2-108 may include an intermediate or central portion 11.1.2-109 that is coupled to the inner frame 11.1.2-104. In some examples, the intermediate or central portion 11.1.2-109 may not be the geometric middle or center of the bracket 11.1.2-108. Instead, the intermediate / central portion 11.1.2-109 may be disposed between a first cantilevered extension arm and a second cantilevered extension arm that extend away from the intermediate 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 that extend away from the intermediate portion 11.1.2-109 of the mounting bracket 11.1.2-108 that is coupled to the inner frame 11.1.2-104.
[0135] As Figure 1N 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 shown centered on the lower side 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 apertures 11.1.2-106a to b such that the cantilevers 11.1.2-112, 11.1.2-114 extend downward and laterally outward away from the intermediate portion 11.1.2-109 to be complementary to the geometry of the nose bridge 11.1.2-111 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 accommodates the nose because 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.
[0136] The first cantilever 11.1.2-112 can 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 11.1.2-114 can 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 11.1.2-112 and the second cantilever 11.1.2-114 are referred to as "cantilevered" or "cantilever" arms because each arm 11.1.2-112, 11.1.2-114 respectively includes free distal ends 11.1.2-116, 11.1.2-118 that 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 overhang from the middle portion 11.1.2-109, which can be connected to the inner frame 11.1.2-104, while the distal ends 11.1.2-102, 11.1.2-104 are not attached.
[0137] In at least one example, the HMD 11.1.2-100 can include one or more components coupled to the mounting bracket 11.1.2-108. In one example, the components include a plurality of sensors 11.1.2-110a-f. Each sensor of the plurality of sensors 11.1.2-110a-f can include various types of sensors, including cameras, IR sensors, etc. In some examples, one or more of the sensors 11.1.2-110a-f can be used for object recognition in three-dimensional space, such that it is important to maintain the precise relative positioning of two or more of the plurality of sensors 11.1.2-110a-f. The cantilevered nature of the mounting bracket 11.1.2-108 can protect the sensors 11.1.2-110a-f from damage and misalignment in the event of an accidental drop by the user. Since 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, the stress and deformation of the inner frame and / or the outer frame 11.1.2-104, 11.1.2-102 are not transmitted to the cantilevers 11.1.2-112, 11.1.2-114 and thus do not affect the relative positions of the sensors 11.1.2-110a-f coupled / mounted to the mounting bracket 11.1.2-108.
[0138] Figure 1NAny of the features, components, and / or parts shown (including their arrangements and configurations) can be included, either individually or in any combination, in any other example of the devices, features, components, and the like described herein. Similarly, any of the features, components, and / or parts shown and described herein (including their arrangements and configurations) can be included, either individually or in any combination, in Figure 1N the examples of the devices, features, components, and parts shown.
[0139] Figure 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 towards the user's eyes. In this way, the first optical module can project light towards the user's first eye via a display screen, and the second optical module of the same device can project light towards the user's second eye via another display screen.
[0140] In at least one example, the optical module 11.3.2 - 100 can include an optical frame or housing 11.3.2 - 102, which can also be referred to as a barrel or an optical module barrel. The optical module 11.3.2 - 100 can 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 can be coupled to the housing 11.3.2 - 102 such that the display 11.3.2 - 104 is configured to project light towards the user's eyes when wearing the HMD to which the display module 11.3.2 - 100 belongs during use. In at least one example, the housing 11.3.2 - 102 can surround the display 11.3.2 - 104 and provide connection features for coupling other components of the optical module described herein.
[0141] In one example, the optical module 11.3.2-100 may include one or more cameras 11.3.2-106 coupled to a housing 11.3.2-102. The cameras 11.3.2-106 may be positioned relative to a display 11.3.2-104 and the housing 11.3.2-102 such that the cameras 11.3.2-106 are configured to capture one or more images of a user's eyes during use. In at least one example, the optical module 11.3.2-100 may further 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 cameras 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 towards a user's eyes when wearing the HMD. Each light 11.3.2-110 in the light strip 11.3.2-108 may be spaced apart around the light strip 11.3.2-108 and thus may be spaced apart evenly or unevenly around the display 11.3.2-104 at various positions on the light strip 11.3.2-108 and around the display 11.3.2-104.
[0142] In at least one example, the housing 11.3.2-102 defines a viewing opening 11.3.2-101 through which a user may 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 a user's eyes. In one example, the cameras 11.3.2-106 are configured to capture one or more images of a user's eyes through the viewing opening 11.3.2-101.
[0143] As described above, Figure 1O Each of the components and features of the optical module 11.3.2-100 shown may be replicated in another (e.g., second) optical module provided with the HMD to interact (e.g., project light and capture images) with the user's other eye.
[0144] Figure 1O Any one of the features, components, and / or parts shown (including their arrangement and configuration) may be included alone or in any combination in Figure 1P any other example of the devices, features, components, and parts shown or otherwise described herein. Similarly, reference Figure 1P to any one of the features, components, and / or parts shown and described or otherwise described herein (including their arrangement and configuration) may be included alone or in any combination inFigure 1O in the examples of the devices, features, components, and parts shown.
[0145] Figure 1P Fig. shows a cross-sectional view of an example of the optical module 11.3.2-200, which includes 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 passage 11.3.2-212 and a second hole or passage 11.3.2-214. The passages 11.3.2-212, 11.3.2-214 can be configured to slidably engage corresponding tracks or guide rods of the HMD device to allow the optical module 11.3.2-200 to adjust its position relative to the user's eyes to match the user's interpupillary distance (IPD). The housing 11.3.2-202 is capable of slidably engaging the guide rods to fix the optical module 11.3.2-200 in place within the HMD.
[0146] In at least one example, the optical module 11.3.2-200 may further 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 can 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 can be part of a lens assembly that includes a corrective lens 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 bar 11.3.2-208 and one or more eye tracking cameras 11.3.2-206 such that the cameras 11.3.2-206 are configured to capture images of the user's eyes through the lens 11.3.2-216, and the light bar 11.3.2-208 includes lights configured to project light through the lens 11.3.2-216 onto the user's eyes during use.
[0147] Figure 1P Any one of the features, components, and / or parts shown (including their arrangement and configuration) can be included, either alone or in any combination, in any other examples of the devices, features, components, and parts described herein. Similarly, any one of the features, components, and / or parts shown and described herein (including their arrangement and configuration) can be included, either alone or in any combination, in Figure 1P the examples of the devices, features, components, and parts shown.
[0148] Figure 2FIG. 0 is a block diagram of an example of a controller 110 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 to not obscure more relevant aspects of the embodiments disclosed herein. To that end, by way of non-limiting example, in some embodiments, the controller 110 includes one or more processing units 202 (e.g., microprocessors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), graphics processing units (GPUs), central processing units (CPUs), processing cores, etc., sometimes referred to herein as processors), one or more input / output (I / O) devices 206, one or more communication interfaces 208 (e.g., 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.
[0149] In some embodiments, one or more communication buses 204 include circuitry for interconnecting and controlling communication between system components. In some embodiments, one or more I / O devices 206 include at least one of a keyboard, a mouse, a touchpad, a joystick, one or more microphones, one or more speakers, one or more image sensors, one or more displays, etc.
[0150] The memory 220 includes high-speed random access memory such as dynamic random access memory (DRAM), static random access memory (SRAM), double data rate random access memory (DDR RAM), or other random access solid state memory devices. In some embodiments, the memory 220 includes non-volatile memory such as one or more 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 remotely from one or more processing units 202. The memory 220 includes 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.
[0151] 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 for one or more users (e.g., a single XR experience for one or more users, or multiple XR experiences for 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.
[0152] In some embodiments, the data acquisition unit 242 is configured to obtain data (e.g., presentation data, interaction data, sensor data, location data, etc.) from at least the display generation component 120 of Figure 1A and optionally from one or more of the input device 125, the output device 155, the sensor 190, and / or the peripheral device 195. For this purpose, in various embodiments, the data acquisition unit 242 includes instructions and / or logic for the instructions, as well as heuristics and metadata for the heuristics.
[0153] In some embodiments, the tracking unit 244 is configured to map the scene 105 and track the orientation / position of at least the display generation component 120 and optionally one or more of the input device 125, the output device 155, the sensor 190, and / or the peripheral device 195 relative to Figure 1A the scene 105. For this purpose, in various embodiments, the tracking unit 244 includes instructions and / or logic for the instructions, as well as 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 orientation / position of one or more parts of the user's hand and / or the movement of one or more parts of the user's hand relative to Figure 1A the scene 105, relative to the display generation component 120, and / or relative to a coordinate system (which is defined relative to the user's hand). The hand tracking unit 245 is described in more detail below with respect to Figure 4 . In some embodiments, the eye tracking unit 243 is configured to track the orientation 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 hand)) or relative to the XR content displayed via the display generation component 120. The eye tracking unit 243 is described in more detail below with respect to Figure 5 .
[0154] In some embodiments, the coordination unit 246 is configured to manage and coordinate the XR experience presented to the user by the display generation component 120, and optionally by one or more of the output device 155 and / or the peripheral device 195. For this purpose, in various embodiments, the coordination unit 246 includes instructions and / or logic for the instructions, as well as heuristics and metadata for the heuristics.
[0155] In some embodiments, the data transmission unit 248 is configured to transmit data (e.g., presentation data, location data, etc.) to at least the display generation component 120, 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 this purpose, in various embodiments, the data transmission unit 248 includes instructions and / or logic for the instructions, as well as heuristics and metadata for the heuristics.
[0156] 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 shown 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.
[0157] In addition, Figure 2 This is more of a functional description of the various features that may be present in a particular implementation, as opposed to the structural schematic of the embodiments described herein. As will be appreciated by those of ordinary skill in the art, the items shown separately may be combined, and some items may be separated. For example, Figure 2 Some of the functional modules shown separately in 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 specific division of functions, as well as how the features are allocated therein, will vary depending on the implementation, and in some embodiments, will depend in part on the particular combination of hardware, software, and / or firmware selected for the particular implementation.
[0158] Figure 3FIG. is a block diagram of an example of a display generation component 120 in accordance with 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 to not obscure more relevant aspects of the embodiments disclosed herein. For that 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, ASIC, FPGA, GPU, CPU, 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 and / or external image sensors 314, a memory 320, and one or more communication buses 304 for interconnecting these components and various other components.
[0159] In some embodiments, one or more communication buses 304 include circuitry for interconnecting and controlling communication between the various system components. In some embodiments, one or more I / O devices and sensors 306 include an inertial measurement unit (IMU), accelerometers, gyroscopes, thermometers, 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.).
[0160] In some embodiments, one or more XR displays 312 are configured to provide an XR experience to a 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-emitter display (SED), field-emission display (FED), quantum dot light-emitting diode (QD-LED), microelectromechanical systems (MEMS), and / or similar display types. In some embodiments, one or more XR displays 312 correspond to diffractive, reflective, polarization, holographic, and other waveguide displays. For example, the display generation component 120 (e.g., an 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.
[0161] In some embodiments, 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, one or more image sensors 314 are configured to acquire image data corresponding to at least a portion of the user's hand and optionally the user's arm (and may be referred to as a hand-tracking camera). In some embodiments, one or more image sensors 314 are configured to face forward to acquire image data corresponding to the scene that the user would see in the absence of the display generation component 120 (e.g., an HMD) (and may be referred to as a scene camera). One or more optional image sensors 314 may include one or more RGB cameras (e.g., having 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.
[0162] The memory 320 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices. In some embodiments, the memory 320 includes non-volatile memory, such as one or more 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 remotely from one or more processing units 302. The memory 320 includes non-transitory computer-readable storage media. In some embodiments, the memory 320 or the non-transitory computer-readable storage media of the memory 320 stores the following programs, modules, and data structures or subsets thereof, including an optional operating system 330 and an XR rendering module 340.
[0163] The operating system 330 includes procedures 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 this purpose, in various embodiments, the XR rendering module 340 includes a data acquisition unit 342, an XR rendering unit 344, an XR mapping generation unit 346, and a data transmission unit 348.
[0164] In some embodiments, the data acquisition unit 342 is configured to acquire data (e.g., presentation data, interaction data, sensor data, location data, etc.) at least from Figure 1A the controller 110. For this purpose, in various embodiments, the data acquisition unit 342 includes instructions and / or logic for the instructions and heuristics and metadata for the heuristics.
[0165] In some embodiments, the XR rendering unit 344 is configured to present XR content via one or more XR displays 312. For this purpose, in various embodiments, the XR rendering unit 344 includes instructions and / or logic for the instructions and heuristics and metadata for the heuristics.
[0166] In some embodiments, the XR mapping 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 computer-generated objects can be placed to generate an extended reality) based on media content data. For this purpose, in various embodiments, the XR mapping generation unit 346 includes instructions and / or logic for the instructions and heuristics and metadata for the heuristics.
[0167] In some embodiments, the data transmission unit 348 is configured to transmit data (e.g., presentation data, location data, etc.) to at least the controller 110 and optionally to one or more of the input device 125, output device 155, sensor 190, and / or peripheral device 195. For this purpose, in various embodiments, the data transmission unit 348 includes instructions and / or logic for the instructions as well as heuristics and metadata for the heuristics.
[0168] Although the data acquisition unit 342, XR presentation unit 344, XR mapping generation unit 346, and data transmission unit 348 are shown as residing on a single device (e.g., Figure 1A the display generation component 120 of), it should be understood that in other embodiments, any combination of the data acquisition unit 342, XR presentation unit 344, XR mapping generation unit 346, and data transmission unit 348 may be located in separate computing devices.
[0169] In addition, Figure 3 more serves as a functional description of the various features that may exist in a particular embodiment, as opposed to the schematic diagrams of the embodiments described herein. As will be recognized by those of ordinary skill in the art, separately shown items may be combined, and some items may be separated. For example, Figure 3 some of the functional modules shown separately in 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 specific division of functions and how the features are allocated therein will vary according to the specific implementation and, in some embodiments, will depend in part on the specific combination of hardware, software, and / or firmware selected for the particular implementation.
[0170] Figure 4 is a schematic diagram of an exemplary embodiment of the hand tracking device 140. In some embodiments, the hand tracking device 140 ( Figure 1A ) is controlled by the hand tracking unit 245 ( Figure 2 ) to track the positioning / position of one or more parts of the user's hand and / or the orientation of one or more parts of the user's hand relative to Figure 1AScene 105 (e.g., motion relative to a portion of the physical environment around 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 defined relative to the user's hand). In some embodiments, the hand tracking device 140 is part of the display generation component 120 (e.g., embedded in or attached to a 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).
[0171] In some embodiments, the hand tracking device 140 includes an image sensor 404 that captures three-dimensional scene information of at least the hand 406 of a human user (e.g., one or more IR cameras, 3D cameras, depth cameras, and / or color cameras, etc.). The image sensor 404 captures hand images at a sufficient resolution to distinguish the fingers and their corresponding positions. The image sensor 404 typically captures images of other parts of the user's body, and may also or possibly 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 at 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 combination with other image sensors to capture the physical environment of the scene 105, or serves as the image sensor for capturing the physical environment of the scene 105. In some embodiments, the image sensor 404 or a portion of its field of view is positioned relative to the user or the user's environment in a manner that defines an interaction space in which hand movements captured by the image sensor are treated as inputs to the controller 110.
[0172] In some embodiments, the image sensor 404 outputs a sequence of frames containing 3D map data (and in addition, possibly color image data) to the controller 110, which extracts high-level information from the map data. The high-level information is typically provided to an application running on the controller via an application programming interface (API), and the application drives the display generation component 120 accordingly. For example, a user can interact with software running on the controller 110 by moving their hand 406 and / or changing their hand posture.
[0173] In some embodiments, the image sensor 404 projects a speckle pattern onto a scene that includes 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 speckles 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 pre-determined reference plane. In the present disclosure, it is assumed that the image sensor 404 defines an orthogonal set of x, y, and z axes such that the depth coordinate of a point in the scene corresponds to the z-component measured by the image sensor. Alternatively, the image sensor 404 (e.g., the hand tracking device) may use other 3D mapping methods, such as stereoscopic imaging or time-of-flight measurement, based on a single or multiple cameras or other types of sensors.
[0174] In some embodiments, the hand tracking device 140 captures and processes a time series of depth maps that include the user's hand as the user moves their hand (e.g., the entire hand or one or more fingers). Software running on a processor in the image sensor 404 and / or the controller 110 processes the 3D map data to extract image patch descriptors of the hand in these depth maps. The software may match these descriptors to image patch descriptors stored in the database 408 based on a previous learning process in order to estimate the pose of the hand in each frame. The pose generally includes the 3D positioning of the user's hand joints and finger tips.
[0175] The software can also analyze the trajectories of the hand and / or fingers over multiple frames in the sequence to identify gestures. The pose estimation functionality described herein can alternate with the motion tracking functionality such that image patch-based pose estimation is only performed once every two (or more) frames, while tracking is used to find changes in the pose that occur on the remaining frames. Pose, motion, and gesture information is provided to an application running on the controller 110 via the aforementioned 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.
[0176] In some embodiments, the gesture includes an air gesture. An air gesture is detected without the user touching an input element (or independent of an input element that is part of a device, such as computer system 101, one or more input devices 125, and / or hand tracking device 140) and is based on the detected movement of a part of the user's body (such as the head, one or more arms, one or more hands, one or more fingers, and / or one or more legs) through the air (including the movement of the user's body relative to an absolute reference (such as the angle of the user's arm relative to the ground or the distance of the user's hand relative to the ground), the movement relative to another part of the user's body (such as the movement of the user's hand relative to the user's shoulder, the movement of one of the user's hands relative to the other of the user's hands, and / or the movement of the user's finger relative to another finger or part of the hand of the user), and / or the absolute movement of a part of the user's body (such as a tap gesture that includes the hand moving a predetermined amount and / or speed in a predetermined pose, or a shake gesture that includes a predetermined speed or amount of rotation of a part of the user's body)).
[0177] 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 (such as a virtual or mixed reality environment) performed by the movement of the user's fingers relative to other fingers or parts of the user's hand. In some embodiments, an air gesture is detected without the user touching an input element that is part of a device (or independent of an input element that is part of a device) and is based on the detected movement of a part of the user's body through the air (including the movement of the user's body relative to an absolute reference (such as the angle of the user's arm relative to the ground or the distance of the user's hand relative to the ground), the movement relative to another part of the user's body (such as the movement of the user's hand relative to the user's shoulder, the movement of one of the user's hands relative to the other of the user's hands, and / or the movement of the user's finger relative to another finger or part of the hand), and / or the absolute movement of a part of the user's body (such as a tap gesture that includes the hand moving a predetermined amount and / or speed in a predetermined pose, or a shake gesture that includes a predetermined speed or amount of rotation of a part of the user's body)).
[0178] In some implementations where the input gesture is an air gesture (e.g., in the absence of physical contact with an input device that provides information to a computer system about which user interface element is the target of a user input, such as contact with a user interface element displayed on a touch screen, or contact with a mouse or touchpad 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 implementations involving air gestures, for example, the input gesture is detected in combination with (e.g., simultaneously with) movement of the user's finger and / or hand towards a user interface element while attention (e.g., gaze) towards the user interface element is detected to perform pinch and / or tap input, as described below.
[0179] In some implementations, an input gesture that points to a user interface object is performed with direct or indirect reference to the user interface object. For example, a user input is performed directly on the user interface object by performing an input gesture at a location corresponding to the positioning of the user interface object in a three-dimensional environment (e.g., as determined based on the user's current viewpoint). In some implementations, when attention (e.g., gaze) of the user to the user interface object is detected, an input gesture is performed indirectly on the user interface object if the positioning of the user's hand while the user performs the input gesture is not at the location corresponding to the positioning of the user interface object in the three-dimensional environment. For example, for a direct input gesture, a user can direct their input to a user interface object by initiating a gesture at or near a location corresponding to the display positioning of the user interface object (e.g., within a distance of 0.5 cm, 1 cm, 5 cm, or between 0 and 5 cm measured from the outer edge or the central part of the option). For an indirect input gesture, a user can direct their input to a 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 not corresponding to the display positioning of the user interface object).
[0180] In some implementations, according to some implementations, the input gestures (e.g., air gestures) used in the various examples and implementations described herein include pinch input and tap input for interacting with virtual or mixed reality environments. For example, the pinch input and tap input described below are performed as air gestures.
[0181] 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 the movement of two or more fingers of a hand to contact each other, i.e., optionally followed by immediately (e.g., within 0 seconds to 1 second) breaking contact with each other. A long pinch gesture as an air gesture includes the movement of two or more fingers of a hand contacting each other for at least a threshold amount of time (e.g., at least 1 second) before detecting the interruption of contact with each other. For example, a long pinch gesture includes a user maintaining a pinch gesture (e.g., where 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) detected consecutively and immediately (e.g., within a predefined time period) with each other. For example, a user performs a first pinch input (e.g., a pinch input or a long pinch input), releases the first pinch input (e.g., breaks contact between two or more fingers), and performs a second pinch input within a predefined time period (e.g., within 1 second or within 2 seconds) after releasing the first pinch input.
[0182] In some embodiments, a pinching and dragging gesture as an air gesture includes a pinching gesture (e.g., a pinching gesture or a long - pinching gesture) performed in combination with (e.g., following) a drag input that changes the positioning of the user's hand from a first positioning (e.g., the starting positioning of the drag) to a second positioning (e.g., the ending positioning of the drag). In some embodiments, the user maintains the pinching gesture while performing the drag input and releases the pinching gesture (e.g., opens their two or more fingers) to end the dragging gesture (e.g., at the second positioning). In some embodiments, the pinching input and the drag input are performed by the same hand (e.g., the user pinches two or more fingers together and moves the same hand into a second positioning in the air using the dragging gesture). In some embodiments, the pinching input is performed by the user's first hand and the drag input is performed by the user's second hand (e.g., while the user continues the pinching input with the user's first hand, the user's second hand moves from a first positioning to a second positioning in the air). In some embodiments, an input gesture as an air gesture includes an input performed using both of the user's hands (e.g., a pinching and / or tapping input). For example, the input gesture includes two (e.g., or more) pinching inputs performed in combination with each other (e.g., concurrently or within a predefined time period). For example, a first pinching gesture (e.g., a pinching input, a long - pinching input, or a pinching and dragging input) is performed using the user's first hand, and in combination with performing the pinching input with the first hand, a second pinching input is performed using the other hand (e.g., the second of the user's two hands). In some embodiments, movement between the user's two hands (e.g., increasing and / or decreasing the distance or relative orientation between the user's two hands).
[0183] In some embodiments, a tap input performed as an air gesture (e.g., pointing to a user interface element) includes movement of the user's finger towards the user interface element, movement of the user's hand towards the user interface element (optionally, the user's finger extends towards the user interface element), downward movement of the user's finger (e.g., mimicking a mouse click movement 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 the movement characteristics of the finger or hand performing the tap gesture movement, which is the movement of the finger or hand away from the user's viewpoint and / or towards an object that is the target of the tap input, followed by the 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 the movement away from the user's viewpoint and / or towards the object that is the target of the tap input, a reversal of the movement direction of the finger or hand, and / or a reversal of the acceleration direction of the movement of the finger or hand).
[0184] In some embodiments, a single-finger air pinching gesture includes a movement (e.g., pinching) of the thumb and another finger of the same hand to bring them into contact with each other, optionally followed by an interruption of contact with each other (e.g., immediately interrupting or releasing the pinch, or interrupting or releasing the pinch within a threshold amount of time). As long as contact occurs between the thumb and the other finger, or at least the thumb and the other finger are brought close enough to each other (e.g., within a threshold distance), both fingers do not have to move.
[0185] In some embodiments, a multi-finger air pinching gesture includes a movement (e.g., pinching) of the thumb and two other fingers of the same hand to bring the thumb into contact with the two other fingers, optionally followed by releasing the pinch or interrupting the contact between the thumb and the two other fingers (e.g., immediately interrupting or releasing the pinch, or interrupting 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 brought close enough to each other (e.g., within a threshold distance), the thumb and the two other fingers do not have to move.
[0186] In some embodiments, a secondary air pinching gesture includes performing or maintaining a single-finger air pinching or multi-finger air pinching gesture with one hand while combining it with a single-finger air pinching (e.g., between the thumb and index finger) on the opposite hand. For example, when maintaining a single-finger air pinching gesture on the first hand, other air pinching gestures performed with the second hand are interpreted by the computer system as secondary air pinching gestures. Releasing the air pinch on the second hand causes the computer system to perform the gesture, and the air pinching gesture maintained on the first hand continues to modify any subsequent air pinching performed with the first hand until it is released. Thus, the first hand modifies the air pinching gesture performed with the second hand.
[0187] In some embodiments, an air pinch-slide gesture includes a pinching gesture (e.g., a single-finger air pinching gesture or a multi-finger air pinching gesture) performed in combination with (e.g., followed by) a movement (e.g., a drag or slide input) that changes the positioning of the user's hand from a first positioning (e.g., the starting positioning of the slide) to a second positioning (e.g., the ending positioning of the slide) in a corresponding direction (e.g., up, right, left, or down). In some embodiments, the user maintains the pinching gesture while performing the slide input (e.g., where the fingers are in contact with each other or have been in contact at the first positioning), and releases the pinching gesture (e.g., opening two or more of their fingers) to end the slide gesture (e.g., at the second positioning). In some embodiments, the pinching input and the slide input are performed by the same hand (e.g., the user pinches two or more fingers together to be in contact and moves the same hand to a second positioning in the air with a slide gesture).
[0188] In some embodiments, the user's attention is determined to be directed to a portion of the three-dimensional environment based on the detection of a gaze directed to the portion of the three-dimensional environment (optionally, without the need for other conditions). In some embodiments, the user's attention is determined to be directed to a portion of the three-dimensional environment based on the detection of a gaze directed to the 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 of 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).
[0189] In some embodiments, the detection of the ready state configuration of the user or a part of the user is detected by the computer system. The detection of the ready state configuration of the hand is used by the computer system as an indication that the user may be about to use one or more air gesture inputs (e.g., pinching, tapping, pinching and dragging, double pinching, long pinching, or other air gestures described herein) performed by the hand to interact with the computer system. For example, based on whether the hand has a predetermined hand shape (e.g., a pre-pinching shape where the thumb and one or more fingers are extended and spaced apart to prepare for a pinching or grasping gesture, or a pre-tapping where one or more fingers are extended and the palm is facing away from the user), based on whether the hand is in a predetermined orientation 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., moving towards an area in front of the user that is above the user's waist and below the user's head or moving away from the user's body or legs) to determine the ready state of the hand. In some embodiments, the ready state is used to determine whether interactive elements of the user interface respond to attention (e.g., gaze) input.
[0190] In some embodiments, the software can be downloaded electronically to the controller 110, for example, via a network, or alternatively can 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 the memory associated with the controller 110. Alternatively or in addition, some or all of the described functions of the computer can be implemented in dedicated hardware (such as a custom or semi-custom integrated circuit or a programmable digital signal processor (DSP)). Although Figure 4Controller 110 is shown, but by way of example, some or all of the processing functions of the controller, as a unit separate from image sensor 404, may be performed by a suitable microprocessor and software or by dedicated circuitry within the housing of image sensor 404 (e.g., a hand tracking device) or by other devices associated with image sensor 404. In some embodiments, at least some of these processing functions may be performed by a suitable processor integrated with display generation component 120 (e.g., in a television receiver, a handheld device, or a head-mounted device) or integrated with any other suitable computerized device (such as, a game console or a media player). The sensing function of image sensor 404 may likewise be integrated into a computer or other computerized device to be controlled by the sensor output.
[0191] Figure 4 Also shown is a schematic illustration of depth map 410 captured by image sensor 404 according to some embodiments. As described above, the depth map includes a matrix of pixels having corresponding depth values. Pixels 412 corresponding to hand 406 have been segmented from the background and wrist in the figure. The brightness of each pixel within depth map 410 is inversely proportional to its depth value (i.e., the measured z-distance from image sensor 404), where the gray shading becomes darker as the depth increases. Controller 110 processes these depth values to identify and segment the components of the image having human hand characteristics (i.e., a group of adjacent pixels). These characteristics may include, for example, overall size, shape, and motion from frame to frame in a sequence of depth maps.
[0192] Figure 4 Also schematically illustrated is hand skeleton 414 ultimately extracted by controller 110 from depth map 410 of hand 406. In Figure 4 this figure, hand skeleton 414 is overlaid on hand background 416 that has been segmented from the original depth map. In some embodiments, key feature points on the hand and optionally on the wrist or arm connected to the hand (e.g., points corresponding to knuckles, finger tips, the center of the palm, the end of the hand connected to the wrist, etc.) are identified and located on hand skeleton 414. In some embodiments, controller 110 uses the positions and movements of these key feature points across multiple image frames to determine, according to some embodiments, the gesture being performed by the hand or the current state of the hand.
[0193] Figure 5 An example embodiment of an eye tracking device 130 ( Figure 1A ) is shown. In some embodiments, eye tracking device 130 is comprised of eye tracking unit 243 ( Figure 2)Control is used to track the positioning 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, a head-mounted headset, helmet, goggles, or glasses) or a handheld device placed in a wearable frame, the head-mounted device includes both components for generating XR content for the user to view 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 part of a head-mounted device. In some embodiments, the head-mounted eye tracking device 130 is optionally used in combination 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 combination 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.
[0194] 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 the user with a 3D virtual view. For example, a 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 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 virtual objects are displayed on the transparent or translucent display, through which the user can directly view the physical environment. In some embodiments, the display generation component projects virtual objects into the physical environment. The virtual objects may be projected, for example, onto a physical surface or projected as a hologram such that an individual using the system observes the virtual objects overlapping above the physical environment. In this case, separate display panels and image frames for the left and right eyes may not be required.
[0195] As Figure 5As shown, in some embodiments, the eye tracking device 130 (e.g., a 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 may be pointed at the user's eyes to receive the IR or NIR light directly reflected from the eyes by the light source, or alternatively may be pointed at a "hot" mirror located between the user's eyes and the display panel, which reflects 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 frames - 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, both of the user's eyes are tracked separately by corresponding eye tracking cameras and illumination sources. In some embodiments, only one of the user's eyes is tracked by corresponding eye tracking cameras and illumination sources.
[0196] In some embodiments, a device-specific calibration process is used to calibrate the eye tracking device 130 to determine the parameters of the eye tracking device for a particular operating environment 100, such as the 3D geometric relationships and parameters of the LEDs, cameras, hot mirrors (if any), eye lenses, and display screens. The device-specific calibration process may be performed at the factory or another facility before the AR / VR equipment is delivered to the end user. The device-specific calibration process may be an automatic calibration process or a manual calibration process. According to some embodiments, the user-specific calibration process may include an estimation of the eye parameters of a particular user, such as pupil position, fovea position, optical axis, visual axis, interocular distance, 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 may be used to process the images captured by the eye tracking camera to determine the current visual axis and the user's fixation point relative to the display.
[0197] As Figure 5As shown, the eye tracking device 130 (e.g., 130A or 130B) includes an eye lens 520 and a gaze tracking system that 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 where eye tracking is to be 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 pointed at a mirror 550 (which reflects IR or NIR light from the eye 592 while allowing visible light to pass through) (e.g., as shown in the top portion of Figure 5 ), or alternatively can be pointed at the user's eye 592 to receive reflected IR or NIR light from the eye 592 (e.g., as shown in the bottom portion of Figure 5 ).
[0198] In some embodiments, the controller 110 renders AR or VR frames 562 (e.g., left and right frames for a left display panel and a right display panel) 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 assist method or other suitable method. The gaze point estimated based on the gaze tracking input 542 is optionally used to determine the direction in which the user is currently looking.
[0199] The following describes several possible use cases of the current gaze direction of a user and is 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 region determined according to the user's current gaze direction than in the peripheral region. As another example, the controller may position or move virtual content in the view at least in part based on the user's current gaze direction. As another example, the controller may display specific virtual content in the view at least in part based on the user's current gaze direction. As another example use case in an AR application, the controller 110 may direct an external camera for capturing the physical environment of the XR experience to focus in the determined direction. Then, the autofocus mechanism of the external camera may 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 the gaze tracking information to adjust the focus of the eye lens 520 such that the virtual object that the user is currently looking at has an appropriate vergence to match the convergence of the user's eyes 592. The controller 110 may utilize the gaze tracking information to direct the eye lens 520 to adjust the focus such that the nearby object that the user is looking at appears at the correct distance.
[0200] In some embodiments, the eye tracking device is part of a head-mounted device that includes a display (e.g., display 510) mounted in a wearable housing, two eye lenses (e.g., eye lens 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 eyes 592. In some embodiments, the light source may be arranged in a ring or circle around each of the lenses, as Figure 5 shown. In some embodiments, for example, eight light sources 530 (e.g., LEDs) are arranged around each lens 520. However, more or fewer light sources 530 may be used, and other arrangements and positions of the light sources 530 may be used.
[0201] In some embodiments, the display 510 emits light in the visible light range and does not emit light in the IR or NIR range, and thus does not introduce noise into the gaze tracking system. Note that the position and angle of the eye tracking camera 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 wide field of view (FOV) and a camera 540 with a narrow 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.
[0202] As Figure 5 illustrated, embodiments of the gaze tracking system may be used, for example, in computer-generated reality, virtual reality, and / or mixed reality applications to provide a computer-generated reality, virtual reality, augmented reality, and / or augmented virtual experience to a user.
[0203] Figure 6 illustrates a flash-assisted gaze tracking pipeline according to some embodiments. In some embodiments, the gaze tracking pipeline is implemented by a flash-assisted gaze tracking system (e.g., the eye tracking device 130 illustrated in FIGS. 1 and 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, when analyzing the current frame to track the pupil contour and flash in the current frame, the flash-assisted gaze tracking system uses previous information from the previous frame. When not in the tracking state, the flash-assisted gaze tracking system attempts to detect the pupil and flash in the current frame, and if successful, initializes the tracking state to "yes" and continues with the next frame in the tracking state.
[0204] As Figure 6 shown, the gaze tracking camera may capture left and right images of the user's left and right eyes. The captured images are then input into the gaze tracking pipeline for processing starting at 610. As indicated by the arrow returning to element 600, the gaze tracking system may continue to capture images of the user's eyes, for example, at a rate of 60 to 120 frames per second. In some embodiments, each set of captured images may be input into the pipeline for processing. However, in some embodiments or under some conditions, not all captured frames are processed by the pipeline.
[0205] 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, then as indicated at 620, the image is analyzed to detect the user's pupil and flash in the image. At 630, if the pupil and flash 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.
[0206] At 640, if proceeding from element 610, the current frame is analyzed to track the pupil and flash based in part on previous information from a previous frame. At 640, if proceeding from element 630, the tracking status is initialized based on the pupil and flash detected in the current frame. The processing result at element 640 is checked to verify that the result of the tracking or detection can be trusted. For example, the result can be checked to determine whether the pupil and a sufficient number of flashes for performing gaze estimation are successfully tracked or detected in the current frame. At 650, if the result cannot be trusted, then at element 660, the tracking status 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 result is trusted, the method proceeds to element 670. At 670, the tracking status is set to yes (if not already yes), and the pupil and flash information is passed to element 680 to estimate the user's gaze point.
[0207] Figure 6 It is intended to be used as an example of an eye tracking technique that can be used for a particular specific implementation. As would be recognized by one of ordinary skill in the art, according to various embodiments, in the computer system 101 for providing an XR experience to a user, other eye tracking techniques that currently exist or are developed in the future can be used to replace the flash-assisted eye tracking technique described herein or used in combination with the flash-assisted eye tracking technique.
[0208] In some embodiments, a 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 superimposed over a representation of the real-world environment 602.
[0209] Accordingly, the description herein describes some implementations of a three-dimensional environment (e.g., an XR environment) that includes representations of real-world objects and representations of virtual objects. For example, the three-dimensional environment optionally includes a representation of a table that exists in the physical environment, which is captured and displayed in the three-dimensional environment (e.g., actively displayed via a camera and a display of a computer system or passively displayed via a transparent or semi-transparent display of the computer system). As previously described, the three-dimensional environment is optionally a mixed reality system, where the three-dimensional environment is based on the physical environment captured by one or more sensors of the computer system and displayed via a display generation component. As a mixed reality system, the computer system is optionally capable of selectively displaying portions and / or objects of the physical environment such that the corresponding portions 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 the three-dimensional environment at corresponding locations that have corresponding locations in the real world such that the virtual objects appear as if they exist in the real world (e.g., the physical environment). For example, the computer system optionally displays a vase such that the vase appears as if a real vase is placed on top of a table in the physical environment. In some implementations, the corresponding locations in the three-dimensional environment have corresponding locations in the physical environment. Thus, when the computer system is described as displaying a virtual object at a corresponding location relative to a physical object (e.g., a location at or near the user's hand or a location at or near a physical table), the computer system displays the virtual object at a specific location in the three-dimensional environment such 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 the virtual object were a real object at that specific location).
[0210] In some implementations, real-world objects that exist in the physical environment and are displayed in the three-dimensional environment (e.g., and / or visible via the display generation component) can interact with virtual objects that exist only in the three-dimensional environment. For example, the three-dimensional environment can 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.
[0211] In a three-dimensional environment (e.g., a real environment, a virtual environment, or an environment that includes a mixture of real and virtual objects), an object is sometimes said to have depth or simulated depth, or an object is said to be visible, displayed, or placed at different depths. In this context, depth refers to a dimension that is different from height or width. In some embodiments, depth is defined relative to a fixed set of coordinates (e.g., where a room or an object has a height, depth, and width defined relative to a fixed set of coordinates). In some embodiments, depth is defined relative to the position or viewpoint of a user, in which case the depth dimension varies based on the position of the user and / or the position and angle of the user's viewpoint. In some embodiments where depth is defined relative to the position of the user relative to the surface of the environment (e.g., the surface of the floor or ground of the environment), an object that is farther from the user along a line extending parallel to the surface is considered to have a greater depth in the environment, and / or the depth of the object is measured along an axis that extends outward from the user's position and is 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 that extends from the user's head towards the user's feet). In some embodiments where depth is defined relative to the user's viewpoint (e.g., the direction relative to a point in space that determines which part of the environment is visible via a head-mounted device or other display), an object that is farther from the user's viewpoint along a line extending parallel to the user's viewpoint is considered to have a greater depth in the environment, and / or the depth of the object is measured along an axis that extends outward from the user's viewpoint and is parallel to the direction of the user's viewpoint (e.g., depth is defined in a spherical or substantially spherical coordinate system, where the origin of the viewpoint is at the center of a sphere that extends outward from the user's head). In some embodiments, depth is defined relative to a user interface container (e.g., a window or application where an application and / or system content is displayed), where the user interface container has a height and / or width, and depth is a dimension that is orthogonal to the height and / or width of the user interface container. In some embodiments where 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 typically orthogonal or substantially orthogonal to a straight line that extends from the user's 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 depth is defined relative to a 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 that extend in different directions and / or from different starting points away from the user or the user's viewpoint).In some embodiments, when defining depth 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 viewing point 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 that includes the container). In some embodiments, for a curved container (e.g., including a container having a curved surface or a curved content area), the depth dimension optionally extends into the surface of the curved container. In some cases, z-spacing (e.g., the spacing between two objects in the depth dimension), z-height (e.g., the distance of one object from another object in the depth dimension), z-positioning (e.g., the positioning of one object in the depth dimension), z-depth (e.g., the positioning of one object in the depth dimension), or an analog z-dimension (e.g., depth used as a dimension of an object, a dimension of the environment, a direction in space, and / or a direction in an analog space) are used to refer to the concept of depth as described above.
[0212] In some embodiments, the user is optionally able to interact with virtual objects in a three-dimensional environment using one or more hands 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 the user and display a representation of the user's hand(s) in the three-dimensional environment (e.g., in a manner similar to displaying real-world objects in the three-dimensional environment described above), or in some embodiments, the user's hand(s) can be seen via the display generation component, via the ability to see the physical environment through the user interface, due to the transparency / translucency of a portion of the user interface being displayed by the display generation component, or due to the projection of the user interface onto a transparent / translucent surface or onto the user's eyes or into the user's field of view. Thus, in some embodiments, the user's hands are displayed at corresponding positions in the three-dimensional environment and are treated as if they were objects in the three-dimensional environment that can interact with virtual objects in the three-dimensional environment as if the virtual objects were physical objects in a physical environment. In some embodiments, the computer system is able to update the display of the representation of the user's hand(s) in the three-dimensional environment in conjunction with the movement of the user's hand(s) in the physical environment.
[0213] In some embodiments of the embodiments described below, the computer system optionally can determine an "effective" distance between a physical object in the physical world and a virtual object in a three-dimensional environment, e.g., for determining whether the physical object is directly interacting with the virtual object (e.g., whether a hand is touching, grasping, holding, etc., the virtual object or is within a threshold distance of the virtual object). For example, a hand directly interacting with a virtual object optionally includes one or more of the following: a finger of the hand pressing a virtual button, a hand of the user grasping a virtual vase, the hands of the user brought together and pinching / holding the user interface of an application, and two fingers performing any other type of interaction described herein. For example, when determining whether a user is interacting with a virtual object and / or how the user is interacting with the 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 particular 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 particular corresponding location in the three-dimensional environment (e.g., the location where the hand would be displayed in the three-dimensional environment if the hand were a virtual hand rather than a physical hand). Optionally, the location of the hand in the three-dimensional environment is 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 positions in the physical world (e.g., rather than comparing positions in the three-dimensional environment). For example, when determining the distance between one or more hands of the user and a virtual object, the computer system optionally determines the corresponding position of the virtual object in the physical world (e.g., the location where the virtual object would be located in the physical world if the virtual object were a physical object rather than a virtual object), and then determines the distance between the corresponding physical location and the one or more hands of the user. In some embodiments, the same techniques are optionally used to determine the distance between any physical object and any virtual object. Thus, 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, the computer system optionally performs any of the techniques described above to map the position of the physical object to the three-dimensional environment and / or map the position of the virtual object to the physical environment.
[0214] In some embodiments, the same or similar techniques are used to determine where and what the user's gaze is directed at, and / or where and what a physical stylus held by the user is directed at. For example, if the user's gaze is directed at 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 at the virtual object. Similarly, the computer system is optionally able to determine the direction in the physical environment that the stylus is directed based on the orientation of the physical stylus. In some embodiments, based on this determination, the computer system determines the corresponding virtual location in the three-dimensional environment that corresponds to the location in the physical environment that the stylus is directed at, and optionally determines that the stylus is directed at the corresponding virtual location in the three-dimensional environment.
[0215] Similarly, the embodiments described herein may refer to the position of the user (e.g., the user of the computer system) in the three-dimensional environment and / or the position of the computer system in the three-dimensional environment. In some embodiments, the user of the computer system is holding, wearing, or otherwise located at or near the computer system. Thus, in some embodiments, the position of the computer system serves 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 would be the position in the physical environment (and its corresponding position in the three-dimensional environment) from which the user would see, if the user were standing at that position and facing the corresponding portion of the physical environment visible via the display generation component, the objects in the physical environment that are in the same location, orientation, and / or size (e.g., in an absolute sense and / or relative to each other) as the objects that are displayed in the three-dimensional environment by the display generation component of the computer system or are 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 in the physical environment at the same positions as the positions of these virtual objects in the three-dimensional environment, and physical objects having the same size and orientation in the physical environment as they do in the three-dimensional environment), the position of the computer system and / or the user is the location from which the user would see the virtual objects in the physical environment that are in the same location, orientation, and / or size (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 component of the computer system.
[0216] 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.
[0217] User interface and associated processes
[0218] 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.
[0219] Figures 7A to 7G , Figures 8A to 8L , Figures 9A to 9H , Figures 10A to 10F , Figures 15A to 15J , Figures 16A to 16E , Figures 17A to 17I , Figures 21A to 21J as well as Figures 22A to 22FExamples include: a three-dimensional environment visible to 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, the input is directed to a virtual object within the three-dimensional environment by a user gaze detected in the region occupied by the virtual object or by a gesture performed at a location in the physical environment corresponding to the region of the virtual object. In some embodiments, the 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 unrelated to the region 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 pose input). In some embodiments, the input is directed to a virtual object within the three-dimensional environment by an input device that has positioned a 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 a virtual object within the three-dimensional environment via other devices (e.g., voice and / or control buttons). In some embodiments, the input is directed to a physical object or a representation of a virtual object corresponding to the physical object by movement of the user's hand (e.g., with an air gesture, a touch gesture, or other hand input) (e.g., a whole hand movement, a whole hand movement in a corresponding pose, a movement of a part of the user's hand relative to another part of the hand, and / or a relative movement between the two hands) and / or manipulation relative to the physical object (e.g., touch, swipe, tap, open, move towards, and / or relative movement). In some embodiments, the computer system displays some changes to the three-dimensional environment (e.g., displays additional virtual content, stops displaying existing virtual content, and / or transitions between different levels of immersion in the visual content) based on input from sensors (e.g., image sensors, temperature sensors, biometric sensors, motion sensors, and / or proximity sensors) and context conditions (e.g., location, time, and / or the presence of other people in the environment). In some embodiments, the computer system displays some changes to the three-dimensional environment (e.g., displays additional virtual content, stops displaying existing virtual content, and / or transitions between different levels of immersion in the visual content) based on input from other computers used by other users sharing a computer-generated environment with the 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 changes in a three-dimensional environment based on input from sensors (e.g., displays changes in movement, deformation, and / or visual characteristics of a user interface, virtual surface, user interface object, and / or virtual landscape), where the sensors detect movement of other people and objects and movement of recognized gesture inputs by a user that may not be recognized as triggering an associated operation of the computer system.
[0220] In some embodiments, the three-dimensional environment visible via the display generation component described herein is a virtual three-dimensional environment that includes 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 constrained by one or more physical aspects of the physical environment (e.g., the location and orientation of walls, floors, surfaces, the direction of gravity, the time of day, and / or the spatial relationship 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 such 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 location 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, the computer system transitions between displaying different types of environments based on user input and / or situational conditions (e.g., transitions between presenting computer-generated environments or experiences with different levels of immersion, adjusting the relative salience of audio / visual sensory inputs from virtual content and from the representation of the physical environment).
[0221] In some embodiments, the display generation component includes a passthrough portion where a representation of the physical environment is displayed or visible. In some embodiments, the passthrough portion of the display generation component is a transparent or translucent (e.g., see-through) portion that displays at least a portion of the physical environment around or within the user's field of view of the display generation component (sometimes referred to as "optical passthrough"). For example, the passthrough portion is a portion of a head-mounted display or a heads-up display that is made translucent (e.g., having an opacity of less than 50%, 40%, 30%, 20%, 15%, 10%, or 5%) or transparent, such that the user can look 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 displaying a virtual or mixed reality environment, the passthrough portion gradually transitions from translucent or transparent to fully opaque. In some embodiments, the passthrough portion of the display generation component displays a live feed (sometimes referred to as "optical passthrough") 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). 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., relative to the user of the display generation component, the user is behind the display generation 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 rear of the user).
[0222] In some embodiments, when displaying virtual objects at a location corresponding to the location of one or more physical objects in the 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 a portion of the live view of the camera (e.g., a portion of the physical environment captured in the live view) (e.g., replacing its display). 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 the passthrough portion of the display generation component (e.g., visible as part of the camera view of the physical environment, or visible through the transparent or translucent portion of the display generation component). In some embodiments, at least some of the virtual objects and virtual content are displayed as covering a portion of the display and obscuring at least a portion of the view of the physical environment visible through the transparent or translucent portion of the display generation component.
[0223] In some embodiments, the display generation component displays different views of the three-dimensional environment based on user input or movement that changes the viewpoint relative to the virtual positioning of the current display of the three-dimensional environment. In some embodiments, when the three-dimensional environment is a virtual environment, the viewpoint moves according to navigation or movement requests (e.g., aerial gestures and / or gestures performed by moving a part of the hand relative to another part of the hand) without the need for the user's head, torso, and / or movement of the display generation component 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 position-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 results in a corresponding movement of the viewpoint relative to the three-dimensional environment (e.g., having a corresponding movement direction, movement distance, movement speed, and / or orientation change), thereby causing a corresponding change in the current display view of the three-dimensional environment. In some embodiments, when a virtual object has a preset spatial relationship relative to the viewpoint (e.g., anchored or fixed to the viewpoint), movement of the viewpoint relative to the three-dimensional environment will cause the virtual object to move relative to the three-dimensional environment while maintaining the virtual object's positioning 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 when the user moves as a whole in the physical environment (e.g., carrying or wearing the display generation component and / or other position-sensing components of the computer system), but will not move in the three-dimensional environment in response to separate movement of the user's head (e.g., the display generation component 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 according to 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 according to the movement of the field of view, independent of user movement that does not cause a change in the field of view.
[0224] In some embodiments, as Figures 7A to 7G , Figures 8A to 8L , Figures 9A to 9H , Figures 10A to 10F , Figures 15A to 15J , Figures 16A to 16E , Figures 17A to 17I , Figures 21A to 21J and Figures 22A to 22FAs shown, a view of the three-dimensional environment sometimes does not include a representation of the user's hand, arm, and / or wrist. In some embodiments, a representation of the user's hand, arm, and / or wrist is included in the view of the three-dimensional environment. In some embodiments, a representation of the user's hand, arm, and / or wrist is included in the view of the three-dimensional environment as part of a representation of the physical environment provided by the display generation component. In some embodiments, these representations are not part of the representation of the physical environment and are separately captured (e.g., by one or more cameras pointed at the user's hand, arm, and wrist) and displayed in the three-dimensional environment independently of the currently displayed view of 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 the arm, wrist, and / or hand 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 that part of the representation of the physical environment, or block the view of that 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 fully virtual environment (e.g., no camera view and no transparent passthrough section), optionally a real-time visual representation (e.g., a stylized representation or a segmented camera image) of one or both of the user's arms, wrists, and / or hands is still displayed in the virtual environment. In some embodiments, if a representation of the user's hand is not provided in the view of the three-dimensional environment, the location corresponding to the user's hand is optionally indicated in the three-dimensional environment, e.g., by changing the appearance of virtual content (e.g., by changes in transparency and / or simulated reflectivity) at the location in the three-dimensional environment corresponding to the position of the user's hand in the physical environment. In some embodiments, the representation of the user's hand or wrist is outside the currently displayed view of the three-dimensional environment, while the virtual location in the three-dimensional environment corresponding to the position of the user's hand or wrist is outside the current field of view provided by the display generation component; and in response to the virtual location corresponding to the position of the user's hand or wrist moving into the current field of view due to 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.
[0225] As Figures 7A to 7G , Figures 8A to 8L , Figures 9A to 9H , Figures 10A to 10F , Figures 15A to 15J and Figures 16A to 16E In the example of Figures 7E1 to 7E2 ,Figures 8F2 to 8F3 , Figures 9F1 to 9F2 , Figures 10C1 to 10C2 , Figures 15E1 to 15F1 , Figures 16D1 to 16D2 , Figures 17D2 to 17D3 , Figures 21E1 to 21E2 and Figures 22D2 to 22D3 shown in the head-mounted display 7100a) (e.g., the content shown as visible via the display generation component 7100 of the computer system 101 corresponds to the field of view of the user 7002 when wearing the head-mounted display). Similarly, as shown in the examples of Figures 7A to 7G , Figures 8A to 8L , Figures 9A to 9H , Figures 10A to 10F , Figures 15A to 15J and Figures 16A to 16E the display generation component 9100 of the computer system 101 is a touch screen held or otherwise positioned in front of the user 9002. In some embodiments, the display generation component of the computer system 101 is a head-mounted display worn on the head of the user 9002 (e.g., in Figures 17A to 17I , Figures 21A to 21J and Figures 22A to 22F the examples of Figures 17A to 17I , Figures 21A to 21J and Figures 22A to 22Fis shown as the content visible via the display generation component 9100 of the computer system 101 and 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, the one or more input devices including cameras or other sensors and input devices that detect the movement of the user's hand, the movement of the user's entire body, and / or the movement of the user's head in the physical environment. In some embodiments, the one or more input devices detect the movement, current pose, orientation, and positioning of the user's hand, face, and / or entire body. For example, in some embodiments, when the 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 the user interface displayed on the display of the HMD 7100a (e.g., as a passthrough 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 the user interface displayed on the display of the HMD 7100a (e.g., as a passthrough 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 hand 7020 and / or 7022 include direct air gesture input that is based on the positioning of the representation 7020' and / or 7022' of the user's hand displayed within the user interface on the display of the HMD 7100a. For example, the direct air gesture input is determined to point to a user interface object displayed at a location that intersects the displayed positioning 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 hand 7020 and / or 7022 include indirect air gesture input that is 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 positioning 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 a user interface object is detected (e.g., based on gaze or other indication of the user's attention), an indirect air gesture, such as a gaze and pinch (e.g., or other gesture performed with the user's hand), is performed relative to the user interface object.
[0226] 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 a user's gaze. In some embodiments, the display generation component and optionally one or more input devices and the 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 via 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 based on 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 based on the movement of the display generation component relative to the user's head or face or relative to the physical environment.
[0227] In some embodiments, the display generation component 7100 of computer system 101 includes a head-mounted display (HMD) 7100a. For example, as Figure 7E1 (e.g., and Figure 8F2 、 Figure 9F1 、 Figure 10C1 、 Figure 15E1 、 Figure 16D1 、 Figure 17D2 、 Figure 21E1 and Figure 22D2)As illustrated in, 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 an 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. In these figures, a single image corresponding to an image for a single eye is shown, and depth information is indicated by additional 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 sensors 7101a, sensors 7101b, and / or sensors 7101c, which are used to detect the user's state, including facial and / or eye tracking of the user (e.g., using one or more inward-facing sensors 7101a and / or 7101b) and / or tracking the user's hand, torso, or other movement (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, touchpads, touchscreens, rollers, rotatable and depressible digital crowns, 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 Figure 7E1 the HMD 7100a includes one or more of buttons 701, buttons 702, and 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.
[0228] Figure 7E2 (e.g., as well as Figure 8F3 、 Figure 9F2 、 Figure 10C2 、 Figure 15E2 、 Figure 16D2 、 Figure 17D3 、 Figure 21E2 and Figure 22D3 )illustrate a top view of the user 7002 in the physical environment 7000. For example, the user 7002 is wearing the HMD 7100a such that the user's hands 7020 and / or 7022 are actually behind the display of the HMD 7100a within the physical environment 7000 and optionally in front of the box 7014 (e.g., where the representation 7014' of the box is shown as being further from the user's viewpoint than the representations 7020' and / or 7022' of the user's hands).
[0229] Figure 7E1 (e.g., as well as Figure 8F2, Figure 9F1 , Figure 10C1 , Figure 15E1 , Figure 16D1 , Figure 17D2 , Figure 21E1 and Figure 22D2 illustrate alternative display generation components of a computer system rather than Figures 7A to 7D , Figures 7E3 to 8F1 , Figures 8G to 9E , Figures 9F3 to 10B , Figures 10C3 to 10F , Figures 15A to 15D , Figures 15E3 to Figure 16C , Figures 16D3 to 17D1 , Figures 17E to 17I , Figures 21A to 21D , Figures 21D3 to Figure 22D1 and Figures 22E to 22F the displays illustrated in Figures 7A to 7D , Figures 7E3 to 8F1 , Figures 8G to 9E , Figures 9F3 to 10B , Figures 10C3 to 10F , Figures 15A to 15D , Figures 15E3 to Figure 16C , Figures 16D3 to 17D1 , Figures 17E to 17I , Figures 21A to 21D , Figures 21D3 to Figure 22D1 and Figures 22E to 22F the processes, features, and functions described for the display generation component 7100 also apply to Figure 7E1 (e.g., and Figure 8F2 , Figure 9F1 , Figure 10C1 , Figure 15E1 , Figure 16D1 , Figure 17D2 , Figure 21E1 and Figure 22D2 ) the HMD 7100a illustrated in.
[0230] Figures 7A to 7G illustrates an example for magnifying virtual and real content in a three-dimensional environment. Figure 11 is a flowchart of an exemplary method 1100 for magnifying virtual and real content in a three-dimensional environment. Figures 7A to 7G The user interface in is used to illustrate the processes described below, including Figure 11 the processes in.
[0231] Figure 7AIllustrates a physical environment 7000 visible to a user 7002 via a display generation component 7100 of a computer system 101. The physical environment includes physical walls 7004, 7006, and 7008. The physical environment 7000 also includes a physical ball 7028 placed on top of a physical object 7014. The user 7002 holds the display generation component 7100 with a hand 7020 or a 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 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 passthrough portions that include a representation of the corresponding portions of the physical environment 7000 captured by 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 optical passthrough 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.
[0232] Figure 7B Illustrates a view 7000' of a three-dimensional environment visible to a user 7002 via a display generation component 7100. 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 portions of the physical environment 7000 as captured by one or more cameras of the computer system 101 (or, in some embodiments, an optical passthrough view through one or more transparent or translucent 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 the physical wall 7004, a representation (or optical view) 7006' of a portion of the physical wall 7006, and a representation (or optical view) 7008' of a portion of the physical wall 7008. Additionally, the view 7000' of the three-dimensional environment includes a representation (or optical view) 7014' of a portion of the physical object 7014 and a representation (or optical view) 7028' of the physical ball 7028. Additionally, the view 7000' of the three-dimensional environment includes an application user interface 7030 of a messaging application. The application user interface 7030 is virtual content visible in the distance in the view 7000' of the three-dimensional environment where it may be difficult for some users to see the content. In Figure 7A which, a side view 7024 illustrates the application user interface 7030 as seen from the side (e.g., rather than the front as in the view 7000' of the three-dimensional environment).
[0233] 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 also visible but are not described for the sake of brevity. Figure 7B and are not described for the sake of brevity.
[0234] Figure 7C Illustrated is a virtual magnifier 7032 that magnifies (or increases the size of) a first portion of the application user interface 7030 according to some embodiments. For example, the virtual magnifier 7032 magnifies the search field 7036 as well as other user interface elements. In some embodiments, the virtual magnifier 7032 magnifies a portion of the view 7000' of the three-dimensional environment on which the user 7002 has focused, where the user's focus can be determined in a variety of ways (e.g., the position of a gaze, a cursor, a position pointed to by a 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 a control for activating an accessibility mode (via an air gesture, a controller, or other selection input), a voice command, or other inputs.
[0235] 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 with the slider 7034 (e.g., directly or indirectly). For example, a gaze input combined with a movement of the hand 7020 at the slider 7034 (e.g., up or down) can increase or decrease the zoom level, respectively. If the zoom level increases in response to an input from the user 7002 at the slider 7034, the size of the displayed search field and / or other user interface elements (displayed by or within the virtual magnifier 7032) increases according to the increased zoom level.
[0236] As shown in the side view 7024 and the top view 7026, the virtual amplifier 7032 is spaced apart from the application user interface 7030. For example, the virtual amplifier 7032 is separated from the application user interface 7030 in the "z" direction such that the virtual amplifier 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 amplifier 7032 is displayed closer to the viewpoint of the user 7002 than the application user interface 7030. For example, the distance from the application user interface 7030 to the user 7002 (or other reference point) is greater than the distance from the virtual amplifier 7032 to the user 7002 (or the same reference point).
[0237] In some embodiments, the application user interface 7030 is world-locked and the virtual amplifier 7032 is locked to a reference point. When the positioning of the reference point changes, the positioning of the virtual amplifier 7032 also changes accordingly, and in turn, the portion of the application user interface 7030 that is magnified also changes correspondingly. For example, Figure 7D illustrates a transition from Figure 7C in response to the user 7002 using the hand 7020 to perform an interactive input (as Figure 7C indicated by the hand 7020 shown with an arrow). In some embodiments, the interactive input includes hand gestures (e.g., using the hand 7020 and / or the hand 7022), gaze input, interaction with user interface elements (e.g., directly or indirectly), voice input, and / or input with a controller. Figure 7D shows the virtual amplifier 7032 at a different positioning than the positioning where the virtual amplifier 7032 is located in Figure 7C to thereby magnify (or increase the size of) a second portion of the application user interface 7030. For example, as shown in the top view 7026 in Figures 7C to 7D , the virtual amplifier 7032 is moved from left to right while the distance between the virtual amplifier 7032 and the application user interface 7030 remains the same. The magnified second portion of the application user interface 7030 includes a magnified version 7038' of the control 7038 for initiating a video call.
[0238] In some embodiments, changing the positioning of the virtual amplifier 7032 in Figure 7D in response to changing the positioning of the reference point to which the virtual amplifier 7032 is locked (e.g., relative to the positioning of the virtual amplifier 7032 in Figure 7C ), where the application user interface 7030 remains anchored or locked to its positioning in the view 7000' of the three-dimensional environment (e.g., in response to changing the positioning of the virtual amplifier 7032, the positioning of the application user interface 7030 in FIG. C remainsFigure 7D Without changing. The reference point to which the virtual amplifier is locked can be controlled by the following: the viewpoint of user 7002; the orientation of the head of user 7002; the position or movement of the hand 7020 of the user; the orientation, position, or movement of the wrist of user 7002; the position to which the controller is pointed, or other reference points in the view 7000' of the three-dimensional environment. In some embodiments, the positioning of the virtual amplifier 7032 relative to the reference point to which it is locked can be changed (e.g., by the user).
[0239] Figure 7E (e.g., Figure 7E1 , Figure 7E2 and Figure 7E3 , where a user interface similar to the one described in Figure 7E1 is shown on the HMD 7100a in Figure 7E3 illustrates the transition from Figure 7C in response to user 7002 using the hand 7020 to perform an interaction input (e.g., a direct air gesture such as an air tap or an 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 gaze is directed towards the location where the user is interacting; a tap input; a gaze input; a drag input; and / or another type of user input) (as Figure 7D is indicated by the hand 7020 shown with an arrow in Figure 7D . Figure 7E illustrates a change in the positioning of the reference point in the rightward direction according to the positioning of the reference point in Figure 7D , and accordingly the positioning of the virtual amplifier 7032 changes, and in turn the virtual amplifier 7032 magnifies the third part of the application user interface 7030. For example, as shown in the top view 7026 in Figure 7C to Figure 7E, the virtual amplifier 7032 moves from left to right. In some embodiments, the interaction input includes hand gestures (e.g., using the hand 7020 and / or the hand 7022), gaze inputs, interactions with user interface elements (e.g., directly or indirectly), voice inputs, and / or inputs with the controller. Additionally, Figure 7E shows that in addition to magnifying the third part of the application user interface 7030, the virtual amplifier 7032 also magnifies the physical ball 7028, which is an example of real-world content that is falling and being magnified by the virtual amplifier 7032. In some embodiments, the virtual amplifier 7032 can magnify the application user interface 7030 without magnifying real-world content.
[0240] In some embodiments, in addition to magnifying content (e.g., virtual content and / or real-world content), a filter overlay may be applied to the magnified content of the application user interface 7030 displayed in the virtual magnifier 7032. In some embodiments, a filter overlay may 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 a filter overlay 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 a filter overlay 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, applying a filter overlay in FIG. 7E (e.g., Figure 7E1 , Figure 7E2 and Figure 7E3 ) may include converting the magnified content of the application user interface 7030 and / or the physical ball 7028 from color to grayscale.
[0241] In some embodiments, the user 7002 may interact with the virtual magnifier 7032. Inputs directed at the virtual magnifier 7032 (e.g., directed at the surface of the virtual magnifier 7032 rather than the underlying content being magnified) are interpreted by the computer system 101 as if those inputs were received by the underlying content. For example, in Figure 7F , an input directed at the magnified version 7038' of the control 7038 for initiating a video call is forwarded to the control 7038 of the application user interface 7030. In Figure 7F , the input directed at the magnified version 7038' of the control 7038 is an indirect input gesture that includes a gaze directed at or near the magnified version 7038' of the control 7038 combined with an air pinching gesture performed with the hand 7020 (e.g., an air pinching gesture where the thumb is oriented towards or touches another finger (such as the index finger) of the same hand). In some embodiments, the input directed at the magnified 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 magnified version 7038' of the control 7038.
[0242] As Figure 7G shown, a video call is initiated in response to an input directed at the magnified version 7038' of the control 7038. For example, the application user interface 7030 of the messaging application is replaced with the user interface 7031 for the video call. Additionally, the virtual magnifier 7032 magnifies a portion of the user interface 7031 for the video call.
[0243] Reference is made below with respect toFigure 11 The method 1100 described above is used to provide additional descriptions about Figures 7A to 7G .
[0244] Figures 8A to 8L An example is illustrated of using a ray and a selection cursor moving along the ray to select a point in a three-dimensional environment and interact with that point. Figure 12 It is a flowchart of an exemplary method 1200 for using a ray and a selection cursor moving along the ray to select a point in a three-dimensional environment and interact with that point. Figures 8A to 8L The user interface in Figure 12 is used to illustrate the processes described below, including
[0245] Figure 8A An example is illustrated of a view of the three-dimensional environment 8000 visible to the user 7002 via the display generation component 7100 of the computer system 101. Figure 8A The three-dimensional environment of Figure 7A optionally includes a representation (or optical view) of objects in a physical environment such as the physical environment 7000 ( Figure 8A ), for example, as captured by one or more cameras of the computer system 101, except that there is no physical ball 7028 on top of the physical object 7014. For example, in Figure 8A the three-dimensional environment 8000 includes a representation (or optical view) 7014' of the physical object 7014, a representation (or optical view) 7006' of the physical wall 7006, and a representation (or optical view) 7008' of the physical floor 7008. In addition, the three-dimensional environment 8000 includes one or more computer-generated objects, also known as virtual objects, such as the ball 8002 and the speaker 8004 (obscured in the view of the environment 8000 visible via the display generation component 7100 in Figure 8A but visible in the top view 8010 in
[0246] Figure 8AAlso shown is an application user interface 8006 displayed in a three-dimensional environment 8000. In some embodiments, the application user interface 8006 corresponds to the user interface of a software application (e.g., an email application, a web browser, a messaging application, a map 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 Figure 8A E1, E2, and E3 in the example.
[0247] Figure 8A Shown is a ray 8008 extending from a reference point corresponding to the user 7002 (e.g., the viewpoint of the user 7002 in the three-dimensional environment 8000 or the simulated position 7002' of a part of the user 7002 such as the hand 7020, or the simulated position of the viewpoint of the display generation component 7100 in the three-dimensional environment 8000), as Figure 8A indicated in the top view 8010 of the three-dimensional environment 8000 in. As Figure 8A indicated, the ray 8008 extends into the three-dimensional environment 8000 and intersects one or more objects in the environment 8000. For example, Figure 8A the ray 8008 in intersects the wall 7006'. Additionally, in Figure 8A the ray 8008 moves horizontally through a plurality of candidate directions (e.g., pivoting around the reference point), as indicated by the dashed arrows.
[0248] In some embodiments, when the switching interaction mode is enabled for the computer system 101, Figures 8A to 8L the features of are enabled. In some embodiments, when one or more auxiliary input devices are connected to the computer system 101, or when the computer system 101 otherwise communicates with one or more auxiliary input devices, Figures 8A to 8L the features of (e.g., as part of the switching interaction mode) are available. In some embodiments, in response to an auxiliary input device being connected to the computer system 101 or otherwise starting to communicate with the computer system, Figures 8A to 8LThe feature (e.g., as part of switching interaction modes) is 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 different from a traditional keyboard or pointing device (such as a mouse, stylus, or pen) and allows an individual with a physical impairment to independently operate the computer system. Examples of assistive input devices include joysticks (e.g., which can assist in navigation around the displayed user interface), buttons (e.g., which can be pressed by a finger or hand, foot, chin, head, or other part of the user and which can be configured to respond to a lighter press than a traditional button), and / or oral pieces (e.g., which can be operated by air (drawn out or blown in), by sound, and / or by biting). In some embodiments, the assistive input device is used to provide input to perform selection input, activation input, or other types of input. In some embodiments, the interaction input referred to herein is received via one or more assistive input devices in communication with computer system 101 Figures 8A to 8L the interaction input described above.
[0249] Figure 8B illustrates the transition from Figure 8B in response to user 7002 using hand 7020 to perform an interaction input (as Figure 8A indicated by hand 7020 shown with an arrow). In some embodiments, the interaction 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, user 7002 must hold their hand (e.g., hand 7020 and / or hand 7022) in a predefined configuration (e.g., a ready state) such that ray 8008 is displayed and moved through a plurality of candidate directions, and the movement of ray 8008 through the plurality of candidate directions is stopped in response to user 7002 performing an interaction input with their hand in the predefined configuration. In response to Figure 8B the interaction input indicated in Figure 8B computer system 101 stops the horizontal movement of ray 8008 (e.g., from among the plurality of candidate directions that span horizontally) and begins to move ray 8008 vertically (e.g., pivot around a reference point) through another plurality of candidate directions (e.g., that span vertically) starting from the intermediate direction where the horizontal movement of ray 8008 was stopped, as indicated by the dashed arrow in Figure 8BAs shown, ray 8008 intersects wall 7006' and passes over (without intersecting) speaker 8004 and representation 7014' of physical object 7014, as viewed via display generation component 7100 and as indicated in top view 8010.
[0250] Figure 8C Illustrates a transition from Figure 8B in response to user 7002 using hand 7020 to perform an interaction input (e.g., another interaction input, such as the interaction input as referenced Figure 8C and as indicated by hand 7020 shown with an arrow in Figure 8B . In response to the interaction input indicated in Figure 8C , when ray 8008 extends in the corresponding direction, computer system 101 causes the movement of ray 8008 through the plurality of candidate directions spanned vertically to stop, and continues to display ray 8008 extending in the corresponding direction (also referred to as the selected direction).
[0251] Thus, Figures 8A to 8C illustrates an example implementation in which the corresponding direction of ray 8008 is selected from a plurality of candidate directions by: moving ray 8008 through (e.g., as Figure 8A shown, horizontally spanned) a first set of candidate directions, and then in response to a first interaction input, moving ray 8008 from an intermediate direction selected from the first set of candidate directions through (e.g., vertically) spanned a second set of candidate directions (e.g., as Figure 8B shown), and selecting the corresponding direction of ray 8008 from the second set of candidate directions in response to a second interaction input ( Figure 8C)。In other example embodiments, the corresponding direction of ray 8008 is selected from a plurality of candidate directions by moving ray 8008 in a different manner (e.g., pivoting ray 8008 around a reference point corresponding to user 7002 in a different manner). 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 the point in the three-dimensional environment 8008 corresponding to the location that user 7002 is currently viewing). In some embodiments, in response to detecting a single interaction input for selecting the corresponding direction of ray 8008 (e.g., an interaction input performed when ray 8008 extends in the corresponding candidate direction, whether ray 8008 is automatically moving through the plurality of candidate directions, or whether user 7002 is gazing at a particular target in environment 8000), computer system 101 sets the current candidate direction of ray 8008 as the corresponding direction for ray 8008. In some embodiments, the plurality of candidate directions in environment 8000 are grouped into one, two, or more groups of candidate directions, and two or more corresponding interaction inputs are required to select the corresponding direction for ray 8008 (e.g., as described herein with reference to Figures 8A to 8C ).
[0252] When ray 8008 extends in the selected direction, as in Figure 8C , ray 8008 intersects application user interface 8006, and in particular intersects element E3 of application user interface 8006, and intersects speaker 8004, as indicated in top view 8010. Figure 8C Also illustrated is that after the vertical movement of ray 8008 is stopped, and when ray 8008 is shown to extend 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 8CThe top view 8010 in [reference] indicates the current position of the cursor 8012 along the ray 8008 in the environment 8000. In some embodiments, the cursor 8012 automatically moves along the ray 8008 in response to the ray 8008 being moved and then stopped, enabling a user (such as 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 along the ray 8008 in discrete steps. Additionally, 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., is visually emphasized such as by highlighting, showing a contour, or other visual feedback) to indicate that an interaction input (e.g., as described and shown herein with reference to Figure 8E will activate the stop button 8014 and stop the movement of the cursor 8012 along the ray 8008 (e.g., to select the current position of the cursor 8012 along the ray 8008 for subsequent interaction).
[0253] Figure 8D illustrates the automatic movement of the cursor 8012 along the ray 8008 in the absence of an interaction input that activates the stop button 8014 (e.g., after detecting an interaction input of Figure 8C and before detecting an interaction input of Figure 8E . As indicated in the view of the environment 8000 visible via the display generation component 7100 and as indicated in the top view 8010 of Figure 8D , the cursor 8012 has moved further along the ray 8008 from the simulated position 7002' of the user 7002 in the environment 8000 and has not yet reached the application user interface 8006. In some embodiments, as Figure 8D shows, the stop button 8014 moves with the cursor 8012 (e.g., stays next to the cursor 8012 when the cursor 8012 moves). In some embodiments, when the cursor 8012 moves, the stop button 8014 is displayed at a fixed position in the environment 8000.
[0254] Figure 8E illustrates a further automatic movement of the cursor 8012 along the ray 8008. As indicated in the view of the environment 8000 visible via the display generation component 7100 and as Figure 8EAs indicated in the top view 8010 in [description omitted], the cursor 8012 has further moved along the ray 8008 from the simulated location 7002' of the user 7002 in the environment 8000 and has reached the element E3 of the application user interface 8006. When the cursor 8012 has reached the element E3 of the application user interface 8006, the user 7002 performs an interactive input to activate the stop button 8014 (e.g., another interactive input such as the interactive input described with reference to Figures 8B to 8C ). In response to detecting the interactive input, the 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 element E3 of the application user interface 8006) is selected as the current interaction point.
[0255] Figure 8F (e.g., Figure 8F1 , Figure 8F2 and Figure 8F3 , where a user interface similar to the one described in Figure 7F1 is shown on the HMD 7100a in Figure 7F2) shows that, in accordance with stopping the movement of the cursor 8012 (which in this example causes the interaction point 8016 on the element E3 of the application user interface 8006 to be selected 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 8016. In the example of Figure 8F, the available options for interacting with the interaction point 8016 on the element E3 of the application user interface 8006 are: an option 8018 labeled "Tap" (e.g., for performing an operation in response to a tap input on the element E3 at the interaction point 8016, such as by activating the element E3); an option 8020 labeled "Scroll Down" (e.g., for scrolling down the application user interface 8006); and an option 8022 labeled "Select" (e.g., for selecting the element E3 for further interaction). In Figure 8F, the "Tap" option 8018 currently has focus and will be activated in response to an interactive input, as indicated by the selection outline displayed around the "Tap" option 8018.
[0256] Figure 8G shows the user 7002 performing an interactive 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 a user interface 8024 labeled "E3-2" corresponding to the activation of the element E3, as Figure 8H shown. For example, Figure 8G (and Figure 8AThe elements E1, E2, and E3 in FIGS. 8A-8F represent different items in a list of content items (e.g., emails, messaging conversations, audio tracks, videos, or other content), and in Figure 8H user interface 8024, the corresponding content item E3-2 (e.g., a specific email, conversation, song, video, or other content item) is displayed.
[0257] In some embodiments, when the plurality of available interaction options for a selected interaction point are displayed (e.g., in response to an interaction input that selects the corresponding interaction point and stops the movement of cursor 8012 along ray 8008), and in the absence of an interaction input that selects a specific interaction option, computer system 101 automatically cycles through the different interaction options in turn to change which interaction option has focus. For example, if no Figure 8G interaction input is performed, the focus will (e.g., after a pre-determined amount of time, such as 0.2 seconds, 0.3 seconds, 0.5 seconds, 1 second, 2 seconds, or any other period (which can be a system default or user-selected period)) move from the "tap" option 8018 to another option, such as the "scroll down" option 8020, as Figure 8I shown. In response to an interaction input being performed when the "scroll down" option 8020 is selected (as Figure 8I shown), the operation associated with the "scroll down" option 8020 is performed. In particular, as Figure 8J shown, the list of content items in application user interface 8006 is scrolled to access content items below the previously displayed content items, such that elements E1 and E2 are scrolled out of view upward, element E3 is offset upward, and elements E4, E5, and E6 are (partially) scrolled into view upward.
[0258] In some embodiments, when the plurality of available interaction options for a selected interaction point are displayed (e.g., in response to an interaction input that selects the corresponding interaction point and stops the movement of cursor 8012 along ray 8008), computer system 101 is configured to select different interaction options (e.g., perform different associated operations) in response to different types of user input (e.g., direct air gestures at the location where 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 directed toward the location where the user is interacting, such as an air pinch; tap input; gaze input; drag input; and / or another type of user input). With respect to the example of FIG. 8F, optionally, computer system 101 activates the "tap" option 8018 and performs the operation associated with tapping on the interaction point 8016 in response to user 7002 performing a 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 as compared to a pinch input, an input performed with a first number of fingers as compared to an input performed with a different second number of fingers (such as a single finger pinch as compared to a multi - finger pinch as described herein with reference to method 1300), an input performed with a first number of repetitions as compared to an input performed with a different second number of repetitions (such as a single press as compared to a double press), an input performed via one input device as compared to an input performed via a different input device (such as an air gesture as compared to a hardware actuation), or any other means of differentiating input types). Figures 8I to 8J ) Those of ordinary skill in the art will readily understand that any number of different types of input can 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, an input performed with a third number of fingers or a third number of repetitions or using a third input device, or other means of differentiating input types) optionally causes the computer system 101 to activate the "select" option 8022 (FIG. 8F) and perform the operation associated with the "select" option 8022. Similarly, with respect to the Figure 8L example described herein, optionally, the computer system 101 activates the "tap" option 8028 and performs the operation associated with tapping on the interaction point 8026 in response to the user 7002 performing a fourth type of input (e.g., the same as the first type of input), while the computer system 101 activates the "select" option 8030 and performs the operation associated with the "select" option 8030 in response to the user 7002 performing a fifth type of input that is different from the fourth type of input (e.g., the same as the second type of input or the same as the third type of input).
[0259] In some embodiments, when 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 Figures 8C to 8E , the application user interface 8006 (optionally being the next object in the environment 8000 that is closest to the current position of the cursor 8012) is visually prominent (e.g., is displayed in the foreground with a high opacity and / or brightness and / or is 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)).
[0260] In contrast, if the movement of the cursor 8012 is not stopped at an element E3 of the application user interface 8006 (as in response to Figure 8E in the interactive input of FIG. 8F), the cursor 8012 continues to move along the ray 8008. For example, if the interactive input of Figure 8E is not performed, the cursor 8012 will continue to move along the ray 8008 past the application user interface 8006 (e.g., to be farther from the view point of the user 7002 than the point where the ray 8008 intersects the application user interface 8006), as Figure 8K shown. Accordingly, the application user interface 8006 is visually de-emphasized in one or more ways (optionally with one or more visual characteristics being maintained). For example, when the application user interface 8006 remains in the foreground (e.g., at the same location in the environment 8000), Figure 8K the application user interface 8006 in FIG. 8G is blurred and / or has its opacity reduced (e.g., made more transparent). Accordingly, the speaker 8004, additional portions of the ray 8008, and additional portions of the representation 7014' of the physical object 7014 (which are behind the application user interface 8006 in the environment 8000 and were previously obscured by the application user interface 8006 Figures 8C to 8E )) are more visible in Figure 8K FIG. 8G. 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, as Figure 8K shown. In some embodiments, the stop affordance 8014 remains in focus because the stop affordance 8014 is not obscured by the application user interface 8006 (e.g., even though the stop affordance 8014 is next to the cursor 8012 and thus also behind the application user interface 8006 in the environment 8000). In some embodiments, the stop affordance 8014 is partially obscured by the visually de-emphasized application user interface 8006 like the cursor 8012, but is still shown as having focus in a different way (e.g., using a selection outline and / or highlighting).
[0261] Specifically, in Figure 8K FIG. 8H, the cursor 8012 has moved along the ray 8008 past 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 that when the cursor 8012 has reached the speaker 8004, the user 7002 uses the hand 7020 to perform an interactive input, as indicated by the hand 7020 shown with an arrow. In response to detecting the interactive input, the movement of the cursor 8012 along the ray 8008 is stopped, and the current positioning of the cursor 8012 in the three-dimensional environment 8000 (e.g., on the speaker 8004) is selected as the current interaction point.
[0262] Figure 8L Shown is that in accordance with 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. In Figure 8L the example, the available options for interacting with the interaction point 8026 on the speaker 8004 are: an option 8028 labeled "Tap" (e.g., for performing an operation in response to a tap input on the speaker 8004 at the interaction point 8026, such as by activating the speaker 8004); and an option 8030 labeled "Select" (e.g., for selecting the speaker 8004 for further interaction). In Figure 8L it, the "Tap" option 8028 currently has focus and will be activated in response to the interactive input, as indicated by the selection outline shown around the "Tap" option 8028. As described above with reference to Figure 8I it, in some embodiments, before an interaction option is selected or an input that causes a different action is detected, the computer system 101 automatically cycles through and alternately gives focus to the "Tap" option 8028 and the "Select" option 8030 among different interaction options. As described above with reference to Figure 8G it, in some embodiments, when the corresponding interaction option is selected, it enables the user 7002 to perform an interactive input so that the computer system 101 performs an operation associated with the selected interaction option. For example, in response to the user 7002 performing an interactive input when the "Tap" option 8028 is selected, the computer system 101 optionally launches a media playback application and displays the user interface of the media playback application. Also, for example, in response to the user 7002 performing an interactive input when the "Select" option 8030 is selected, the computer system 101 optionally selects the speaker 8004 (e.g., for repositioning, rescaling, deleting, or other object manipulation operations).
[0263] Additional description regarding Figure 12 is provided below with reference to the method 1200 described relative to Figures 8A to 8L it.
[0264] Figures 9A to 9HIllustrates example techniques for using both hands to switch between interacting with an active application in a three-dimensional environment and performing operations outside the active application. Figure 13 Is a flowchart of an exemplary method 1300 for using both hands to switch between interacting with an active application in a three-dimensional environment and performing operations outside the active application. Figures 9A to 9H The user interface in is used to illustrate the processes described below, which include Figure 13 The processes in.
[0265] Regarding herein Figures 9A to 9H The techniques and method 1300 described (e.g., Figure 13 As described in) relate to an accessibility mode for visually impaired persons, sometimes referred to as the "read aloud" mode, in which a vocal description of virtual objects (e.g., user interfaces and user interface elements) is provided in response to navigation gestures or other user inputs (e.g., navigation gestures that disambiguate between navigation within the currently active application or navigation to another (e.g., inactive or input focus-less) application).
[0266] Figure 9A Illustrates a physical environment 9000 visible to a user 9002 via a display generation component 9100 of a computer system 101. The physical environment includes physical walls 9004, 9006 and a floor 9008 as well as a 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 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 passthrough portions that include representations of corresponding portions of the physical environment 9000 captured by 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 passthrough 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 generation component 9100.
[0267] Figure 9BIllustrates a view 9000' of a three-dimensional environment visible to user 9002 via display generation component 9100. 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 computer system 101. The view 9000' of the three-dimensional environment includes a representation (or optical view) 9004' of a portion of physical wall 9004, a representation (or optical view) 9006' of a portion of physical wall 9006, and a representation (or optical view) 9008' of a portion of physical floor 9008. Additionally, the view 9000' of the three-dimensional environment includes a representation (or optical view) 9014' of a portion of physical object 9014.
[0268] Additionally, in Figure 9B the view 9000' of the three-dimensional environment includes application user interface 9030 of an email application, which is currently open and active (e.g., the attention or gaze of user 9002 is focused on application user interface 9030 of the email application). Application user interface 9030 is virtual content visible to user 9002 via display generation component 9100 (e.g., not part of physical environment 9000). In some embodiments, application user interface 9030 of the email application corresponds to the user interface of a software application executed on computer system 101. Application user interface 9030 is divided into three sections, including: a first section 9032 listing the inbox (or electronic folder storing emails), a second section 9034 listing emails of the corresponding folder or 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. For example, the first section 9032 includes inbox 9032a for incoming emails and draft folder 9032b for draft emails. Additionally, inbox 9032a for incoming emails is currently active and selected. The second section 9034 displays a list of emails in 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 email list displayed in section 9034.
[0269] Figure 9B Further illustrates that when the right hand 9022 is in state B0, user 9002 uses the left hand 9020 (in Figure 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.
[0270] Figure 9C The example shows that in response to the user 9002 performing the first gesture A1 (such as Figure 9B 9020 shown with an arrow and the right hand 9022 shown without an arrow) from Figure 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 Figure 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.
[0271] In some embodiments, a screen reader application is enabled on computer system 101. In some embodiments, the screen reader is a system application that is enabled or disabled by, for example, selecting settings of computer system 101 via direct or indirect air gestures, voice commands, or use of a controller device. In some embodiments, the screen reader audibly describes what is visible in a view 9000' of a three-dimensional environment. For example, the screen reader automatically speaks text that is in focus (e.g., highlighted, otherwise indicated, identified, or selected by a focus selector or focus indicator) or describes user interface elements of the currently active application. In some embodiments, two-handed navigation is used to interact with and navigate through application user interfaces and corresponding user interface elements within the user interface that are visible in a view 9000' of a three-dimensional environment. In some embodiments, an audio description (e.g., spoken description) of a draft folder 9032b is generated and output in response to navigating forward from an inbox 9032a to the draft folder 9032b. For example, when a focus indicator moves from one location or user interface element to another in a view 9000' of a three-dimensional environment, the screen reader outputs a description of the item indicated by the focus indicator. In some embodiments, the audio description can notify a visually impaired user of what the currently selected user interface element is. In some embodiments, the 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 on available gestures is displayed or visible in a view 9000' of a three-dimensional environment.
[0272] In some embodiments, if a first gesture A1 performed with a left hand 9020 corresponds to a multi-finger air pinch (e.g., pinching the index finger and middle finger with the thumb), then Figure 9BThe focus selector (or indicator) on the inbox 9032a (as indicated by the selection outline shown around the draft inbox 9032a) 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 of the same email application, sometimes referred to as a hierarchical level). For example, the focus selector will move to the second section 9034 (for selecting email messages within the currently selected folder), which is an adjacent section to the first section 9032 (e.g., for selecting mailbox folders), 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 where the user is looking) when the gesture is performed.
[0273] Figure 9C Further illustrates that when the right hand 9022 is in state B0, the user 9002 uses the left hand 9020 (shown with an arrow in Figure 9C to perform a second gesture A2. For example, the second gesture A2 performed with the left hand 9020 corresponds to a single-finger air pinch (e.g., pinching the middle finger and thumb), which is different from the first gesture A1 (e.g., a multi-finger air gesture), and the state B0 corresponds to a 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.
[0274] Figure 9D Illustrates the transition from Figure 9C in response to the user 9002 using the left hand 9020 to perform a second gesture A2 (as indicated by the left hand 9020 shown with an arrow and the right hand 9022 shown without an arrow in Figure 9C when the right hand 9022 is in state B0. 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 backward between user interface elements in the first region 9032). Since the right hand 9022 is not performing a gesture when the second air gesture A2 is 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 the email application. In particular, as Figure 9DAs shown, the focus selector is moved backward from the Drafts folder 9032b to the Inbox 9032a (as indicated by the selection outline shown around the Inbox 9032a), and the Inbox 9032a becomes the currently active one. In response to navigating backward from the Drafts folder 9032b to the Inbox 9032a, the content shown in the second section 9034 is changed (e.g., the same content as that shown in Figure 9B is redisplayed). In particular, the second section 9034 lists the email messages in the Inbox 9032a, which in this example includes four emails located in the Inbox 9032a (e.g., assigned to or saved in the Inbox 9032a), and the third section 9036 shows the content of the email message listed in the second section 9034 (e.g., the top email message in this example, or in another example, the last selected email message in the currently selected email folder in the first area 9032 (if any)).
[0275] 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 Figure 9C the focus selector (or indicator) located on the Drafts folder 9032b in
[0276] Figure 9D will move to another section 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 backward to the third section 9036, where the first section 9032 and the third section 9036 are at the same hierarchical level, and where the first section 9032 is the first section in the sequence of sections including sections 9032, 9034, and 9036, and the third section 9036 is the last section 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 where the user is gazing) when the gesture is performed.
[0276] Figure 9D Further illustrated is when the right hand 9022 is in state B1 (shown as no arrow), the user 9002 uses the left hand 9020 (in Figure 9DThe first gesture A1 is performed (shown with an arrow in ) using the left hand 9020. For example, the first gesture A1 corresponds to a single-finger pinch-in-air gesture, where a single-finger pinch-in-air is performed with the left hand 9020 (e.g., pinching the index finger and thumb and then releasing the pinch), while the right hand 9022 is held in state B1, which corresponds to holding a single-finger pinch-in-air 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 for any pinch-in-air gesture performed with the left hand 9020 when in state B1.
[0277] Figure 9E An example illustrates a transition from in response to the user 9002 performing the first gesture A1 with the left hand 9020 when the right hand 9022 is in state B1, as Figure 9D indicated in. Figure 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 of the email application. In this example, holding the right hand 9022 in state B1 when the first air gesture A1 is performed 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 of the email application, as opposed to performing within the email application, which is the currently active application. In some embodiments, a system operation is performed. For example, as Figure 9E shown, a screen reader is invoked, and the user interface 9040 of the screen reader is visible in the view 9000' of the three-dimensional environment, where 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 a plurality of settings that, if selected, can be adjusted in response to user input (e.g., direct air gestures such as an air tap or an air pinch at the location where the user is interacting; indirect air gestures such as an air pinch when the user's attention or the user's gaze is directed towards the location where the user is interacting; tap input; gaze input; drag input; and / or another type of user input). For example, the user interface 9040 of the screen reader indicates that a focus indicator is located at a setting related to the speech rate of the screen reader application (e.g., the speech rate setting 9040a). The user 9002 can perform subsequent gestures (such as a single pinch, a multi-pinch, or a pinch-slide air gesture) to change the speech rate at which the screen reader application describes the user interface elements (e.g., of the email application) displayed in the view 9000' of the three-dimensional environment.
[0278] Additionally, Figure 9EIllustrates that when the right hand 9022 is in state B0, the user 9002 uses the left hand 9020 (shown with an arrow in Figure 9E ) to perform a first gesture A1. For example, the first gesture A1 performed with the left hand 9020 corresponds to a single finger pinch in the air (e.g., pinching the index finger and thumb), and state B0 corresponds to a 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 for any air gesture performed with the left hand 9020 when in state B0, or alternatively, keeping the right hand 9022 in state B0 indicates to the computer system 101 that any detected air gesture performed with the left hand 9020 is to be understood as one of a predefined set, or default set, or first set of instructions, commands, or requests.
[0279] Figure 9F (e.g., Figure 9F1 , Figure 9F2 and Figure 9F3 , where a user interface similar to that described in Figure 9F1 is shown on the HMD 7100a in Figure 9F3 ) illustrates the transition from Figure 9E in response to the user 9002 using the left hand 9020 to perform a first gesture A1 (e.g., a direct air gesture such as an air tap or an 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 directed towards the location where the user is interacting; a tap input; a gaze input; a drag input; and / or another type of user input) when the right hand 9022 is in state B0 (as indicated by the left hand 9020 shown with an arrow and the right hand 9022 shown without an arrow in Figure 9E ). In response to the first gesture A1 performed with the left hand 9020 when the right hand 9022 is in state B0, an operation (e.g., navigating forward between settings) is performed in the screen reader application. Since the right hand 9022 is not performing a gesture when the first air gesture A1 is 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 the screen reader application. In particular, as shown in Figure 9F, the focus selector is moved forward from the speech rate setting 9040a to the volume setting 9040b. The user 9002 can perform subsequent gestures (such as a single pinch, a multi-pinch, or a pinch-slide air gesture) to change the volume of the audio output generated by the screen reader application for the user interface elements (e.g., of an email application) displayed in the view 9000' that describes the three-dimensional environment.
[0280] Figure 9G (View 9000' of the three-dimensional environment) illustrates the application user interface 9030 of an email application, which is currently open and active (e.g., the attention or gaze of user 9002 is focused on the application user interface 9030 of the email application). The focus selector is located at the inbox 9032a for incoming emails in the first section 9032 of the application user interface 9030. Additionally, Figure 9G illustrates that when the left hand 9020 is in state A1, user 9002 uses the right hand 9022 (shown with an arrow in Figure 9G ) to perform a first gesture B1. For example, the first gesture B1 corresponds to a secondary air pinch gesture, where a single-finger air pinch is performed with the right hand 9022 (e.g., pinching the index finger and thumb and then releasing the pinch), and state A1 corresponds to holding the single-finger air pinch gesture (e.g., pinching the index finger and thumb without releasing). The left hand 9020 acts as a modifier for any air gesture (e.g., air pinch gesture or other air gesture) performed with the right hand 9022 when in state A1.
[0281] Figure 9H illustrates the transition from Figure 9G in response to user 9002 using the right hand 9022 to perform the first gesture B1 when the left hand 9020 is in state A1, as indicated in Figure 9G . In response to the 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., keeping the pinch gesture) when the first gesture B1 is performed 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, which is the currently active application. In some embodiments, the operation performed in response to the first gesture B1 when the left hand 9020 is held in state A1 corresponds to switching to another application (optionally an already launched application), e.g., switching to the next open application (e.g., optionally, e.g., sorting the open applications in a sequence based on the last time user 9002 interacted with the corresponding open application). For example, as shown in Figure 9H , in response to the first gesture B1, when the left hand 9020 is held in state A1, in view 9000' of the three-dimensional environment, the application user interface 9050 of the messaging application replaces the application user interface 9030 of the email application.
[0282] In some embodiments, if 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 this gesture as an instruction, command, or request to switch to another application different from the messaging 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 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 the context of, detecting the second gesture B2 performed with the right hand 9022 while the left hand 9020 is in state A1 causes the computer system 101 to display, in the view 9000' of the three-dimensional environment, the user interface of a third application different from the email application and the messaging application.
[0283] The following provides additional description with reference to the method 1300 described with respect to Figure 13 to provide additional description regarding Figures 9A to 9H of.
[0284] Figures 10A to 10F Illustrates example techniques for switching between navigating within one application hierarchy level and navigating between different application hierarchy levels of user interfaces visible in a three-dimensional environment. Figure 14 Is a flowchart of an exemplary method 1100 for switching between navigating within one application hierarchy level and navigating between different application hierarchy levels of user interfaces visible in a three-dimensional environment. Figures 10A to 10F The user interface in is used to illustrate the processes described below, which include Figure 14 the processes in.
[0285] The techniques and methods 1400 described herein with respect to Figures 10A to 10F (e.g., as described in Figure 14 relate to an accessibility mode for visually impaired persons, sometimes referred to as the "read aloud" mode, in which a vocal description of virtual objects (e.g., user interfaces and user interface elements) is provided in response to navigation gestures (e.g., navigation gestures that disambiguate between navigation within one hierarchy level (e.g., of a user interface of an application) and navigation between different hierarchy levels (e.g., of a user interface of an application)).
[0286] Figure 10AIllustrates a view 9000' of a three-dimensional environment visible to user 9002 via the display generation component 9100 of computer system 101. In the view 9000' of the three-dimensional environment, the physical environment partially shown in Figure 10A is the same as the physical environment described above with respect to Figure 9A As described herein, in some embodiments, one or more portions of the view of physical environment 9000 visible to user 9002 via display generation component 9100 are virtual passthrough portions that include a representation of a corresponding portion of physical environment 9000 captured via one or more image sensors of computer system 101. In some embodiments, one or more portions of the view of physical environment 9000 visible to user 9002 via display generation component 9100 are optical passthrough portions because user 9002 can see one or more portions of physical environment 9000 through one or more transparent or translucent portions of display generation component 9100. As referenced above with respect to Figure 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 an inbox (or electronic folder 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 hierarchy levels. In some embodiments, email inbox 9032a, draft folder 9032b, sent folder 9032c, spam folder 9032d, junk folder 9032e, and archive folder 9032f are part of the same application hierarchy level (e.g., folder level) corresponding to the first section 9032.
[0287] In Figure 10A the focus selector 9060 (sometimes referred to as a focus indicator) is positioned on or at the first section 9032, as indicated by a selection outline shown around the first section 9032 of the application user interface 9030. In some embodiments, a screen reader application is enabled on computer system 101. When the screen reader application is enabled and traversing or navigating through the user interface 9030, the screen reader application generates and outputs a description of the user interface elements through which the focus selector 9060 moves. In some embodiments, the screen reader application interprets the visual layout and user interface elements of the application user interface 9030 as a hierarchy of navigable or traversable elements.
[0288] Figure 10A Further exemplified is that when the right hand 9022 is in state B0, the user 9002 uses the left hand 9020 (shown with an arrow in Figure 10A to perform a first gesture A1. For example, the first gesture A1 performed with the left hand 9020 corresponds to a single-finger pinch in the air (e.g., pinching the index finger and thumb), and state B0 corresponds to a 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.
[0289] Figure 10B Exemplified is the tran...
Claims
1. A method, comprising: At a computer system in communication with a display generation component and one or more input devices: 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: Automatically displaying, via the display generation component, a user interface element for generating an audio representation of text content, based on determining that the object includes text content; Detecting an input selecting the user interface element; And In response to detecting the input selecting the user interface element, generating an audio representation of at least a portion of the text content of the object.
2. The method according to claim 1, comprising: In response to detecting a second object in the three-dimensional environment: Displaying, based on determining that the second object includes at least a threshold amount of text content, a user interface element for generating an audio representation of the text content of the second object; and Forgoing displaying the user interface element for generating the audio representation of the text content of the second object, based on determining that the second object includes less than the threshold amount of text content.
3. The method according to any one of claims 1 to 2, comprising: Displaying a visual indication of the portion of the text content of the object simultaneously with outputting the audio representation.
4. The method according to claim 3, 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 Displaying a second visual indication of the second portion of the text content of the object simultaneously with outputting the second audio representation.
5. The method according to claim 1, 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 among two or more visual indications and a second visual indication among the two or more visual indications, wherein the first visual indication corresponds to the first portion of the text content of the object and the second visual indication corresponds to a second portion of the text content of the object; In response to detecting an input selecting a corresponding visual indication among the two or more visual indications: Generating, based on determining that the first visual indication is selected, an audio representation of the first portion of the text content of the object; and Generating, based on determining that the second visual indication is selected, an audio representation of the second portion of the text content of the object.
6. The method according to any one of claims 1 to 2, comprising: In response to detecting the object: Based on determining that the object includes text content, display a copy of the region 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.
7. The method according to claim 6, comprising: Detecting a first input directed at the computer-generated window; And In response to detecting the first input, moving the computer-generated window from a first position in the view of the three-dimensional environment to a second position in the view of the three-dimensional environment.
8. The method according to claim 7, comprising: In response to detecting the first input: Resizing the computer-generated window in combination with moving the computer-generated window from the first position in the view of the three-dimensional environment to the second position.
9. The method according to any one of claims 7 to 8, comprising: Detecting a second input directed at the computer-generated window, wherein the second input is different from the first input; In response to detecting the second input: Resizing the computer-generated window.
10. The method according to claim 6, comprising: Detecting a third input corresponding to a request to change the user's viewing point relative to the computer-generated window; In response to detecting the third input: Resizing the computer-generated window in combination with changing the user's viewing point relative to the computer-generated window.
11. The method according to claim 6, wherein the computer system includes one or more cameras, and the object and the computer-generated window are visible within the field of view of the one or more cameras, and the method comprises: Detecting that the object is no longer within the field of view of the one or more cameras, and maintaining the visibility of the computer-generated window within the field of view of the one or more cameras.
12. The method according to claim 6, wherein: When the computer-generated window is maintained in the view of the three-dimensional environment, the computer system abandons displaying user interface elements for generating an audio representation of other text content, and the method comprises: After closing the computer-generated window, detecting text content that was not previously detected; and In response to detecting the text content that was not previously detected, displaying user interface elements for generating an audio representation of the text content that was not previously detected.
13. The method according to claim 6, comprising: When the computer-generated window is open, detecting text content that was not previously detected; In response to detecting the text content that was not previously detected: Closing the computer-generated window; And Opening a second computer-generated window, the second computer-generated window including a copy of the region of the three-dimensional environment that includes the text content that was not previously detected.
14. The method according to claim 6, wherein: When the object is initially detected, displayed at a corresponding world-locked position in the three-dimensional environment, and has a first spatial relationship relative to the user's viewpoint, the computer-generated window is world-locked based on the position of the object in the three-dimensional environment; and after the user's viewpoint changes, the world-locked position of the object has a second spatial relationship relative to the user's viewpoint that is different from the first spatial relationship.
15. The method according to claim 6, wherein: the computer system includes one or more cameras; the object is visible within the field of view of the one or more cameras; and in response to detecting that the object has been moved outside the field of view of the one or more cameras, a copy of the region 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.
16. The method according to any one of claims 1 to 2, including: 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 region 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.
17. The method according to claim 6, wherein the copy of the region of the three-dimensional environment including at least the portion of the text content of the object further includes a portion of the user's body.
18. The method according to any one of claims 1 to 2, wherein: the computer system communicates with one or more audio output devices; in response to detecting the object and determining that the object includes the text content, a plurality of user interface elements are automatically displayed via the display generating component, the plurality of user interface elements including: the user interface element for generating the audio representation of the text content, and the user interface element for playing or stopping the output of the audio representation via the one or more audio output devices; detecting a user input selecting the user interface element for playing or stopping the output of the audio representation; and in response to detecting the user input selecting the user interface element for playing or stopping the output of the audio representation, playing or stopping the output of the audio representation via the one or more audio output devices.
19. The method according to claim 18, wherein: the plurality of user interface elements includes one or more controls for selecting different portions of the text content for which the corresponding audio representation is to be output via the one or more audio output devices, and the method includes: detecting a user input selecting the corresponding control from the one or more controls for selecting different portions of the text content; and In response to detecting the user input that selects the corresponding control from the one or more controls for selecting different portions of the text content, output the corresponding audio representation via the one or more audio output devices.
20. 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 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 generation component; in response to detecting the object: automatically display, via the display generation component, a user interface element for generating an audio representation of text content, based on determining that the object includes text content; detect an input that selects the user interface element; and in response to detecting the input that selects the user interface element, generate an audio representation of at least a portion of the text content of the object.
21. The computer-readable storage medium according to claim 20, wherein the one or more programs include instructions for performing the method according to any one of claims 2 to 19.
22. 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 generation component; in response to detecting the object: automatically display, via the display generation component, a user interface element for generating an audio representation of text content, based on determining that the object includes text content; detect an input that selects the user interface element; and in response to detecting the input that selects the user interface element, generate an audio representation of at least a portion of the text content of the object.
23. The computer system according to claim 22, wherein the one or more programs include instructions for performing the method according to any one of claims 2 to 19.