Device, method, and graphical user interface for interacting with three-dimensional environment
By integrating display generation components and multiple input devices in computer systems, the problem of low interaction efficiency of virtual/accelerated reality environments in the prior art is solved, and more efficient and intuitive user interaction is achieved, and energy consumption is saved.
Patent Information
- Application Number
- CN202380068456.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-09-18
- Filing Date
- 2023-09-20
- Publication Date
- 2025-05-06
AI Technical Summary
In the prior art, the methods and interfaces used to interact with virtual/augmented reality environments have problems such as inefficient, complex and error-prone, resulting in a large cognitive burden on users, long interaction time and waste of energy.
Detection and response to user inputs are achieved by integrating display generation components and multiple input devices in a computer system, such as navigating a virtual environment through a single input device, changing the level of immersion, or managing the application interface in a content sharing session.
Improves the efficiency and intuitiveness of user interaction with computer systems, reduces the number and complexity of user input, saves energy consumption, and extends battery life especially in battery-powered devices.
Smart Images

Figure CN119948451A_ABST
Abstract
Description
[0001] Related patent applications
[0002] This application is a continuation-in of U.S. patent application No. 18 / 369,628, filed on September 18, 2023, and also claims priority to U.S. patent application No. 18 / 369,502, filed on September 18, 2023, U.S. patent application No. 18 / 369,459, filed on September 18, 2023, U.S. patent application No. 18 / 369,462, filed on September 18, 2023, U.S. provisional application No. 63 / 470,921, filed on June 4, 2023, and U.S. provisional application No. 63 / 409,748, filed on September 24, 2022. Technical Field
[0003] The present disclosure generally relates to computer systems in communication with display generation components and one or more input devices that provide computer-generated experiences, including but not limited to electronic devices that provide virtual reality experiences and mixed reality experiences via displays. Background Art
[0004] In recent years, the development of computer systems for augmented reality has increased significantly. Example augmented reality environments include at least some virtual elements that replace or 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
[0005] Some methods and interfaces for interacting with environments that include at least some virtual elements (e.g., applications, extended reality environments including augmented reality environments, mixed reality environments, and virtual reality environments) are cumbersome, inefficient, and limited. For example, systems that provide insufficient channels or mechanisms for performing actions associated with navigating within an extended reality environment, systems that require a series of inputs to achieve desired results in an extended reality environment, and systems in which virtual object manipulation is complex, cumbersome, and error-prone can place a significant cognitive burden on users and detract from the experience of the virtual / augmented reality environment. In addition, these methods take longer than necessary, wasting the computer system's energy. This latter consideration is particularly important in battery-powered devices.
[0006] Therefore, there is a need for computer systems with improved methods and interfaces for providing computer-generated experiences to users, thereby making user interactions with computer systems more efficient and intuitive for the user. Such methods and interfaces optionally supplement or replace conventional methods for providing extended reality experiences to users. Such methods and interfaces reduce the amount, extent, and / or nature of inputs from the user by helping the user understand the connection between the inputs provided and the device's responses to those inputs, thereby forming a more efficient human-computer interface.
[0007] The above-mentioned defects and other problems associated with the user interface of the computer system are reduced or eliminated by the disclosed system. In some embodiments, the computer system is a desktop computer with an associated display. In some embodiments, the computer system is a portable device (e.g., a notebook computer, a tablet computer, or a handheld device). In some embodiments, the computer system is a personal electronic device (e.g., a wearable electronic device, such as a watch or a head-mounted device). In some embodiments, the computer system has a touch pad. In some embodiments, the computer system has one or more cameras. In some embodiments, the computer system has a touch-sensitive display (also referred to as a "touch screen" or "touch screen display"). In some embodiments, the computer system has one or more eye tracking components. In some embodiments, the computer system has one or more hand tracking components. In some embodiments, in addition to the display generation component, the computer system also has one or more output devices, which include one or more tactile output generators and / or one or more audio output devices. In some embodiments, the computer system has a graphical user interface (GUI), one or more processors, a memory, and one or more modules, a program or instruction set stored in the memory for performing multiple functions. In some embodiments, the user interacts with the GUI through contacts and gestures of a stylus and / or finger on a touch-sensitive surface, movement of the user's eyes and hands in space relative to the GUI (and / or computer system) or the user's body (as captured by a camera and other motion sensors), and / or voice input (as captured by one or more audio input devices). In some embodiments, the functions performed by interaction optionally include image editing, drawing, presentations, word processing, spreadsheet creation, playing games, making and receiving calls, video conferencing, sending and receiving emails, instant messaging, test support, digital photography, digital video recording, web browsing, digital music playback, note-taking, and / or digital video playback. Executable instructions for performing these functions are optionally included in a transient and / or non-transient computer-readable storage medium or other computer program product configured for execution by one or more processors.
[0008] There is a need for electronic devices with improved methods and interfaces for interacting with three-dimensional environments. Such methods and interfaces can supplement or replace conventional methods for interacting with three-dimensional environments. Such methods and interfaces reduce the amount, extent, and / or nature of input from a user and produce a more efficient human-computer interface. For battery-powered computing devices, such methods and interfaces conserve power and increase the time between battery charges.
[0009] According to some embodiments, a method is performed at a device including one or more display generation components and one or more input devices or communicating with one or more display generation components and one or more input devices. The method includes: when displaying an application user interface via the one or more display generation components, detecting a first input to an input device in the one or more input devices, the input device being disposed on a housing of the device including the one or more display generation components; and in response to detecting the first input to the input device disposed on the housing of the device: replacing the display of at least a portion of the application user interface by displaying a main menu user interface via the one or more display generation components. The method includes: when displaying the main menu user interface via the one or more display generation components, detecting a second input to the input device disposed on the housing of the device; and in response to detecting the second input to the input device disposed on the housing of the device: canceling the main menu user interface.
[0010] According to some embodiments, a method is performed at a computer system that includes a display generation component and one or more input devices or that communicates with the display generation component and one or more input devices. The method includes: when displaying an application user interface via the display generation component, detecting a first input to an input device among the one or more input devices; and in response to detecting the first input to the input device: based on determining that the application user interface is in a first display mode, displaying the application user interface in a second display mode via the display generation component, wherein the first display mode includes an immersive mode that displays only the content of the application user interface, wherein the second display mode includes a non-immersive mode that displays the corresponding content of the application user interface and other content at the same time; and based on determining that the application user interface is in the second display mode, replacing the display of at least a portion of the application user interface by displaying a main menu user interface via the display generation component.
[0011] According to some embodiments, a method is performed at a computer system including a display generation component and one or more input devices or in communication with the display generation component and the one or more input devices. The method includes: while displaying an application user interface of an application via the display generation component, detecting a first input to an input device of the one or more input devices; and in response to detecting the first input to the input device: displaying a main menu user interface via the display generation component; and based on determining that the application is currently being shared in a content sharing session, wherein content of the application is simultaneously visible to multiple participants in the content sharing session, maintaining display of at least a portion of the application user interface while displaying the main menu user interface; and based on determining that the application is not being shared in the content sharing session, ceasing display of the application user interface.
[0012] According to some embodiments, a method is performed at a computer system that includes a display generation component and one or more input devices or communicates with a display generation component and one or more input devices. The method includes: when the computer system is in operation, detecting a first input of a first type of input via an input device among the one or more input devices, wherein the first type of input is determined based on the position and / or movement of a first biometric feature; and in response to detecting the first input via the input device, performing a first operation according to the first input. The operation is at least partially determined by first input registration information from a previous input registration process for the first type of input. The method includes: after performing the first operation according to the first input, detecting a second input of a second type of input via an input device among the one or more input devices; and in response to detecting the second input, initiating an input registration process for the first type of input.
[0013] According to some embodiments, a method is performed at a computer system that includes a display generation component and one or more input devices or that communicates with the display generation component and one or more input devices. The method includes: detecting a first input on a rotatable input mechanism of an input device among the one or more input devices; the method includes: in response to detecting the first input on the rotatable input mechanism, based on determining that the first input is a first type of input: changing the immersion level associated with the display of an extended reality (XR) environment generated by the display generation component to a first immersion level, in which the display of the XR environment includes both virtual content from an application and a transparent portion of the physical environment of the computer system. The method includes: based on determining that the first input is a second type of input: performing an operation different from changing the immersion level associated with the display of the XR environment.
[0014] According to some embodiments, a method is performed at a wearable device that includes a display generation component and one or more input devices or communicates with the display generation component and one or more input devices. The method includes: when a corresponding session is active in a corresponding application and when the wearable device is being worn, detecting a first signal indicating that the wearable device has been removed; and in response to detecting the first signal: making the corresponding session of the corresponding application inactive. The method includes: when the corresponding application is inactive, detecting a second signal indicating that the wearable device is being worn; and in response to detecting the second signal: based on determining that a corresponding criterion is satisfied: restoring the corresponding session of the corresponding application; and based on determining that the corresponding criterion is not satisfied: abandoning restoring the corresponding session of the corresponding application, wherein the corresponding criterion includes a criterion that is satisfied when the current user of the wearable device is determined to be an authorized user of the wearable device.
[0015] According to some embodiments, a method is performed at a computer system that includes one or more display generation components and one or more input devices or that communicates with one or more display generation components and one or more input devices. The method includes: when configuration of the computer system is being executed, detecting a first input directed to a first input device of the one or more input devices, wherein the computer system includes one or more sensors for detecting input, the input including one or more of an air gesture and a gaze input. The method also includes: in response to detecting the first input to the first input device, displaying a menu including a plurality of selectable options for configuring one or more interaction models.
[0016] It should be noted that the various embodiments described above can be combined with any other embodiment described herein. The features and advantages described in this specification are not comprehensive. In particular, many additional features and advantages will be apparent to those skilled in the art from the drawings, the description, and the claims. In addition, it should be noted that the language used in this specification has been selected in principle for readability and instructional purposes, and may not be selected to describe or define the subject matter of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] For a better understanding of the various described embodiments, reference should be made to the following detailed description taken in conjunction with the following drawings, wherein like reference numerals designate corresponding parts throughout the several views.
[0018] Figure 1A is a block diagram illustrating an operating environment for a computer system for providing an extended reality (XR) experience according to some embodiments.
[0019] Figure 1B to Figure 1P is used in Figure 1A An example of a computer system that provides an XR experience in an operating environment.
[0020] Figure 2 is a block diagram illustrating a controller of a computer system configured to manage and coordinate a user's XR experience according to some embodiments.
[0021] Figure 3 is a block diagram illustrating display generation components of a computer system configured to provide the visual component of an XR experience to a user according to some embodiments.
[0022] Figure 4 is a block diagram illustrating a hand tracking unit of a computer system configured to capture gesture input from a user according to some embodiments.
[0023] Figure 5 is a block diagram illustrating an eye tracking unit of a computer system configured to capture gaze input from a user according to some embodiments.
[0024] Figure 6 is a flow chart illustrating a flash-assisted gaze tracking pipeline according to some embodiments.
[0025] 7A to 7O Example techniques for displaying a main menu user interface within a three-dimensional environment are illustrated in accordance with some embodiments.
[0026] Figures 8A to 8G Example techniques are illustrated for performing different operations based on input to an input device depending on the current display mode in accordance with some embodiments.
[0027] 9A to 9D Example techniques are illustrated for performing one or more different operations based on input to an input device depending on characteristics of a displayed application user interface in accordance with some embodiments.
[0028] 10A to 10D Example techniques for resetting the input registration process according to some embodiments are illustrated.
[0029] Figures 11A to 11F Example techniques for adjusting the immersion level of a user's extended reality (XR) experience in a three-dimensional environment are illustrated in accordance with some embodiments.
[0030] Figures 12A to 12G2 Example techniques for controlling a computer system based on the physical position and changes in the physical position of the computer system relative to a user and the state of the computer system are illustrated in accordance with some embodiments.
[0031] Figure 13 is a flow chart of a method of displaying a main menu user interface within a three-dimensional environment, according to various embodiments.
[0032] Figure 14 is a flow chart of a method of performing different operations based on input to an input device depending on a current display mode, according to various embodiments.
[0033] Figure 15 is a flow diagram of a method of performing one or more different operations based on input to an input device depending on characteristics of a displayed application user interface, according to various embodiments.
[0034] Figure 16 is a flow chart of a method of resetting a biometric input enrollment process according to various embodiments.
[0035] Figure 17 is a flow chart of a method of adjusting the immersion level of a user's extended reality (XR) experience in a three-dimensional environment, according to various embodiments.
[0036] Figure 18 is a flow chart of a method of controlling a computer system based on the physical position and changes in the physical position of the computer system relative to a user and a state of the computer system, according to various embodiments.
[0037] Figures 19A to 19P Example techniques for navigating accessibility menus during system configuration are illustrated in accordance with some embodiments.
[0038] Figure 20 is a flowchart of a method for navigating an accessibility menu during system configuration according to some embodiments. DETAILED DESCRIPTION
[0039] According to some embodiments, the present disclosure relates to a user interface for providing an extended reality (XR) experience to a user.
[0040] The systems, methods, and GUIs described herein improve user interface interactions with virtual / augmented reality environments in several ways.
[0041] In some embodiments, the device allows a user to gain access to different sets of representations using a single input to an input device (e.g., disposed on a housing of one or more display generating components through which portions of the physical environment and the virtual environment are rendered visible) without displaying additional controls. Using a single input to the input device reduces the amount of time required to navigate within or transition out of a virtual environment. The physical location of the input device provides an intuitive and reliable mechanism (e.g., a tactile touch / mechanical actuation mechanism) for receiving user input, which improves the reliability and operational efficiency of the device (e.g., a computer system).
[0042] In some embodiments, a single input to an input device transitions the computer system from a high immersion level (e.g., a fully immersive mode in which only the content of the corresponding application is displayed) to a lower immersive mode or a non-immersive mode, or from a non-immersive mode to a mode that also displays a main menu user interface), and provides intuitive top-level access to different sets of representations while the user is in a non-immersive experience without displaying additional controls (e.g., without requiring the user to browse through user interface elements), thereby improving the operational efficiency of user-machine interactions based on a single input. Using a single input to an input device reduces the amount of time required to navigate within or transition out of a virtual environment.
[0043] In some embodiments, a single input to an input device maintains the display of the application user interface of one or more shared applications while simultaneously stopping the display of the application user interface of one or more private applications, and helps reduce the amount of distractions a user may experience while in a group interaction session. Dismissing one or more private applications in response to a single input while continuing to display the shared applications enables the user to bring the shared applications into focus without having to display additional controls. Furthermore, the number of inputs required to dismiss private applications and maintain the display of shared applications is reduced—instead of having to individually minimize or dismiss one or more private applications, a single input is sufficient to maintain the display of one or more shared applications while simultaneously stopping the display of one or more private applications.
[0044] In some embodiments, the second type of input initializes the biometric input registration reset for the first type of input, thereby allowing more precise and accurate input registration information to be used for calibration and / or performing operations based on the first type of input. Instead of having the user use the first type of input to navigate through user interface elements (e.g., menus or other control elements) in order to reset the input registration for the first type of input (e.g., the first type of input may need to be reset due to inaccurate calibration, making it difficult to navigate the interface control elements using the inaccurately calibrated first type of input), using the second type of input to initialize input registration improves operational efficiency, reduces user frustration, and reduces the number of inputs required to initialize the input registration reset process. Using the second type of input to reset the input registration also helps reduce the amount of time required to start the input registration reset process. For example, using the second type of input makes it possible to initialize the input registration reset without displaying additional controls (e.g., using the first type of input to navigate through user interface elements).
[0045] In some embodiments, a single input device accepts two or more different types of input, which reduces the number of different input devices that must be provided to request and / or indicate different functionalities. Using a rotary input mechanism allows the user to provide a continuous range of inputs, and the bidirectionality of the rotary input mechanism allows the input to be easily and intuitively changed in either direction without having to display additional controls to the user. The same rotary input mechanism can receive a second type of input that implements a discrete function. Reducing the number of input devices that must be provided reduces physical clutter on the device, thereby freeing up more physical space on the device and helping to prevent accidental input from unintentional contact. Using a rotary input mechanism provides direct access to changes in immersion levels and the execution of different operations, thereby reducing the amount of time required to achieve specific results, thereby improving the operating efficiency of the computer system. Increasing the immersion level helps remove constraints from the physical environment of the computer system (e.g., by blocking sensory output input from the physical environment (e.g., blocking visual input from a confined room and / or removing (audio) echoes from a small physical space) to realistically simulate a more spacious virtual environment, thereby providing a virtual environment that is more conducive to user interaction with applications.
[0046] In some embodiments, using the corresponding criteria to determine whether to automatically resume the corresponding session of the corresponding application enables the corresponding session to be resumed without any active user input and without displaying additional controls. Using the corresponding criteria enables the device to automatically resume the corresponding session when the corresponding criteria are met, thereby providing a more efficient human-machine interface for the wearable device, which provides a more efficient way for the user to control the wearable device while minimizing interference or requiring the user to navigate additional control elements before the corresponding session can be resumed. Determining whether the current user of the wearable device is an authorized user of the wearable device provides improved security and / or privacy by ensuring that the corresponding session of the corresponding application is resumed only when an authorized user is detected.
[0047] In some embodiments, while configuration of the computer system is being performed, the computer system detects a first input directed to a first input device among the one or more input devices, wherein the computer system includes one or more sensors that detect input, the input including one or more of an air gesture and a gaze input; and in response to detecting the first input to the first input device, displays a menu including a plurality of selectable options for configuring one or more interaction models. Providing (e.g., whether to display and / or read aloud) a menu of options for different interaction models with the computer system during configuration of the computer system (e.g., during initial setup of the computer system) enables users to select their preferred way of interacting with the computer system in advance, including ways that are more intuitive to the user, so as to later reduce the number and / or extent of input and / or the amount of time required to interact with the computer system, and in particular enables users who use an interaction model different from the default and who would otherwise require assistance to use the computer system to only require assistance once (e.g., at the beginning of initializing the computer system) to set up the computer system with an interaction model that is appropriate for the user, so that the user can later use the computer system independently.
[0048] Figures 1A to 6 A description of an example computer system for providing an XR experience to a user is provided. 7A to 7O Example techniques for displaying a main menu user interface within a three-dimensional environment are illustrated in accordance with some embodiments. Figure 13 is a flowchart (also referred to as a flow chart) of a method of displaying a main menu user interface within a three-dimensional environment, according to various embodiments. 7A to 7O The user interface in Figure 13 in the process. Figures 8A to 8G Example techniques are illustrated for performing different operations based on input to an input device depending on the current display mode in accordance with some embodiments. Figure 14 is a flow chart of a method of performing different operations based on input to an input device depending on a current display mode, according to various embodiments. Figures 8A to 8G The user interface in Figure 14 in the process. 9A to 9D Example techniques are illustrated for performing one or more different operations based on input to an input device depending on characteristics of a displayed application user interface in accordance with some embodiments. Figure 15 is a flow diagram of a method of performing one or more different operations based on input to an input device depending on characteristics of a displayed application user interface, according to various embodiments. 9A to 9D The user interface in Figure 15 in the process. 10A to 10D Example techniques for resetting the input registration process according to some embodiments are illustrated. Figure 16is a flow chart of a method of resetting an input registration process according to various embodiments. 10A to 10D The user interface in Figure 16 in the process. Figures 11A to 11F Example techniques for adjusting the immersion level of a user's extended reality (XR) experience in a three-dimensional environment are illustrated in accordance with some embodiments. Figure 17 is a flow chart of a method of adjusting the immersion level of a user's extended reality (XR) experience in a three-dimensional environment, according to various embodiments. 9A to 9D The user interface in Figure 17 in the process. Figure 12A 12G illustrate example techniques for controlling a computer system based on the physical positioning and changes in the physical positioning of the computer system relative to a user and the state of the computer system, according to some embodiments. Figure 18 is a flow chart of a method of controlling a computer system based on the physical position and changes in the physical position of the computer system relative to a user and a state of the computer system, according to various embodiments. Figure 12A The user interface in FIG. 12G is used to illustrate Figure 18 in the process. Figures 19A to 19P Example techniques for navigating accessibility menus during system configuration are illustrated in accordance with some embodiments. Figure 20 is a flowchart of a method for navigating an accessibility menu during system configuration according to some embodiments. Figures 19A to 19P The user interface in Figure 20 in the process.
[0049] The processes described below enhance the operability of the device and make the user-device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device) through various techniques, including by providing improved visual feedback to the user, reducing the number of inputs required to perform an operation, providing additional control options without cluttering the user interface with additional display controls, performing an operation without further user input when a set of conditions have been met, improving privacy and / or security, providing a richer, more detailed, and / or more realistic user experience while saving storage space, and / or additional techniques. These techniques also reduce power usage and extend the battery life of the device by enabling the user to use the device faster and more efficiently. This saves battery power and, therefore, weight, improving 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 less expensive device, and enable the device to be used in a variety of lighting conditions. These techniques reduce energy usage and thereby reduce the heat emitted by the device, which is particularly important for wearable devices where if the device generates too much heat well within the operating parameters of the device components, it may become uncomfortable for the user to wear the device.
[0050] In addition, in the method described herein where one or more steps depend on having met one or more conditions, it should be understood that the method can be repeated in multiple repetitions so that in the process of repetition, all conditions of the steps in the method of determining the method have been met in different repetitions of the method. For example, if the method needs to perform the first step (if the condition is met), and perform the second step (if the condition is not met), then those of ordinary skill will know that the steps stated are repeated until both the condition is met and the condition is not met (in no particular order). Therefore, the method described as having one or more steps depending on having met one or more conditions can be rewritten as a method of repeating until each condition described in the method is met. However, this does not require a system or computer-readable medium to declare that the system or computer-readable medium includes instructions for performing a contingent operation based on the satisfaction of the corresponding one or more conditions, and is therefore able to determine whether a possible situation has been met without explicitly repeating the steps of the method until all conditions of the steps in the method of determining the method have been met. Those of ordinary skill in the art will also understand that, similar to the method with a contingent step, a system or computer-readable storage medium can repeat the steps of the method as needed multiple times to ensure that all contingent steps have been performed.
[0051] In some embodiments, as Figure 1AAs shown, an XR experience is provided to a user via an operating environment 100 including a computer system 101. The computer system 101 includes a controller 110 (e.g., a processor of a portable electronic device or a remote server), a display generation component 120 (e.g., a head-mounted device (HMD), a display, a projector, or a touch screen), one or more input devices 125 (e.g., an eye tracking device 130, a hand tracking device 140, other input devices 150), one or more output devices 155 (e.g., a speaker 160, a tactile output generator 170, and other output devices 180), one or more sensors 190 (e.g., an image sensor, a light sensor, a depth sensor, a tactile sensor, an orientation sensor, a proximity sensor, a temperature sensor, a position sensor, a motion sensor, or a speed sensor), and optionally one or more peripheral devices 195 (e.g., a household appliance or a wearable device). 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).
[0052] When describing an XR experience, various terms are used to distinctly refer to several related but distinct environments that a user can sense and / or with which the user can interact (e.g., using inputs detected by the computer system 101 generating the XR experience, which inputs cause the computer system generating the XR experience to generate audio, visual, and / or haptic feedback corresponding to the various inputs provided to the computer system 101). The following is a subset of these terms:
[0053] Physical Environment: The physical environment refers to the physical world that people can sense and / or interact with without the aid of electronic systems. A physical environment, such as a physical park, includes physical objects, such as physical trees, physical buildings, and physical people. People can directly sense and / or interact with the physical environment, such as through sight, touch, hearing, taste, and smell.
[0054] 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 electronic systems. In XR, a subset of a person's physical movements, or representations thereof, is tracked, and in response, one or more properties of one or more virtual objects simulated in the XR environment are adjusted in a manner consistent with at least one law of physics. 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 change in a physical environment. In some cases (e.g., for accessibility reasons), adjustments to the properties of virtual objects in the XR environment can be made in response to representations of physical movement (e.g., voice commands). People can sense and / or interact with XR objects using any of their senses, including vision, hearing, touch, taste, and smell. For example, people can sense and / or interact with audio objects, which create a 3D or spatial audio environment that provides the perception of a point audio source in 3D space. As another example, audio objects can enable audio transparency, which selectively introduces ambient sounds from the physical environment with or without computer-generated audio. In some XR environments, people can sense and / or interact only with audio objects.
[0055] Examples of XR include virtual reality and mixed reality.
[0056] Virtual Reality: A virtual reality (VR) environment is a simulated environment designed to be based entirely on computer-generated sensory input to one or more senses. A VR environment includes multiple virtual objects that a person can sense and / or interact with. For example, trees, buildings, and computer-generated images representing human avatars are examples of virtual objects. A person can sense and / or interact with virtual objects in a VR environment through the simulation of the person's presence within the computer-generated environment and / or through the simulation of a subset of the person's physical movement within the computer-generated environment.
[0057] Mixed Reality: In contrast to VR environments, which are designed to be based entirely on computer-generated sensory input, a mixed reality (MR) environment refers to a simulated environment that is designed to include sensory input from the physical environment, or representations thereof, in addition to computer-generated sensory input (e.g., virtual objects). On the virtuality continuum, a mixed reality environment is anything between, but not including, a fully physical environment at one end and a virtual reality environment at the other. In some MR environments, computer-generated sensory input can respond to changes in sensory input from the physical environment. In addition, some electronic systems used to render MR environments can track position and / or orientation relative to the physical environment to enable virtual objects to interact with real objects (i.e., physical items from the physical environment, or representations thereof). For example, the system can cause movement so that virtual trees appear stationary relative to the physical ground.
[0058] Examples of mixed reality include augmented reality and augmented virtuality.
[0059] Augmented Reality: An augmented reality (AR) environment refers to a simulated environment in which one or more virtual objects are superimposed on a physical environment or a representation of a physical environment. For example, an electronic system for presenting an AR environment may have a transparent or translucent display through which a person can directly view the physical environment. The system can be configured to present virtual objects on a transparent or translucent display so that a person uses the system to perceive the virtual objects superimposed on the physical environment. Alternatively, the system may have an opaque display and one or more imaging sensors that capture images or videos of the physical environment, which are representations of the physical environment. The system combines the images or videos with the virtual objects and presents the combination on the opaque display. A person uses the system to indirectly view the physical environment via the images or videos of the physical environment and perceives the virtual objects superimposed on the physical environment. As used herein, a video of the physical environment displayed on an opaque display is referred to as "transparent video," meaning that the system uses one or more image sensors to capture images of the physical environment and uses those images when presenting the AR environment on the opaque display. Further alternatively, the system may have a projection system that projects virtual objects into a physical environment, such as as holograms or on a physical surface, so that a person using the system perceives virtual objects superimposed on the physical environment. An augmented reality environment also refers to a simulated environment in which the representation of the physical environment is transformed by computer-generated sensory information. For example, in providing a pass-through video, the system may transform one or more sensor images to apply a selected perspective (e.g., a viewpoint) that is different from the perspective captured by the imaging sensor. For another example, the representation of the physical environment may be transformed by graphically modifying (e.g., enlarging) a portion thereof so that the modified portion may be a representative but not real version of the original captured image. For another example, the representation of the physical environment may be transformed by graphically eliminating a portion thereof or blurring a portion thereof.
[0060] Augmented Virtual: An augmented virtual (AV) environment is a simulated environment in which a virtual or computer-generated environment incorporates one or more sensory inputs from the physical environment. The sensory input can be a representation of one or more characteristics of the physical environment. For example, an AV park can have virtual trees and virtual buildings, but the faces of people are realistically reproduced from images taken of physical people. In another example, a virtual object can adopt the shape or color of a physical object imaged by one or more imaging sensors. In another example, a virtual object can adopt a shadow that matches the position of the sun in the physical environment.
[0061] In augmented reality, mixed reality or virtual reality environments, a view of a three-dimensional environment is visible to the 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), and the virtual viewport has a viewport boundary that defines the scope of the three-dimensional environment visible to the user via one or more display generation components. In some embodiments, the area defined by the viewport boundary is smaller than the user's visual range in one or more dimensions (e.g., based on the user's visual range, the size of one or more display generation components, optical properties or other physical properties, and / or the position and / or orientation of one or more display generation components relative to the user's eyes). In some embodiments, the area defined by the viewport boundary is larger than the user's visual range in one or more dimensions (e.g., based on the user's visual range, the size of one or more display generation components, optical properties or other physical properties, and / or the position and / or orientation of one or more display generation components relative to the user's eyes). The viewport and viewport boundary typically move with the movement of one or more display generation components (e.g., for a head-mounted device, it moves with the user's head, or for a handheld device such as a tablet or smart phone, it moves with the user's hand). The user's viewpoint determines what is visible in the viewport. The viewpoint typically specifies a position and orientation relative to the three-dimensional environment, and as the viewpoint moves, the view of the three-dimensional environment will also shift in the viewport. For head-mounted devices, the viewpoint is typically based on the position and orientation of the user's head, face, and / or eyes to provide a view of the three-dimensional environment that is perceptually accurate and provides an immersive experience when the user is using the head-mounted device. For handheld or fixed devices, the viewpoint moves as the handheld or fixed device moves and / or as the user's positioning relative to the handheld or fixed device changes (e.g., the user moves toward, away from, up, down, right, and / or left). For devices including display generation components with virtual pass-through, the portion of the physical environment visible (e.g., displayed and / or projected) via one or more display generation components is based on the field of view of one or more cameras in communication with the display generation components, which one or more cameras typically move with movement of the display generation components (e.g., with movement of the user's head for a head-mounted device, or with movement of the user's hands for a handheld device such as a tablet or smartphone) as the user's viewpoint moves with movement of the field of view of the one or more cameras (and the appearance of one or more virtual objects displayed via the one or more display generation components is updated based on the user's viewpoint (e.g., the displayed position and pose of the virtual objects is updated based on movement of the user's viewpoint)).For display generation components with optical transmittance, portions of the physical environment that are visible through one or more display generation components (e.g., optically visible through one or more partially or fully transparent portions of the display generation components) are based on the user's field of view through the partially or fully transparent portions of the display generation components (e.g., moves with movement of the user's head for a head-mounted device, or moves with movement of the user's hands for a handheld device such as a tablet or smartphone) because the user's viewpoint moves as the user moves through the field of view of the partially or fully transparent portions of the display generation components (and the appearance of one or more virtual objects is updated based on the user's viewpoint).
[0062] In some embodiments, the representation of the physical environment (e.g., displayed via virtual see-through or optical see-through) may be partially or completely obscured by the virtual environment. In some embodiments, the amount of the virtual environment displayed (e.g., the amount of the physical environment that is not displayed) is based on the immersion level of the virtual environment (e.g., relative to the representation of the physical environment). For example, increasing the immersion level optionally causes more of the virtual environment to be displayed, replacing and / or obscuring more of the physical environment, and decreasing the immersion level optionally causes less of the virtual environment to be displayed, thereby revealing portions of the physical environment that were previously not displayed and / or obscured. In some embodiments, at a particular immersion level, one or more first background objects (e.g., in the representation of the physical environment) are 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 an associated degree to which virtual content displayed by the computer system (e.g., a virtual environment and / or virtual content) obscures background content (e.g., content other than the virtual environment and / or virtual content) surrounding / behind the virtual environment, optionally including the number of items of background content displayed and / or the displayed visual characteristics of the background content (e.g., color, contrast, and / or opacity), the angular extent of the virtual content displayed via the display generation component (e.g., 60 degrees for content displayed at low immersion, 120 degrees for content displayed at medium immersion, or 180 degrees for content displayed at high immersion), and / or the proportion of the field of view displayed via the display generation component that is occupied by the virtual content (e.g., 33% of the field of view occupied by the virtual content at low immersion, 66% of the field of view occupied by the virtual content at medium immersion, or 100% of the field of view occupied by the virtual content at high immersion). In some embodiments, the background content is included in the background on which the virtual content is displayed (e.g., background content in a representation of the physical environment). In some embodiments, the background content includes a user interface (e.g., a user interface corresponding to an application generated by a computer system), virtual objects that are not associated with or included in the virtual environment and / or virtual content (e.g., files generated by a computer system or representations of other users, etc.), and / or real objects (e.g., see-through objects representing real objects in the physical environment surrounding the user, which are visible so that they are displayed via the display generation component and / or visible via transparent or translucent components of the display generation component because the computer system does not block / impede their visibility through the display generation component). In some embodiments, at a low immersion level (e.g., a first immersion level), the background, virtual and / or real objects are displayed in an unobstructed manner. For example, a virtual environment with a low immersion level is optionally displayed simultaneously with the background content, which is optionally displayed at full brightness, color and / or translucency.In some embodiments, at a higher immersion level (e.g., a second immersion level that is higher than the first immersion level), background, virtual and / or real objects are displayed in an obscured 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 between background objects. For example, at a particular immersion level, one or more first background objects are visually de-emphasized (e.g., dimmed, blurred, and / or 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, zero immersion or zero immersion level corresponds to a virtual environment that ceases to be displayed, and instead displays a representation of the physical environment (optionally with one or more virtual objects, such as applications, windows, or virtual three-dimensional objects), without the representation of the physical environment being obscured by the virtual environment. Adjusting the immersion level using physical input elements provides a fast and efficient method of adjusting the degree of immersion, which enhances the operability of the computer system and makes the user-device interface more efficient.
[0063] Viewpoint-locked virtual objects: When a computer system displays a virtual object at the same position and / or location in a user's viewpoint, even if the user's viewpoint shifts (e.g., changes), the virtual object is viewpoint-locked. 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 display generation component of the computer system. For example, a viewpoint-locked virtual object that is displayed in the upper left corner of the user's viewpoint when the user's viewpoint is in a first orientation (e.g., the user's head is facing north) continues to be displayed in the upper left corner of the user's viewpoint even when the user's viewpoint changes to a second orientation (e.g., the user's head is facing west). In other words, the position and / or location of the viewpoint-locked virtual object displayed in the user's viewpoint is independent of the user's position and / or orientation in the physical environment. In embodiments where the computer system is a head-mounted device, the user's viewpoint is locked to the orientation of the user's head, such that the virtual object is also referred to as a "head-locked virtual object."
[0064] Environment-locked visual objects: A virtual object is environment-locked (alternatively, "world-locked") when a computer system displays it at a location and / or position in a user's viewpoint that is based on (e.g., selected with reference to and / or anchored to) a location and / or object in a three-dimensional environment (e.g., a physical environment or a virtual environment). As the user's viewpoint moves, the location and / or objects in the environment change relative to the user's viewpoint, which causes the environment-locked virtual object to be displayed at a different location and / or position in the user's viewpoint. For example, an environment-locked virtual object locked to a tree immediately in front of the user is displayed at the center of the user's viewpoint. When the user's viewpoint shifts to the right (e.g., the user's head turns to the right) such that the tree is now to the left of center in the user's viewpoint (e.g., the tree's position in the user's viewpoint shifts), the environment-locked virtual object locked to the tree is displayed to the left of center in the user's viewpoint. In other words, the position and / or location at which an environment-locked virtual object is displayed in the user's viewpoint depends on the position and / or orientation of the object in the environment to which the virtual object is locked. In some embodiments, the computer system uses a stationary reference frame (e.g., a coordinate system anchored to fixed locations and / or objects in the physical environment) to determine the location at which an environment-locked virtual object is displayed in the user's viewpoint. An environment-locked virtual object can be locked to a stationary portion of the environment (e.g., a floor, wall, table, or other stationary object), or can be locked to a movable portion of the environment (e.g., a vehicle, animal, person, or even a representation of a part of the user's body that moves independently of the user's viewpoint, such as a hand, wrist, arm, or foot of the user) so that the virtual object moves as the viewpoint or that portion of the environment moves to maintain a fixed relationship between the virtual object and that portion of the environment.
[0065] In some embodiments, an environment-locked or viewpoint-locked virtual object exhibits an inertial following behavior that reduces or delays the movement of the environment-locked or viewpoint-locked virtual object relative to the movement of a reference point that the virtual object follows. In some embodiments, when exhibiting inertial following behavior, the computer system intentionally delays the movement of the virtual object when movement of a reference point that the virtual object is following (e.g., a portion of the environment, a viewpoint, or a point fixed relative to the viewpoint, such as a point between 5 cm and 300 cm from the viewpoint) is detected. For example, when the reference point (e.g., the portion of the environment or the viewpoint) moves at a first speed, the virtual object is moved by the device to remain locked to the reference point, but at a second speed that is slower than the first speed (e.g., until the reference point stops moving or slows down, at which point the virtual object begins to catch up with the reference point). In some embodiments, when the virtual object exhibits inertial following behavior, the device ignores small amounts of movement of the reference point (e.g., ignoring movements of the reference point below a threshold movement amount, such as movement from 0 degrees to 5 degrees or movement from 0 cm to 50 cm). For example, when a reference point (e.g., a portion or viewpoint of an environment to which a virtual object is locked) moves a first amount, the distance between the reference point and the virtual object increases (e.g., because the virtual object is being displayed so as to maintain a fixed or substantially fixed position relative to a viewpoint or portion of the environment different from the reference point to which the virtual object is locked), and when the reference point (e.g., the portion or viewpoint of the environment to which the virtual object is locked) moves a second amount greater than the first amount, the distance between the reference point and the virtual object first increases (e.g., because the virtual object is being displayed so as to maintain a fixed or substantially fixed position relative to a viewpoint or portion of the environment different from the reference point to which the virtual object is locked), and then decreases when the amount of movement of the reference point increases above a threshold (e.g., a “lazy follow” threshold) because the virtual object is moved by the computer system to maintain a fixed or substantially fixed position relative to the reference point. In some embodiments, maintaining a substantially fixed position of the virtual object relative to the reference point includes displaying the virtual object within a threshold distance (e.g., 1 cm, 2 cm, 3 cm, 5 cm, 15 cm, 20 cm, 50 cm) of the reference point in one or more dimensions (e.g., up / down, left / right, and / or forward / backward relative to the position of the reference point).
[0066] Hardware: There are many different types of electronic systems that enable people to sense and / or interact with various XR environments. Examples include head-mounted systems, projection-based systems, heads-up displays (HUDs), vehicle windshields with integrated display capabilities, windows with integrated display capabilities, displays formed as lenses designed to be placed on a person's eyes (e.g., similar to contact lenses), headphones / earpieces, speaker arrays, input systems (e.g., wearable or handheld controllers with or without haptic feedback), smartphones, tablet devices, and desktop / laptop computers. A head-mounted system can have one or more speakers and an integrated opaque display. Alternatively, a head-mounted system can be configured to accept an external opaque display (e.g., a smartphone). 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. Instead of an opaque display, a head-mounted system can have a transparent or translucent display. A transparent or translucent display can have a medium through which light representing the image is directed to the person's eyes. The display may utilize digital light projection, OLED, LED, uLED, liquid crystal on silicon, laser scanning light source, or any combination of these technologies. The medium may be an optical waveguide, a holographic medium, an optical combiner, an optical reflector, or any combination thereof. In one embodiment, the transparent or translucent display may be configured to selectively become opaque. The projection-based system may employ retinal projection technology that projects graphic images onto a person's retina. The projection system may also be configured to project virtual objects into the physical environment, for example as holograms or on a physical surface. In some embodiments, the controller 110 is configured to manage and coordinate the user's XR experience. In some embodiments, the controller 110 includes a suitable combination of software, firmware, and / or hardware. Figure 2Controller 110 is described in more detail. In some embodiments, controller 110 is a computing device that is located locally or remotely relative to scene 105 (e.g., 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 or a central server) located outside of scene 105. In some embodiments, controller 110 is communicatively coupled to display generation component 120 (e.g., an HMD, display, projector, or touchscreen) via one or more wired or wireless communication channels 144 (e.g., Bluetooth, IEEE 802.11x, IEEE 802.16x, or IEEE 802.3x). For example, the controller 110 is included within a housing (e.g., a physical housing) of the display generation component 120 (e.g., an HMD or a portable electronic device including a display and one or more processors), one or more input devices among the input devices 125, one or more output devices among the output devices 155, one or more sensors among the sensors 190, and / or one or more peripheral devices among the peripheral devices 195, or shares the same physical housing or support structure with one or more of the above devices.
[0067] In some embodiments, the display generation component 120 is configured to provide an XR experience (e.g., at least the visual component of the XR experience) to the user. In some embodiments, the display generation component 120 includes a suitable combination of software, firmware, and / or hardware. Figure 3 Display generation component 120 is described in further detail. In some embodiments, the functionality of controller 110 is provided by and / or combined with display generation component 120.
[0068] According to some embodiments, the display generation component 120 provides an XR experience to the user when the user is virtually and / or physically present within the scene 105.
[0069] In some embodiments, the display generation component is worn on a part of the user's body (e.g., on his / her head or on his / her hand). In this way, the display generation component 120 includes one or more XR displays provided for displaying XR content. For example, in various embodiments, the display generation component 120 surrounds the user's field of view. In some embodiments, the display generation component 120 is a handheld device (such as a smart phone or tablet device) configured to present XR content, and the user holds a device with a display facing the user's field of view and a camera facing the scene 105. In some embodiments, the handheld device is optionally placed in a 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 room configured to present XR content, wherein the user does not wear or hold the display generation component 120. Many user interfaces described with reference to one type of hardware for displaying XR content (e.g., a handheld device or a device on a tripod) 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 interactions with XR content that are triggered based on interactions occurring in the space in front of a handheld device or a tripod-mounted device can similarly be implemented with an HMD, where the interactions occur in the space in front of the HMD and the responses to the XR content are displayed via the HMD. Similarly, a user interface showing interactions with XR content that are triggered based on movement of a handheld device or a tripod-mounted device relative to a physical environment (e.g., scene 105 or a part of a user's body (e.g., the user's eyes, head, or hands)) can similarly be implemented with an HMD, where the movement is caused by movement of the HMD relative to the physical environment (e.g., scene 105 or a part of a user's body (e.g., the user's eyes, head, or hands)).
[0070] Despite Figure 1A Relevant features of the operating environment 100 are shown in FIG, but those skilled in the art will recognize from this disclosure that various other features are not illustrated for the sake of brevity and so as not to obscure more relevant aspects of the example embodiments disclosed herein.
[0071] Figures 1A to 1PIllustrated are various examples of a computer system for performing a method and providing audio, visual and / or tactile feedback as a part of a user interface as described herein. In some embodiments, a computer system includes one or more display generation components (e.g., a first display assembly 1-120a and a second display assembly 1-120b and / or a first optical module 11.1.1-104a and a second optical module 11.1.1-104b) for displaying a virtual element and / or a representation of a physical environment to a user of the computer system, optionally based on detected events and / or user inputs 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, which are optionally removably attached to one or more optical modules in the optical module, so that the user interface is more easily viewed by a user who would otherwise use glasses or contact lenses to correct their vision. While many of the user interfaces illustrated herein show a single view of the user interface, a user interface in an HMD is optionally displayed using two optical modules (e.g., a first display assembly 1-120a and a second display assembly 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 the illusion of stereoscopic depth, the single view of the user interface being typically a right eye view or a left eye view, with the depth effect being explained in text or using other diagrams or views. In some embodiments, a computer system includes one or more external displays (e.g., display assembly 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 other people near the computer system, the status information being optionally generated based on detected events and / or user input detected by the computer system. In some embodiments, the computer system includes one or more audio output components (e.g., electronic components 1-112) for generating audio feedback, which is optionally generated based on detected events and / or user input detected by the computer system. In some embodiments, the computer system includes one or more input devices for detecting input, such as one or more sensors (e.g., sensor assemblies 1-356 and / or sensor assemblies 1-357) for detecting information about the physical environment of the device. Figure 1I One or more sensors in ), which can be used (optionally in combination with one or more illuminators, such as Figure 1IIn some embodiments, the computer system includes one or more input devices for detecting input, such as one or more sensors for detecting hand positioning and / or movement (e.g., sensor assembly 1-356 and / or sensor assembly 1-357). Figure 1I One or more sensors in ), which can be used (optionally in combination with one or more illuminators, such as Figure 1I In some embodiments, the computer system includes one or more input devices for detecting input, such as one or more sensors for detecting eye movement (e.g., Figure 1I eye tracking and gaze tracking sensors in the , which can be used (optionally in conjunction with one or more lights, such as Figure 1O11.3.2-110) determine attention or gaze location 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 user facial expressions and / or hand movements for use in generating an avatar or representation of the user, such as an anthropomorphic avatar or representation for a real-time communication session, wherein the avatar has facial expressions, hand movements, and / or body movements that are based on or similar to the detected facial expressions, hand movements, and / or body movements of the user of the device. Gaze and / or attention information is optionally combined with hand tracking information to determine interaction between a user and one or more user interfaces based on direct and / or indirect input, such as air gestures or input using one or more hardware input devices, such as one or more buttons (e.g., first button 1-128, button 11.1.1-114, second button 1-132, and / or dial or button 1-328), knobs (e.g., first button 1-128, button 11.1.1-114, and / or dial or button 1-328), a digital crown (e.g., a pressable and twistable or rotatable first button 1-128, button 11.1.1-114, and / or dial or button 1-328), a touchpad, a touch screen, a keyboard, a mouse, and / or other input devices. One or more buttons (e.g., a first button 1-128, a button 11.1.1-114, a second button 1-132, and / or a dial or button 1-328) are optionally used to perform system operations, such as re-centering content in a three-dimensional environment visible to a user of the device, displaying a primary user interface for launching an application, starting a real-time communication session, or initiating display of a virtual three-dimensional background. A knob or digital crown (e.g., a pressable and twistable or rotatable first button 1-128, a button 11.1.1-114, and / or a dial or button 1-328) is optionally rotatable to adjust parameters of the visual content, such as the immersion level of the virtual three-dimensional environment (e.g., the extent to which the virtual content occupies the user's viewport in the three-dimensional environment) or other parameters associated with the three-dimensional environment and virtual content displayed via the optical modules (e.g., the first display assembly 1-120a and the second display assembly 1-120b and / or the first optical module 11.1.1-104a and the second optical module 11.1.1-104b).
[0072] Figure 1BIllustrated are front, top, and perspective views of an example head-mounted display (HMD) device 1-100 configured to be worn by a user and to provide a virtual and altered / mixed reality (VR / AR) experience. The HMD 1-100 may include a display unit 1-102 or assembly, an electronics strap assembly 1-104 connected to and extending from the display unit 1-102, and a strap assembly 1-106 secured at either end to the electronics strap assembly 1-104. The electronics strap assembly 1-104 and the strap 1-106 may be part of a retention assembly configured to wrap around a user's head to hold the display unit 1-102 against the user's face.
[0073] In at least one example, the strap assembly 1-106 can include a first strap 1-116 configured to wrap around the back of a user's head and a second strap 1-117 configured to extend over the top of the user's head. As shown, the second strap can extend between the first electronic strap 1-105a and the second electronic strap 1-105b of the electronic strap assembly 1-104. The strap assembly 1-104 and the strap assembly 1-106 can be part of a securing mechanism that extends rearward from the display unit 1-102 and is configured to hold the display unit 1-102 against the user's face.
[0074] In at least one example, the securing mechanism includes a first electronic strip 1-105a including a first proximal end 1-134 coupled to the display unit 1-102 (e.g., 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 securing mechanism may also include a second electronic strip 1-105b including a second proximal end 1-138 coupled to the housing 1-150 of the display unit 1-102 and a second distal end 1-140 opposite the second proximal end 1-138. The securing mechanism may also include a first band 1-116 and a second band 1-117, the first band including a first end 1-142 coupled to the first distal end 1-136 and a second end 1-144 coupled to the second distal end 1-140, and the second band extending between the first electronic strip 1-105a and the second electronic strip 1-105b. The strips 1-105a-b and the strip 1-116 may be coupled via a connecting mechanism or assembly 1-114. In at least one example, the second strip 1-117 includes a first end 1-146 coupled to the first electronic strip 1-105a between the first proximal end 1-134 and the first distal end 1-136 and a second end 1-148 coupled to the second electronic strip 1-105b between the second proximal end 1-138 and the second distal end 1-140.
[0075] In at least one example, the first and second electronic strips 1-105a-b include plastic, metal, or other structural materials formed into the shape of a substantially rigid strip 1-105a-b. In at least one example, the first band 1-116 and the second band 1-117 are formed of a resilient, flexible material including a woven textile, rubber, or the like. The first band 1-116 and the second band 1-117 can be flexible to conform to the shape of the user's head when the HMD 1-100 is worn.
[0076] In at least one example, one or more of the first and second electronic strips 1-105a-b can define an interior strip volume and include one or more electronic components disposed within the interior strip volume. Figure 1B As shown, the first electronic strip 1-105a may include an electronic component 1-112. In one example, the electronic component 1-112 may include a speaker. In one example, the electronic component 1-112 may include a computing component, such as a processor.
[0077] In at least one example, the housing 1-150 defines a first front opening 1-152. Figure 1B 1-152 in dashed lines because the display assembly 1-108 is configured to obscure the first opening 1-152 from view when the HMD 1-100 is assembled. The housing 1-150 may also define a rear-mounted second opening 1-154. The housing 1-150 further defines an interior volume between the first opening 1-152 and the second opening 1-154. In at least one example, the HMD 1-100 includes a display assembly 1-108, which may include a front cover and a display screen (shown in other figures) disposed in or across the front opening to obscure the front opening 1-152. In at least one example, the display screen of the display assembly 1-108, and the display assembly 1-108 generally, 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 of the face from side to side, such as left to right and / or top to bottom, where the display unit 1-102 is depressed.
[0078] In at least one example, the housing 1-150 may define a first aperture 1-126 between the first opening 1-152 and the 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 are capable of being 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 may be a twistable dial and a pressable 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.
[0079] Figure 1C A rear perspective view of an HMD 1-100 is illustrated. The HMD 1-100 may include a light seal 1-110 extending rearwardly from a housing 1-150 of a display assembly 1-108 around the periphery of the housing 1-150, as shown. The light seal 1-110 may be configured to extend from the housing 1-150 to the user's face, surrounding 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, which are disposed at or within a rearward-facing second opening 1-154 defined by the housing 1-150 and / or disposed within the interior volume of the housing 1-150 and 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, which are configured to project light in a rearward direction through the second opening 1-154 toward the user's eyes.
[0080] In at least one example, reference Figure 1B and Figure 1C In both cases, the display assembly 1-108 may be a front-facing, forward-facing display assembly including a display screen configured to project light in a first, forward direction, and the rear-facing display screens 1-122a-b may be configured to project light in a second, rearward direction opposite the first direction. As described above, the light seal 1-110 may be configured to block light external to the HMD 1-100 from reaching the user's eyes, including by Figure 1B1-108 is shown in a front perspective view of the HMD 1-100. In at least one example, the HMD 1-100 may further include a curtain 1-124 that obscures a second opening 1-154 between the housing 1-150 and the rear display assembly 1-120a-b. In at least one example, the curtain 1-124 may be elastic or at least partially elastic.
[0081] Figure 1B and Figure 1C Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination in the Figures 1D to 1F Any other examples of the devices, features, components and parts shown and described herein. Figures 1D to 1F Any of the features, components and / or parts shown or described (including their arrangement and configuration) may be included alone or in any combination in the Figure 1B and Figure 1C Examples of devices, features, components, and parts are shown.
[0082] Figure 1D An exploded view of an example of an HMD 1-200 is illustrated, the HMD including various parts or components that are separated according to the modularization and selective coupling of these components. For example, the HMD 1-200 may include a strap 1-216 that is selectively coupled to a first electronic strip 1-205a and a second electronic strip 1-205b. The first fixed strap 1-205a may include a first electronic component 1-212a, and the second fixed strap 1-205b may include a second electronic component 1-212b. In at least one example, the first and second straps 1-205a-b can be removably coupled to the display unit 1-202.
[0083] Additionally, the HMD 1-200 may include an optical seal 1-210 configured to be removably coupled to the display unit 1-202. The HMD 1-200 may also include a lens 1-218 that may be removably coupled to the display unit 1-202, for example, on a first display assembly and a second display assembly that include display screens. The lens 1-218 may include a custom prescription lens configured to correct vision. As noted, in Figure 1D Each of the parts shown in the exploded view of the HMD 1-200 and described above can be removably coupled, attached, reattached, and replaced to upgrade parts or swap out parts for different users. For example, bands such as the band 1-216, optical seals such as the optical seal 1-210, lenses such as the lens 1-218, and electronic strips such as the electronic strips 1-205a-b can be swapped out depending on the user so that these parts are customized to fit and correspond to an individual user of the HMD 1-200.
[0084] Figure 1D Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination in the Figure 1B 、 Figure 1C and Figures 1E to 1F Any other examples of the devices, features, components and parts shown and described herein. Figure 1B 、 Figure 1C and Figures 1E to 1F Any of the features, components and / or parts shown or described (including their arrangement and configuration) may be included alone or in any combination in the Figure 1D Examples of devices, features, components, and parts are shown.
[0085] Figure 1E An exploded view of an example of a display unit 1-306 of an HMD is illustrated. The display unit 1-306 may include a front display assembly 1-308, a frame / housing assembly 1-350, and a curtain assembly 1-324. The display unit 1-306 may also include a sensor assembly 1-356, a logic board assembly 1-358, and a cooling assembly 1-360 disposed between the frame assembly 1-350 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 including 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.
[0086] In at least one example, the display unit 1-306 may further include a motor assembly 1-362 configured as an adjustment mechanism for adjusting the positioning of the display screens 1-322a-b of the display assembly 1-320 relative to the frame 1-350. In at least one example, the display assembly 1-320 is mechanically coupled to the motor assembly 1-362, with each display screen 1-322a-b having at least one motor such that the motors can translate the display screens 1-322a-b to match the interpupillary distance of the user's eyes.
[0087] In at least one example, the display unit 1-306 may include a dial or button 1-328 that is depressible relative to the frame 1-350 and accessible by a user external to the frame 1-350. The button 1-328 may be electrically connected to the motor assembly 1-362 via a controller such that the button 1-328 may be manipulated by a user to cause a motor of the motor assembly 1-362 to adjust the positioning of the display screens 1-322a-b.
[0088] Figure 1EAny of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination in the Figures 1B to 1D and Figure 1F Any other examples of the devices, features, components and parts shown and described herein. Figures 1B to 1D and Figure 1F Any of the features, components and / or parts shown and described (including their arrangements and configurations) may be included in the Figure 1E Examples of devices, features, components, and parts are shown.
[0089] Figure 1F An exploded view of another example of a display unit 1-406 of an HMD device similar to other HMD devices described herein is illustrated. The display unit 1-406 may include a front display assembly 1-402, a sensor assembly 1-456, a logic board assembly 1-458, a cooling assembly 1-460, a frame assembly 1-450, a rear display assembly 1-421, and a curtain assembly 1-424. The display unit 1-406 may also include a motor assembly 1-462 for adjusting the positioning of a first display subassembly 1-420a and a second display subassembly 1-420b of the rear display assembly 1-421, including the first and second corresponding display screens for interpupillary adjustment, as described above.
[0090] Figure 1F The various parts, systems and assemblies shown in exploded views herein are referenced Figures 1B to 1E and subsequent figures referenced in this disclosure are described in more detail. Figure 1F The display unit 1-406 shown can be used with Figures 1B to 1E The illustrated fixing mechanism is assembled and integrated, including the electronic strips, ribbons, and other components including optical seals, connector assemblies, etc.
[0091] Figure 1F Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination in the Figures 1B to 1E Any other examples of the devices, features, components and parts shown and described herein. Figures 1B to 1E Any of the features, components and / or parts shown and described (including their arrangements and configurations) may be included in the Figure 1F Examples of devices, features, components, and parts are shown.
[0092] Figure 1G 1 illustrates a perspective exploded view of a front cover assembly 3-100 of an HMD device described herein, such as Figure 1GThe front cover assembly 3-1 of the illustrated HMD 3-100, or any other HMD device shown and described herein. Figure 1G The illustrated front cover assembly 3-100 may include a transparent or translucent cover 3-102, a shield 3-104 (or "canopy"), an adhesive layer 3-106, a display assembly 3-108 including a lenticular lens panel or array 3-110, and a structural trim 3-112. The adhesive layer 3-106 may secure the shield 3-104 and / or the transparent cover 3-102 to the display assembly 3-108 and / or the trim 3-112. The trim 3-112 may secure the various components of the front cover assembly 3-100 to the frame or base of the HMD device.
[0093] In at least one example, Figure 1G As shown, the transparent cover 3-102, the shield 3-104 and the display assembly 3-108 including the lenticular lens array 3-110 can be bent to accommodate the curvature of the user's face. The transparent cover 3-102 and the shield 3-104 can be bent in two or three dimensions, for example, vertically bent in the Z direction within and outside the ZX plane, and horizontally bent in the X direction within and outside the ZX plane. In at least one example, the display assembly 3-108 may include the lenticular lens array 3-110 and a display panel having pixels that are configured to project light through the shield 3-104 and the transparent cover 3-102. The display assembly 3-108 can be bent in at least one direction (e.g., horizontally) to accommodate the curvature of the user's face from one side of the face (e.g., the left side) to the other side (e.g., the right side). In at least one example, each layer or component of the display assembly 3-108 (which will be shown in subsequent figures and described in more detail, but which may include the lenticular lens array 3-110 and the display layer) may be curved similarly or concentrically in the horizontal direction to accommodate the curvature of the user's face.
[0094] In at least one example, the shield 3-104 may include a transparent or translucent material through which the display assembly 3-108 projects light. In one example, the shield 3-104 may include one or more opaque portions, such as an opaque ink-printed portion or other opaque film portion on the back of the shield 3-104. When the HMD device is worn, the back surface may be the surface of the shield 3-104 that faces 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, the one or more opaque portions of the shield 3-104 may include a peripheral portion that visually conceals any components surrounding the outer perimeter of the display screen of the display assembly 3-108. In this manner, the opaque portion of the shield conceals 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, and the like.
[0095] In at least one example, the shield 3-104 may define one or more apertured transparent portions 3-120 through which sensors may transmit and receive signals. In one example, the portion 3-120 is an aperture through which a sensor may extend or transmit and receive signals. In one example, the portion 3-120 is a transparent portion, or a portion that is more transparent than surrounding translucent or opaque portions of the shield, through which sensors may transmit and receive signals through the shield and through the transparent cover 3-102. In one example, the sensor may include a camera, an IR sensor, a LUX sensor, or any other visual or non-visual environmental sensor of the HMD device.
[0096] Figure 1G Any of the features, components, and / or parts shown (including arrangements and configurations thereof) may be included, alone or in any combination, in any other example of the apparatus, features, components, and parts described herein. Likewise, any of the features, components, and / or parts shown and described herein (including arrangements and configurations thereof) may be included, alone or in any combination, in any other example of the apparatus, features, components, and parts described herein. Figure 1G Examples of devices, features, components, and parts are shown.
[0097] Figure 1H An exploded view of an example of an HMD device 6-100 is illustrated. The HMD device 6-100 may include a sensor array or system 6-102 including one or more sensors, cameras, projectors, etc. mounted to one or more components of the HMD 6-100. In at least one example, the sensor system 6-102 may include a bracket 1-338 to which one or more sensors of the sensor system 6-102 may be secured / fastened.
[0098] Figure 1I A portion of an HMD device 6-100 is illustrated that includes a front transparent cover 6-104 and a sensor system 6-102. The sensor system 6-102 may include a plurality of different sensors, emitters, receivers, including cameras, IR sensors, projectors, etc. The transparent cover 6-104 is illustrated in front of the sensor system 6-102 to illustrate the relative positioning of the various sensors and emitters and the orientation of each sensor / emitter of the system 6-102. As referred to herein, "lateral," "sideways," "horizontal," and other similar terms refer to the orientation of the sensor system 6-102. Figure 1J The orientation or direction indicated by the X-axis shown. Terms such as "vertical", "upward", "downward" and similar terms refer to Figure 1J The orientation or direction indicated by the Z-axis shown. Terms such as "forward," "backward," "forward," "backward" and similar terms refer to the orientation or direction indicated by the Z-axis shown. Figure 1J The Y-axis shown indicates the orientation or direction.
[0099] In at least one example, a transparent cover 6-104 may define a front exterior surface of the HMD device 6-100, and a sensor system 6-102, including various sensors and components thereof, may be disposed in the Y axis / direction behind the cover 6-104. The cover 6-104 may be transparent or translucent to allow light to pass through the cover 6-104, including both light detected by the sensor system 6-102 and light emitted thereby.
[0100] As described elsewhere herein, the HMD device 6-100 may include one or more controllers including processors for electrically coupling the various sensors and transmitters of the sensor system 6-102 to one or more motherboards, processing units, and other electronic devices such as display screens. Furthermore, as will be shown in greater detail below with reference to other figures, the various sensors, transmitters, and other components of the sensor system 6-102 may be coupled to Figure 1I For clarity, various structural frame members, brackets, etc. of the HMD device 6-100 are not shown. Figure 1I Components of the sensor system 6-102 are shown unattached and unelectrically coupled to other components.
[0101] In at least one example, the device may include one or more controllers having processors configured to execute instructions stored on a memory component electrically coupled to the processors. The instructions may include or cause the processors to execute one or more algorithms for self-correcting the angles and positions of the various cameras described herein over time as the initial position, angle, or orientation of the camera is bumped or deformed due to an accidental drop event or other event.
[0102] 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, one positioned on either side of the nose bridge or arch of the HMD device 6-100, such that each of the two cameras 6-106 roughly corresponds to the positioning of the 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 use of the HMD 6-100. In at least one example, the scene cameras are color cameras and provide images and content for MR video pass-through to a display screen facing the user's eyes when the HMD device 6-100 is in use. The scene cameras 6-106 may also be used for environment and object reconstruction.
[0103] In at least one example, the sensor system 6-102 may include a first depth sensor 6-108 that points generally forward in the Y direction. In at least one example, the first depth sensor 6-108 may be used for environment and object reconstruction and hand and body tracking of the user. In at least one example, the sensor system 6-102 may include a second depth sensor 6-110 that is centrally located 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 located above a central nose bridge or on an adaptor structure that is above the nose of the user when the HMD 6-100 is worn. 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.
[0104] In at least one example, the sensor system 6-102 may include a depth projector 6-112 that faces generally forward to project electromagnetic waves (e.g., in a predetermined pattern of light dots) into or within the field of view of the user and / or scene camera 6-106, or into or within a field of view that includes and extends beyond the field of view of the user and / or scene camera 6-106. In at least one example, the depth projector may be capable of projecting electromagnetic waves of light in the form of a pattern of light dots that reflect off an object and return to the depth sensors described above, including the 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.
[0105] In at least one example, the sensor system 6-102 may include downward-facing cameras 6-114 whose fields of view are generally directed downward on the Z-axis relative to the HMD device 6-100. In at least one example, the downward-facing cameras 6-114 may be disposed on the left and right sides of the HMD device 6-100 as shown and used for hand and body tracking, headset tracking, and facial avatar detection and creation for displaying a user avatar on a forward-facing display screen of the HMD device 6-100 as described elsewhere herein. For example, the downward-facing cameras 6-114 may be used to capture facial expressions and movements of a user's face, including cheeks, mouth, and chin, beneath the HMD device 6-100.
[0106] In at least one example, the sensor system 6-102 may include a jaw camera 6-116. In at least one example, the jaw cameras 6-116 may be provided on the left and right sides of the HMD device 6-100 as shown and used for hand and body tracking, headset tracking, and facial avatar detection and creation for displaying a user avatar on a front-facing display screen of the HMD device 6-100 as described elsewhere herein. For example, the jaw camera 6-116 may be used to capture facial expressions and movements of a user's face (including the user's jaw, cheeks, mouth, and chin) beneath the HMD device 6-100. For hand and body tracking, headset tracking, and facial avatar detection and creation, the user may also be provided with a jaw camera 6-116.
[0107] In at least one example, the sensor system 6-102 may include a side camera 6-118. The side camera 6-118 may be oriented to capture left and right side views in an X-axis or direction relative to the HMD device 6-100. In at least one example, the side camera 6-118 may be used for hand and body tracking, headset tracking, and facial avatar detection and reconstruction.
[0108] In at least one example, the sensor system 6-102 may include a plurality of eye tracking and gaze tracking sensors for determining the identity, status, and gaze direction of a user's eyes during and / or prior to use. In at least one example, the eye / gaze tracking sensors may include nose-eye cameras 6-120 that are positioned on either side of the user's nose and adjacent to the user's nose when the HMD device 6-100 is worn. The eye / gaze sensors may also include bottom eye cameras 6-122 positioned below the respective user's eyes for capturing images of the eyes for use in facial avatar detection and creation, gaze tracking, and iris identification functionality.
[0109] In at least one example, the sensor system 6-102 may include an infrared illuminator 6-124 that points outward from the HMD device 6-100 to illuminate the external environment and any objects therein with IR light for IR detection using one or more IR sensors of the sensor system 6-102. In at least one example, the sensor system 6-102 may include a flicker sensor 6-126 and an ambient light sensor 6-128. In at least one example, the flicker sensor 6-126 may detect the refresh rate of overhead light to avoid display flicker. In one example, the infrared illuminator 6-124 may include a light emitting diode and may be particularly useful in low-light environments for illuminating a user's hands and other objects in low light for detection by the infrared sensors of the sensor system 6-102.
[0110] In at least one example, a plurality of sensors (including a scene camera 6-106, a downward camera 6-114, a jaw camera 6-116, a side camera 6-118, a depth projector 6-112, and depth sensors 6-108, 6-110) may be used in combination with an electrically coupled controller to combine depth data with camera data for hand tracking and for size determination to better perform hand tracking and object recognition and tracking functions of the HMD device 6-100. In at least one example, the above-described and Figure 1I The downward camera 6-114, the jaw camera 6-116, and the side camera 6-118 shown may be wide-angle cameras capable of operating in the visible and infrared spectrum. In at least one example, these cameras 6-114, 6-116, 6-118 may operate only in black and white light detection to simplify image processing and gain sensitivity.
[0111] Figure 1I Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination in the Figures 1J to 1L Any other examples of the devices, features, components and parts shown and described herein. Figures 1J to 1L Any of the features, components and / or parts shown and described (including their arrangements and configurations) may be included in the Figure 1I Examples of devices, features, components, and parts are shown.
[0112] Figure 1JA lower perspective view of an example of an HMD 6-200 including a cover or shroud 6-204 secured to a frame 6-230 is illustrated. In at least one example, sensors 6-203 of a sensor system 6-202 may be disposed around the perimeter of the HMD 6-200 such that the sensors 6-203 are disposed outwardly around the perimeter of a display area or area 6-232 so as to not obstruct a view of displayed light. In at least one example, the sensors may be disposed behind the shroud 6-204 and aligned with a transparent portion of the shroud, thereby allowing the sensors and projector to pass light back and forth through the shroud 6-204. In at least one example, opaque ink or other opaque material or film / layer may be disposed on the shroud 6-204 around the display area 6-232 to conceal components of the HMD 6-200 outside of the display area 6-232 rather than the transparent portion defined by the opaque portion through which the sensors and projector transmit and receive light and electromagnetic signals during operation. In at least one example, the shield 6-204 allows light to pass from the display (eg, within the display area 6-232), but does not allow light to pass radially outward from the display area around the display and the perimeter of the shield 6-204.
[0113] 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-207 of the shield 6-204 may define one or more transparent areas 6-209 through which the sensors 6-203 of the sensor system 6-202 may transmit and receive signals. In the illustrated example, the 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 areas 6-209 defined by the opaque portion 6-207 of the shield 6-204, may include 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 areas 6-209 defined by the opaque portion 6-207 of the shield 6-204. Figure 1I The same or similar sensors as those shown in the example of FIG, such as depth sensors 6-108 and 6-110, depth projector 6-112, first and second scene cameras 6-106, first and second downward cameras 6-114, first and second side cameras 6-118, and first and second infrared illuminators 6-124. These sensors are also Figure 1K and Figure 1L Other sensors, sensor types, number of sensors, and their relative positioning may be included in one or more other examples of an HMD.
[0114] Figure 1J Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination in the Figure 1I and Figures 1K to 1LAny other examples of the devices, features, components and parts shown and described herein. Figure 1I and Figures 1K to 1L Any of the features, components and / or parts shown or described (including their arrangement and configuration) may be included alone or in any combination in the Figure 1J Examples of devices, features, components, and parts are shown.
[0115] Figure 1K Illustrated is 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 in order to illustrate the brackets 6-336, 6-338. For example, Figure 1J The illustrated shield 6-204 includes an opaque portion 6-207 that would visually cover / block viewing of anything external to (e.g., radially / peripherally external to) the display / display area 6-334, including the sensor 6-303 and bracket 6-338.
[0116] In at least one example, the various sensors of the sensor system 6-302 are coupled to brackets 6-336, 6-338. In at least one example, the scene cameras 6-306 include tight tolerances on angles relative to each other. For example, the tolerance on mounting angles between two scene cameras 6-306 may be 0.5 degrees or less, such as 0.3 degrees or less. To achieve and maintain such tight tolerances, in one example, the scene cameras 6-306 may be mounted to the bracket 6-338 instead of the shield. The bracket may include a cantilever on which the scene camera 6-306 and other sensors of the sensor system 6-302 may be mounted to maintain positioning and orientation in the event of a drop by a user that causes any deformation of the other brackets 6-226, the housing 6-330, and / or the shield.
[0117] Figure 1K Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination in the Figures 1I to 1J and Figure 1L Any other examples of the devices, features, components and parts shown and described herein. Figures 1I to 1J and Figure 1L Any of the features, components and / or parts shown or described (including their arrangement and configuration) may be included alone or in any combination in the Figure 1K Examples of devices, features, components, and parts are shown.
[0118] Figure 1LA bottom view of an example of an HMD 6-400 including a front display / cover assembly 6-404 and a sensor system 6-402 is illustrated. The sensor system 6-402 may be similar to other sensor systems described above and elsewhere herein, including with reference to Figures 1I to 1K As described. In at least one example, the jaw camera 6-416 can face downward to capture images of the user's lower facial features. In one example, the jaw camera 6-416 can be directly coupled to the frame or housing 6-430 or one or more internal brackets that are directly coupled to the frame or housing 6-430 as shown. The frame or housing 6-430 may include one or more holes / openings 6-415 through which the jaw camera 6-416 can transmit and receive signals.
[0119] Figure 1L Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination in the Figures 1I to 1K Any other examples of the devices, features, components and parts shown and described herein. Figures 1I to 1K Any of the features, components and / or parts shown and described (including their arrangements and configurations) may be included in the Figure 1L Examples of devices, features, components, and parts are shown.
[0120] Figure 1M Illustrated is a rear perspective view of an interpupillary distance (IPD) adjustment system 11.1.1-102 comprising first and second optical modules 11.1.1-104a-b slidably engaged / coupled to respective guide rods 11.1.1-108a-b and motors 11.1.1-110a-b of left and right adjustment subsystems 11.1.1-106a-b. The IPD adjustment system 11.1.1-102 may be coupled to a bracket 11.1.1-112 and include a button 11.1.1-114 in electrical communication with the motors 11.1.1-110a-b. In at least one example, the button 11.1.1-114 may be in electrical communication with the first and second motors 11.1.1-110a-b via a processor or other circuit components to cause the first and second motors 11.1.1-110a-b to activate and respectively cause the first and second optical modules 11.1.1-104a-b to change position relative to each other.
[0121] In at least one example, the first and second optical modules 11.1.1-104a-b can include respective display screens configured to project light toward the user's eyes when the HMD 11.1.1-100 is worn. In at least one example, the user can manipulate (e.g., press and / or rotate) a button 11.1.1-114 to activate positioning adjustment of the optical modules 11.1.1-104a-b to match the interpupillary distance of the user's eyes. The optical modules 11.1.1-104a-b can also include one or more cameras or other sensors / sensor systems for imaging and measuring the user's IPD so that the optical modules 11.1.1-104a-b can be adjusted to match the IPD.
[0122] In one example, a user can manipulate button 11.1.1-114 to cause automatic positioning adjustment of the first and second optical modules 11.1.1-104a-b. In one example, a user can manipulate button 11.1.1-114 to cause manual adjustment, causing the optical modules 11.1.1-104a-b to move further or closer (e.g., when the user rotates button 11.1.1-114 one way or another) until the user visually matches their own IPD. In one example, the manual adjustment is communicated electronically via one or more circuits, and power for moving the optical modules 11.1.1-104a-b via motors 11.1.1-110a-b is provided by a power source. In one example, adjustment and movement of the optical modules 11.1.1-104a-b via manipulation button 11.1.1-114 is mechanically actuated via movement button 11.1.1-114.
[0123] Figure 1M Any of the features, components, and / or parts shown (including arrangements and configurations thereof) may be included, alone or in any combination, in any other example of the apparatus, features, components, and parts shown in any other drawing and described herein. Similarly, any of the features, components, and / or parts shown or described with reference to any other drawing (including arrangements and configurations thereof) may be included, alone or in any combination, in any other example of the apparatus, features, components, and parts shown in any other drawing and described herein. Figure 1M Examples of devices, features, components, and parts are shown.
[0124] Figure 1N Illustrated is a front perspective view of a portion of an HMD 11.1.2-100 including an outer structural frame 11.1.2-102 and an inner or intermediate structural frame 11.1.2-104 defining a first aperture 11.1.2-106a and a second aperture 11.1.2-106b. Figure 1N2-106a-b may be blocked by one or more other components of the HMD 11.1.2-100 coupled to the inner frame 11.1.2-104 and / or the outer frame 11.1.2-102, as shown. In at least one example, the HMD 11.1.2-100 may include a first mounting bracket 11.1.2-108 coupled to the inner frame 11.1.2-104. In at least one example, the mounting bracket 11.1.2-108 is coupled to the inner frame 11.1.2-104 between the first and second apertures 11.1.2-106a-b.
[0125] The mounting bracket 11.1.2-108 can include a middle or center portion 11.1.2-109 coupled to the inner frame 11.1.2-104. In some examples, the middle or center portion 11.1.2-109 may not be the geometric middle or center of the bracket 11.1.2-108. Instead, the middle / center portion 11.1.2-109 can be disposed between first and second cantilevered extension arms extending away from the middle portion 11.1.2-109. In at least one example, the mounting bracket 108 includes a first cantilevered arm 11.1.2-112 and a second cantilevered arm 11.1.2-114 extending away from the middle portion 11.1.2-109 of the mounting bracket 11.1.2-108 coupled to the inner frame 11.1.2-104.
[0126] like Figure 1N As shown, the outer frame 11.1.2-102 can define a curved geometry on its underside to accommodate the user's nose when the user wears the HMD 11.1.2-100. The curved geometry can be referred to as a nose bridge 11.1.2-111 and is centrally located on the underside of the HMD 11.1.2-100 as shown. In at least one example, the mounting bracket 11.1.2-108 can be connected to the inner frame 11.1.2-104 between the holes 11.1.2-106a-b so that the cantilevered arms 11.1.2-112, 11.1.2-114 extend downwardly and laterally outwardly away from the middle portion 11.1.2-109 to complement the nose bridge 11.1.2-111 geometry of the outer frame 11.1.2-102. In this way, the mounting bracket 11.1.2-108 is configured to accommodate the user's nose, as described above. The geometry of the nose bridge 11.1.2-111 adapts to the nose in that 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.
[0127] The first cantilever arm 11.1.2-112 can extend in a first direction away from the middle portion 11.1.2-109 of the mounting bracket 11.1.2-108, and the second cantilever arm 11.1.2-114 can extend in a second direction opposite to the first direction away from the middle portion 11.1.2-109 of the mounting bracket 11.1.2-108. The first cantilever arm 11.1.2-112 and the second cantilever arm 11.1.2-114 are referred to as "cantilevered" or "cantilever" arms because each arm 11.1.2-112, 11.1.2-114 includes a free distal end 11.1.2-116, 11.1.2-118, respectively, that is not attached to the inner frame 11.1.2-102 and the outer frame 11.1.2-104. In this way, the arms 11.1.2-112, 11.1.2-114 depend from the middle portion 11.1.2-109, which is connectable to the inner frame 11.1.2-104, while the distal ends 11.1.2-102, 11.1.2-104 are unattached.
[0128] In at least one example, the HMD 11.1.2-100 may include one or more components coupled to a mounting bracket 11.1.2-108. In one example, the components include a plurality of sensors 11.1.2-110a-f. Each of the plurality of sensors 11.1.2-110a-f may include various types of sensors, including cameras, IR sensors, and the like. In some examples, one or more of the sensors 11.1.2-110a-f may be used for object recognition in three-dimensional space, making it important to maintain 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 may protect the sensors 11.1.2-110a-f from damage and shifting of position if accidentally dropped by a user. Because the sensors 11.1.2-110a-f are cantilevered on the arms 11.1.2-112, 11.1.2-114 of the mounting bracket 11.1.2-108, stresses and deformations of the inner frame and / or outer frame 11.1.2-104, 11.1.2-102 are not transferred to the cantilevered arms 11.1.2-112, 11.1.2-114 and therefore do not affect the relative positioning of the sensors 11.1.2-110a-f coupled / mounted to the mounting bracket 11.1.2-108.
[0129] Figure 1NAny of the features, components, and / or parts shown (including arrangements and configurations thereof) may be included, alone or in any combination, in any other example of a device, feature, component, or device described herein. Similarly, any of the features, components, and / or parts shown and described herein (including arrangements and configurations thereof) may be included, alone or in any combination, in any other example of a device, feature, component, or device described herein. Figure 1N Examples of devices, features, components, and parts are shown.
[0130] Figure 1O An example of an optical module 11.3.2-100 for use in an electronic device (such as an HMD, including the HMD devices described herein) is illustrated. As shown in one or more other examples described herein, the optical module 11.3.2-100 can be one of two optical modules within the HMD, where each optical module is aligned to project light toward an eye of a user. In this manner, a first optical module can project light toward a first eye of a user via a display screen, and a second optical module of the same device can project light toward a second eye of the user via another display screen.
[0131] In at least one example, the optical module 11.3.2-100 may include an optical frame or housing 11.3.2-102, which may also be referred to as a barrel or optical module barrel. The optical module 11.3.2-100 may also include a display 11.3.2-104 coupled to the housing 11.3.2-102, the display including one or more display screens. The display 11.3.2-104 may be coupled to the housing 11.3.2-102 such that the display 11.3.2-104 is configured to project light toward the eyes of a user when the HMD to which the display module 11.3.2-100 belongs is worn during use. In at least one example, the housing 11.3.2-102 may surround the display 11.3.2-104 and provide connection features for coupling other components of the optical module described herein.
[0132] In one example, the optical module 11.3.2-100 may include one or more cameras 11.3.2-106 coupled to the housing 11.3.2-102. The cameras 11.3.2-106 may be positioned relative to the display 11.3.2-104 and the housing 11.3.2-102 such that the 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 also include a light strip 11.3.2-108 surrounding the display 11.3.2-104. In one example, the light strip 11.3.2-108 is disposed between the display 11.3.2-104 and the 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 the eyes of the user when the HMD is worn. The individual lights 11.3.2-110 in the light strip 11.3.2-108 may be spaced around the light strip 11.3.2-108 and thus evenly or unevenly spaced around the display 11.3.2-104 at various locations on the light strip 11.3.2-108 and around the display 11.3.2-104.
[0133] In at least one example, the housing 11.3.2-102 defines a viewing opening 11.3.2-101 through which a user can view the display 11.3.2-104 when wearing the HMD device. In at least one example, the LEDs are configured and arranged to emit light through the viewing opening 11.3.2-101 toward the user's eyes. In one example, the camera 11.3.2-106 is configured to capture one or more images of the user's eyes through the viewing opening 11.3.2-101.
[0134] As mentioned above, Figure 1O Each of the components and features of the illustrated optical module 11.3.2-100 may be replicated in another (eg, second) optical module provided with the HMD to interact with (eg, project light and capture images) the user's other eye.
[0135] Figure 1O Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination in the Figure 1P any other examples of devices, features, components, and parts shown or otherwise described herein. Figure 1P Any of the features, components and / or parts shown or described herein (including their arrangement and configuration) may be included alone or in any combination. Figure 1OExamples of devices, features, components, and parts are shown.
[0136] Figure 1P A cross-sectional view of an example of an optical module 11.3.2-200 is illustrated, including 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 aperture or channel 11.3.2-212 and a second aperture or channel 11.3.2-214. The channels 11.3.2-212, 11.3.2-214 can be configured to slidably engage corresponding tracks or guides of an HMD device to allow the optical module 11.3.2-200 to be adjusted relative to the user's eyes to match the user's interpupillary distance (IPD). The housing 11.3.2-202 can slidably engage the guides to secure the optical module 11.3.2-200 in place within the HMD.
[0137] 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 positioned between the display assembly 11.3.2-204 and the user's eyes when the HMD is worn. The lens 11.3.2-216 may be configured to direct light from the display assembly 11.3.2-204 to the user's eyes. In at least one example, the lens 11.3.2-216 may be part of a lens assembly including a corrective lens that is removably attached to the optical module 11.3.2-200. In at least one example, the lens 11.3.2-216 is disposed above the light strip 11.3.2-208 and the one or more eye tracking cameras 11.3.2-206 such that the camera 11.3.2-206 is configured to capture an image of the user's eyes through the lens 11.3.2-216, and the light strip 11.3.2-208 includes lights configured to project light into the user's eyes through the lens 11.3.2-216 during use.
[0138] Figure 1P Any of the features, components, and / or parts shown (including arrangements and configurations thereof) may be included, alone or in any combination, in any other example of the apparatus, features, components, and parts described herein. Likewise, any of the features, components, and / or parts shown and described herein (including arrangements and configurations thereof) may be included, alone or in any combination, in any other example of the apparatus, features, components, and parts described herein. Figure 1P Examples of devices, features, components, and parts are shown.
[0139] Figure 2is a block diagram of an example of a controller 110 according to some embodiments. While some specific features are illustrated, those skilled in the art will recognize from this disclosure that various other features are not illustrated for the sake of brevity and so as not to obscure more relevant aspects of the embodiments disclosed herein. To this end, as a non-limiting example, in some embodiments, the controller 110 includes one or more processing units 202 (e.g., a microprocessor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a graphics processing unit (GPU), a central processing unit (CPU), a processing core, etc.), one or more input / output (I / O) devices 206, one or more communication interfaces 208 (e.g., a universal serial bus (USB), FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Global Positioning System (GPS), infrared (IR), Bluetooth, ZIGBEE, and / or similar types of interfaces), one or more programming (e.g., I / O) interfaces 210, a memory 220, and one or more communication buses 204 for interconnecting these and various other components.
[0140] In some embodiments, the one or more communication buses 204 include circuits that interconnect and control communications between system components. In some embodiments, the one or more I / O devices 206 include at least one of a keyboard, a mouse, a touchpad, a joystick, one or more microphones, one or more speakers, one or more image sensors, one or more displays, and the like.
[0141] 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, memory 220 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 220 optionally includes one or more storage devices located away from one or more processing units 202. Memory 220 includes non-transitory computer-readable storage media. In some embodiments, memory 220 or a non-transitory computer-readable storage medium of memory 220 stores the following programs, modules, and data structures, or a subset thereof, including an optional operating system 230 and an XR experience module 240.
[0142] 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.
[0143] In some embodiments, the data acquisition unit 242 is configured to obtain data from at least Figure 1A 155, and optionally acquires data (e.g., presentation data, interaction data, sensor data, or position data) from one or more of input device 125, output device 155, sensor 190, and / or peripheral device 195. For this purpose, in various embodiments, data acquisition unit 242 includes instructions and / or logic for instructions, as well as heuristics and metadata for the heuristics.
[0144] In some embodiments, the tracking unit 244 is configured to map the scene 105 and track at least the display generation component 120 relative to the scene 105. Figure 1A The tracking unit 244 may include instructions and / or logic for instructions and heuristics and metadata for the heuristics for this purpose. In some embodiments, the tracking unit 244 includes a hand tracking unit 245 and / or an eye tracking unit 243. In some embodiments, the hand tracking unit 245 is configured to track the position / location of one or more parts of the user's hand and / or the position / location of one or more parts of the user's hand relative to the user's scene 105. Figure 1A The scene 105, the movement relative to the display generation component 120 and / or relative to the coordinate system (the coordinate system is defined relative to the user's hand). Figure 4 The hand tracking unit 245 is described in more detail. In some embodiments, the eye tracking unit 243 is configured to track the position or movement of the user's gaze (or more broadly, the user's eyes, face, or head) relative to the scene 105 (e.g., relative to the physical environment and / or relative to the user (e.g., the user's hands)) or relative to the XR content displayed via the display generation component 120. Figure 5 The eye tracking unit 243 is described in more detail.
[0145] 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 peripheral devices 195. To this end, in various embodiments, the coordination unit 246 includes instructions and / or logic for the instructions, as well as heuristics and metadata for the heuristics.
[0146] In some embodiments, the data sending unit 248 is configured to send data (e.g., presentation data or position data) 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. To this end, in various embodiments, the data sending unit 248 includes instructions and / or logic for the instructions, as well as heuristics and metadata for the heuristics.
[0147] 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 sending 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 sending unit 248 may be located in separate computing devices.
[0148] also, Figure 2 It serves more as a functional description of various features that may be present in a particular implementation, rather than as a structural diagram of the embodiments described herein. As one of ordinary skill in the art will recognize, items shown separately may be combined, and some items may be separated. For example, Figure 2 Some functional modules shown separately in the figure may be implemented in a single module, and the various functions of a single functional block may be implemented by one or more functional blocks in various embodiments. The actual number of modules and the division of specific functions and how features are distributed among them will vary depending on the specific implementation and, in some embodiments, will depend in part on the specific combination of hardware, software, and / or firmware selected for a particular implementation.
[0149] Figure 3is a block diagram of an example of a display generation component 120 according to some embodiments. While some specific features are illustrated, those skilled in the art will recognize from this disclosure that various other features are not illustrated for the sake of brevity and so as not to obscure more relevant aspects of the embodiments disclosed herein. For this purpose, as a non-limiting example, in some embodiments, the display generation component 120 (e.g., an HMD) includes one or more processing units 302 (e.g., a microprocessor, an ASIC, an FPGA, a GPU, a CPU, a processing core, etc.), one or more input / output (I / O) devices and sensors 306, one or more communication interfaces 308 (e.g., USB, FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE802.11x, IEEE 802.16x, GSM, CDMA, TDMA, GPS, IR, Bluetooth, ZIGBEE, and / or similar types of interfaces), one or more programming (e.g., I / O) interfaces 310, one or more XR displays 312, one or more optional internal-facing and / or external-facing image sensors 314, memory 320, and one or more communication buses 304 for interconnecting these and various other components.
[0150] In some embodiments, the one or more communication buses 304 include circuits for interconnecting and controlling communications between various system components. In some embodiments, the one or more I / O devices and sensors 306 include at least one of an inertial measurement unit (IMU), an accelerometer, a gyroscope, a thermometer, one or more physiological sensors (e.g., a blood pressure monitor, a heart rate monitor, a blood oxygen sensor, or a blood glucose sensor), one or more microphones, one or more speakers, a haptic engine, one or more depth sensors (e.g., structured light, time of flight, etc.), and the like.
[0151] In some embodiments, one or more XR displays 312 are configured to provide an XR experience to the user. In some embodiments, one or more XR displays 312 correspond to holographic, digital light processing (DLP), liquid crystal display (LCD), liquid crystal on silicon (lCoS), organic light-emitting field effect transistor (OLET), organic light-emitting diode (OLED), surface conduction electron emission display (SED), field emission display (FED), quantum dot light-emitting diode (QD-LED), microelectromechanical system (MEMS) and / or similar display types. In some embodiments, one or more XR displays 312 correspond to diffraction waveguide displays, reflective waveguide displays, polarization waveguide displays, or holographic waveguide displays. For example, the display generation component 120 (e.g., HMD) includes a single XR display. For 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.
[0152] In some embodiments, the one or more image sensors 314 are configured to acquire image data corresponding to at least a portion of the user's face, including the user's eyes (and may be referred to as an eye-tracking camera). In some embodiments, the one or more image sensors 314 are configured to acquire image data corresponding to the user's hands and, optionally, at least a portion of the user's arms (and may be referred to as a hand-tracking camera). In some embodiments, the one or more image sensors 314 are configured to face forward so as to acquire image data corresponding to 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). The 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, among others.
[0153] 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, memory 320 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 320 optionally includes one or more storage devices located away from one or more processing units 302. Memory 320 includes non-transitory computer-readable storage media. In some embodiments, memory 320 or a non-transitory computer-readable storage medium of memory 320 stores the following programs, modules, and data structures, or a subset thereof, including an optional operating system 330 and an XR rendering module 340.
[0154] The operating system 330 includes processes for handling various basic system services and for performing hardware-related tasks. In some embodiments, the XR rendering module 340 is configured to present XR content to the 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 map generation unit 346, and a data transmission unit 348.
[0155] In some embodiments, the data acquisition unit 342 is configured to acquire data (e.g., presentation data, interaction data, sensor data, or location data) from at least the controller 110 of Figure 1. 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.
[0156] In some embodiments, the XR rendering unit 344 is configured to render XR content via one or more XR displays 312. For such purposes, in various embodiments, the XR rendering unit 344 includes instructions and / or logic for the instructions and heuristics and metadata for the heuristics.
[0157] In some embodiments, the XR map generation unit 346 is configured to generate an XR map (e.g., a 3D map of a mixed reality scene or a map of a physical environment in which computer-generated objects can be placed to generate an extended reality) based on the media content data. For this purpose, in various embodiments, the XR map generation unit 346 includes instructions and / or logic for the instructions and heuristics and metadata for the heuristics.
[0158] In some embodiments, the data sending unit 348 is configured to send data (e.g., presentation data or position data) to at least the controller 110, and optionally to one or more of the input device 125, the output device 155, the sensor 190, and / or the peripheral device 195. For such purposes, in various embodiments, the data sending unit 348 includes instructions and / or logic for the instructions and heuristics and metadata for the heuristics.
[0159] Although the data acquisition unit 342, the XR rendering unit 344, the XR map generation unit 346, and the data sending unit 348 are illustrated as residing on a single device (e.g., the display generation component 120 of FIG. 1 ), it should be understood that in other embodiments, any combination of the data acquisition unit 342, the XR rendering unit 344, the XR map generation unit 346, and the data sending unit 348 may be located in separate computing devices.
[0160] also, Figure 3 It serves more as a functional description of various features that may be present in a particular implementation, rather than as a structural diagram of the embodiments described herein. As one of ordinary skill in the art will recognize, items shown separately may be combined, and some items may be separated. For example, Figure 3 Some functional modules shown separately in the figure may be implemented in a single module, and the various functions of a single functional block may be implemented by one or more functional blocks in various embodiments. The actual number of modules and the division of specific functions and how features are distributed among them will vary depending on the specific implementation and, in some embodiments, will depend in part on the specific combination of hardware, software, and / or firmware selected for a particular implementation.
[0161] Figure 4 is a schematic illustration of an example embodiment of the hand tracking device 140. In some embodiments, the hand tracking device 140 ( FIG. 1 ) is controlled by the hand tracking unit 245 ( Figure 2 ) to track the position / location of one or more parts of the user's hand and / or one or more parts of the user's hand relative to Figure 1A The hand tracking device 140 is configured to monitor movement of the scene 105 relative to the user's surroundings (e.g., relative to a portion of the physical environment surrounding the user, relative to the display generation component 120, or relative to a portion of the user (e.g., the user's face, eyes, or head), and / or relative to a coordinate system defined relative to the user's hands). In some embodiments, the hand tracking device 140 is part of the display generation component 120 (e.g., embedded in or attached to 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).
[0162] In some embodiments, the hand tracking device 140 includes an image sensor 404 (e.g., one or more IR cameras, 3D cameras, depth cameras, and / or color cameras) that captures three-dimensional scene information, including at least a human user's hand 406. The image sensor 404 captures images of the hand at a sufficient resolution to enable the fingers and their respective positioning to be distinguished. The image sensor 404 typically captures images of other parts of the user's body, or may also capture images of all parts of the body, and may have zoom capabilities or specialized sensors 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 conjunction with other image sensors to capture the physical environment of the scene 105, or serves as an image sensor for capturing the physical environment of the scene 105. In some embodiments, the image sensor is positioned relative to the user or the user's environment in such a way that the field of view of the image sensor 404, or a portion thereof, is used to define an interaction space in which hand movements captured by the image sensor are treated as input to the controller 110.
[0163] In some embodiments, the image sensor 404 outputs a sequence of frames containing 3D image data (and possibly color image data) to the controller 110, which extracts high-level information from the image data. This high-level information is typically provided via an application program interface (API) to an application running on the controller, which in turn drives the display generation component 120. For example, a user can interact with software running on the controller 110 by moving their hand 406 and / or changing their hand posture.
[0164] In some embodiments, the image sensor 404 projects a speckled pattern onto a scene containing the hand 406 and captures an image of the projected pattern. In some embodiments, the controller 110 calculates the 3D coordinates of points in the scene (including points on the surface of the user's hand) by triangulation based on the lateral offsets of the spots in the pattern. This approach 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 relative to a predetermined reference plane at a specific distance from the image sensor 404. In the present disclosure, it is assumed that the image sensor 404 defines an orthogonal set of x-axis, y-axis, and z-axis such that the depth coordinates of points in the scene correspond to the z component measured by the image sensor. Alternatively, the image sensor 404 (e.g., a hand tracking device) may use other 3D mapping methods based on a single or multiple cameras or other types of sensors, such as stereo imaging or time-of-flight measurement.
[0165] In some embodiments, the hand tracking device 140 captures and processes a time series of depth maps containing the user's hand as the user moves their hand (e.g., the entire hand or one or more fingers). Software running on the image sensor 404 and / or the processor in the controller 110 processes the 3D map data to extract image patch descriptors of the hand in these depth maps. The software can match these descriptors with image patch descriptors stored in the database 408 based on a previous learning process to estimate the pose of the hand in each frame. The pose typically includes the 3D positioning of the user's hand joints and fingertips.
[0166] The software can also analyze the trajectory of the hand and / or finger over multiple frames in the sequence to identify gestures. The pose estimation functionality described herein can be alternating with the motion tracking functionality so that the image patch-based pose estimation is performed only once every two (or more) frames, and tracking is used to find changes in pose that occur over the remaining frames. The pose, motion, and gesture information is provided to the application running on the controller 110 via the above-mentioned API. The program can, for example, move and modify the image presented on the display generation component 120 in response to the pose and / or gesture information, or perform other functions.
[0167] In some embodiments, gestures include air gestures. An air gesture is a gesture that is detected without the user touching an input element that is part of a device (e.g., computer system 101, one or more input devices 125, and / or hand tracking device 140) (or independent of an input element that is part of the device) and is based on detected movement of a part of the user's body (e.g., head, one or more arms, one or more hands, one or more fingers, and / or one or more legs) through air (including movement of the user's body relative to an absolute reference (e.g., the angle of the user's arm relative to the ground or the distance of the user's hand relative to the ground), movement relative to another part of the user's body (e.g., movement of the user's hand relative to the user's shoulder, movement of one of the user's hands relative to the user's other hand, and / or movement of a user's finger relative to another finger or part of the user's hand), and / or absolute movement of a part of the user's body (e.g., a tap gesture in which the hand moves a predetermined amount and / or speed in a predetermined posture, or a shake gesture including a predetermined speed or amount of rotation of a part of the user's body).
[0168] In some embodiments, according to some embodiments, the input gestures used in the various examples and embodiments described herein include air gestures for interacting with an XR environment (e.g., a virtual or mixed reality environment) performed by movement of a user's fingers relative to other fingers or parts of the user's hand. In some embodiments, an air gesture is a gesture that is detected without the user touching an input element that is part of the device (or independent of an input element that is part of the device) and is based on detected movement of a part of the user's body through the air (including movement of the user's body relative to an absolute reference (e.g., the angle of the user's arm relative to the ground or the distance of the user's hand relative to the ground), movement relative to another part of the user's body (e.g., movement of the user's hand relative to the user's shoulder, movement of one of the user's hands relative to the user's other hand, and / or movement of the user's fingers relative to another finger or part of the user's hand), and / or absolute movement of a part of the user's body (e.g., a tap gesture in which the hand moves a predetermined amount and / or speed in a predetermined posture, or a shake gesture in which a part of the user's body is rotated at a predetermined speed or amount)).
[0169] In some embodiments where the input gesture is an in-air gesture (e.g., in the absence of physical contact with an input device that provides information to the computer system about which user interface element is the target of the user input, such as contact with a user interface element displayed on a touch screen, or contact with a mouse or trackpad to move a cursor to a user interface element), the gesture takes into account the user's attention (e.g., gaze) to determine the target of the user input (e.g., for direct input, as described below). Thus, in specific implementations involving in-air gestures, for example, the input gesture is combined (e.g., simultaneously) with movement of the user's fingers and / or hand to detect attention (e.g., gaze) toward a user interface element to perform a pinch and / or tap input, as described below.
[0170] In some embodiments, an input gesture directed to a user interface object is performed directly or indirectly with reference to the user interface object. For example, user input is performed directly on the user interface object based on performing an input gesture with the user's hand at a location corresponding to the location of the user interface object in the three-dimensional environment (e.g., as determined based on the user's current viewpoint). In some embodiments, upon detecting the user's attention (e.g., gaze) to the user interface object, an input gesture is performed indirectly on the user interface object based on the location of the user's hand not being at the location corresponding to the location of the user interface object in the three-dimensional environment while the user performs the input gesture. For example, for a direct input gesture, the user can direct the user's input to the user interface object by initiating a gesture at or near a location corresponding to the displayed location of the user interface object (e.g., within 0.5 cm, 1 cm, 5 cm, or a distance between 0 cm and 5 cm measured from the outer edge of the option or the center portion of the option). For indirect input gestures, the user is able to direct the user's 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 that does not correspond to a displayed location of the user interface object).
[0171] In some embodiments, according to some embodiments, input gestures (e.g., air gestures) used in various examples and embodiments described herein include pinch input and tap input for interacting with a virtual or mixed reality environment. For example, the pinch input and tap input described below are performed as air gestures.
[0172] In some embodiments, a pinch input is part of an air gesture that includes one or more of: a pinch gesture, a long pinch gesture, a pinch and drag gesture, or a double pinch gesture. For example, a pinch gesture as an air gesture includes movement of two or more fingers of a hand to contact each other, i.e., optionally followed by a break in contact with each other immediately (e.g., within 0 seconds to 1 second). A long pinch gesture as an air gesture includes movement of two or more fingers of a hand in contact with each other for at least a threshold amount of time (e.g., at least 1 second) before a break in contact with each other is detected. For example, a long pinch gesture includes the user maintaining a pinch gesture (e.g., in which the two or more fingers are in contact), and the long pinch gesture continues until a break in contact between the two or more fingers is detected. In some embodiments, a double pinch gesture as an air gesture includes two (e.g., more) pinch inputs (e.g., performed by the same hand) that are detected consecutively immediately (e.g., within a predefined time period) with respect to each other. For example, the user performs a first pinch input (e.g., a pinch input or a long pinch input), releases the first pinch input (e.g., interrupts contact between two or more fingers), and performs a second pinch input within a predefined time period (e.g., within 1 second or within 2 seconds) after releasing the first pinch input.
[0173] In some embodiments, the pinch and drag gesture as an air gesture (e.g., an air drag gesture or an air swipe gesture) includes a pinch gesture (e.g., a pinch gesture or a long pinch gesture) performed in conjunction with (e.g., following) a drag input that changes the positioning of the user's hand from a first positioning (e.g., a starting positioning for the drag) to a second positioning (e.g., an ending positioning for the drag). In some embodiments, the user maintains the pinch gesture while performing the drag input and releases the pinch gesture (e.g., spreads their two or more fingers apart) to end the drag gesture (e.g., at the second positioning). In some embodiments, the pinch input and the drag input are performed by the same hand (e.g., the user pinches two or more fingers to contact each other and moves the same hand to the second positioning in the air using the drag gesture). In some embodiments, a pinch input is performed by a first hand of a user, and a drag input is performed by a second hand of the user (e.g., the user's second hand moves in the air from a first position to a second position while the user continues the pinch input with the user's first hand. In some embodiments, the input gesture as an air gesture includes input performed using both hands of the user (e.g., pinch and / or tap input). For example, the input gesture includes two (e.g., or more) pinch inputs performed in conjunction with each other (e.g., simultaneously or within a predefined time period). For example, a first pinch gesture (e.g., a pinch input, a long pinch input, or a pinch and drag input) is performed using the user's first hand, and a second pinch input is performed using the other hand (e.g., the second of the user's two hands) in conjunction with the pinch input performed using the first hand. 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).
[0174] In some embodiments, a tap input performed as an air gesture (e.g., pointing to a user interface element) includes movement of a user's finger toward the user interface element, movement of the user's hand toward the user interface element (optionally, extension of the user's finger toward the user interface element), a downward motion of the user's finger (e.g., mimicking a mouse click motion or a tap on a touch screen), or other predefined movement of the user's hand. In some embodiments, a tap input performed as an air gesture is detected based on movement characteristics of the finger or hand performing the tap gesture movement of the finger or hand, which is a movement of the finger or hand away from the user's viewpoint and / or toward an object that is the target of the tap input, followed by an end of the movement. In some embodiments, the end of the movement is detected based on a change in movement characteristics of the finger or hand performing the tap gesture (e.g., an end of movement away from the user's viewpoint and / or toward an object that is the target of the tap input, a reversal of the direction of movement of the finger or hand, and / or a reversal of the acceleration direction of the movement of the finger or hand).
[0175] In some embodiments, the user's attention is determined to be directed toward a portion of the three-dimensional environment based on detection of a gaze directed toward the portion of the three-dimensional environment (optionally, no other conditions are required). In some embodiments, the user's attention is determined to be directed toward a portion of the three-dimensional environment based on detection of a gaze directed toward the portion of the three-dimensional environment using one or more additional conditions, such as requiring the gaze to be directed toward 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 toward the portion of the three-dimensional environment when the user's viewpoint is within a distance threshold from the portion of the three-dimensional environment, so that the device determines that the user's attention is directed toward 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 toward the portion of the three-dimensional environment to which the gaze is directed (e.g., until the one or more additional conditions are met).
[0176] In some embodiments, the detection of a ready state configuration of a user or a portion of a user is detected by a computer system. The detection of a ready state configuration of a hand is used by the computer system as an indication that the user may be preparing to interact with the computer system using one or more air gesture inputs performed by the hand (e.g., a pinch, a tap, a pinch and drag, a double pinch, a long pinch, or other air gestures described herein). For example, the ready state of a hand is determined based on whether the hand has a predetermined hand shape (e.g., a pre-pinch shape with the thumb and one or more fingers extended and spaced apart in preparation for a pinch or grab gesture, or a pre-tap with one or more fingers extended and the palm facing away from the user), based on whether the hand is in a predetermined position relative to the user's viewpoint (e.g., below the user's head and above the user's waist and extending at least 15 cm, 20 cm, 25 cm, 30 cm, or 50 cm from the body), and / or based on whether the hand has moved in a particular manner (e.g., toward an area in front of the user above the user's waist and below the user's head, or away from the user's body or legs). In some embodiments, the ready state is used to determine whether an interactive element of a user interface responds to attention (e.g., gaze) input.
[0177] In scenarios where input is described with reference to in-air gestures, it should be understood that similar gestures may be detected using a hardware input device attached to or held by one or more hands of a user, where the positioning of the hardware input device in space may be tracked using optical tracking, one or more accelerometers, one or more gyroscopes, one or more magnetometers, and / or one or more inertial measurement units, and the positioning and / or movement of the hardware input device is used in place of the positioning and / or movement of the one or more hands in the corresponding in-air gesture. In scenarios where input is described with reference to in-air poses, it should be understood that similar poses may be detected using a hardware input device attached to or held by one or more hands of a user. User input may be detected using controls contained in hardware input devices, such as one or more touch-sensitive input elements, one or more pressure-sensitive input elements, one or more buttons, one or more knobs, one or more dials, one or more joysticks, one or more hand or finger overlays that can detect the position or change in position of parts of a hand and / or finger relative to each other, relative to the user's body, and / or relative to the user's physical environment, and / or other hardware input device controls, wherein user input using the controls contained in the hardware input devices is used in place of hand and / or finger gestures such as an air tap or air pinch in a corresponding air gesture. For example, a selection input described as being performed using an air tap or air pinch input may alternatively be detected using a button press, a tap on a touch-sensitive surface, a press on a pressure-sensitive surface, or other hardware input. As another example, movement input described as being performed using an air pinch and drag (e.g., an air drag gesture or an air swipe gesture) may alternatively be detected based on interaction with a hardware input control (such as a button press and hold, a touch on a touch-sensitive surface, a press on a pressure-sensitive surface, or other hardware input following movement of a hardware input device (e.g., along with a hand associated with the hardware input device) through space. Similarly, two-handed input involving movement of hands relative to each other may be performed using an air gesture and a hardware input device in a hand that is not performing the air gesture, two hardware input devices held in different hands, or two air gestures performed by different hands using various combinations of air gestures and / or inputs detected by one or more of the aforementioned hardware input devices.
[0178] In some embodiments, the software may be downloaded to the controller 110 in electronic form, for example, over a network, or may alternatively be provided on tangible, non-transitory media such as optical, magnetic, or electronic memory media. In some embodiments, the database 408 is also stored in memory associated with the controller 110. Alternatively or additionally, some or all of the described functions of the computer may be implemented in dedicated hardware, such as a custom or semi-custom integrated circuit or a programmable digital signal processor (DSP). Although in Figure 4, but some or all of the processing functions of the controller may be performed by a suitable microprocessor and software or by dedicated circuitry within the housing of the image sensor 404 (e.g., a hand tracking device) or other device associated with the image sensor 404. In some embodiments, at least some of these processing functions may be performed by a suitable processor integrated with the display generation component 120 (e.g., in a television receiver, handheld device, or head-mounted device) or integrated with any other suitable computerized device (such as a game console or media player). The sensing functions of the image sensor 404 may also be integrated into a computer or other computerized device to be controlled by the sensor output.
[0179] Figure 4 Also included is a schematic diagram of a depth map 410 captured by the image sensor 404 according to some embodiments. As described above, the depth map includes a matrix of pixels with corresponding depth values. Pixels 412 corresponding to the hand 406 have been segmented from the background and wrist in the figure. The brightness of each pixel within the depth map 410 is inversely proportional to its depth value (i.e., the measured z distance from the image sensor 404), where shades of gray become darker with increasing depth. The controller 110 processes these depth values in order to identify and segment components of the image (i.e., a group of adjacent pixels) that have characteristics of a human hand. These characteristics may include, for example, overall size, shape, and motion from frame to frame in the depth map sequence.
[0180] Figure 4 Also schematically illustrated is a hand skeleton 414 that the controller 110 ultimately extracts from the depth map 410 of the hand 406 according to some embodiments. Figure 4 , a hand skeleton 414 is superimposed on a hand background 416 that has been segmented from the original depth map. In some embodiments, key feature points of the hand and, optionally, on the wrist or arm connected to the hand (e.g., points corresponding to knuckles, fingertips, the center of the palm, or the end of the hand connected to the wrist) are identified and located on the hand skeleton 414. In some embodiments, the controller 110 uses the position and movement of these key feature points over multiple image frames to determine a hand gesture performed by the hand or the current state of the hand according to some embodiments.
[0181] Figure 5 An example embodiment of the eye tracking device 130 ( FIG. 1 ) is illustrated. In some embodiments, the eye tracking device 130 is comprised of an eye tracking unit 243 ( Figure 2) controls to track the position and movement of the user's gaze relative to the scene 105 or relative to the XR content displayed via the display generation component 120. In some embodiments, the eye tracking device 130 is integrated with the display generation component 120. For example, in some embodiments, when the display generation component 120 is a head-mounted device (such as a 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 a part of the head-mounted device. In some embodiments, the head-mounted eye tracking device 130 is optionally used in conjunction with a display generation component that is also head-mounted or a display generation component that is not head-mounted. In some embodiments, the eye tracking device 130 is not a head-mounted device and is optionally used in conjunction with a head-mounted display generation component. In some embodiments, the eye tracking device 130 is not a head-mounted device and is optionally part of a non-head-mounted display generation component.
[0182] In some embodiments, the display generation component 120 uses a display mechanism (e.g., a left near-eye display panel and a right near-eye display panel) to display a frame including a left image and a right image in front of the user's eyes, thereby providing a 3D virtual view to the user. For example, the head-mounted display generation component may include a left optical lens and a right optical lens (referred to herein as eye lenses) located between the display and the user's eyes. In some embodiments, the display generation component may include or be coupled to one or more external cameras that capture video of the user's environment for display. In some embodiments, the head-mounted display generation component may have a transparent or translucent display and display virtual objects on the transparent or translucent display, through which the user can directly view the physical environment. In some embodiments, the display generation component projects the virtual objects into the physical environment. The virtual objects may, for example, be projected onto a physical surface or projected as a hologram, so that an individual using the system observes the virtual objects superimposed on the physical environment. In this case, separate display panels and image frames for the left and right eyes may not be required.
[0183] like 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 can be pointed at the user's eyes to receive IR or NIR light that the light source reflects directly from the eyes, or alternatively can be pointed at "hot" mirrors located between the user's eyes and the display panel, which reflect IR or NIR light from the eyes toward the eye tracking camera while allowing visible light to pass through. The eye tracking device 130 optionally captures images of the user's eyes (e.g., as a video stream captured at 60-120 frames per second (fps)), analyzes these images to generate gaze tracking information, and transmits the gaze tracking information to the controller 110. In some embodiments, both eyes of the user are tracked separately by corresponding eye tracking cameras and illumination sources. In some embodiments, only one eye of the user is tracked by corresponding eye tracking cameras and illumination sources.
[0184] In some embodiments, the eye tracking device 130 is calibrated using a device-specific calibration process to determine the parameters of the eye tracking device for a specific operating environment 100, such as the 3D geometry and parameters of the LED, camera, thermal mirror (if present), eye lens, and display screen. The device-specific calibration process can be performed at a factory or another facility before the AR / VR equipment is delivered to the end user. The device-specific calibration process can be an automatic calibration process or a manual calibration process. The user-specific calibration process may include an estimate of eye parameters for a specific user, such as pupil position, fovea position, optical axis, visual axis, or eye spacing. According to some embodiments, once the device-specific parameters and user-specific parameters are determined for the eye tracking device 130, a flash-assisted method can be used to process the images captured by the eye tracking camera to determine the current visual axis and the user's gaze point relative to the display.
[0185] like 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 on which eye tracking is performed, and an illumination source 530 (e.g., an IR or NIR light source, such as an array or ring of NIR light emitting diodes (LEDs)) that emits light (e.g., IR or NIR light) toward the user's eye 592. The eye tracking camera 540 can be directed toward a reflector 550 (these reflectors reflect the IR or NIR light from the eye 592 while allowing visible light to pass) located between the user's eye 592 and a display 510 (e.g., a left display panel or a right display panel of a head-mounted display, a display of a handheld device, or a projector). Figure 5 ), or alternatively may be directed toward the user's eye 592 to receive reflected IR or NIR light from the eye 592 (e.g., as shown in the top portion of Figure 5 (as shown in the bottom portion of the ).
[0186] In some embodiments, the controller 110 renders AR or VR frames 562 (e.g., left and right frames for the left and right display panels) and provides the frames 562 to the display 510. The controller 110 uses the gaze tracking input 542 from the eye tracking camera 540 for various purposes, such as for processing the frames 562 for display. The controller 110 optionally estimates the user's gaze point on the display 510 based on the gaze tracking input 542 obtained from the eye tracking camera 540 using a flash-assisted method or other suitable method. The gaze point estimated from the gaze tracking input 542 is optionally used to determine the direction the user is currently looking.
[0187] The following describes several possible use cases for the user's current gaze direction 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 based on the user's current gaze direction than in the peripheral region. As another example, the controller may position or move virtual content within the view based at least in part on the user's current gaze direction. As another example, the controller may display specific virtual content within the view based at least in part on the user's current gaze direction. As another example use case in an AR application, the controller 110 may direct an external camera used to capture the physical environment of an XR experience to focus in the determined direction. The external camera's autofocus mechanism may then focus on an object or surface in the environment on the display 510 that the user is currently looking at. As another example use case, the eye lens 520 may be a focusable lens, and the controller may use gaze tracking information to adjust the focus of the eye lens 520 so that the virtual object the user is currently looking at has the appropriate vergence to match the convergence of the user's eye 592. The controller 110 can use the gaze tracking information to guide the eye lens 520 to adjust the focus so that nearby objects that the user is looking at appear at the correct distance.
[0188] In some embodiments, the eye tracking device is part of a head-mounted device that includes a display (e.g., display 510), two eye lenses (e.g., eye lenses 520), an eye tracking camera (e.g., eye tracking camera 540), and a light source (e.g., light source 530 (e.g., IR or NIR LED)). The light source emits light (e.g., IR or NIR light) toward the user's eyes 592. In some embodiments, the light sources may be arranged in a ring or circle around each of the lenses, such as Figure 5 In some embodiments, for example, eight light sources 530 (e.g., LEDs) are arranged around each lens 520. However, more or fewer light sources 530 can be used, and other arrangements and positions of the light sources 530 can be used.
[0189] In some embodiments, the display 510 emits light in the visible range and does not emit light in the IR or NIR range, and therefore does not introduce noise into the gaze tracking system. It should be noted that the positions and angles of the eye tracking cameras 540 are given by way of example and are not intended to be limiting. In some embodiments, a single eye tracking camera 540 is located on each side of the user's face. In some embodiments, two or more NIR cameras 540 may be used on each side of the user's face. In some embodiments, a camera 540 with a wider field of view (FOV) and a camera 540 with a narrower FOV may be used on each side of the user's face. In some embodiments, a camera 540 operating at one wavelength (e.g., 850 nm) and a camera 540 operating at a different wavelength (e.g., 940 nm) may be used on each side of the user's face.
[0190] like Figure 5 The embodiments of the gaze tracking system illustrated in the can 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.
[0191] Figure 6 A flash-assisted gaze tracking pipeline according to some embodiments is illustrated. In some embodiments, the gaze tracking pipeline is implemented by a flash-assisted gaze tracking system (e.g., as shown in FIG. Figure 5 The flash-assisted gaze tracking system can maintain a tracking state. Initially, the tracking state is off or "no." While in the tracking state, the flash-assisted gaze tracking system uses previous information from previous frames when analyzing the current frame to track the pupil outline and glint in the current frame. When not in the tracking state, the flash-assisted gaze tracking system attempts to detect the pupil and glint in the current frame, and if successful, initializes the tracking state to "yes" and continues in the tracking state for the next frame.
[0192] like Figure 6 As shown, the gaze tracking camera can capture left and right images of the user's left and right eyes. The captured images are then input to the gaze tracking pipeline for processing starting at 610. As indicated by the arrow returning to element 600, the gaze tracking system can continue to capture images of the user's eyes at a rate of, for example, 60 to 120 frames per second. In some embodiments, each set of captured images can be input to the pipeline for processing. However, in some embodiments or under some conditions, not all captured frames are processed by the pipeline.
[0193] At 610, for the currently captured image, if the tracking status is yes, the method proceeds to element 640. At 610, if the tracking status is no, the image is analyzed to detect the user's pupil and glint in the image, as indicated at 620. At 630, if the pupil and glint are successfully detected, the method proceeds to element 640. Otherwise, the method returns to element 610 to process the next image of the user's eye.
[0194] At 640, if proceeding from element 610, the current frame is analyzed to track the pupil and glint based in part on previous information from the previous frame. At 640, if proceeding from element 630, the tracking state is initialized based on the pupil and glint detected in the current frame. The processing result at element 640 is checked to verify that the tracking or detection result can be trusted. For example, the result can be checked to determine whether the pupil and a sufficient number of glints were successfully tracked or detected in the current frame to perform gaze estimation. At 650, if the result is not likely to be trusted, at element 660, the tracking state is set to no, and the method returns to element 610 to process the next image of the user's eye. At 650, if the result is trustworthy, the method proceeds to element 670. At 670, the tracking state is set to yes (if not already yes), and the pupil and glint information is passed to element 680 to estimate the user's gaze point.
[0195] Figure 6 This is intended to be used as an example of an eye tracking technology that may be used for a particular implementation. As one of ordinary skill in the art will appreciate, according to various embodiments, other eye tracking technologies currently existing or developed in the future may be used in place of or in combination with the flash-assisted eye tracking technology described herein in the computer system 101 for providing an XR experience to a user.
[0196] In some embodiments, the captured portion of the real-world environment 602 is used to provide an XR experience to the user, such as a mixed reality environment in which one or more virtual objects are superimposed on top of the representation of the real-world environment 602.
[0197] Thus, the description herein describes some embodiments 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 present in a physical environment, which is captured and displayed in the three-dimensional environment (e.g., actively displayed via a camera and display of a computer system or passively displayed via a transparent or translucent display of the computer system). As previously described, the three-dimensional environment is optionally a mixed reality system, wherein the three-dimensional environment is based on a physical environment captured by one or more sensors of 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 so 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 so that it appears as if the virtual objects exist in the real world (e.g., a physical environment) by placing the virtual objects at corresponding locations in the three-dimensional environment that have corresponding locations in the real world. For example, the computer system optionally displays a vase so that the vase appears as if a real vase is placed on top of a table in the physical environment. In some embodiments, a corresponding location in the three-dimensional environment has a corresponding location in the physical environment. Thus, when a computer system is described as displaying a virtual object at a corresponding location relative to a physical object (e.g., such as at a location at or near a user's hand or at a location at or near a physical table), the computer system displays the virtual object at a particular 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 it were the real object at that particular location).
[0198] In some embodiments, real-world objects present in the physical environment that are displayed in the three-dimensional environment (e.g., and / or visible via a display generation component) can interact with virtual objects that exist only in the three-dimensional environment. For example, the three-dimensional environment may include a table and a vase placed on top of the table, where the table is a view (or representation) of a physical table in the physical environment and the vase is a virtual object.
[0199] In a three-dimensional environment (e.g., a real environment, a virtual environment, or an environment comprising a mixture of real objects and virtual objects), objects are sometimes referred to as having depth or simulated depth, or objects are referred to as being visible, displayed, or placed at different depths. In this context, depth refers to a dimension other than height or width. In some embodiments, depth is defined relative to a fixed set of coordinates (e.g., where a room or object has a height, depth, and width defined relative to a fixed set of coordinates). In some embodiments, depth is defined relative to the user's position or viewpoint, in which case the depth dimension varies based on the position and angle of the user's position and / or the user's viewpoint. In some embodiments where depth is defined relative to the user's position relative to the surface of the environment (e.g., the surface of the floor or ground of the environment), objects that are farther away from the user along a line extending parallel to the surface are considered to have greater depth in the environment, and / or the depth of an object is measured along an axis extending outward from the user's position and parallel to the surface of the environment (e.g., depth is defined in a cylindrical or substantially cylindrical coordinate system where the user's position is at the center of a cylinder extending from the user's head toward the user's feet). In some embodiments where depth is defined relative to a user's viewpoint (e.g., relative to a direction of a point in space that determines which portion of an environment is visible via a head-mounted device or other display), objects that are farther away from the user's viewpoint along a line extending parallel to the user's viewpoint are considered to have greater depth in the environment, and / or the depth of objects is measured along an axis extending outward from the user's viewpoint and parallel to the user's viewpoint (e.g., depth is defined in a spherical or substantially spherical coordinate system where the origin of the viewpoint is at the center of a sphere extending outward from the user's head). In some embodiments, depth is defined relative to a user interface container (e.g., a window or application in which applications and / or system content are displayed), where the user interface container has a height and / or width, and depth is a dimension 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 generally orthogonal or substantially orthogonal to a line extending from a user-based position (e.g., the user's viewpoint or the user's position) to the user interface container (e.g., the center of the user interface container or another characteristic 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 extending away from the user or the user's viewpoint in different directions and / or from different starting points).In some embodiments, when depth is defined relative to a user interface container, the direction of the depth dimension remains constant for the user interface container as the position of the user interface container, the user, and / or the user's viewpoint changes (e.g., or when multiple different viewers are viewing the same container in a three-dimensional environment, such as during an in-person collaboration session and / or when multiple participants are in a real-time communication session with shared virtual content that includes the container). In some embodiments, for curved containers (e.g., including containers with curved surfaces or curved content areas), the depth dimension optionally extends into the surface of the curved container. In some cases, z separation (e.g., the separation of two objects in the depth dimension), z height (e.g., the distance of one object from another in the depth dimension), z positioning (e.g., the positioning of an object in the depth dimension), z depth (e.g., the positioning of an object in the depth dimension), or simulated z dimension (e.g., depth used as a dimension of an object, a dimension of an environment, a direction in space, and / or a direction in simulated space) is used to refer to the concept of depth as described above.
[0200] In some embodiments, the user can optionally use one or both hands to interact with virtual objects in a three-dimensional environment as if the virtual objects were real objects in the physical environment. For example, as described above, one or more sensors of the computer system optionally capture one or more of the user's hands and display representations of the user's hands 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 hands can be visible 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 the projection of the user interface onto the user's eyes or into the field of view of the user's eyes. Thus, in some embodiments, the user's hands are displayed at corresponding locations in the three-dimensional environment and are viewed as if they were objects in the three-dimensional environment, and these objects can interact with virtual objects in the three-dimensional environment as if these virtual objects were physical objects in the physical environment. In some embodiments, the computer system can update the display of the representation of the user's hands in the three-dimensional environment in conjunction with the movement of the user's hands in the physical environment.
[0201] In some embodiments described below, the computer system is optionally capable of determining an "effective" distance between a physical object in the physical world and a virtual object in a three-dimensional environment, for example, to determine whether the physical object is directly interacting with the virtual object (e.g., whether the hand is touching, grabbing, holding, etc., 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 a hand pressing a virtual button, a user's hand grabbing a virtual vase, two fingers of a user's hand coming together and pinching / holding the user interface of an application, and 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 user's hand(s) are positioned at a specific location in the physical world, and the computer system optionally captures the hand(s) and displays the hand(s) at a specific corresponding location in the three-dimensional environment (e.g., the location at which the hand(s) would be displayed in the three-dimensional environment if the hand(s) were virtual hands rather than physical hands). The location of the hand(s) in the three-dimensional environment is optionally compared to the location of the virtual object(s) of interest in the three-dimensional environment to determine the distance between the user's hand(s) and the virtual object(s). In some embodiments, the computer system optionally determines the distance between the physical object(s) and the virtual object(s) by comparing the locations in the physical world (e.g., rather than comparing the locations in the three-dimensional environment). For example, when determining the distance between the user's hand(s) and the virtual object(s), the computer system optionally determines the corresponding location of the virtual object(s) in the physical world (e.g., the location at which the virtual object(s) would be located in the physical world if the virtual object(s) were physical objects rather than virtual objects), and then determines the distance between the corresponding physical location and the user's hand(s). In some embodiments, the same technique is 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 executes any of the techniques described above to map the position of the physical object to a three-dimensional environment and / or map the position of the virtual object to the physical environment.
[0202] In some embodiments, the same or similar techniques are used to determine where and what the user's gaze is directed to, and / or where and what the physical stylus held by the user is pointed to. For example, if the user's gaze is directed to a particular location in the physical environment, the computer system optionally determines a corresponding location in the three-dimensional environment (e.g., a virtual location of the gaze), and if a virtual object is located at the corresponding virtual location, the computer system optionally determines that the user's gaze is directed to the virtual object. Similarly, the computer system is optionally able to determine the direction in which the stylus is pointing in the physical environment based on the orientation of the physical stylus. In some embodiments, based on this determination, the computer system determines a corresponding virtual location in the three-dimensional environment that corresponds to the location in the physical environment that the stylus is pointing to, and optionally determines that the stylus is pointing to the corresponding virtual location in the three-dimensional environment.
[0203] Similarly, the embodiments described herein may refer to the position of a user (e.g., a user of a computer system) in a three-dimensional environment and / or the position of a computer system in a three-dimensional environment. In some embodiments, the user of the computer system is holding, wearing, or otherwise located at or near the computer system. Therefore, in some embodiments, the position of the computer system is used as a proxy for the position of the user. In some embodiments, the position of the computer system and / or the user in the physical environment corresponds to a corresponding position in the three-dimensional environment. For example, the position of the computer system will be a position in the physical environment (and its corresponding position in the three-dimensional environment) that, if the user stands at that position and faces the corresponding part of the physical environment visible via the display generation component, will be seen by the user from that position in the physical environment in the same position, orientation, and / or size (e.g., in absolute terms and / or relative to each other) as the objects displayed in the three-dimensional environment by the display generation component of the computer system or visible in the three-dimensional environment via the display generation component. Similarly, if the virtual objects displayed in the three-dimensional environment are physical objects in the physical environment (e.g., physical objects placed at the same location in the physical environment as the virtual objects are located in the three-dimensional environment, and physical objects that have the same size and orientation in the physical environment as they do in the three-dimensional environment), then the position of the computer system and / or user is the position from which the user would see the virtual objects in the physical environment at 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 components of the computer system.
[0204] In this disclosure, various input methods are described with respect to interaction with a computer system. When an example is provided using one input device or input method, and another example is provided using another input device or input method, it should be understood that each example is compatible with and optionally utilizes the input device or input method described with respect to the other example. Similarly, various output methods are described with respect to interaction with a computer system. When an example is provided using one output device or output method, and another example is provided using another output device or output method, it should be understood that each example is compatible with and optionally utilizes the output device or output method described with respect to the other example. Similarly, various methods are described with respect to interaction with a virtual environment or a mixed reality environment through 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 and optionally utilizes the methods described with respect to the other example. Therefore, this disclosure discloses embodiments that are combinations of features from multiple examples, without necessarily listing all features of the embodiments in detail in the description of each example embodiment.
[0205] User interface and associated processes
[0206] 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.
[0207] 7A to 7O 、 Figures 8A to 8G 、 9A to 9D 、 10A to 10D 、 Figures 11A to 11F 、 Figure 12A To Figure 12G and Figures 19A to 19PIllustrated are a three-dimensional environment visible via a display generation component (e.g., display generation component 7100, display generation component 7100-t, or display generation component 120) of a computer system (e.g., computer system 101), and interactions occurring in the three-dimensional environment due to user input directed at the three-dimensional environment and / or input received from other computer systems and / or sensors. In some embodiments, input is directed to a virtual object within the three-dimensional environment by a user gaze detected in an area occupied by the virtual object or by a hand gesture performed at a location in the physical environment corresponding to the area of the virtual object. In some embodiments, input is directed to a virtual object within the three-dimensional environment by a hand gesture performed (e.g., optionally, at a location in the physical environment that is unrelated to the area of the virtual object in the three-dimensional environment) while the virtual object has input focus (e.g., when the virtual object has been selected by a simultaneously and / or previously detected gaze input, by a simultaneously or previously detected pointer input, and / or by a simultaneously and / or previously detected gesture input). In some embodiments, input is directed to a virtual object within a 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, input is directed to a virtual object within a three-dimensional environment via other components (e.g., voice and / or control buttons). In some embodiments, input is directed to a physical object or a representation of a virtual object corresponding to a physical object by user hand movement (e.g., whole hand movement, whole hand movement in a corresponding posture, movement of one part of the user's hand relative to another part of the hand, and / or relative movement between the two hands) and / or manipulation relative to the physical object (e.g., touching, swiping, tapping, opening, moving toward, and / or moving relative to the physical object). In some embodiments, the computer system displays some changes to the three-dimensional environment (e.g., displaying additional virtual content, stopping displaying existing virtual content, and / or transitioning between different immersion levels of displayed visual content) based on input from sensors (e.g., image sensors, temperature sensors, biometric sensors, motion sensors, and / or proximity sensors) and contextual conditions (e.g., location, time, and / or the presence of other people in the environment). In some embodiments, a computer system displays changes in a three-dimensional environment (e.g., displaying additional virtual content, ceasing to display existing virtual content, and / or transitioning between different immersive levels of displayed visual content) based on input from other computers used by other users sharing a computer-generated environment with a user of the computer system (e.g., in a shared computer-generated experience, in a shared virtual environment, and / or in a shared virtual or augmented reality environment of a communication session).In some embodiments, a computer system displays some changes in a three-dimensional environment (e.g., displaying movement, deformation, and / or changes in visual characteristics of a user interface, virtual surfaces, user interface objects, and / or virtual scenery) based on input from a sensor that detects the movement of other people and objects and the movement of a user that may not meet the criteria for being a recognized gesture input that triggers an associated operation of the computer system.
[0208] 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 that are constrained by one or more physical aspects of the physical environment (e.g., the positioning 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, so that the spatial relationship between different physical objects and surfaces in the physical environment is reflected by the spatial relationship between the representations of the physical objects and surfaces in the three-dimensional environment. In some embodiments, when a virtual object is placed relative to the positioning of the representations of the physical objects and surfaces in the three-dimensional environment, the virtual object appears to have a corresponding spatial relationship with the physical objects and surfaces in the physical environment. In some embodiments, a computer system transitions between displaying different types of environments based on user input and / or contextual conditions (e.g., transitioning between presenting computer-generated environments or experiences with different levels of immersion, adjusting the relative prominence of audio / visual sensory input from virtual content and from representations of the physical environment).
[0209] In some embodiments, the display generation component includes a see-through portion in which a representation of the physical environment is displayed. In some embodiments, the see-through portion of the display generation component is a transparent or translucent (e.g., see-through) portion of the display generation component that reveals at least a portion of the physical environment surrounding the user or within the user's field of view. For example, the see-through portion is a portion of a head-mounted display or a head-up display that is made translucent (e.g., less than 50%, 40%, 30%, 20%, 15%, 10% or 5% opacity) or transparent so that the user can see through it to view the real world around the user without removing the head-mounted display or moving away from the head-up display. In some embodiments, when the virtual or mixed reality environment is displayed, the see-through portion gradually transitions from translucent or transparent to completely opaque. In some embodiments, the see-through portion of the display generation component displays a live feed of an image or video of at least a portion of the physical environment captured by one or more cameras (e.g., a rear 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 directed at a portion of the physical environment that is directly in front of the user's eyes (e.g., behind the display generating components relative to the user). In some embodiments, the one or more cameras are directed at a portion of the physical environment that is not directly in front of the user's eyes (e.g., in a different physical environment, or to the side or behind the user).
[0210] In some embodiments, when virtual objects are displayed at locations corresponding to the locations of one or more physical objects in a physical environment (e.g., at locations in a virtual reality environment, a mixed reality environment, or an augmented reality environment), at least some of the virtual objects are displayed to replace (e.g., replace the display of) a portion of the camera's real-time view (e.g., a portion of the physical environment captured in the real-time view). In some embodiments, at least some of the virtual objects and content are projected onto a physical surface or blank space in the physical environment and are visible through a see-through portion of a display generation component (e.g., visible as part of the camera's view of the physical environment, or visible through a transparent or translucent portion of the display generation component). In some embodiments, at least some of the virtual objects and content are displayed to cover a portion of the display and obstruct at least a portion of the view of the physical environment that is visible through the transparent or translucent portion of the display generation component.
[0211] In some embodiments, the display generation component displays different views of the three-dimensional environment based on user input or movement that changes the virtual positioning of the viewpoint of the currently displayed view of the three-dimensional environment relative to the three-dimensional environment. In some embodiments, when the three-dimensional environment is a virtual environment, the viewpoint moves based on navigation or motion requests (e.g., air hand gestures and / or gestures performed by movement of one part of the hand relative to another part of the hand) without requiring movement of the user's head, torso, and / or display generation 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 causes a corresponding movement of the viewpoint relative to the three-dimensional environment (e.g., with a corresponding movement direction, movement distance, movement speed, and / or orientation change), thereby causing a corresponding change in the currently displayed view of the three-dimensional environment. In some embodiments, when a virtual object has a preset spatial relationship relative to a viewpoint (e.g., is 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 positioning of the virtual object in the field of view (e.g., the virtual object is said to be head-locked). In some embodiments, the virtual object is body-locked to the user and moves relative to the three-dimensional environment as the user as a whole moves in the physical environment (e.g., carries or wears the display generation components and / or other position sensing components of the computer system), but will not move in the three-dimensional environment in response to individual user head movements (e.g., the display generation components and / or other position sensing components of the computer system rotate around a fixed position of the user in the physical environment). In some embodiments, the virtual object is optionally locked to another part of the user, such as the user's hand or the user's wrist, and moves in the three-dimensional environment in accordance with movement of that part of the user in the physical environment to maintain a preset spatial relationship between the positioning of the virtual object and the virtual positioning of that part of the user in the three-dimensional environment. In some embodiments, the virtual object is locked to a preset portion of the field of view provided by the display generation component and moves in the three-dimensional environment based on movement of the field of view, regardless of movement of the user that does not cause changes in the field of view.
[0212] In some embodiments, as 7A to 7O 、 Figures 8A to 8G 、 9A to 9D 、 10A to 10D 、 Figures 11A to 11F 、 Figure 12A To Figure 12G and Figures 19A to 19PAs shown, representations of the user's hands, arms, and / or wrists are included in the view of the three-dimensional environment. In some embodiments, representations of the user's hands, arms, and / or wrists are included in the view of the three-dimensional environment as part of the 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 captured separately (e.g., by one or more cameras pointing at the user's hands, arms, and wrists) 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 arms, wrists, and / or hands based on information captured by various sensors. In some embodiments, these representations replace the display of a portion of the representation of the physical environment, overlay on that portion of the representation of the physical environment, or block the view of that portion of the representation of the physical environment. In some embodiments, when the display generation component does not provide a view of the physical environment and provides a completely virtual environment (e.g., no camera view and no transparent pass-through portion), a real-time visual representation of one or both of the user's arms, wrists, and / or hands (e.g., a stylized representation or a segmented camera image) is optionally still displayed in the virtual environment. In some embodiments, if no representation of the user's hand is 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, for example, by changing the appearance of virtual content at a location in the three-dimensional environment that corresponds to the location of the user's hand in the physical environment (e.g., through a change in translucency and / or simulated reflectivity). In some embodiments, the representation of the user's hand or wrist is outside the currently displayed view of the three-dimensional environment, while the virtual location in the three-dimensional environment corresponding to the location of the user's hand or wrist is outside the current field of view provided via the display generation component; and in response to the virtual location corresponding to the location of the user's hand or wrist moving within 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.
[0213] 7A to 7O An example of displaying a main menu user interface within a three-dimensional environment is illustrated. Figure 13 is a flow chart of an example method 1300 for displaying a main menu user interface within a three-dimensional environment. 7A to 7O The user interface in the is used to illustrate the processes described below, which include Figure 13 in the process.
[0214] Figure 7A An example physical environment 7000 is illustrated including a user 7002 interacting with a computer system 101. 7A to 7OAs shown in the example in FIG, the display generating component 7100 of the computer system 101 is a touch screen operated by the user 7002. The physical environment 700 includes physical walls 7004, 7006, and a floor 7008. The physical environment 7000 also includes a physical object 7014, such as a table. The user 7002 is holding the display generating component 7100 with hand 7020 or hand 7022, or both. In some embodiments, the display generating component of the computer system 101 is a head mounted display (e.g., a head mounted display) worn on the head of the user 7002. 7A to 7OThe 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). In some embodiments, the display generation component is a stand-alone display, a projector, or another type of display. In some embodiments, the computer system communicates with one or more input devices, which include cameras or other sensors and input devices that detect movement of the user's hands, movement of the user's entire body, and / or movement of the user's head in the physical environment. In some embodiments, the one or more input devices detect movement and current posture, orientation, and position of the user's hands, face, and / or entire body. For example, in some embodiments, when the user's hand 7020 is within the field of view of 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 pass-through representation and / or as a virtual representation of the user's hand 7020). In some embodiments, when the user's hand 7022 is within the field of view of 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 pass-through representation and / or as a virtual representation of the user's hand 7022). In some embodiments, the user's hand 7020 and / or the user's hand 7022 are used to perform one or more gestures (e.g., one or more air gestures), optionally in conjunction with gaze input. In some embodiments, the one or more gestures performed using the user's hands 7020 and / or 7022 include direct air gesture input, which is based on the position of the representation of the user's hand 7020' and / or 7022' displayed within the user interface on the display of the HMD 7100a. For example, the direct air gesture input is determined to be directed to a user interface object displayed at a position that intersects with the displayed position of the representation of the user's hand 7020' and / or 7022' in the user interface. In some embodiments, one or more gestures performed with the user's hands 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 location of the representation of the user's hands 7020' and / or 7022' displayed within the user interface). For example, when the user's attention is detected (e.g., based on a gaze or other indication of the user's attention) on the user interface object, an indirect air gesture, such as a gaze and pinch (e.g., or other gestures performed with the user's hands), is performed relative to the user interface object.
[0215] 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 location and movement of the 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 the physical environment and changes the user's viewpoint in the three-dimensional environment provided by the display generation component. In some embodiments, the display generation component is a heads-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 the 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 relative to the physical environment or relative to the user's head, and changes the user's viewpoint in the 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.
[0216] In some embodiments, the display generation component 7100 includes a head mounted display (HMD) 7100a and / or HMD 12011 (e.g., FIG. 12 ). Figure 7C2 (e.g., and Figure 7C3 、 Figures 8C1 to 8C2 、 Figures 9B2 to 9B3 、 Figures 10B2 to 10B3 、 Figures 11B2 to 11B3 、 Figures 12B2 to 12G2 as well as Figures 19C1 to 19C2), a head-mounted display 7100a (e.g., and / or HMD 12011) includes one or more displays that display a representation of a portion of a three-dimensional environment 7000' corresponding to the user's perspective. Although 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 the figure, a single image corresponding to the image for a single eye is shown, and depth information is indicated using other annotations or descriptions of the figures. In some embodiments, the HMD 7100a includes one or more sensors (e.g., one or more inward-facing and / or outward-facing image sensors 314), such as sensor 7101a, sensor 7101b, and / or sensor 7101c, that are used to detect the user's state, including tracking the user's face and / or eyes (e.g., using one or more inward-facing sensors 7101a and / or 7101b) and / or tracking the user's hand, torso, or other movements (e.g., using one or more outward-facing sensors 7101c). In some embodiments, the HMD 7100a includes one or more input devices, such as one or more buttons, a touchpad, a touch screen, a scroll wheel, a rotatable and depressible digital crown, or other input devices, optionally located on the housing of the HMD 7100a. In some embodiments, the input element is a mechanical input element, and in some embodiments, the input element is a solid-state input element that responds to a press input based on detected pressure or intensity. For example, in Figure 7C2 (e.g., and Figure 8C1 、 Figure 9B2 、 Figure 10B2 、 Figure 11B2 、 Figure 12B2 to Figure 12B2 to Figure 12G2 and Figure 19C1 ), HMD 7100a includes one or more of button 701, button 702, and digital crown 703 (e.g., and / or other hardware input elements 7108) for providing input to HMD 7100a. It should be understood that additional and / or alternative input devices may be included in HMD 7100a.
[0217] Figure 7C3 (e.g., and Figure 8C2 、 Figure 9B3 、 Figure 10B3 、 Figure 11B3 and Figure 19C2) illustrates a top-down view of a user 7002 in a physical environment 7000. For example, the user 7002 is wearing an HMD 7100a such that the user's hands 7020 and / or 7022 (e.g., which are optionally used to provide mid-air gestures or other user input) are physically present within the physical environment 7000 behind the display of the HMD 7100a.
[0218] and 7A to 7C1 、 Figures 7D to 8B 、 Figures 8C3 to 9B1 、 Figures 9C to 10B1 、 Figures 10C to 11B1 、 Figures 11C to 11F 、 Figures 12B1 to 12G1 、 Figures 19A to 19B as well as Figures 19C3 to 19P Compared to the display shown, Figure 7C2 (e.g., and Figure 7C3 、 Figures 8C1 to 8C2 、 Figures 9B2 to 9B3 、 Figures 10B2 to 10B3 、 Figures 11B2 to 11B3 、 Figures 12B2 to 12G2 as well as Figures 19C1 to 19C2 ) illustrates an alternative display generation component of a computer system. It should be understood that this document refers to 7A to 7C1 、 Figures 7D to 8B 、 Figures 8C3 to 9B1 、 Figures 9C to 10B1 、 Figures 10C to 11B1 、 Figures 11C to 11F 、 Figures 12B1 to 12G1 、 Figures 19A to 19B as well as Figures 19C3 to 19P The processes, features, and functions described in the display generation component 7100 described in the Figures 7C2 to 7C3 、 Figures 8C1 to 8C2 、 Figures 9B2 to 9B3 、 Figures 10B2 to 10B3 、 Figures 11B2 to 11B3 、 Figures 12B2 to 12G2 as well as Figures 19C1 to 19C2 HMD 7100a shown.
[0219] Figure 7BAn application user interface 7018 is shown displayed in a virtual three-dimensional environment having a top portion 7102, a middle portion 7104, and a bottom portion 7106. In addition, the virtual three-dimensional environment includes one or more computer-generated objects, also referred to as virtual objects, such as a box 7016 (e.g., which is not a representation of a physical box in the physical environment 7000). In some embodiments, the application user interface 7018 corresponds to a user interface of a software application (e.g., an email application, a web browser, a messaging application, a mapping application, a video player or audio player, or other software application) executing on the computer system 101. In some embodiments, the application user interface 7018 is displayed in the middle portion 7104 of the virtual three-dimensional environment within a center portion of the user's field of view of the device (e.g., providing the user 7002 with a front view of the application user interface 7018 along the user's gaze direction so that the application user interface 7018 appears substantially at the user's 7002 eye level).
[0220] In some embodiments, the display generation component 7100 is disposed within the housing 7024 of the computer system 101. A hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element) is disposed on the housing 7024 that encloses or surrounds the display generation component 7100. The hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element) is configured to detect two or more types of input. A first type of input to the hardware input element 7108 is a press input, such as Figure 7B The hardware input element 7108 can also receive a second type of input as a rotational input. For example, the hardware input element 7108 can be rotated in a counterclockwise manner around the rotation axis, as shown in FIG. Figure 7B . In some embodiments, the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element) is configured to receive a clockwise rotation input. In some embodiments, the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element) is configured to receive both a counterclockwise rotation input and a clockwise rotation input. In some embodiments, the computer system 101 is capable of detecting the amount of rotation (e.g., the degree by which the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element) is turned) and the direction of rotation (e.g., counterclockwise or clockwise), and performing a function based on the amount of rotation and the direction of rotation. In some embodiments, the hardware input element 7108 is a rotatable input element (e.g., a crown).
[0221] In response to detecting user input on hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element), main menu user interface 7110 is presented in a virtual three-dimensional environment, as shown in FIG. 7C (e.g., Figure 7C1 、 Figure 7C2 and Figure 7C3 ,in Figure 7C1 The user interface shown is displayed in Figure 7C2 7C . In some embodiments, the main menu user interface 7110 is displayed in the center portion of the user's field of view, for example, in the middle portion 7104 of the virtual three-dimensional environment, and is therefore not displayed below the display of the application user interface 7018.
[0222] The main menu user interface 7110 includes a collection of various representations, such as application icons, widgets, communication options, and / or affordances for displaying VR and / or AR backgrounds. In some embodiments, the main menu user interface 7110 includes (e.g., at least) three representation sets. Figure 7C shows a first representation set, which includes representations 7112, 7114, 7116, 7118, 7120, 7122, 7124, and 7126 arranged in a virtual three-dimensional environment. Representations 7112-7126 can occupy positions anywhere within the virtual three-dimensional environment. Generally speaking, these representations are presented in the middle portion 7104 of the virtual three-dimensional environment (e.g., the main menu user interface 7110 is presented substantially in the center portion of the user's 7002 field of view, and representations 7110-7126 are displayed substantially at the user's 7002 eye level). Presenting the main menu user interface 7110 substantially in the central portion of the field of view of the user 7002 of the device improves operational efficiency by avoiding further input (e.g., lowering or raising the user's 7002 gaze, or visually searching for the main menu user interface 7110 and / or tilting / rotating the user's 7002 head to focus on the main menu user interface 7110) and reducing the amount of time required to begin navigating within the main menu user interface 7110, thereby improving the operational efficiency of the computer system 101.
[0223] In some embodiments, representations 7112-7126 are arranged in a regular pattern (e.g., in a grid pattern, along lines, radially, circumferentially). In some embodiments, representations 7112-7126 correspond to various software applications (e.g., an email application, a web browser, a messaging application, a mapping application, a video player or audio player, or other software applications) that can be executed on computer system 101.
[0224] The main menu user interface 7110 includes a tab 7132 for displaying a representation of a software application, a tab 7134 for displaying representations of one or more other persons (each of which is used to initiate or maintain (e.g., continue) a communication with a corresponding person (e.g., representations of one or more other users interacting with or capable of interacting with user 7002), and a tab 7136 for displaying one or more virtual environments that can be displayed as (or displayable within) a virtual three-dimensional environment. In some embodiments, the virtual environment includes virtual content that is computer-generated content that is distinct from the pass-through portion of the physical environment. In some embodiments, additional tabs are provided in the main menu user interface 7110 for displaying other representations. In some embodiments, one or more of tabs 7132, 7134, or 7136 are not present in the main menu user interface 7110. Figure 7C shows tabs 7132, 7134, and 7136 arranged substantially linearly on the left side of the main menu user interface 7110. In some embodiments, tab 7132, tab 7134, and tab 7136 are displayed in other portions (e.g., top, right, bottom) of main menu user interface 7110. In some embodiments, tab 7132, tab 7134, and tab 7136 are not arranged in any particular spatial order relative to each other.
[0225] In response to detecting user input directed to tab 7134 (e.g., corresponding to or on the tab), main menu user interface 7110 is updated to display representations of one or more other persons, each representation being used to initiate or maintain communication with a corresponding person (e.g., representations of one or more other users interacting with or capable of interacting with user 7002), such as Figure 7D For example, Figure 7DA representation of a first user 7138, a representation of a second user 7140, and a representation of a third user 7142 are shown. In some embodiments, representations 7138, 7140, and 7142 are displayed in the middle portion 7104 of the virtual three-dimensional environment, in a central portion of the field of view of the user 7002 (e.g., representations 7138, 7140, and 7142 of the first user, 7140, and 7142 of the second user are presented substantially at eye level of the user 7002).
[0226] In some embodiments, representations of one or more users that are currently in a co-presence session with user 7002 are displayed on the main menu user interface 7110 (e.g., one or more of the first user, the second user, or the third user are in a co-presence session with user 7002). In some embodiments, in a co-presence session (or spatial communication session), the representations of the users are arranged relative to each other within a shared three-dimensional environment (e.g., such that the respective users view the positioning of the other users relative to the respective users' viewpoints). For example, the viewpoint of user 7002 includes the representation of the first user to the left (or right) of the representation of the second user. Figure 9D Coexistence sessions and spatial communication sessions are further described.
[0227] In some embodiments, representations of one or more users who are not yet in a coexistence session but are able to enter a coexistence session with user 7002 are additionally displayed on the main menu user interface 7110 (for example, one or more of the first user, the second user, or the third user who are not yet in a coexistence session with user 7002 but are able to join a coexistence session with user 7002).
[0228] In some embodiments, representations of one or more users in the contact list of user 7002 are additionally displayed on the main menu user interface 7110 (e.g., one or more of the first user, the second user, or the third user are in the contact list of user 7002). By providing user input in the main menu user interface 7110 directed to (e.g., corresponding to or on) one or more representations of one or more other users, user 7002 can initiate or maintain communication with one or more other users and / or interact with one or more other users. For example, in response to user input directed to (e.g., corresponding to or on) representation 7138, computer system 101 facilitates user 7002 to communicate and / or interact with a first user in a virtual three-dimensional environment. In some embodiments, instead of a fully virtual three-dimensional environment, user 7002 communicates and / or interacts with the first user in a mixed reality environment that includes sensory input from the physical environment 7000 or a representation thereof (e.g., box 7016) in addition to computer-generated sensory input.
[0229] In some embodiments, user input directed to a representation in a main menu user interface or other user interface includes a pinch input, a tap input, or a gaze input.
[0230] In response to detecting user input directed to (e.g., corresponding to or on) tab 7136, main menu user interface 7110 is updated to display a representation of the virtual environment (sometimes referred to as an option), which may be displayed as (or displayable in) a virtual three-dimensional environment, such as Figure 7E . Representation 7144 corresponds to a virtual environment providing a beach scene. Representation 7146 corresponds to a virtual environment providing an office setting. Displaying a main menu user interface 7110 that provides quick access to a collection of selectable virtual environments provides a way to change the user's virtual experience without displaying additional controls, thereby minimizing the number of inputs required to select a desired virtual environment, thereby improving the performance and operating efficiency of computer system 101.
[0231] In some embodiments, representation (e.g., option) 7144 and representation (e.g., option) 7146 are displayed in the middle portion 7104 of the virtual three-dimensional environment, in the center portion of the field of view of the user 7002 (e.g., option 7144 and option 7146 are presented substantially at the eye level of the user 7002).
[0232] In response to detecting a user selection to provide a virtual environment in an office setting (e.g., computer system 101 detects user input corresponding to or on option 7146), the virtual three-dimensional environment is updated to include desk 7148 and display panel 7150, as shown. Figure 7F As shown. In some embodiments, virtual objects such as box 7016 that existed before a specific virtual environment was displayed continue to exist after the virtual environment is selected. For example, display board 7150 is shown as resting on box 7016 and supported by it. In some embodiments, the virtual environment includes virtual objects that allow users to interact (for example, user 7002 can reposition conference chairs around desk 7148; user 7002 can reposition display board 7150; user 7002 can reposition desk 7148). In some embodiments, the virtual environment includes virtual objects that do not allow users to interact (for example, user 7002 cannot reposition any item in the virtual environment). In some embodiments, virtual objects such as box 7016 that existed before a specific virtual environment was displayed stop displaying after the virtual environment is selected. For example, in such embodiments, when display board 7150 and desk 7148 are displayed, box 7016 is no longer displayed.
[0233] In response to detecting user input corresponding to or on tab 7132, main menu user interface 7110 is updated to return to displaying representations of software applications in the virtual three-dimensional environment, as shown in Figure 7C.
[0234] From the main menu user interface 7110, the user 7002 is able to access various sets of representations by selecting corresponding tabs (e.g., by selecting tab 7132, a set of representations of software applications can be viewed; by selecting tab 7134, a set of representations of one or more other users with whom the user 7002 is interacting or capable of interacting can be viewed; by selecting tab 7136, a set of representations of one or more selectable virtual environments can be viewed). A single input (e.g., a single press input) to the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element) provides the user 7002 with the main menu user interface 7110, from which the user 7002 can navigate to other software applications, interact with other users, or experience different virtual environments). Allowing a single input to trigger display of the main menu user interface 7110 allows the user 7002 to quickly access and navigate the collection of applications in the main menu user interface 7110 and / or change the user's virtual environment and / or interact with additional users, regardless of what process (e.g., when the first application is running) is in progress, without displaying additional controls, minimizing the number of inputs required to select a desired operation, and improving the performance and efficiency of the computer system 101. Furthermore, providing the main menu user interface 7110 with sections navigable by the user in response to a first input efficiently provides the user with a greater range of applications, people, virtual environments, or other operations than would be possible with a static main menu user interface.
[0235] exist Figure 7B 7C , when the main menu user interface 7110 is displayed, the application user interface 7018 is hidden (e.g., the application user interface 7018 is hidden before the main menu user interface 7110 is displayed, or the application user interface 7018 is hidden simultaneously with the display of the main menu user interface 7110). In some embodiments, even if the application user interface 7018 is hidden, the application associated with the application user interface 7018 continues to run in the background. Instead, Figures 7G to 7I An embodiment is shown in which different user interfaces of the same software application are provided to user 7002 as user 7002 navigates main menu user interface 7110.
[0236] Figure 7GAn application user interface 7152 is shown displayed in a virtual three-dimensional environment that includes a box 7016, which is a computer-generated virtual object. The application user interface 7152 is a user interface of an audio player software application executing on the computer system 101. In some embodiments, the application user interface 7152 is displayed in the middle portion 7104 of the virtual three-dimensional environment, substantially in the center portion of the field of view of the user 7002 (e.g., the application user interface 7152 appears substantially at the eye level of the user 7002).
[0237] In response to detecting user input directed to a hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element), a main menu user interface 7110 is presented in a virtual three-dimensional environment, such as Figure 7H In some embodiments, the user input is a single press input to the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element). In some embodiments, the application user interface 7152 is canceled by the single press input (e.g., before or simultaneously with displaying the main menu user interface 7110) and replaced by the small player user interface 7154, as shown. Figure 7H As shown. The small player user interface 7154 occupies a smaller area of the virtual three-dimensional environment than the application user interface 7152. In some embodiments, the small player user interface 7154 is shifted to a more peripheral portion of the virtual three-dimensional environment than the application user interface 7152, which is displayed in a central portion of the field of view of the user 7002. In some embodiments, the small player user interface 7154 is displayed at substantially the same location as the application user interface 7152 (e.g., the center position of the application user interface 7152 substantially coincides with the center position of the small player user interface 7154).
[0238] Presenting the mini-player user interface 7154 provides a way for the user 7002 to multitask and continue a media experience (at least in some capacity) while virtually navigating through the main menu user interface 7110, which improves the performance and efficiency of the computer system 101. Displaying the mini-player user interface 7154 (e.g., an audio mini-player) allows the user to control the media experience (e.g., by providing playback controls in the mini-player) and / or indicates to the user the current "position" of the user's media experience as the user navigates the main menu user interface (e.g., by displaying a time index, or, for video content, a representation of the current video frame), without displaying additional controls. Although in Figures 7H to 7J Not shown, but in some embodiments, the small player user interface includes a video picture-in-picture (PiP) player that optionally includes a representation of the current video frame.
[0239] User 7002 is able to scroll through representations of software applications displayed in main menu user interface 7110. For example, a first set of representations of software applications includes representation 7112, representation 7114, representation 7116, representation 7118, representation 7120, representation 7122, representation 7124, and representation 7126. In some embodiments, the first set of representations of software applications includes static representations of software applications arranged in a first area of the virtual three-dimensional environment (e.g., static application icons, or static content snapshots, or other static information). In some embodiments, the first set of representations of software applications are dynamic representations (e.g., animated representations, periodically animated representations). In response to detecting user input (e.g., a user gesture) for navigating to a different set of representations of software applications, main menu user interface 7110 presents a second set of representations of software applications, the second set of representations including representation 7156, representation 7158, representation 7160, representation 7162, representation 7164, representation 7166, representation 7168, and representation 7170, representation 7172, and representation 7174, as shown in FIG. Figure 7I In some embodiments, the user input is a drag gesture, such as Figure 7H As shown by the left-pointing arrow in , the drag gesture allows the representation of the software application to be scrolled (eg, the drag gesture is interpreted by computer system 101 as an instruction to scroll the representation of the software application).
[0240] Providing the second set of representations of the software applications in substantially the same area as the first set of representations of the software applications (e.g., the first set of representations is replaced by the second set of representations) allows user 7002 to sequentially browse through a large number of representations of the software applications without being overwhelmed by the simultaneous / concurrent display of the large number of representations in the virtual three-dimensional environment, thereby facilitating timely selection of a desired operation without displaying additional controls. Furthermore, the scrollable main menu user interface efficiently provides the user with a greater range of applications, people, virtual environments, or other operations than would be possible with a static scrollable main menu user interface.
[0241] In some embodiments, different sets of representations of software applications are arranged on corresponding pages of the main menu user interface 7110. User 7002 can access corresponding pages, for example, pages of the set of representations of the software applications that include the main menu user interface 7110. In some embodiments, the pages are ordered in a particular directionality to make it easier for the user to navigate to a specific (e.g., previously visited) page. User 7002's navigation within the main menu user interface 7110 can result in an action that causes the display of the main menu user interface 7110 to be canceled (e.g., when an immersive experience is initiated from a representation of a software application). When user 7002 returns to the main menu user interface 7110 within a preset time threshold (e.g., less than 1 hour, less than 10 minutes, less than 1 minute), the last visited section of the main menu user interface (e.g., a specific page of the application, a section displaying a list of contacts with which user 7002 can initiate communication, a section displaying various selectable virtual environments) is retained and displayed to user 7002. Conversely, if the user 7002 returns to the main menu user interface 7110 after a preset time threshold has passed (e.g., the next day, in the next session, after more than an hour), the display of the main menu user interface 7110 is reset to a predetermined section (e.g., the first page of the representation of the application). In some embodiments, the preset time threshold depends on the section of the main menu user interface (e.g., the application section is reset within a smaller time threshold than the people / contacts section). Retaining information about the last visited section on the main menu user interface 7110 reduces distractions, allowing the user 7002 to quickly return to the previously visited section of the main menu user interface 7110 without displaying additional controls when the user 7002 accesses the main menu user interface within the preset time threshold after leaving the main menu user interface 7110. This feature helps save the user time, avoiding the need to revisit the various sections of the main menu user interface 7110 to return to the previously visited section of the main menu user interface 7110 when the user briefly leaves the main menu user interface to perform a different operation (such as an operation in a particular application).
[0242] When the main menu user interface 7110 is displayed, in response to detecting a second user input to the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element), the main menu user interface 7110 is dismissed, e.g., Figure 7JAs shown. In some embodiments, the second user input is a second press input to the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element). In some embodiments, canceling the main menu user interface 7110 does not affect the display of virtual objects (e.g., box 7016) in the virtual three-dimensional environment. Even after navigation via the main menu user interface 7110 in the virtual environment has ended, causing the mini-player to persist after the main menu user interface 7110 is canceled provides the user 7002 with an uninterrupted media experience, thereby improving the operating efficiency of the computer system 101. For example, the user does not need to restart the media application after navigation and then cancel the main menu user interface 7110.
[0243] In response to detecting a third user input to hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element), a view of three-dimensional environment 7128 is made visible to user 7002 via display generation component 7100 of computer system 101, as shown. Figure 7K shown. Figure 7K The three-dimensional environment 7128 optionally includes representations of objects in a physical environment (such as physical environment 7000) (e.g., as captured by one or more cameras of computer system 101). Figure 7K , three-dimensional environment 7128 includes representation 7014' of physical object 7014, representations 7004' and 7006' of physical walls 7004 and 7006, respectively, and representation 7008' of physical floor 7008. In some embodiments, detecting a third user input to hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element) causes computer system 101 to provide a mixed reality experience to user 7002. For example, both a computer-generated virtual object (e.g., box 7016) and representations of objects in physical environment 7000 are displayed to user 7002. For example, a first portion of the virtual three-dimensional environment includes computer-generated virtual objects that are not present in physical environment 7000, while a second portion of the virtual three-dimensional environment includes representations of objects in physical environment 7000 that are displayed as three-dimensional environment 7128.
[0244] In some embodiments, instead of using three sequential inputs to a hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element) to display Figure 7J (e.g., after two sequential inputs to a hardware input element 7108 (e.g., a button, crown, or rotatable and depressible input element)) and Figure 7KThe user interface shown (e.g., after three sequential inputs to the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element)) is displayed after two sequential inputs (e.g., the second input is a long press of the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element)). Figure 7K The user interface shown and skip Figure 7J The user interface shown.
[0245] Canceling the main menu user interface 7110 improves the safety of the user 7002 by replacing the display of the main menu user interface with a presentation of a transparent portion of the physical environment of the computer system 101 (e.g., a head-mounted device) via a display generation component, thereby allowing the user 7002 to be aware of the physical environment of the computer system 101 (via the transparent portion of the physical environment of the computer system 101). For example, after the user has completed navigating the main menu user interface 7110, the user 7002 may need to respond to an emergency or other situation that requires the attention of the user 7002 or requires the user 7002 to interact with the physical environment. Using a second input or a third input to activate the display of the transparent portion allows the user 7002 to exit from the virtual environment and view at least a portion of the physical environment without displaying additional controls. In some embodiments, in addition to presenting the transparent portion, the display of the virtual environment in which the main menu user interface 7110 is displayed is also stopped. Ceasing to display the virtual environment while canceling the main menu user interface 7110 allows the user to exit from the virtual environment and view at least a portion of the physical environment (e.g., canceling display of the virtual environment) by causing the second input to function similar to an input to an escape button, without displaying additional controls.
[0246] In some embodiments, the display generation component includes a see-through portion in which a representation of the physical environment is displayed or visible. In some embodiments, the see-through portion of the display generation component is a transparent or translucent (e.g., see-through) portion of the display generation component that reveals at least a portion of the physical environment surrounding the user or within the user's field of view. For example, the see-through portion is a portion of a head-mounted display or a heads-up display that is made translucent (e.g., less than 50%, 40%, 30%, 20%, 15%, 10% or 5% opacity) or transparent so that the user can see through it to view the real world around the user without removing the head-mounted display or moving away from the heads-up display (sometimes referred to as "optical see-through"). In some embodiments, when the virtual or mixed reality environment is displayed, the see-through portion gradually transitions from translucent or transparent to completely opaque. In some embodiments, the pass-through portion of the display generation component displays a live feed of an image or video of at least a portion of the physical environment captured by one or more cameras (e.g., a rear-facing camera of a mobile device or associated with a head-mounted display, or other cameras that feed image data to a computer system) (sometimes referred to as a "virtual pass-through"). In some embodiments, the one or more cameras are pointed at a portion of the physical environment that is directly in front of the user's eyes (e.g., behind the display generation component relative to the user of 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 behind the user).
[0247] In some embodiments, when virtual objects are displayed at locations corresponding to the locations of one or more physical objects in a physical environment (e.g., at locations in a virtual reality environment, a mixed reality environment, or an augmented reality environment), at least some of the virtual objects are displayed to replace (e.g., replace the display of) a portion of the camera's real-time view (e.g., a portion of the physical environment captured in the real-time view). In some embodiments, at least some of the virtual objects and content are projected onto a physical surface or blank space in the physical environment and are visible through a see-through portion of a display generation component (e.g., visible as part of the camera's view of the physical environment, or visible through a transparent or translucent portion of the display generation component). In some embodiments, at least some of the virtual objects and content are displayed to cover a portion of the display and obstruct at least a portion of the view of the physical environment that is visible through the transparent or translucent portion of the display generation component.
[0248] When in mixed reality / pass-through mode (e.g., when the three-dimensional environment 7128 is displayed), in response to detecting user input to the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element), the main menu user interface 7110 is overlaid on the three-dimensional environment 7128, as shown. Figure 7L In some embodiments, the user input is a press input to a hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element). In some embodiments, the main menu user interface 7110 is presented in the middle portion of the three-dimensional environment 7128. In response to detecting a user input (e.g., a user gesture) pointing to the representation 7124, the computer system 101 causes the software application associated with the representation 7124 to be displayed. In some embodiments, the representation 7124 corresponds to an audio player application, and the user input selecting the representation 7124 causes the mini-player user interface 7154 to be presented simultaneously with the main menu user interface 7110, as shown. Figure 7M shown.
[0249] In response to detecting user input (e.g., a user gesture) directed to representation 7126, computer system 101 causes the software application associated with representation 7126 to be displayed. In some embodiments, representation 7126 corresponds to a web browsing application, and the user gesture selecting representation 7126 causes web browsing application user interface 7178 to be displayed, as shown. Figure 7O shown.
[0250] In some embodiments, the characteristics of the software application determine whether to maintain the display of the main menu user interface 7110. For example, the display of the main menu user interface 7110 is maintained when the representation of the audio player application (or video player application) is selected, and the display of the main menu user interface 7110 is stopped when the representation of the web browsing application (or document editing application, calendar application, or email application) is selected. In some embodiments, the display of the main menu user interface 7110 is maintained until a predetermined number of applications have been selected (e.g., the display of the main menu user interface 7110 is maintained until after the representation of the second software application has been selected; the display of the main menu user interface 7110 is maintained until after the representation of the third software application has been selected; or the display of the main menu user interface 7110 is maintained until after the representation of the fourth software application has been selected).
[0251] Even in Figure 7L and Figure 7MNot shown, in some embodiments, an application (e.g., an audio player application) is also already running on the computer system 101 before the main menu user interface 7110 is displayed in response to the first user input. In response to detecting user input on the application (e.g., a user gesture, a pinch and drag gesture), a first user interface object (e.g., an instance of the application or an object extracted or dragged from the application, sometimes referred to herein as a "quick glance object") is extracted from the application and displayed. In some embodiments, the quick glance object is an object that is pulled from the application before a portion of the application (e.g., the entire application) is replaced by the display of the main menu user interface 7110, and the quick glance object continues to be displayed after the portion of the application is replaced by the display of the main menu user interface 7110.
[0252] For example, the first user interface object may be a music track from a music album currently playing on an audio player application. Alternatively, the first user interface object may be a portion of text extracted or dragged from a document editing application currently running on computer system 101. Alternatively, the first user interface object may be a web page extracted or dragged from a web browsing application currently running on computer system 101. Alternatively, the first user interface object may be an image file or video file extracted or dragged from a media display application (e.g., a web browsing application, a video player, or a photo display application) currently running on computer system 101.
[0253] Providing the first user interface object allows user 7002 to maintain use of the application (e.g., using an instance of the application) or maintain display of data associated with the application even after the main user interface of the application is dismissed (e.g., the peek object is an instance copied from the application). Maintaining the display of such user interface objects allows user 7002 to continue controlling the application (e.g., navigating on the main menu user interface 7110) while multitasking without displaying additional controls. Multitasking functionality is not affected by the presence of the main menu user interface 7110 triggered by the first input, thereby improving the performance and efficiency of the computer system 101.
[0254] In some embodiments, in response to detecting user input (e.g., a user gesture) directed to a representation of a second application displayed in the main menu user interface 7110, execution of the second application is initiated (e.g., and begins running) when the quick glance object is displayed. Launching the second application from the main menu user interface 7110 while the first user interface object is displayed (e.g., continues to be displayed) eliminates the need to display additional controls. Maintaining the display of the first user interface object provides the user 7002 with a visual reminder that can assist in selecting an appropriate second application. In some cases, the displayed first user interface object provides information that can be used in the second application without requiring the user to restart the first application after launching the second application, thereby allowing multiple tasks to be completed simultaneously, thereby improving the performance and operating efficiency of the computer system 101.
[0255] In some embodiments, user 7002 can direct a first user interface object to a second application (e.g., drag a quick glance object to the second application) to perform an operation in the second application based on the first user interface object. For example, the quick glance object can be an image from a media display application, and the second application is a text messaging application or a document editing application. Directing the image to the document editing application allows the image to be added directly to an open document in the document editing application.
[0256] In some embodiments, the first user interface object is canceled when the main menu user interface 7110 is canceled (e.g., by input to a hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element)). Using a single input (e.g., a second button press) to cancel both the first user interface object and the main menu user interface 7110 eliminates the need to display additional controls. The user does not need to waste time closing the first user interface object separately and / or navigating to a special user interface control element to manually close the first user interface object, thereby improving the performance and operating efficiency of the computer system 101.
[0257] After canceling the main menu user interface 7110 (e.g., Figure 7NAs shown, a subsequent user input to the hardware input element 7108 (e.g., a button, a crown, or a rotatable and pressable input element) causes the main menu user interface 7110 to be displayed in the three-dimensional environment 7128. Additional input enables the main menu user interface to be redisplayed after the main menu user interface 7110 has been dismissed, without displaying additional controls. Allowing the additional input to redisplay the main menu user interface 7110 provides a simple way for the user 7002 to return to the main menu user interface 7110 based on a single input, regardless of which process the user 7002 may have used on the computer system 101 after dismissing the main menu user interface 7110. This input serves as a general mechanism that enables the user 7002 to directly navigate to the top-level main menu user interface 7110 and then browse through different sets of representations (e.g., representations of applications, people, and / or virtual environments) in the main menu user interface 7110, without displaying additional controls.
[0258] The hardware input element 7108 (e.g., a button, a crown, or a rotatable and pressable input element) is configured to receive various user inputs. For example, in response to detecting two closely spaced press inputs (e.g., two press inputs within 2 seconds of each other, two press inputs within 1 second of each other, two press inputs within 0.5 seconds of each other), an application management user interface (e.g., the system interface 7180) is presented in the virtual three-dimensional environment, as Figure 7O shown. In some embodiments, the system interface 7180 is overlaid on an application running in the foreground (which may include two or more applications) (e.g., an audio player / music application and a web browser application, as Figure 7N and Figure 7O shown) and the three-dimensional environment 7128 (e.g., presented at a location closer to the user 7002 in the user 7002's field of view than the two applications running in the foreground). Using different types of inputs on a single input device to trigger multiple system operations (e.g., display a force quit menu) (e.g., trigger operations not specific to a particular application) reduces the number of different input devices that must be provided to complete different tasks (e.g., N input devices can implement M operations, where N < M). Reducing the number of input devices required to provide the user with direct access to various system functions reduces the physical clutter on the device, thus freeing up more physical space on the device and helping to prevent accidental inputs from unintended contacts. Reducing the number of input devices also reduces the need to provide additional hardware wiring within the device, and instead, the processor can be programmed to interpret different inputs from a smaller number of input devices. Using the same user input device, the user 7002 can quickly reach the application management user interface without having to present additional / intermediate controls.
[0259] In Figure 7OIn the example shown, the system interface 7180 provides a forced quit menu that shows all applications currently running on the computer system 101. Applications include both applications running in the foreground and applications running in the background (e.g., an email application, a document editing application, and a calendar application). User 7002 can close a particular application by providing a user gesture to an exit button 7182 associated with each application. In some embodiments, the forced quit menu includes a button that causes all applications running on the computer system 101 to close. In some embodiments, the application management user interface is a system interface that allows multitasking on the computer system 101.
[0260] In some embodiments, a system user interface (e.g., an application-agnostic user interface, a user interface for system-wide settings of the application computer system 101) responds to user input on an input device (e.g., a hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element)) in the same manner as an application user interface (e.g., a press input on a hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element)), while the system user interface is displayed such that at least a portion of the system user interface is replaced by the main menu user interface. Streamlining (e.g., by normalizing) the display of the main menu user interface 7110 in response to detecting a corresponding input of the same type as the first input, regardless of the user interface currently being displayed (e.g., the system user interface or the application user interface) reduces the number of different control elements required for the device and allows the user 7002 to browse through different sets of representations (e.g., representations of applications, people, and virtual environments) without displaying additional controls.
[0261] Figures 8A to 8G An example of performing different operations based on an input to an input device depending on a current display mode is illustrated. Figure 14 is a flow diagram of an example method 1400 for performing different operations based on input to an input device depending on a current display mode. Figures 8A to 8G The user interface in the is used to illustrate the processes described below, which include Figure 14 The process shown.
[0262] Figure 8A 8000 is shown displayed in a virtual three-dimensional environment. The application user interface 8000 completely occupies the entire field of view of the user 7002 in the virtual three-dimensional environment. For example, the application user interface 8000 is displayed in the top portion 7102, the middle portion 7104, and the bottom portion 7106 of the virtual three-dimensional environment. 7A to 7BDescribes various parts of the virtual three-dimensional environment. In some embodiments, the application user interface 8000 corresponds to the user interface of a software application (e.g., a video player, a web browser, a mapping application, a video conferencing application, a messaging application, an email application, an audio player, or other software application) executed on the computer system 101. In some embodiments, the virtual three-dimensional environment includes virtual content 8002 displayed by (or displayed in) the application user interface 8000 of the application executed by the computer system 101. In some embodiments, the computer-generated virtual content (e.g., box 7016) displayed in the virtual three-dimensional environment has no corresponding relationship in the physical environment 7000 and / or is not a part of the application corresponding to the application user interface 8000. Optionally, one or more elements of the computer-generated virtual content are overlaid on top of the immersive application user interface 8000 (e.g., presented closer to the user 7002's field of view than the application user interface 8000, from the user's 7002's viewpoint).
[0263] When an application is presented in an immersive mode (e.g., in a fully immersive mode, or providing a fully immersive experience to user 7002), the application user interface associated with the application completely fills the user's field of view (e.g., a viewing angle extending 180° from the corresponding orientation of the user's head (e.g., from left shoulder to right shoulder). In some embodiments, the fully immersive mode provides a field of view with a 180° viewing angle around the head of user 7002. In some embodiments, a full 360° viewing angle is provided to the user in all directions as the user rotates her head and / or body). In some embodiments, the immersive mode is also described as a "full screen" display mode that completely occupies the entire display provided by the display generation component of computer system 101 (or coupled to the computer system). In some embodiments, the first display mode includes an immersive mode in which only the contents of the application user interface (e.g., application user interface 8000) are displayed (e.g., the contents of the application user interface are displayed within the field of view of user 7002, and no content other than the contents of the application user interface is displayed, and / or the contents of the application user interface substantially occupy the entire field of view of user 7002).
[0264] In some embodiments, in addition to completely filling the user's field of view, when an application is presented in immersive mode, audio input from the physical environment is canceled, or significantly (e.g., more than 60%, 70%, or 80%) reduced, or blocked from reaching the user. Similarly, in some embodiments, when the application user interface 8000 is presented to the user in immersive mode, no audio input from any other application running on the computer system 101 is provided to the user. In some embodiments, when the user 7002 is in immersive mode, computer-generated virtual content (e.g., box 7016) provides notifications to the user 7002 (e.g., incoming communication requests, updates from another application running in the background of the computer system 101).
[0265] When the display generation component presents content to the user 7002 in immersive mode, in response to detecting a user input (e.g., a single press input) on the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element), the application user interface 8000 is cancelled by the single press input and replaced by the resized application user interface 8004, as shown. Figure 8B In some embodiments, content similar to that displayed in application user interface 8000 is displayed in resized application user interface 8004. For example, virtual content 8002 provided by application user interface 8000 continues to be displayed in resized application user interface 8004, albeit at a reduced scale. In some embodiments, virtual content previously displayed in immersive application user interface 8000 (such as box 7016) continues to be displayed (e.g., displayed in the same location and / or displayed with the same visual characteristics).
[0266] like Figure 8BAs shown, in some embodiments, the resized application user interface 8004 reveals the underlying virtual environment (e.g., an office virtual environment including conference chairs surrounding desk 7148) that was previously obscured by the immersive application user interface 8000. In some embodiments, the resized application user interface 8004 is displayed in the middle portion 7104 of the virtual three-dimensional environment, near the center portion of the field of view of the user 7002. In some embodiments, the resized application user interface 8004 is in a "non-full screen" display mode because the content from the resized application user interface 8004 does not completely occupy the entire display provided by the display generation component of the computer system 101. The display generation component also renders the office virtual environment, and therefore not all portions of the virtual environment display the content from the resized application user interface 8004. In other words, the second display mode includes a non-immersive mode in which the corresponding content of the application user interface (e.g., the resized application user interface 8004) and other content are displayed simultaneously (e.g., the content of the resized application user interface 8004 and the content other than the content of the resized application user interface are both displayed within the field of view of the user 7002; the content of the resized application user interface 8004 occupies only a portion of the field of view of the user 7002).
[0267] When interacting with the application user interface in a non-immersive mode, the virtual environment (e.g., an office virtual environment) forms part of the user experience. Displaying the application user interface (e.g., resized application user interface 8004) in a non-immersive experience while maintaining display of the virtual environment after detecting a first input minimizes disruption to the user.
[0268] like Figure 8B 8C , the display generation component presents both the virtual environment and the resized application user interface 8004 to the user 7002. In response to detecting a second user input (e.g., a second single press input) on the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element), the resized application user interface 8004 is cancelled by the second single press input. For example, the resized application user interface 8004 is cancelled before or simultaneously with the display of the main menu user interface 7110. The resized application user interface 8004 is replaced by the main menu user interface 7110 presented in the virtual three-dimensional environment, while maintaining the display of the virtual environment (e.g., the office virtual environment), as shown in FIG. 8C (e.g., Figure 8C1 、 Figure 8C2 and Figure 8C3 , among which Figure 8C1 The HMD 7100a in FIG. Figure 8C3In some embodiments, the main menu user interface 7110 is displayed in a center portion of the user's field of view, for example, in the middle portion 7104 of the virtual three-dimensional environment, and is therefore not displayed below the display of the previously displayed resized application user interface 8004.
[0269] Continuing to display the virtual environment (e.g., the office virtual environment) while the main menu user interface is displayed minimizes distractions to the user when navigating the main menu user interface 7110 without displaying additional controls. By maintaining the display of the virtual environment, the user does not need to reinitialize the virtual environment after navigating the main menu user interface 7110, thereby improving the performance and efficiency of the computer system.
[0270] As previously referenced Figures 7B to 7E As described, the main menu user interface 7110 provides access to different collections of user-navigable items, including applications, people (e.g., representations of specific people) or contact lists, and virtual environments. In some embodiments, the main menu user interface 7110 includes application icons, widgets, communication options, and / or affordances for displaying an XR background. In some embodiments, the main menu user interface 7110 is superimposed on the application user interface (e.g., the resized application user interface 8004). In some embodiments, objects in the main menu user interface 7110 (e.g., application icons, virtual user interface icons, and other objects) are opaque or partially transparent, thereby blocking or obscuring corresponding portions of the application user interface (e.g., the resized application user interface 8004). For example, those portions of the application user interface that are positioned behind the main menu user interface 7110 are blocked or obscured. In some embodiments, the main menu user interface 7110 includes a record with multiple objects thereon, and the record is opaque or partially transparent, thereby blocking or obscuring those portions of the application user interface that are positioned behind the main menu user interface 7110.
[0271] When the main menu user interface 7110 is displayed, in response to detecting a user input directed to a corresponding representation of a software application (e.g., a tap input, a long press input, or a pinch and drag input), an application user interface of the software application is displayed (e.g., in the foreground of the three-dimensional environment, such that the software application corresponding to the representation runs in the foreground as a focused application).
[0272] Allowing a single input to trigger display of a main menu user interface allows a user to quickly access and navigate a collection of representations in the main menu user interface to interact with others, regardless of what operation is in progress (e.g., when a first application is running), without displaying additional controls, minimizing the number of inputs required to select a desired operation, and improving the performance and operating efficiency of a device (e.g., a computer system).
[0273] In some embodiments, the main menu user interface 7110 is world-locked. For example, after presenting the main menu user interface 7110 (e.g., in response to a press input to the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element)), as shown in FIG8C , when the user 7002 rotates her head (e.g., on the left side of FIG8C , toward the desk 7148), the main menu user interface 7110 stays in substantially the same position in the virtual three-dimensional environment, such that when the representation 7118 leaves the user 7002's field of view due to the rotation of the user 7002's head, the representation 7118 is no longer displayed to the user 7002. In some embodiments, the main menu user interface 7110 is head-locked such that after presenting the main menu user interface 7110, the main menu user interface 7110 is redisplayed in the same portion of the user 7002's field of view, regardless of how the user 7002 moves her head.
[0274] In some embodiments, Figure 8B The resized application user interface 8004 is shown to be similar to Figure 7B The application user interface 7018 shown responds to user input provided to the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element). In some embodiments, the box 7016 is composed of Figure 7B and Figure 8B In some embodiments, the presence of an office virtual environment including conference chairs surrounding desk 7148 does not affect the display operation (e.g., of main menu user interface 7110) triggered by a press input to hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element). In some embodiments, when main menu user interface 7110 is presented to user 7002 in response to a press input, virtual content such as box 7016 continues to be displayed.
[0275] As shown in FIG8C , when main menu user interface 7110 is presented, in response to user input directed to tab 7136 (e.g., a direct air gesture, an indirect air gesture, a tap input, a long press input, and / or a pinch and drag input), a set of representations of one or more selectable virtual environments is presented to user 7002, such as Figure 8D For example, in Figure 8C1, the user input is shown as a direct air gesture, where the position of the representation of the user's hand 7020' corresponds to the tab 7136. In some embodiments, the user input is an indirect air gesture based on the tab 7136 being displayed at a position corresponding to the position where the user's attention is currently detected when performing one or more gestures with the user's hands 7020 and / or 7022. For example, in response to the user input pointing to the tab 7136, representations of option 7114 corresponding to the beach scenery virtual environment and option 7146 corresponding to the virtual office environment are presented to the user 7002 as selectable virtual environments. In some embodiments, when the main menu user interface 7110 is presented to the user 7002 in response to the press input, virtual content such as the box 7016 continues to be displayed. In some embodiments, when the selectable virtual environment is presented to the user 7002, the previously presented virtual environment is canceled. For example, as Figure 8D As shown, the office virtual environment is no longer displayed in Figure 8D In some embodiments, when a selectable virtual environment is presented to user 7002, the previously presented virtual environment is maintained. In some embodiments, representations of more than two selectable virtual environments are presented to user 7002. In some embodiments, representations of more than two selectable virtual environments can all be displayed to user 7002 in a single snapshot. In some embodiments, in response to a user input directed to an edge of user 7002's field of view (e.g., a pinch-and-drag input, a tap input, a long-press input), representations of additional selectable virtual environments are scrolled (e.g., by computer system 101) into user 7002's field of view. For example, a pinch-and-drag input directed to the right edge of a virtual environment in user 7002's field of view causes an additional selectable virtual environment to enter user 7002's field of view from the right.
[0276] like Figure 8D As shown, when the representation of the selectable virtual environment is presented to the user 7002, in response to the user input pointing to the option 7144 corresponding to the representation of the beach scenery, the office virtual environment is replaced by the beach scenery virtual environment including coconut trees 8006, the sun 8008 and the coastline 8010, as shown in FIG. Figure 8EIn some embodiments, the display of the representation of the selectable virtual environment is not immediately canceled when the user 7002 selects option 7144 corresponding to the representation of the beach scenery. For example, the representation of the selectable virtual environment persists for a first amount of time (e.g., approximately 3 seconds or approximately 5 seconds) in case the user 7002 wishes to make a different selection after the selected virtual environment is displayed. In some embodiments, in the absence of further user input to the selectable representation after the first amount of time, the display of the representation of the selectable virtual environment ceases.
[0277] Displaying a main menu user interface that provides quick access to a set of selectable virtual environments provides a way to change the user's virtual experience without displaying additional controls, thereby minimizing the number of inputs required to select a desired virtual environment and improving the performance and efficiency of the computer system.
[0278] In some embodiments, as Figure 8F As shown, immersive application user interface 8000 is displayed to user 7002 without any computer-generated virtual content that is not provided by an application associated with application user interface 8000 (e.g., immersive application user interface 8000 is displayed without box 7016, which is not provided by an application associated with application user interface 8000).
[0279] like Figure 8F As shown, when immersive application user interface 8000 is displayed to user 7002, in response to detecting user input (e.g., a single press input) on hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element), application user interface 8000 is cancelled by the single press input and replaced by updated application user interface 8040, as shown in FIG. Figure 8G In some embodiments, content similar to that displayed in application user interface 8000 is displayed in updated application user interface 8040. For example, virtual content 8002 provided by application user interface 8000 continues to be displayed in updated application user interface 8040, albeit at a reduced scale. In some embodiments, updated application user interface 8040 is presented in the absence of any virtual environment and / or in the absence of any additional virtual content. In some embodiments, as Figure 8GAs shown, when the virtual environment is not displayed to the user 7002, a presentation of a pass-through portion of the physical environment of the computer system 101 (e.g., a head mounted device) is presented to the updated application user interface 8040 via the display generation component. In some embodiments, the updated application user interface 8040 corresponds to the resized application user interface 8004. In some embodiments, the updated application user interface 8040 corresponds to a small player application interface (e.g., Figures 7G to 7I The mini player user interface 7154 shown or as Figure 11D Small player user interface 11012 shown).
[0280] In some embodiments, more than one user input results in Figures 8F to 8G 8C . In some embodiments, the updated application user interface 8040 persists, for example, as a small player application user interface. For example, the application user interface 8000 corresponds to a media player in full screen mode (for example, a video player application that presents a movie in full screen mode), and the updated application user interface 8040 corresponds to the small player application user interface. When the main menu user interface and the small player application user interface are displayed simultaneously, in response to detecting a third input (for example, a third press input), the main menu user interface 7110 is canceled, and the pass-through portion is presented, as shown in FIG. Figure 8G In some embodiments, the small player application interface is maintained when the transparent part is presented, such as Figure 8G In some embodiments, when the pass-through portion is presented, display of the small player application interface stops. When the device is operating in non-immersive mode, using a third input to cancel the main menu user interface (e.g., to provide a non-immersive experience to the user) provides a way to terminate navigation activities on the main menu user interface without interfering with the application user interface in the non-immersive experience (e.g., Figure 8G No additional controls need to be provided to the user, and the user does not need to browse any additional user interface control elements to exit the main menu user interface, thereby improving the operating efficiency of the computer system.
[0281] Canceling the main menu user interface 7110 improves the safety of the user 7002 by replacing the display of the main menu user interface with a presentation of a transparent portion of the physical environment of the computer system 101 (e.g., a head-mounted device) via a display generation component, thereby allowing the user 7002 (via the transparent portion of the physical environment of the computer system 101) to be aware of the physical environment of the computer system 101. For example, after the user has completed navigating the main menu user interface 7110, the user 7002 may need to respond to an emergency or other situation that requires the attention of the user 7002 or requires the user 7002 to interact with the physical environment. Using a second input or a third input (e.g., on a physical button) to activate the display of the transparent portion allows the user 7002 to exit from the virtual environment and view at least a portion of the physical environment without displaying additional controls. In some embodiments, in addition to presenting the transparent portion, the display of the virtual environment in which the main menu user interface 7110 is displayed also stops. Ceasing to display the virtual environment while canceling the main menu user interface 7110 allows the user to exit from the virtual environment and view at least a portion of the physical environment (e.g., canceling display of the virtual environment) by causing the second input to function similar to an input to an escape button, without displaying additional controls.
[0282] A user can use a single input to an input device to transition the device from a high immersion level (e.g., a fully immersive mode in which only the content of a corresponding application is displayed) to a lower immersive mode or a non-immersive mode, or from a non-immersive mode to a mode that also displays a main menu user interface), and provide intuitive top-level access to different sets of representations while the user is in a non-immersive experience without displaying additional controls (e.g., without requiring the user to browse through user interface elements), thereby improving the operational efficiency of user-machine interactions based on a single input. Using a single input to the input device reduces the amount of time required to navigate within or transition out of a virtual environment.
[0283] In some embodiments, receiving the aforementioned single input and the reference herein Figures 8A to 8GThe input device of the other input described is a hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element). In some embodiments, the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element) is a hardware button. In some embodiments, the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element) is a solid-state button. Using input to a hardware button or solid-state button to control the immersion level of application content provided (e.g., from full immersion mode to non-immersion mode) or to display a main menu user interface provides intuitive top-level access to basic operating functions of the computer system without displaying additional controls (e.g., without requiring the user to browse user interface elements), thereby improving the operating efficiency of the computer system. Solid-state buttons reduce the number of moving parts, which improves reliability and allows the system to be reconfigured (e.g., through firmware updates that allow solid-state buttons to provide different feedback, provide other functionality, receive additional types of input), thereby improving the performance and efficiency of the computer system.
[0284] 9A to 9D Examples are illustrated of how one or more different operations may be triggered by input to an input device depending on the characteristics of a displayed application user interface. Figure 15 is a flow diagram of an example method 1500 for performing one or more different operations based on (eg, triggered by) input to an input device, depending on characteristics of a displayed application user interface. 9A to 9D The user interface in the is used to illustrate the processes described below, which include Figure 15 in the process.
[0285] Figure 9A Application user interface 9002, application user interface 9004, application user interface 9006, and application user interface 9008 are shown displayed in virtual three-dimensional environment 9000. In some embodiments, application user interface 9002 corresponds to the user interface of a media player application (e.g., a video player application), application user interface 9004 corresponds to the user interface of a messaging application, application user interface 9006 corresponds to the user interface of a calendar application, and application user interface 9008 corresponds to the user interface of a web browsing application.
[0286] In some embodiments, a media player application with an application user interface 9002 is used in a content sharing session. For example, user 7002 shares a movie with participants Abe, Mary, Isaac, and Edwin of the content sharing session while playing the movie in a video player application in the application user interface 9002. In some embodiments, representations of the participants in the content sharing session are displayed as avatars on a portion of the application user interface 9002 (e.g., a representation of a participant is arranged on the left portion, a representation of a participant is arranged on the right portion, a representation of a participant is arranged on the top portion, and a representation of a participant is arranged on the bottom portion). In some embodiments, a content sharing session comprising two or more participants is also referred to as a group interaction session. For example, participants in a content sharing session can interact with each other (e.g., via chat messaging, audio calls, or video calls) while viewing shared content together in a group interaction session.
[0287] A specific application may be used for a content sharing session (e.g., a media player application with an application user interface 9002) or a non-content sharing session (e.g., a media player application with an application user interface 11002, as shown in FIG. Figure 11A 11B ), where content is presented to user 7002 by a display generation component of computer system 101 and not to additional users or participants. In some embodiments, an application running on computer system 101 of user 7002 in a content sharing session shares only a portion of the displayed information with the other participants. For example, a document editing application in a content sharing session with two different teams of participants shares only a portion of the application user interface with participants from the first team who have permission to view shared content in a first portion of the application user interface, and shares a different portion of the application user interface with participants from the second team who have different permission levels or settings.
[0288] An application that has a corresponding session (e.g., a content sharing session) that includes content shared with (e.g., displayed to) more than one user on the computer system 101 on which the application is running is also referred to as a "shared application." An application that does not have a corresponding session (e.g., a content sharing session) that includes content shared with or displayed to more than one user on the computer system 101 on which the application is running is referred to as a "private application." Thus, even when multiple participants are able to share content with the application, the same application can be a "private application" if there are no active content sharing sessions for the application, and be considered a "shared application" when there are active content sharing sessions for the application.
[0289] Figure 9AAn application user interface is shown that displays multiple applications simultaneously. The multiple applications include private applications (e.g., a messaging application, a calendar application, and a web browsing application) and / or applications used in a content sharing session (e.g., a media player application). Displaying application user interfaces for two or more applications simultaneously allows user 7002 to multitask, provides user 7002 with more information without requiring additional user input, and improves the operating efficiency of the computer system.
[0290] In addition to sharing media content for joint consumption with multiple participants (e.g., via a video player application), a content sharing session may also include sharing video conference content between multiple participants in a video conference, and / or sharing or streaming game content to multiple participants in a gaming application. For example, broadcasting an ongoing game (e.g., a single user's game) to multiple participants in a content sharing session for a gaming application. In some embodiments, a content sharing session may include screen mirroring. In screen mirroring, display output provided by a display generation component of the computer system 101 is additionally provided to one or more other display devices distinct from the computer system 101. In some embodiments, screen mirroring is used when an application user interface is in immersive mode (e.g., no other applications are running in the foreground of the user 7002's computer system 101), such as with respect to Figure 8A and Figure 8F In some embodiments, participants in a content sharing session that screen mirrors an application user interface in immersive mode can also experience the shared content in immersive mode (e.g., screen mirroring provides visual output to the participants' respective wearable devices).
[0291] In some embodiments, the gaming application is a multiplayer gaming application (e.g., a multiplayer online battle arena (MOBA) video game) in which users in a content sharing session do not view the same output display (e.g., each player is presented with a viewpoint from the perspective of a respective game character), and the gaming application runs on the players' respective computer systems. In some embodiments, the multiplayer gaming application includes a content sharing session in which team members of user 7002 (e.g., in the gaming application) receive a video feed (e.g., a video feed of the same display (e.g., screen mirroring) or a similar display presented to user 7002 by a display generation component of computer system 101) and an audio feed from user 7002 during the MOBA gaming session.
[0292] In contrast, in some embodiments, as Figure 9AThe application user interfaces 9004, 9006, and 9008 shown are all application user interfaces of applications used in non-content sharing sessions. In some embodiments, one or more of the application user interfaces 9004, 9006, and 9008 are used in a content sharing session. For example, user 7002 can place a web browsing application in a content sharing session so that participants can view web content (e.g., web content including media clips) from the web browsing application in real time in the content sharing session.
[0293] In some embodiments, one or more virtual objects (e.g., box 7016) are presented in a virtual three-dimensional environment 9000 that includes application user interfaces of private applications and shared applications.
[0294] When the application user interfaces of the private applications and the shared applications are displayed, in response to a press input on the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element), all the private applications are canceled, and the main menu user interface 7110 is overlaid on the shared applications (e.g., the main menu user interface is presented in front of the application user interface 9002 and is closer to the user 7002 in the z-direction than the application user interface 9002), as shown in FIG. 9B (e.g., Figure 9B1 、 Figure 9B2 and Figure 9B3 , among which Figure 9B2 The HMD 7100a in FIG. Figure 9B1 The user interface shown is similar to the user interface shown in Figure 1).
[0295] In some embodiments, the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element) includes a rotatable input element or mechanism, such as a digital crown. Hereinafter, the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element) is also referred to as a rotatable input element 7108 or a rotatable input mechanism 7108. In some embodiments, the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element) is a hardware button. In some embodiments, the hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element) is a solid-state button. Providing a dedicated hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element) for receiving a first input allows the user (e.g., without having to interact with the user interface of any software application) to more quickly and responsively distinguish between shared applications and private applications.
[0296] Displaying the main menu user interface 7110 in front of the application user interface 9002 allows a user to navigate the collection of applications in the main menu user interface and / or change the user's virtual environment and / or interact with additional users while an ongoing content sharing session is in progress, thereby improving operational efficiency by eliminating the need to interrupt (e.g., by having to close) a content sharing session of a shared application (e.g., application user interface 9002) in order for a particular user to navigate the main menu user interface 7110. Reducing the number of inputs required to dismiss a private application and bring a shared application into focus enhances the operability of the computer system 101 and makes the user-device interface more efficient, which additionally reduces power usage and extends the battery life of the computer system 101 by enabling the user to use the device more quickly and efficiently.
[0297] In some embodiments, when two application user interfaces are displayed, one application user interface is a shared application and the other application user interface is a private application, a press input to hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element) stops display of the private application while maintaining display of the shared application used in the content sharing session. In some embodiments, multiple application user interfaces of a private application (e.g., one that does not have an ongoing content sharing session) and multiple application user interfaces of a shared application are displayed. A press input to hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element) stops display of multiple application user interfaces of the private application while maintaining display of multiple application user interfaces of the shared application used in the content sharing session. In some embodiments, multiple application user interfaces of the shared application are displayed and the application user interface of the private application is displayed. A press input to hardware input element 7108 (e.g., a button, a crown, or a rotatable and depressible input element) stops display of the private application while maintaining display of multiple application user interfaces of the shared application used in the content sharing session.
[0298] In some embodiments, when the main menu user interface 7110 is presented to the user 7002 in response to a press input, virtual content such as the box 7016 continues to be displayed. In some embodiments, the main menu user interface 7110 is also referred to as a home screen user interface, and th...
Claims
1. A method, comprising: At a device comprising or in communication with one or more display generating components and one or more input devices: while displaying an application user interface via the one or more display generating components, detecting a first input to an input device of the one or more input devices, the input device being disposed on a housing of the device including the one or more display generating components; In response to detecting the first input to the input device disposed on the housing of the device: replacing display of at least a portion of the application user interface by displaying a main menu user interface via the one or more display generation components; as well as while displaying the main menu user interface via the one or more display generating components, detecting a second input to the input device disposed on the housing of the device; In response to detecting the second input to the input device disposed on the housing of the device: The main menu user interface is canceled.
2. The method of claim 1 , wherein the device is a head mounted device comprising the input device and the one or more display generating components, and the method comprises: A user interface is generated that is visible to the user when the head mounted device is positioned on the user's head so as to cover the user's eyes.
3. A method according to any one of claims 1 to 2, wherein the main menu user interface is presented substantially in a central portion of a field of view of a user of the device.
4. The method of any one of claims 1 to 3, wherein the input device is a hardware button or a solid-state button.
5. The method according to claim 4, further comprising: detecting a rotation input to the hardware button; And in response to detecting the rotation input, performing a second operation different from displaying or canceling the main menu user interface.
6. The method according to any one of claims 1 to 5, comprising: In response to detecting the first input to the input device, the application user interface is cancelled before or while the main menu user interface is displayed.
7. The method according to claim 5, further comprising: before detecting the first input to the input device of the one or more input devices, generating and displaying a first user interface object associated with the application user interface; as well as In response to detecting the first input to the input device: maintaining display of the first user interface object while canceling the application user interface.
8. The method according to claim 7, further comprising: Prior to detecting the first input, the first user interface object associated with the application user interface is generated and displayed by extracting the first user interface object from the application user interface based on a third input directed to the application user interface.
9. The method according to any one of claims 7 to 8, further comprising: In response to detecting the second input, both the first user interface object and the main menu user interface are dismissed.
10. The method according to any one of claims 7 to 9, further comprising: When the main menu user interface and the first user interface object are displayed via the one or more display generating components, a fourth input pointing to a representation of a second application displayed on the main menu user interface is detected, and in response to detecting the fourth input, an application user interface of the second application is displayed while displaying the first user interface object.
11. The method according to claim 10, further comprising: detecting a fifth input moving the first user interface object to the application user interface of the second application; as well as In response to detecting the fifth input, an operation is performed in the second application based on the first user interface object.
12. The method according to any one of claims 1 to 11, wherein canceling the main menu user interface comprises: The display of the main menu user interface is replaced with a presentation of a pass-through portion of a physical environment of the device, via the one or more display generation components.
13. The method according to any one of claims 1 to 12, wherein canceling the main menu user interface comprises: The virtual environment in which the main menu user interface is displayed is stopped from being displayed.
14. The method according to claim 13, further comprising: detecting a sixth input on the representation of the first virtual environment displayed in the main menu user interface; And in response to detecting the sixth input on the representation of the first virtual environment displayed in the main menu user interface: replacing any currently displayed virtual environment with the first virtual environment.
15. The method according to any one of claims 1 to 13, further comprising: displaying, in the main menu user interface, representations of software applications executable on the device; detecting a seventh input directed to a respective representation of a software application among the representations of software applications executable on the device displayed in the main menu user interface; as well as In response to detecting the seventh input directed to the corresponding representation of the software application: displaying an application user interface of the software application.
16. The method according to any one of claims 1 to 13, further comprising: displaying, in the main menu user interface, a first representation of a first person and a second representation of a second person, the first representation and the second representation being used to initiate communication with the first person and the second person, respectively; detecting an eighth input directed toward the first representation of the first person; and In response to detecting the eighth input directed toward the first representation of the first individual: displaying a communication user interface for initiating a communication session with the first individual.
17. The method according to any one of claims 1 to 13, further comprising: detecting a ninth input directed to a representation of a collection displayed in the main menu user interface; as well as In response to detecting the ninth input directed to the representation of the collection: Representations of one or more virtual three-dimensional environments or one or more augmented reality environments are displayed.
18. The method according to any one of claims 1 to 17, further comprising: When the main menu user interface is displayed, detecting a tenth input; And in response to detecting the tenth input: scrolling through the main menu user interface based on the tenth input such that first content in at least a portion of the main menu user interface is replaced with second content.
19. The method according to any one of claims 1 to 18, further comprising: detecting an eleventh input while displaying the main menu user interface having the first section; as well as In response to detecting the eleventh input: displaying a second section of the main menu user interface based on the eleventh input, the first section being different from the second section.
20. The method according to any one of claims 1 to 19, further comprising: while displaying the first section of the main menu user interface, detecting a twelfth input to the input device disposed on the housing of the device, and in response to detecting the twelfth input to the input device disposed on the housing of the device: canceling the main menu user interface; as well as Detecting a thirteenth input to the input device disposed on the housing of the device, and in response to detecting the thirteenth input to the input device disposed on the housing of the device: displaying the first section of the main menu user interface based on the thirteenth input.
21. The method according to claim 20, further comprising: Based on determining that a time difference between detecting the twelfth input and detecting the thirteenth input is within a time threshold, displaying the first section of the main menu user interface based on the thirteenth input, and Based on determining that the time difference exceeds the time threshold, the display of the main menu user interface is reset to a predetermined section.
22. The method according to any one of claims 1 to 21, wherein: Displaying the application user interface via the one or more display generation components includes: displaying a first application user interface of a media content playback application, and The method comprises: When playing media content using the media content playing application and displaying the first application user interface of the media content playing application, detecting the first input to the input device; and In response to detecting the first input to the input device: The main menu user interface is displayed via the one or more display generation components, and the display of the first application user interface of the media content playback application is replaced with a second application user interface of the media content playback application, wherein the second application user interface of the media content playback application is smaller in size than the first application user interface of the media content playback application.
23. The method of claim 22, wherein: Replacing the display of the first application user interface of the media content playback application with the second application user interface of the media content playback application includes: displaying a media player; and The second application user interface includes one or more of: a representation of media content playing on the media content playing application; and playback controls for the media content playing application.
24. The method according to any one of claims 22 to 23, further comprising: In response to detecting the second input to the input device while the main menu user interface is displayed, the main menu user interface is cancelled and the second application user interface of the media content playback application continues to be displayed.
25. The method according to any one of claims 1 to 24, further comprising: Detecting inputs to a first number of input devices disposed on the housing of the device within a first time period, and displaying an application management user interface in response to detecting inputs to the first number of input devices disposed on the housing of the device within the first time period.
26. The method according to any one of claims 1 to 25, further comprising: while displaying a system user interface via the one or more display generation components, detecting a corresponding input to the input device disposed on the housing of the device, the corresponding input being the same type of input as the first input to the input device, and In response to detecting the corresponding input to the input device disposed on the housing of the device while the system user interface is displayed: Display of at least a portion of the system user interface is replaced by displaying the main menu user interface via the one or more display generation components.
27. The method according to any one of claims 1 to 26, further comprising: After canceling the main menu user interface and while the main menu user interface is not displayed, detecting a fourteenth input to the input device disposed on the housing of the device; In response to detecting the fourteenth input to the input device disposed on the housing of the device: The main menu user interface is redisplayed via the one or more display generation components.
28. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system communicating with one or more display generating components and one or more input devices, the one or more programs comprising instructions for executing the method according to any one of claims 1 to 27.
29. A computer system in communication with one or more display generation components and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 1 to 27.
30. A computer system in communication with one or more display generation components and one or more input devices, the computer system comprising: Components for carrying out the method according to any one of claims 1 to 27.
31. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with one or more display generation components and one or more input devices, the one or more programs comprising instructions for: while displaying an application user interface via the one or more display generating components, detecting a first input to an input device of the one or more input devices, the input device being disposed on a housing of the device including the one or more display generating components; In response to detecting the first input to the input device disposed on the housing of the device: replacing display of at least a portion of the application user interface by displaying a main menu user interface via the one or more display generation components; as well as while displaying the main menu user interface via the one or more display generating components, detecting a second input to the input device disposed on the housing of the device; In response to detecting the second input to the input device disposed on the housing of the device: canceling the main menu user interface.
32. A computer system in communication with one or more display generation components and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: while displaying an application user interface via the one or more display generating components, detecting a first input to an input device of the one or more input devices, the input device being disposed on a housing of the device including the one or more display generating components; In response to detecting the first input to the input device disposed on the housing of the device: replacing display of at least a portion of the application user interface by displaying a main menu user interface via the one or more display generation components; as well as while displaying the main menu user interface via the one or more display generating components, detecting a second input to the input device disposed on the housing of the device; In response to detecting the second input to the input device disposed on the housing of the device: The main menu user interface is canceled.
33. A computer system in communication with one or more display generation components and one or more input devices, the computer system comprising: means for detecting a first input to an input device of the one or more input devices, the input device being disposed on a housing of the device including the one or more display generating components, enabled when an application user interface is displayed via the one or more display generating components; A component enabled in response to detecting the first input to the input device disposed on the housing of the device, the component comprising: means for replacing display of at least a portion of the application user interface by displaying a main menu user interface via the one or more display generation components; and means for detecting a second input to the input device disposed on the housing of the device enabled when the main menu user interface is displayed via the one or more display generating components; Means for dismissing the main menu user interface is enabled in response to detecting the second input to the input device disposed on the housing of the device.
34. A method comprising: At a computer system including or in communication with a display generation component and one or more input devices: while displaying the application user interface via the display generation component, detecting a first input to an input device of the one or more input devices; as well as In response to detecting the first input to the input device: According to determining that the application user interface is in the first display mode, displaying the application user interface in the second display mode via the display generation component, wherein the first display mode includes an immersive mode that displays only the content of the application user interface, and the second display mode includes a non-immersive mode that displays the corresponding content of the application user interface and other content at the same time; as well as Based on determining that the application user interface is in the second display mode, display of at least a portion of the application user interface is replaced by displaying a main menu user interface via the display generation component.
35. The method of claim 34, further comprising: while displaying the main menu user interface via the display generation component, detecting a second input to the input device; as well as In response to detecting the second input to the input device, the main menu user interface is cancelled.
36. The method of any one of claims 34 or 35, wherein displaying the application user interface in the non-immersive mode comprises: A virtual environment and the application user interface are displayed simultaneously, and in response to detecting the first input to the input device while the application user interface is displayed in the non-immersive mode, at least a portion of the virtual environment continues to be displayed.
37. The method according to any one of claims 35 or 36, further comprising: At least the portion of the virtual environment continues to be displayed while the main menu user interface is displayed.
38. The method according to any one of claims 36 or 37, further comprising: displaying representations of two or more virtual environments in the main menu user interface; as well as In response to detecting a selection of a first virtual environment of the two or more virtual environments: replacing at least a corresponding portion of the virtual environment with the first virtual environment.
39. The method according to any one of claims 34 to 38, further comprising: displaying in the main menu user interface representations of software applications executable on the computer system; detecting a third input directed to a corresponding representation of a software application among the representations of software applications executable on the computer system displayed in the main menu user interface; as well as In response to detecting the third input directed to the corresponding representation of the software application: displaying an application user interface of the software application.
40. The method according to any one of claims 34 to 38, further comprising: displaying, in the main menu user interface, a first representation of a first person and a second representation of a second person, the first representation and the second representation being used to initiate communication with the first person and the second person, respectively; detecting a fourth input directed toward the first representation of the first person; as well as In response to detecting the fourth input directed toward the first representation of the first individual: displaying a communication user interface for initiating a communication session with the first individual.
41. The method according to any one of claims 34 to 38, further comprising: displaying representations of one or more virtual three-dimensional environments or one or more extended reality environments in the main menu user interface; detecting a fifth input directed toward a corresponding one of the representations of the one or more virtual three-dimensional environments or the one or more extended reality environments; as well as In response to detecting the fifth input directed toward the respective one of the representations of one or more virtual three-dimensional environments or one or more extended reality environments: Any currently displayed virtual environment is replaced with the virtual three-dimensional environment or the augmented reality environment associated with the corresponding representation.
42. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for executing a method according to any one of claims 34 to 41.
43. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 34 to 41.
44. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: Means for carrying out the method according to any one of claims 34 to 41.
45. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for: while displaying the application user interface via the display generation component, detecting a first input to an input device of the one or more input devices; as well as In response to detecting the first input to the input device: According to determining that the application user interface is in the first display mode, displaying the application user interface in the second display mode via the display generation component, wherein the first display mode includes an immersive mode that displays only the content of the application user interface, and the second display mode includes a non-immersive mode that displays the corresponding content of the application user interface and other content at the same time; as well as Based on determining that the application user interface is in the second display mode, display of at least a portion of the application user interface is replaced by displaying a main menu user interface via the display generation component.
46. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: while displaying the application user interface via the display generation component, detecting a first input to an input device of the one or more input devices; as well as In response to detecting the first input to the input device: According to determining that the application user interface is in the first display mode, displaying the application user interface in the second display mode via the display generation component, wherein the first display mode includes an immersive mode that displays only the content of the application user interface, and the second display mode includes a non-immersive mode that displays the corresponding content of the application user interface and other content at the same time; as well as Based on determining that the application user interface is in the second display mode, display of at least a portion of the application user interface is replaced by displaying a main menu user interface via the display generation component.
47. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: means for detecting a first input to an input device of the one or more input devices enabled when an application user interface is displayed via the display generation component; and In response to detecting the first input to the input device, means for: According to determining that the application user interface is in the first display mode, displaying the application user interface in the second display mode via the display generation component, wherein the first display mode includes an immersive mode that displays only the content of the application user interface, and the second display mode includes a non-immersive mode that displays the corresponding content of the application user interface and other content at the same time; as well as Based on determining that the application user interface is in the second display mode, display of at least a portion of the application user interface is replaced by displaying a main menu user interface via the display generation component.
48. A method comprising: At a computer system including or in communication with a display generation component and one or more input devices: while displaying an application user interface of an application via the display generation component, detecting a first input to an input device of the one or more input devices; In response to detecting the first input to the input device: displaying a main menu user interface via the display generation component; Based on determining that the application is currently being shared in a content sharing session, wherein the content of the application is simultaneously visible to a plurality of participants in the content sharing session, and display of at least a portion of the application user interface is maintained while the main menu user interface is displayed; and According to determining that the application is not shared in the content sharing session, the display of the application user interface is stopped.
49. The method of claim 48, further comprising: The application currently in the content sharing session is shared with the plurality of participants in a real-time communication session.
50. The method of claim 49, wherein the application user interface of the application currently being shared in the content sharing session or elements or corresponding portions of the application user interface of the application currently being shared in the content sharing session have a shared spatial relationship, and wherein one or more user interface objects visible to the multiple participants in the content sharing session have a consistent spatial relationship from different viewpoints of the multiple participants in the content sharing session.
51. The method of claim 50, wherein the shared spatial relationship is such that: a spatial relationship between a first user interface object that represents the corresponding content to a first participant and a viewpoint of the first participant from the perspective of the first participant is consistent with a spatial relationship between a second user interface object that represents the corresponding content to a second participant and a representation of the first participant from the perspective of the second participant; and The spatial relationship between the second user interface object that represents the corresponding content to the second participant and the viewpoint of the second participant from the perspective of the second participant is consistent with the spatial relationship between the first user interface object that represents the corresponding content to the first participant and the representation of the second participant from the perspective of the first participant.
52. The method of claim 51, further comprising: detecting input by the first of the plurality of participants to move the application user interface of the application currently being shared in the content sharing session; as well as In response to detecting the input of moving the application user interface by the first participant, moving the application user interface of the application currently shared in the content sharing session or the element or the corresponding portion of the application user interface of the application currently shared in the content sharing session for both the first participant and the second participant among the multiple participants.
53. The method according to any one of claims 48 to 52, further comprising: The main menu user interface is displayed in front of the application user interface of the application.
54. The method according to any one of claims 48 to 53, further comprising: Displaying application user interfaces of two or more applications simultaneously.
55. The method of claim 54, further comprising: In response to the first input: ceasing to display the corresponding application user interfaces of the two or more applications, while continuing to display another application user interface of the two or more applications.
56. The method of claim 54, further comprising: In response to the first input: ceasing to display a first plurality of applications among the two or more applications while continuing to display at least one application among the two or more applications.
57. The method of claim 54, further comprising: In response to the first input: maintaining display of a second plurality of applications among the two or more applications, while ceasing to display at least one application among the two or more applications.
58. The method according to any one of claims 48 to 57, further comprising: detecting a second input while both the main menu user interface and at least the portion of the application user interface of the application currently being shared in the content sharing session are displayed; as well as In response to detecting the second input: Stop displaying the main menu user interface; as well as The portion of the application user interface of the application currently being shared in the content sharing session is maintained for display while the main menu user interface is not displayed.
59. The method of claim 58, further comprising: The application currently being shared in the content sharing session and the transparent portion of the physical environment of the computer system are simultaneously displayed via the display generation component.
60. The method according to any one of claims 48 to 57, further comprising: while displaying the main menu user interface, detecting movement of the application user interface by the second participant of the plurality of participants; as well as In response to detecting the movement of the application user interface by the second participant: The application user interface is moved for the plurality of participants including the first participant and the second participant based on the movement.
61. The method of any one of claims 48 to 60, wherein the first input to the input device comprises a press input on a hardware button or solid-state button.
62. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for executing a method according to any one of claims 48 to 61.
63. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 48 to 61.
64. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: Means for carrying out the method according to any one of claims 48 to 61.
65. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for: while displaying an application user interface of an application via the display generation component, detecting a first input to an input device of the one or more input devices; In response to detecting the first input to the input device: displaying a main menu user interface via the display generation component; Based on determining that the application is currently being shared in a content sharing session, wherein content of the application is simultaneously visible to a plurality of participants in the content sharing session, maintaining display of at least a portion of the application user interface while displaying the main menu user interface; and According to determining that the application is not shared in the content sharing session, the display of the application user interface is stopped.
66. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: while displaying an application user interface of an application via the display generation component, detecting a first input to an input device of the one or more input devices; In response to detecting the first input to the input device: displaying a main menu user interface via the display generation component; Based on determining that the application is currently being shared in a content sharing session, wherein content of the application is simultaneously visible to a plurality of participants in the content sharing session, maintaining display of at least a portion of the application user interface while displaying the main menu user interface; and According to determining that the application is not shared in the content sharing session, the display of the application user interface is stopped.
67. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: means for detecting a first input to an input device of the one or more input devices enabled when an application user interface of an application is displayed via the display generation component; and In response to detecting the first input to the input device, means for: displaying a main menu user interface via the display generation component; Based on determining that the application is currently being shared in a content sharing session, wherein content of the application is simultaneously visible to a plurality of participants in the content sharing session, maintaining display of at least a portion of the application user interface while displaying the main menu user interface; and According to determining that the application is not shared in the content sharing session, the display of the application user interface is stopped.
68. A method comprising: At a computer system including or in communication with a display generation component and one or more input devices: When the computer system is in operation, detecting, via an input device of the one or more input devices, a first input of a first type of input, wherein the first type of input is determined based on a position and / or movement of a first biometric feature of a user: in response to detecting the first input via the input device, performing a first operation based on the first input, wherein the operation is determined at least in part by first input registration information from a previous input registration process for the first type of input; After performing the first operation based on the first input, detecting a second input of a second type of input via an input device of the one or more input devices; as well as In response to detecting the second input, an input registration process for the first type of input is initiated.
69. A method according to claim 68, wherein the first type of input includes a gaze of the user, the first biometric characteristic includes the positioning and / or movement of the user's eyes, and the input device of the first input via which the first type of input is detected includes a camera.
70. A method according to claim 68, wherein the first type of input includes movement of the user's hand, the first biometric feature includes the positioning and / or movement of one or more parts of the user's hand, and the input device of the first input via which the first type of input is detected includes a camera.
71. The method of any one of claims 68 to 70, wherein initiating the input registration process for the first type of input comprises: Instructions for input registration of the first type of input are presented to the user, and second input registration information for the first type of input is collected based on a user action performed according to the presented instructions.
72. The method of claim 71, further comprising: detecting, via the input device of the one or more input devices, a third input of the first type of input; In response to detecting the third input via the input device, a second operation is performed based on the third input, wherein the second operation is determined at least in part by the second input registration information for the first type of input.
73. A method according to any one of claims 68 to 72, wherein the input device comprises a button.
74. The method of claim 73, wherein the button is further configured to turn the computer system on or off, and the method comprises: detecting a fourth input on the button when the computer system is not in operation; as well as In response to detecting the fourth input on the button: turning on the computer system.
75. The method according to any one of claims 73 or 74, wherein the method comprises: When the computer system is in sleep mode, detecting a fifth input on the button; as well as In response to detecting the fifth input on the button, waking the computer system from the sleep mode.
76. A method according to any one of claims 73 to 75, wherein the method comprises: When the computer system is in operation, detecting a sixth input on the button; as well as In response to detecting the sixth input on the button: Media rendered visible via the display generation component is captured.
77. The method of any one of claims 73 to 76, wherein the method comprises: detecting a seventh input on the button in combination with detecting an eighth input on the second input device; as well as In response to detecting the seventh input to the button in conjunction with the eighth input on the second input device, performing one or more system operations.
78. The method of claim 77, wherein the one or more system operations are elements selected from the group consisting of: taking a screenshot, restarting the computer system, or resetting the computer system.
79. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for executing a method according to any one of claims 68 to 78.
80. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 68 to 78.
81. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: Means for carrying out the method according to any one of claims 68 to 78.
82. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for: When the computer system is in operation, detecting, via an input device of the one or more input devices, a first input of a first type of input, wherein the first type of input is determined based on a position and / or movement of a first biometric feature of a user: in response to detecting the first input via the input device, performing a first operation based on the first input, wherein the operation is determined at least in part by first input registration information from a previous input registration process for the first type of input; After performing the first operation based on the first input, detecting a second input of a second type of input via an input device of the one or more input devices; as well as In response to detecting the second input, an input registration process for the first type of input is initiated.
83. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: When the computer system is in operation, detecting, via an input device of the one or more input devices, a first input of a first type of input, wherein the first type of input is determined based on a position and / or movement of a first biometric feature of a user: in response to detecting the first input via the input device, performing a first operation based on the first input, wherein the operation is determined at least in part by first input registration information from a previous input registration process for the first type of input; After performing the first operation based on the first input, detecting a second input of a second type of input via an input device of the one or more input devices; as well as In response to detecting the second input, an input registration process for the first type of input is initiated.
84. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: A component for detecting a first input of a first type of input via an input device of the one or more input devices enabled when the computer system is in operation, wherein the first type of input is determined based on a position and / or movement of a first biometric feature of a user, the component comprising: means enabled in response to detecting the first input via the input device for performing a first operation based on the first input, wherein the operation is determined at least in part by first input registration information from a previous input registration process for input of the first type; means for detecting a second input of a second type of input via an input device of the one or more input devices, enabled after performing the first operation based on the first input; and Means for initiating an input registration process for input of the first type enabled in response to detecting the second input.
85. A method comprising: At a computer system including or in communication with a display generation component and one or more input devices: detecting a first input on a rotatable input mechanism of an input device among the one or more input devices; In response to detecting the first input on the rotatable input mechanism: According to determining that the first input is an input of a first type: changing an immersion level associated with a display of an extended reality (XR) environment generated by the display generation component to a first immersion level, In the first immersion level, the display of the XR environment includes both virtual content from the application and a pass-through portion of the physical environment of the computer system; and According to determining that the first input is an input of the second type: An operation other than changing the immersion level associated with display of the XR environment is performed.
86. The method of claim 85, further comprising: In response to a second input of the first type of input, the immersion level associated with the display of the XR environment generated by the display generation component is changed to a second immersion level, in which the display of the XR environment also includes virtual content that is different from or displayed at a different level of fidelity than the virtual content displayed when the first immersion level is associated with the display of the XR environment.
87. The method of any one of claims 85 to 86, wherein the second type of input comprises a press input, the method further comprising: detecting a third input provided to the rotatable input mechanism; as well as In response to the rotatable input mechanism detecting the third input as a press input, performing a corresponding operation selected from the group consisting of: canceling the active application; canceling the virtual object displayed via the display generation component; displaying the application manager user interface; enabling accessibility mode; and redisplaying multiple previously displayed user interface elements in the XR environment.
88. The method of any one of claims 85 to 87, wherein changing the immersion level associated with display of the XR environment is based on detecting a rotational input to the rotatable input mechanism.
89. The method of claim 88, wherein changing the immersion level associated with display of the XR environment based on detecting the rotational input comprises: increasing the immersion level based on determining that the first input is a rotational input in a first direction; as well as Based on determining that the first input is a rotational input in a second direction different from the first direction, the immersion level is reduced.
90. The method of any one of claims 85 to 88, wherein the first type of input comprises a rotational input of the rotatable input mechanism, and the second type of input comprises a pressing input of the rotatable input mechanism.
91. The method of claim 90, comprising: In response to detecting the first input: performing a first operation based on determining that the first input is the second type of input and includes a first number of press inputs, and Based on determining that the first input is the second type of input and includes a second number of press inputs different from the first number, a second operation different from the first operation is performed.
92. The method of claim 91, comprising: detecting the first number of press inputs directed to the rotatable input mechanism; as well as In response to detecting the first number of press inputs directed to the rotatable input mechanism, the active application is cancelled by causing the active application to run in the background and / or displaying a main menu user interface via the display generation component.
93. The method of claim 92, comprising: detecting the second number of press inputs directed to the rotatable input mechanism; as well as In response to detecting the second number of press inputs directed to the rotatable input mechanism, an application manager user interface is displayed.
94. The method according to any one of claims 92 to 93, comprising: detecting a third number of press inputs directed to the rotatable input mechanism; as well as In response to detecting the third number of press inputs directed to the rotatable input mechanism, an accessibility mode operation is performed or enabled.
95. The method of any one of claims 92 to 94, comprising: detecting a fourth number of press inputs directed to the rotatable input mechanism; as well as In response to detecting the fourth number of press inputs directed toward the rotatable input mechanism, the virtual object is dismissed by displaying a corresponding pass-through portion of the physical environment of the computer system.
96. The method of claim 85, comprising: In response to detecting the first input: In response to determining that the first input is an input of the second type and has a duration that satisfies a first criterion, performing a first operation, and Based on determining that the first input is an input of the second type and has a duration that satisfies a second criterion different from the first criterion, a second operation different from the first operation is performed.
97. The method of any one of claims 85 to 91 or 93 to 96, comprising: Based on the determination that the first input is the second type of input, a main menu user interface is displayed in the XR environment.
98. The method of any one of claims 85 to 97, wherein the method comprises: detecting a fourth input of the second type of input in conjunction with detecting a fifth input on the second input device; as well as In response to detecting the fourth input of the second type of input in conjunction with the fifth input on the second input device, performing one or more third operations.
99. The method of claim 98, wherein a corresponding third operation of the one or more third operations is selected from the group consisting of: taking a screenshot, powering off the computer system, restarting the computer system, and entering a hardware reset mode of the computer system.
100. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system that communicates with a display generation component and one or more input devices, the one or more programs comprising instructions for executing a method according to any one of claims 85 to 99.
101. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 85 to 99.
102. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: Means for performing the method according to any one of claims 85 to 99.
103. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for: detecting a first input on a rotatable input mechanism of an input device among the one or more input devices; In response to detecting the first input on the rotatable input mechanism: According to determining that the first input is an input of a first type: changing an immersion level associated with a display of an extended reality (XR) environment generated by the display generation component to a first immersion level in which the display of the XR environment includes both virtual content from an application and a pass-through portion of a physical environment of the computer system; and According to determining that the first input is an input of the second type: An operation other than changing the immersion level associated with display of the XR environment is performed.
104. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: detecting a first input on a rotatable input mechanism of an input device among the one or more input devices; In response to detecting the first input on the rotatable input mechanism: According to determining that the first input is an input of a first type: changing an immersion level associated with a display of an extended reality (XR) environment generated by the display generation component to a first immersion level, In the first immersion level, the display of the XR environment includes both virtual content from the application and a pass-through portion of the physical environment of the computer system; and According to determining that the first input is an input of the second type: An operation other than changing the immersion level associated with display of the XR environment is performed.
105. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: means for detecting a first input on a rotatable input mechanism of an input device of the one or more input devices; means enabled in response to detecting the first input on the rotatable input mechanism for: According to determining that the first input is an input of a first type: changing an immersion level associated with a display of an extended reality (XR) environment generated by the display generation component to a first immersion level in which the display of the XR environment includes both virtual content from an application and a pass-through portion of a physical environment of the computer system; and According to determining that the first input is an input of the second type: An operation other than changing the immersion level associated with display of the XR environment is performed.
106. A method comprising: At a wearable device comprising or in communication with a display generating component and one or more input devices: When the corresponding session is active in the corresponding application and when the wearable device is being worn, detecting a first signal indicating that the wearable device has been taken off: In response to detecting the first signal: causing the corresponding session of the corresponding application to become inactive; as well as detecting, when the corresponding application is inactive, a second signal indicating that the wearable device is being worn; In response to detecting the second signal: Determine if the corresponding criteria are met: Resuming the corresponding session of the corresponding application; Based on the determination that the corresponding criteria are not met: Resuming the corresponding session of the corresponding application is abandoned, wherein the corresponding criteria include criteria that are satisfied when a current user of the wearable device is determined to be an authorized user of the wearable device.
107. The method of claim 106, wherein the corresponding criteria comprises a type of the corresponding session satisfying a predefined criteria relative to a set of predefined session types, and the method comprises: Based on determining that the respective criterion is satisfied because the respective session of the respective application is a session of the first type: resuming the respective session of the respective application; as well as Based on determining that the corresponding criterion is not satisfied because the corresponding session of the corresponding application is a session of the second type: abandoning restoring the corresponding session of the corresponding application.
108. The method of claim 107, wherein the respective criteria are satisfied when the respective session of the respective application is configured to deliver media content to the authorized user of the wearable device; and The corresponding criterion is met when the corresponding session of the corresponding application is configured to allow real-time audio data or real-time video data of the participants to be generated by the participants of the corresponding session and the corresponding session is configured to provide information about the positioning of the participants in the three-dimensional environment.
109. The method of claim 108, wherein the corresponding criteria are not satisfied when the corresponding application includes a record of content generated during the corresponding session, thereby abandoning recovery of the corresponding session of the corresponding application.
110. The method of any one of claims 106 to 109, wherein: When the time between detecting the first signal and detecting the second signal is less than a predetermined threshold, the corresponding criterion is satisfied, thereby resuming the corresponding session of the corresponding application; and When the time between detecting the first signal and detecting the second signal is equal to or greater than the predetermined threshold, the corresponding criterion is not satisfied, thereby giving up resuming the corresponding session of the corresponding application.
111. The method of any one of claims 106, 107, 109 or 110, wherein: Causing the corresponding session of the corresponding application to become inactive includes pausing playback of media content from the corresponding session of the corresponding application.
112. The method of any one of claims 106 to 111, wherein: Causing the respective session of the respective application to become inactive includes at least one of: muting audio data associated with the respective session of the respective application; Or pause video recording of content generated in the corresponding session of the corresponding application.
113. The method of any one of claims 106 to 112, wherein: Causing the respective session of the respective application to become inactive includes pausing mirroring of output from the display generation component of the wearable device on a different device.
114. The method of claim 113, further comprising: In conjunction with pausing the mirroring of the output from the display generation component of the wearable device on the different device, an indication to pause the mirroring of the output from the display generation component is displayed via the display generation component.
115. The method according to any one of claims 106 to 114, further comprising: After the first signal has been detected, a context of the wearable device is monitored using one or more sensors included with or in communication with the wearable device.
116. The method of claim 115, further comprising: The one or more sensors are used to detect characteristics of a physical environment of the wearable device to monitor the context of the wearable device.
117. The method of claim 115, further comprising: The one or more sensors are used to detect biometric features to monitor the context of the wearable device.
118. The method according to any one of claims 115 to 117, further comprising: Based on determining that a threshold amount of time has elapsed since the first signal was detected and the second signal was not detected: The wearable device is transitioned to an operational sleep state in which the wearable device reduces the frequency of using the one or more sensors to monitor the context of the wearable device.
119. The method of claim 118, further comprising: When the wearable device is in the sleep state, detecting an upward displacement of at least a portion of the wearable device; as well as In response to detecting the upward displacement of at least the portion of the wearable device, the wearable device is transitioned from an active state to a standby state of operation.
120. The method of claim 118, further comprising: When the wearable device is in the sleep state, detecting a first input to the one or more input devices; as well as In response to detecting the first input, the wearable device is transitioned from the sleep state to a standby state of operation.
121. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a wearable device that communicates with a display generation component and one or more input devices, the one or more programs comprising instructions for executing a method according to any one of claims 106 to 120.
122. A wearable device in communication with a display generation component and one or more input devices, the wearable device comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 106 to 120.
123. A wearable device in communication with a display generation component and one or more input devices, the wearable device comprising: Components for performing the method according to any one of claims 106 to 120.
124. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a wearable device in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for: When the corresponding session is active in the corresponding application and when the wearable device is being worn, detecting a first signal indicating that the wearable device has been taken off: In response to detecting the first signal: causing the corresponding session of the corresponding application to become inactive; as well as detecting, when the corresponding application is inactive, a second signal indicating that the wearable device is being worn; In response to detecting the second signal: Determine if the corresponding criteria are met: Resuming the corresponding session of the corresponding application; Based on the determination that the corresponding criteria are not met: Resuming the corresponding session of the corresponding application is abandoned, wherein the corresponding criteria include criteria that are satisfied when a current user of the wearable device is determined to be an authorized user of the wearable device.
125. A wearable device in communication with a display generation component and one or more input devices, the wearable device comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: When the corresponding session is active in the corresponding application and when the wearable device is being worn, detecting a first signal indicating that the wearable device has been taken off: In response to detecting the first signal: causing the corresponding session of the corresponding application to become inactive; as well as detecting, when the corresponding application is inactive, a second signal indicating that the wearable device is being worn; In response to detecting the second signal: Determine if the corresponding criteria are met: Resuming the corresponding session of the corresponding application; Based on the determination that the corresponding criteria are not met: Resuming the corresponding session of the corresponding application is abandoned, wherein the corresponding criteria include criteria that are satisfied when a current user of the wearable device is determined to be an authorized user of the wearable device.
126. A wearable device in communication with a display generation component and one or more input devices, the wearable device comprising: Means for detecting a first signal indicating that the wearable device has been removed enabled when the corresponding session is active in the corresponding application and when the wearable device is being worn: a component enabled in response to detecting the first signal, the component comprising: means for causing said corresponding session of said corresponding application to become inactive; and means for detecting a second signal indicating that the wearable device is being worn, enabled when the corresponding application is inactive; means for enabling, in response to detecting the second signal, to: Determine if the corresponding criteria are met: resuming the corresponding session of the corresponding application; and Based on the determination that the corresponding criteria are not met: Resuming the corresponding session of the corresponding application is abandoned, wherein the corresponding criteria include criteria that are satisfied when a current user of the wearable device is determined to be an authorized user of the wearable device.
127. A method comprising: At a computer system in communication with one or more display generation components and one or more input devices: When the configuration of the computer system is being executed, detecting a first input directed to a first input device of the one or more input devices, wherein the computer system includes one or more sensors to detect input, the input including one or more of an air gesture and a gaze input; and In response to detecting the first input to the first input device, a menu including a plurality of selectable options for configuring one or more interaction models is displayed.
128. The method of claim 127, wherein the first input device is a hardware input device that is a hardware button.
129. The method of claim 127, wherein the first input device is a hardware input device comprising a rotatable input mechanism.
130. A method according to any one of claims 127 to 129, wherein the one or more input devices comprises a second input device different from the first input device, and the method comprises: detecting a second input to the second input device; In response to detecting the second input to the second input device, activating a first accessibility mode in which a verbal description of the virtual object is provided in response to the user input.
131. A method according to any one of claims 127 to 130, wherein the first input comprises two or more presses on the first input device.
132. The method of any one of claims 127 to 131, comprising: detecting a third input directed to a first hardware input device among the one or more input devices; as well as In response to detecting the third input directed to the first hardware input device, input focus is positioned on a first selectable option of the plurality of selectable options.
133. The method of claim 132, comprising: detecting a fourth input directed to a second hardware input device among the one or more input devices; as well as In response to detecting the fourth input directed to the second hardware input device, the first of the plurality of selectable options is selected.
134. The method of any one of claims 127 to 131, comprising: detecting a third input directed to a corresponding hardware input device among the one or more input devices; as well as In response to detecting the third input directed to the hardware input device: positioning input focus on a first selectable option among the plurality of selectable options based on determining that the third input satisfies the first input criterion; as well as Based on determining that the third input satisfies second input criteria, a second selectable option from the plurality of selectable options is selected.
135. The method of claim 134, wherein positioning the input focus on the first of the plurality of selectable options is performed in response to detecting a rotational input on the hardware input device.
136. A method according to any one of claims 134 to 135, wherein selecting the second of the plurality of selectable options is performed in response to detecting a press input on the hardware input device.
137. The method of any one of claims 132 to 136, comprising: In conjunction with positioning the input focus on the first one of the plurality of selectable options, an audio description of the first one of the plurality of selectable options is output.
138. The method of any one of claims 127 to 137, comprising: While said configuration of said computer system is being performed: Displays controls for activating the stay control mode; detecting a gaze input directed toward the control for activating the dwell control mode; and In response to detecting the gaze input directed toward the control for activating the dwell control mode, the dwell control mode is automatically activated.
139. The method of any one of claims 127 to 138, comprising: After said configuring of said computer system is completed, detecting a subsequent input directed to said first input device; as well as In response to detecting the subsequent input to the first input device after the configuration of the computer system is completed, displaying the menu including the plurality of selectable options for configuring the one or more interaction models is foregone.
140. The method of claim 139, comprising: In response to detecting the subsequent input to the first input device after the configuration of the computer system is complete, performing an operation other than displaying the menu including the plurality of selectable options for configuring the one or more interaction models.
141. The method of any one of claims 139 to 140, comprising: After the configuration of the computer system is completed, detecting a press input to the first input device; as well as In response to detecting the press input to the first input device, a corresponding accessibility function is activated.
142. The method of any one of claims 127 to 131, comprising: detecting a fifth input on the first input device; as well as In response to detecting the fifth input on the first input device: positioning input focus on a corresponding selectable option among the plurality of selectable options based on determining that the fifth input is detected before the configuration of the computer system is complete; as well as Based on determining that the fifth input is detected after the configuration of the computer system is complete, performing an operation different from positioning the input focus on the corresponding selectable option.
143. The method of any one of claims 127 to 142, comprising: displaying a first user interface of a first subset of user interfaces for configuring a first interaction model of the one or more interaction models; detecting one or more user inputs; In response to detecting the one or more user inputs: A function of the first interaction model is activated, and a second user interface in the first subset of user interfaces is automatically displayed.
144. The method of any one of claims 127 to 143, wherein: The plurality of selectable options includes a first set of one or more controls for enabling control of a focus selector using a corresponding portion of a user's body other than an eye of the user; And the method comprises: detecting corresponding gaze input; as well as In response to detecting the corresponding gaze input: Based on determining that the focus selector cannot be controlled using the corresponding part of the user's body that is different from the user's eyes, the focus selector is positioned according to the corresponding gaze input, wherein when the focus selector can be controlled using the corresponding part of the user's body that is different from the user's eyes, the computer system does not respond to the corresponding gaze input by positioning the focus selector in response to the corresponding gaze input.
145. A method according to claim 144, wherein the menu including the plurality of selectable options for configuring the one or more interaction models is displayed before performing a calibration process of the user's gaze.
146. The method of any one of claims 127 to 145, wherein: the plurality of selectable options comprising a second set of one or more controls corresponding to a set of one or more input models, the set of one or more input models enabling control of the device using an alternative input other than an air gesture; And the method comprises: Detecting mid-air gestures; as well as In response to detecting the mid-air gesture: Based on determining that the computer system is enabled to be controlled using an air gesture, the operation is performed based on the air gesture, wherein when the computer system is enabled to be controlled using the alternative input, the computer system does not respond to the air gesture by performing the operation.
147. The method of claim 146, wherein a first control in the second set of one or more controls corresponds to a control for activating a stay control mode.
148. The method of any one of claims 146 to 147, wherein a second control in the second set of one or more controls corresponds to a control for activating a switch control mode.
149. The method of claim 148, comprising: detecting an input selecting the control for activating the switch control mode; as well as In response to detecting the input selecting the control for activating the switch control mode: activating the switch control mode; as well as A corresponding menu is displayed for configuring a wireless connection with a hardware input device for providing input in the switch control mode.
150. A method according to any one of claims 127 to 149, wherein the menu comprising the plurality of selectable options for configuring the one or more interaction models is displayed before performing a calibration process for the user's hand.
151. The method of any one of claims 127 to 150, comprising: detecting an input selecting a first option corresponding to a visual accessibility mode among the plurality of selectable options; as well as In response to detecting the input selecting the first option corresponding to the vision accessibility mode, activating the vision accessibility mode.
152. The method of any one of claims 127 to 150, comprising: detecting an input selecting a second option corresponding to the auditory accessibility mode from among the plurality of selectable options; as well as In response to detecting the input selecting the second option corresponding to the hearing accessibility mode, activating the hearing accessibility mode.
153. The method of any one of claims 127 to 150, comprising: detecting an input selecting a third option among the plurality of selectable options corresponding to the display setting; as well as In response to detecting the input selecting the third option corresponding to the display setting, activating the display setting.
154. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system that communicates with one or more display generating components and one or more input devices, the one or more programs comprising instructions for executing a method according to any one of claims 127 to 153.
155. A computer system in communication with one or more display generation components and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 127 to 153.
156. A computer system in communication with one or more display generation components and one or more input devices, the computer system comprising: Components for performing a method according to any one of claims 127 to 153.
157. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with one or more display generation components and one or more input devices, the one or more programs comprising instructions for: When the configuration of the computer system is being executed, detecting a first input directed to a first input device of the one or more input devices, wherein the computer system includes one or more sensors to detect input, the input including one or more of an air gesture and a gaze input; and In response to detecting the first input to the first input device, a menu including a plurality of selectable options for configuring one or more interaction models is displayed.
158. A computer system in communication with one or more display generation components and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: When the configuration of the computer system is being executed, detecting a first input directed to a first input device of the one or more input devices, wherein the computer system includes one or more sensors to detect input, the input including one or more of an air gesture and a gaze input; and In response to detecting the first input to the first input device, a menu including a plurality of selectable options for configuring one or more interaction models is displayed.
159. A computer system in communication with one or more display generation components and one or more input devices, the computer system comprising: means for detecting a first input directed to a first input device of the one or more input devices enabled when the configuration of the computer system is being executed, wherein the computer system includes one or more sensors to detect input, the input including one or more of an air gesture and a gaze input; and Means for displaying a menu including a plurality of selectable options for configuring one or more interaction models is enabled in response to detecting the first input to the first input device.