Device, method, and graphical user interface for interacting with three-dimensional environment

By detecting gaze and touch inputs in a computer system, dynamically moving focus indicators solves the problems of inefficiency and complex interaction in the prior art, and achieves more efficient and accurate virtual/augmented reality environment interaction.

CN119948439APending Publication Date: 2025-05-06APPLE INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380068158.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-09-19
Filing Date
2023-09-20
Publication Date
2025-05-06

AI Technical Summary

Technical Problem

Prior art methods of interacting with virtual/augmented reality environments are inefficient, complex and error-prone, especially when moving focus and dragging objects.

Method used

By communicating with the display generation components and input devices in a computer system, detecting gaze input and touch input, a focus indicator is dynamically displayed, and a moving focus indicator is input according to the user's gaze and hand to achieve more efficient interaction.

Benefits of technology

Improves user interaction efficiency and accuracy with virtual/augmented reality environments, reduces the number and complexity of user input, reduces battery consumption, and extends the battery life of the device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119948439A_ABST
    Figure CN119948439A_ABST
Patent Text Reader

Abstract

A computer system detects a gaze input directed to an area in an environment, and detects a touch input when the gaze input is detected. In response, the computer system displays a focus indicator at a location corresponding to the area. The computer system detects continuation of the touch input, including movement of the touch input along an input surface while the touch input is maintained on the input surface. In response, the computer system moves the focus indicator in accordance with the movement of the touch input: if the movement corresponds to a request to move the focus indicator within a user interface of an application, moving within the user interface; and if the movement corresponds to a request to move the focus indicator out of a boundary of the user interface, moving the focus indicator within the user interface without moving the focus indicator out of the boundary of the user interface.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Related patent applications

[0002] This application is a continuation-of-U.S. patent application No. 18 / 370,324 filed on September 19, 2023, and also claims priority to U.S. patent application No. 18 / 370,330 filed on September 19, 2023, U.S. provisional patent application No. 63 / 469,797 filed on May 30, 2023, and U.S. provisional patent application No. 63 / 409,622 filed on September 23, 2022. Technical Field

[0003] The present disclosure generally relates to computer systems that provide computer-generated experiences in communication with display generation components and one or more input devices, including but not limited to electronic devices that provide virtual reality 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, augmented reality environments, mixed reality environments, and virtual reality environments) are cumbersome, inefficient, and limited. For example, systems that only allow a limited number of ways to provide input, systems that require a large amount of input to move focus and drag objects around the environment, and systems that are difficult to control to move focus around the environment, especially systems where the available ways to move focus within an interactive target are inconsistent with the object type of the interactive target, are complex, tedious, and prone to errors, placing a significant cognitive burden on the user and reducing the experience of the virtual / augmented reality environment. In addition, these methods take longer than necessary, thereby wasting energy on the computer system. This latter consideration is particularly important in battery-powered devices.

[0006] Therefore, there is a need for computer systems with improved methods and interfaces that allow for moving focus and dragging objects around an environment with greater speed and accuracy using additional input mechanisms, thereby making user interaction with the computer system more efficient and intuitive. 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 input from the user by helping the user understand the connection between the input provided and the device's response to those inputs, thereby creating a more effective 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 fingers 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 that allow for moving focus and dragging objects around an environment with greater speed and accuracy using additional input mechanisms. Such methods and interfaces can supplement or replace conventional methods for moving focus and dragging objects around an environment using such input mechanisms. Such methods and interfaces reduce the amount, extent, and / or nature of input from the 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 computer system in communication with a display generation component and one or more input devices including a touch-sensitive surface. The method includes, when a view of an environment is visible via the display generation component, detecting a gaze input directed to the environment via the one or more input devices. The method includes: upon detecting the gaze input, detecting a first touch input via the touch-sensitive surface; and, in response to detecting the first touch input: based on determining that a first portion of the first touch input was detected when the gaze input was directed to a first area in the environment, displaying a focus indicator at a location corresponding to the first area in the environment; and based on determining that a first portion of the first touch input was detected when the gaze input was directed to a second area in the environment, displaying a focus indicator at a location corresponding to the second area in the environment. The method includes detecting a continuation of the first touch input, the continuation including movement of the first touch input along the touch-sensitive surface while the first touch input is maintained on the touch-sensitive surface. The method includes: in response to detecting movement of the first touch input along the touch-sensitive surface during the continuation of the first touch input, moving the focus indicator according to the magnitude of the movement of the first touch input, including: moving the focus indicator within the user interface of the first application according to the movement of the first touch input based on determining that the magnitude of the movement of the first touch input during the continuation of the first touch input corresponds to a request to move the focus indicator within the user interface of the first application; and moving the focus indicator within the user interface of the first application according to the movement of the first touch input without moving the focus indicator outside the boundaries of the user interface of the first application based on determining that the magnitude of the movement of the first touch input during the continuation of the first touch input corresponds to a request to move the focus indicator outside the boundaries of the user interface of the first application.

[0010] According to some embodiments, a method is performed at a computer system in communication with a display generation component and one or more input devices. The method includes, while a view of an environment is visible via the display generation component: displaying a user interface including a first user interface area and a second user interface area; and displaying a focus indicator within the first user interface area. The first user interface area and the second user interface area are separated by a third area. The method includes detecting, via the one or more input devices, an input that moves the focus indicator relative to the user interface. The input is associated with movement toward the second user interface area. The method includes: in response to detecting the input associated with movement toward the second user interface area, moving the focus indicator from the first user interface area to the second user interface area in accordance with the movement associated with the input, including directly transitioning from displaying the focus indicator at a location corresponding to a boundary of the first user interface area to displaying the focus indicator at a location corresponding to the second user interface area without displaying the focus indicator in the third area between the first and second user interface areas. The method includes: in response to detecting the input associated with movement toward the second user interface area, based on determining that the input does not meet a first set of one or more criteria based on the movement associated with the input, changing the appearance of the focus indicator in accordance with the movement associated with the input, while continuing to display at least a portion of the focus indicator within the first user interface area.

[0011] According to some embodiments, a method is performed at a computer system in communication with a display generation component and one or more input devices. The method includes, while displaying a user interface, detecting input via the one or more input devices, including detecting a user's hand. The input is directed to a first location in the user interface. The method includes, in response to detecting the input, displaying a focus indicator corresponding to the user interface object at the first location in the user interface. The method includes, while displaying the focus indicator corresponding to the user interface object, detecting continuation of the input, including movement of the user's hand and movement of the user's gaze. The method includes, in response to detecting continuation of the input, moving the focus indicator based on the continuation of the input, including: based on determining that the user interface object is a first type of user interface object, moving the focus indicator to a second location in the user interface selected based on the movement of the user's gaze, wherein the second location in the user interface is different from the first location in the user interface; and based on determining that the user interface object is a second type of user interface object different from the first type of user interface object, moving the focus indicator to a third location in the user interface selected based on the movement of the user's hand, wherein the third location in the user interface is different from the first location in the user interface and the second location in the user interface.

[0012] According to some embodiments, a method is performed at a computer system in communication with a display generation component and one or more input devices. The method includes, while a view of an environment is visible via the display generation component, detecting, via the one or more input devices, a first input corresponding to a request to initiate a drag operation relative to content of an application. The content is displayed in a first area of ​​the environment. The method includes, in response to detecting the first input, initiating the drag operation. Based on determining that the first input was detected when first content of the application was selected, initiating the drag operation relative to the first content; and based on determining that the first input was detected when second content of the application was selected, initiating the drag operation relative to the second content. The method includes, while continuing to detect the first input, detecting, via the one or more input devices, movement of a gaze input to a corresponding location in a second area of ​​the environment that is different from the first area, and detecting movement of the first input. The method includes, based on determining that the movement of the first input satisfies a first set of one or more criteria, moving the content from the first area of ​​the environment to a second area of ​​the environment, wherein the first set of one or more criteria includes a direction of the movement of the first input being within a directional threshold of a direction of the corresponding location in the second area of ​​the environment to satisfy the requirements of the first set of one or more criteria; and based on determining that the movement of the first input does not satisfy the first set of one or more criteria, moving the content within the first area of ​​the environment.

[0013] 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 specification, 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

[0014] 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.

[0015] 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.

[0016] 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.

[0017] 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.

[0018] Figure 3 is a block diagram illustrating display generation components of a computer system configured to provide a visual component of an XR experience to a user, according to some embodiments.

[0019] 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.

[0020] 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.

[0021] Figure 6 is a flow chart illustrating a flash-assisted gaze tracking pipeline according to some embodiments.

[0022] Figures 7A to 7K Example techniques for gaze-assisted display and movement of a focus indicator in an environment are shown according to some embodiments.

[0023] Figures 8A to 8H Example techniques for moving a focus indicator across gaps between user interface areas in an environment are shown according to some embodiments.

[0024] 9A to 9I Example techniques are shown for interacting with objects in a user interface using gaze and / or hand input differently for different types of objects, in accordance with some embodiments.

[0025] Figures 10A to 10E3 Example techniques for gaze-assisted drag and drop of content across different areas in an environment are shown, according to some embodiments.

[0026] Figures 11A to 11B is a flowchart of a method for gaze-assisted display and movement of a focus indicator in an environment according to various embodiments.

[0027] Figure 12 is a flowchart of a method of moving a focus indicator across a gap between user interface areas in an environment according to various embodiments.

[0028] Figure 13 is a flow diagram of a method for interacting with objects in a user interface using gaze and / or hand input differently for different types of objects, according to various embodiments.

[0029] Figure 14 is a flow diagram of a method for gaze-assisted drag and drop of content across different areas in an environment, according to various embodiments. DETAILED DESCRIPTION

[0030] According to some embodiments, the present disclosure relates to a user interface for providing an extended reality (XR) experience to a user.

[0031] The systems, methods, and GUIs described herein improve user interface interactions with virtual / augmented reality environments in several ways.

[0032] In some embodiments, when a user is gazing at a location in an environment (e.g., a two-dimensional or three-dimensional virtual or mixed reality environment), the computer system displays a focus indicator at the location where the user's gaze was directed when input was detected on the touch-sensitive surface. The computer system moves the focus indicator in the environment based on the movement of the input detected along the touch-sensitive surface, although when input continues to be detected on the touch-sensitive surface, the computer system constrains the focus indicator to move within the same user interface in which the focus indicator was initially displayed. If the computer system detects the end of the input on the touch-sensitive surface and detects subsequent input on the touch-sensitive surface while the user is gazing at a location in another user interface, the focus indicator can be moved to another user interface in the environment. Using movement of the touch input to move a focus indicator that was initially placed based on the gaze location, and constraining the movement of the focus indicator to the current window in which the focus indicator is displayed while the touch input is ongoing, allows for improved control over the movement of the focus indicator compared to when gaze movement is used, while automatically limiting the movement of the focus indicator to relevant context. If the user ends the current touch input and provides a subsequent touch input, the focus indicator is moved to another user interface that the user is looking at, which reduces the amount of time required to move the focus indicator a longer distance in the environment.

[0033] In some embodiments, the user interface has multiple areas, including a first area and a second area separated by a gap. When a focus indicator is displayed in the first area, the computer system moves the focus indicator across the gap to the second area without displaying the focus indicator in the gap in response to input associated with movement of the focus indicator toward the second area and satisfying corresponding criteria. If the input does not satisfy the corresponding criteria, the focus indicator remains within the first area with the changed appearance. Moving the focus indicator directly across the gap between different areas in the user interface allows the different areas of the user interface to be more clearly delineated, while still allowing interaction with locations in each of the different areas, while limiting interaction with locations outside of the relevant context (e.g., outside the user interface, such as locations within the gap).

[0034] In some embodiments, a computer system moves a focus indicator differently in response to input for different types of user interface objects. For some types of user interface objects, the focus indicator moves between different locations (e.g., interaction points) in the object in response to movement of a user's hand (such as movement of a touch input on a touch-sensitive surface). For other types of user interface objects, the focus indicator moves between different locations (e.g., interaction points) in the object in response to movement of the user's gaze, without requiring movement of the user's hand, optionally conditioned on the user's hand engaging in interaction, such as by providing touch input (e.g., contact) on the touch-sensitive surface. Enabling different input mechanisms for moving the focus indicator based on whether the user interface object is one type of object or another type of object enables improved control of the focus indicator and reduces the amount of time required to move the focus indicator within a user interface object in a manner consistent and appropriate to the type of user interface object. For example, because touch-sensitive surfaces primarily provide two-dimensional input control and are more suitable for moving a focus indicator within two-dimensional content, requiring movement of an input on the touch-sensitive surface to move the focus indicator would make it more difficult and more error-prone for the user to interact with three-dimensional content in the intended manner.

[0035] In some embodiments, the computer system initiates a drag operation relative to the content from a first area in the environment in response to input directed to the content of the application. When the user is looking at a second area in the environment, the computer system detects the movement of the input. In response to detecting the movement of the input, and if the movement of the input meets the corresponding criteria including the requirement that the movement of the input is sufficiently toward the position in the second area to which the user's gaze is directed, the computer system moves the content (or a representation of the content) to the second area. However, if the movement of the input does not meet the corresponding criteria, such as if the input is not sufficiently toward the position in the second area to which the user's gaze is directed, the computer system moves the content in the first area according to the movement of the input. Enabling the user to move content to another area in the user interface by looking at the other area and providing appropriate input reduces the amount of time required to move content longer distances in the environment.

[0036] Figures 1A to 6 A description of an example computer system for providing an XR experience to a user is provided. Figures 7A to 7K Example techniques for gaze-assisted display and movement of a focus indicator in an environment are shown according to some embodiments. Figures 8A to 8H Example techniques for moving a focus indicator across gaps between user interface areas in an environment are shown according to some embodiments. 9A to 9I Example techniques are shown for interacting with objects in a user interface using gaze and / or hand input differently for different types of objects, in accordance with some embodiments. Figures 10A to 10E3Example techniques for gaze-assisted drag and drop of content across different areas in an environment are shown, according to some embodiments. Figures 11A to 11B is a flowchart of a method for gaze-assisted display and movement of a focus indicator in an environment according to various embodiments. Figure 12 is a flowchart of a method of moving a focus indicator across a gap between user interface areas in an environment according to various embodiments. Figure 13 is a flow diagram of a method for interacting with objects in a user interface using gaze and / or hand input differently for different types of objects, according to various embodiments. Figure 14 is a flow diagram of a method for gaze-assisted drag and drop of content across different areas in an environment, according to various embodiments. Figures 7A to 7K 、 Figures 8A to 8H 、 9A to 9I and Figures 10A to 10E3 The user interface in Figures 11A to 11B 、 Figure 12 、 Figure 13 and Figure 14 in the process.

[0037] 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.

[0038] 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.

[0039] In some embodiments, as Figure 1A As shown, an XR experience is provided to a user via an operating environment 100 including a computer system 101. The computer system 101 includes a controller 110 (e.g., a processor of a portable electronic device or a remote server), a display generation component 120 (e.g., a head-mounted device (HMD), a display, a projector, a touch screen, etc.), one or more input devices 125 (e.g., an eye tracking device 130, a hand tracking device 140, other input devices 150), one or more output devices 155 (e.g., a speaker 160, a tactile output generator 170, and other output devices 180), one or more sensors 190 (e.g., an image sensor, a light sensor, a depth sensor, a tactile sensor, an orientation sensor, a proximity sensor, a temperature sensor, a position sensor, a motion sensor, a speed sensor, etc.), and optionally one or more peripheral devices 195 (e.g., a household appliance, a wearable device, etc.). In some embodiments, one or more of the input device 125, 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).

[0040] 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:

[0041] 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.

[0042] 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.

[0043] Examples of XR include virtual reality and mixed reality.

[0044] 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.

[0045] 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 motion so that virtual trees appear stationary relative to the physical ground.

[0046] Examples of mixed reality include augmented reality and augmented virtuality.

[0047] 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 a representation of a physical environment is transformed by computer-generated sensory information. For example, in providing a pass-through video, the system may transform one or more sensor images to apply a selected perspective (e.g., a viewpoint) that is different from the perspective captured by the imaging sensor. For another example, the representation of the physical environment may be transformed by graphically modifying (e.g., enlarging) a portion thereof so that the modified portion may be a representative but not real version of the original captured image. For another example, the representation of the physical environment may be transformed by graphically eliminating a portion thereof or blurring a portion thereof.

[0048] 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 people's faces 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 conforms to the position of the sun in the physical environment.

[0049] In an augmented reality, mixed reality, or virtual reality environment, a view of a three-dimensional environment is visible to a user. The view of the three-dimensional environment is typically visible to the user through a virtual viewport via one or more display generation components (e.g., a display or a pair of display modules that provide stereoscopic content to different eyes of the same user), and the virtual viewport has a viewport boundary that defines the range of the three-dimensional environment visible to the user via the 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, optical properties, or other physical properties of the one or more display generation components, and / or the position and / or orientation of the one or more display generation components relative to the user's eyes). In some embodiments, the 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, optical properties, or other physical properties of the one or more display generation components, and / or the position and / or orientation of the one or more display generation components relative to the user's eyes). The viewport and viewport boundary typically move with the movement of one or more display generation components (e.g., with the user's head for a head-mounted device, or with the user's hand for a handheld device such as a tablet or smart phone). The user's viewpoint determines what is visible in the viewport. The viewpoint typically specifies a position and orientation relative to the three-dimensional environment, and as the viewpoint moves, the view of the three-dimensional environment will also move in the viewport. For head-mounted devices, the viewpoint is typically based on the position and orientation of the user's head, face, and / or eyes to provide a view of the three-dimensional environment that is perceptually accurate and provides an immersive experience when the user is using the head-mounted device. For handheld or fixed devices, the viewpoint moves as the handheld or fixed device moves and / or as the user's positioning relative to the handheld or fixed device changes (e.g., the user moves toward, away from, up, down, right, and / or left). For devices that include display generation components with virtual pass-through, portions of the physical environment that are visible (e.g., displayed and / or projected) via one or more display generation components are based on the field of view of one or more cameras in communication with the display generation components, which 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 display position and pose of the virtual objects are updated based on movement of the user's viewpoint)).For display generation components with optical transmittance, portions of the physical environment that are visible via 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 as the user's head moves for a head-mounted device, or moves as the user's hands move for a handheld device such as a tablet or 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).

[0050] 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 range of the virtual content displayed via the display generation component (e.g., 60 degrees for content displayed at low immersion, 120 degrees for content displayed at medium immersion, or 180 degrees for content displayed at high immersion), and / or the proportion of the field of view displayed via the display generation component that is occupied by the virtual content (e.g., 33% of the field of view occupied by the virtual content at low immersion, 66% of the field of view occupied by the virtual content at medium immersion, or 100% of the field of view occupied by the virtual content at high immersion). In some embodiments, the background content is included in the background on which the virtual content is displayed (e.g., background content in a representation of the physical environment). In some embodiments, the background content includes a user interface (e.g., a user interface 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 immersion, which enhances the operability of the computer system and makes the user-device interface more efficient.

[0051] 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."

[0052] 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.

[0053] 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).

[0054] 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., physical environment). For example, controller 110 is a local server located within scene 105. In another example, controller 110 is a remote server (e.g., a cloud server, a central server, etc.) located outside of scene 105. In some embodiments, controller 110 is communicatively coupled to display generation component 120 (e.g., HMD, display, projector, touch screen, etc.) via one or more wired or wireless communication channels 144 (e.g., Bluetooth, IEEE 802.11x, IEEE 802.16x, IEEE 802.3x, etc.). In another example, the controller 110 is included within a housing (e.g., a physical housing) of the display generating component 120 (e.g., an HMD or a portable electronic device including a display and one or more processors, etc.), one or more input devices of the input devices 125, one or more output devices of the output devices 155, one or more sensors of the sensors 190, and / or one or more peripheral devices 195, or shares the same physical housing or support structure with one or more of the above devices.

[0055] 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.

[0056] According to some embodiments, display generation component 120 provides an XR experience to the user when the user is virtually and / or physically present within scene 105.

[0057] In some embodiments, the display generation component is worn on a part of the user's body (e.g., on his / her head, on his / her hand, etc.). In this way, the display generation component 120 includes one or more XR displays provided for displaying XR content. For example, in various embodiments, the display generation component 120 surrounds the user's field of view. In some embodiments, the display generation component 120 is a handheld device (such as a smart phone or tablet device) configured to present XR content, and the user holds a device with a display facing the user's field of view and a camera facing the scene 105. In some embodiments, the handheld device is optionally placed in a 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)).

[0058] Despite Figure 1A Relevant features of the operating environment 100 are shown, but those skilled in the art will recognize from this disclosure that various other features are not shown for the sake of brevity and so as not to obscure more relevant aspects of the example embodiments disclosed herein.

[0059] Figures 1A to 1PVarious examples of computer systems for performing the methods and providing audio, visual, and / or tactile feedback as part of the user interfaces described herein are shown. In some embodiments, the 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 to a user of the computer system a representation of a virtual element and / or a physical environment, optionally generated based on detected events and / or user input detected by the computer system. The user interface generated by the computer system is optionally corrected by one or more corrective lenses 11.3.2-216, which are optionally removably attached to one or more of the optical modules to make the user interface easier to view by users who would otherwise use glasses or contact lenses to correct their vision. While many of the user interfaces shown 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 component 1-120a and a second display component 1-120b and / or a first optical module 11.1.1-104a and a second optical module 11.1.1-104b), one optical module for the user's right eye and a different optical module for the user's left eye, and presenting slightly different images to the two different eyes to create 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 component 1-108) for displaying status information of the computer system to a user of the computer system (when the computer system is not being worn) and / or to other people near the computer system, the status information being optionally generated based on detected events and / or user input detected by the computer system. In some embodiments, the computer system includes one or more audio output components (e.g., electronic components 1-112) for generating audio feedback, which is optionally generated based on detected events and / or user input detected by the computer system. In some embodiments, the computer system includes one or more input devices for detecting input, such as one or more sensors for detecting information about the physical environment of the device (e.g., one or more sensors in sensor components 1-356, and / or Figure 1I ), which information can be used (optionally in conjunction with one or more luminaires, 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 position 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 visual content, such as the immersion level of the virtual three-dimensional environment (e.g., the extent to which virtual content occupies the user's viewport in the three-dimensional environment) or other parameters associated with the three-dimensional environment and virtual content displayed via the optical modules (e.g., the first and second display components 1-120a, 1-120b, and / or the first and second optical modules 11.1.1-104a, 11.1.1-104b).

[0060] Figure 1BFront, top, and perspective views of an example of a 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 are shown. The HMD 1-100 may include a display unit 1-102 or assembly, an electronic strap assembly 1-104 connected to and extending from the display unit 1-102, and a strap assembly 1-106 secured to the electronic strap assembly 1-104 at either end. The electronic strap assembly 1-104 and the strap 1-106 may be part of a retaining assembly configured to wrap around a user's head to hold the display unit 1-102 against the user's face.

[0061] 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 strip 1-105a and the second electronic strip 1-105b of the electronic strip assembly 1-104. The strap assembly 1-104 and the strap assembly 1-106 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.

[0062] 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.

[0063] 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 from 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.

[0064] 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.

[0065] 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 the field of 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 from one side of the face to the other, such as from left to right and / or from top to bottom, with the display unit 1-102 being pressed.

[0066] 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.

[0067] Figure 1C A rear perspective view of an HMD 1-100 is shown. 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 perimeter 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 are configured to project light through the second opening 1-154. In at least one example, each display assembly 1-120a-b may include a respective display screen 1-122a, 1-122b, which are configured to project light in a rearward direction through the second opening 1-154 toward the user's eyes.

[0068] 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 1B 1-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 assemblies 1-120a-b. In at least one example, the curtain 1-124 may be elastic or at least partially elastic.

[0069] 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.

[0070] Figure 1D An exploded view of an example of an HMD 1-200 is shown, the HMD including various parts or components that are separable according to the modularity 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 are removably coupled to the display unit 1-202.

[0071] 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 assembly including a display screen and a second display assembly. 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.

[0072] 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 1FAny 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.

[0073] Figure 1E An exploded view of an example of a display unit 1-306 of an HMD is shown. The display unit 1-306 may include a front display assembly 1-308, a frame / housing assembly 1-350, and a curtain assembly 1-324. The display unit 1-306 may also include a sensor assembly 1-350, a logic board assembly 1-358, and a cooling assembly 1-360 disposed between the frame assembly 1-356 and the front display assembly 1-308. In at least one example, the display unit 1-306 may also include a rear display assembly 1-320 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.

[0074] 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 position 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.

[0075] 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 position of the display screens 1-322a-b.

[0076] Figure 1E 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 1D and Figure 1F Any other examples of the devices, features, components and parts shown and described herein. Figures 1B to 1D and Figure 1FAny of the features, components and / or parts shown and described, including their arrangement and configuration, may be included in the Figure 1E Examples of devices, features, components, and parts are shown.

[0077] 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 shown. 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 position of the first display subassembly 1-420a and the 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.

[0078] 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 shown fixing mechanism is assembled and integrated, and includes the electronic strips, ribbons, and other components including optical seals, connection components, etc.

[0079] 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 arrangement and configuration, may be included in the Figure 1F Examples of devices, features, components, and parts are shown.

[0080] Figure 1G 1 shows a perspective exploded view of a front cover assembly 3-100 of an HMD device described herein, e.g. Figure 1G The front cover assembly 3-1 of the illustrated HMD 3-100 or any other HMD device shown and described herein. Figure 1GThe illustrated front cover assembly 3-100 may include a transparent or translucent cover 3-102, a shield 3-104 (or "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.

[0081] 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 in the Z direction within and outside the ZX plane, and horizontally 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 a lenticular lens array 3-110 and a display layer) may be curved similarly or concentrically in the horizontal direction to accommodate the curvature of the user's face.

[0082] 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, etc.

[0083] In at least one example, the shield 3-104 may define one or more aperture 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.

[0084] 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.

[0085] Figure 1H An exploded view of an example of an HMD device 6-100 is shown. 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.

[0086] Figure 1I A portion of an HMD device 6-100 is shown including a front transparent cover 6-104 and a sensor system 6-102. The sensor system 6-102 may include a plurality of different sensors, emitters, receivers, including cameras, IR sensors, projectors, etc. The transparent cover 6-104 is shown in front of the sensor system 6-102 to illustrate the relative positions 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 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.

[0087] 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.

[0088] 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.

[0089] 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.

[0090] 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 located 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 position 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.

[0091] In at least one example, the sensor system 6-102 may include a first depth sensor 6-108 pointing generally forward in the Y direction. In at least one example, the first depth sensor 6-108 may be used for environment and object reconstruction and hand and body tracking of the user. In at least one example, the sensor system 6-102 may include a second depth sensor 6-110 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 adaptable structure above the nose of the user when wearing the HMD 6-100. In at least one example, the second depth sensor 6-110 may be used for environment and object reconstruction and hand and body tracking. In at least one example, the second depth sensor may include a LIDAR sensor.

[0092] 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.

[0093] 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.

[0094] 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 positioned 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 beneath the HMD device 6-100, including the user's jaw, cheeks, mouth, and chin. Used for hand and body tracking, headset tracking, and facial avatar

[0095] 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.

[0096] 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.

[0097] 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.

[0098] 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, as described above and in Figure 1I The downward camera 6-114, the jaw camera 6-116, and the side camera 6-118 shown in the figure can be wide-angle cameras capable of operating in the visible and infrared spectrum. In at least one example, these cameras 6-114, 6-116, 6-118 can operate only in black and white light detection to simplify image processing and gain sensitivity.

[0099] 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 arrangement and configuration, may be included in the Figure 1I Examples of devices, features, components, and parts are shown.

[0100] Figure 1J A 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 shown. In at least one example, the sensors 6-202 of the sensor system 6-203 may be disposed around the perimeter of the HMD 6-200 such that the sensors 6-203 are disposed outwardly around the perimeter of the display area or area 6-232 so as not to obstruct viewing of displayed light. In at least one example, the sensors may be disposed behind the shroud 6-204 and aligned with a transparent portion of the shroud, thereby allowing the 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.

[0101] In some examples, the shield 6-204 includes a transparent portion 6-205 and an opaque portion 6-207, as described above and elsewhere herein. In at least one example, the opaque portion 6-204 of the shield 6-207 may define one or more transparent areas 6-209 through which the sensor 6-203 of the sensor system 6-202 may send and receive signals. In the example shown, the sensor 6-203 of the sensor system 6-202 sends and receives signals through the shield 6-204, or more specifically, through (or defined by) the transparent areas 6-209 of the opaque portion 6-207 of the shield 6-204, which may include a sensor 6-203 that is connected to the sensor system 6-202. Figure 1I The same or similar sensors as those shown in the example of FIG, such as the depth sensors 6-108 and 6-110, the depth projector 6-112, the first and second scene cameras 6-106, the first and second downward cameras 6-114, the first and second side cameras 6-118, and the 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 positions may be included in one or more other examples of an HMD.

[0102] 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 1L any 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.

[0103] Figure 1K A front view of a portion of an example of an HMD device 6-300 is shown, 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. 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.

[0104] 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 position and orientation in the event of a drop by a user that causes any deformation of the other bracket 6-226, the housing 6-330, and / or the shield.

[0105] 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.

[0106] Figure 1L A 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 shown. 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 can include one or more holes / openings 6-415 through which the jaw camera 6-416 can send and receive signals.

[0107] 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 1KAny of the features, components and / or parts shown and described, including their arrangement and configuration, may be included in the Figure 1L Examples of devices, features, components, and parts are shown.

[0108] Figure 1M A rear perspective view of an interpupillary distance (IPD) adjustment system 11.1.1-102 is shown, the IPD adjustment system 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.

[0109] In at least one example, the first and second optical modules 11.1.1-104a-b may include respective display screens configured to project light toward the user's eyes when the HMD 11.1.1-100 is worn. In at least one example, the user may manipulate (e.g., press and / or rotate) a button 11.1.1-114 to activate positional adjustment of the optical modules 11.1.1-104a-b to match the interpupillary distance of the user's eyes. The optical modules 11.1.1-104a-b may also include one or more cameras or other sensors / sensor systems for imaging and measuring the user's IPD so that the optical modules 11.1.1-104a-b can be adjusted to match the IPD.

[0110] In one example, a user can manipulate button 11.1.1-114 to cause automatic position adjustment of the first and second optical modules 11.1.1-104a-b. In one example, a user 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 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.

[0111] 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. Likewise, 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.

[0112] Figure 1N A front perspective view of a portion of the HMD 11.1.2-100 is shown, 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 1N 2-106a-b may be blocked by one or more other components of the HMD 11.1.2-100 coupled to the inner frame 11.1.2-104 and / or the outer frame 11.1.2-102, as shown. In at least one example, the HMD 11.1.2-100 may include a first mounting bracket 11.1.2-108 coupled to the inner frame 11.1.2-104. In at least one example, the mounting bracket 11.1.2-108 is coupled to the inner frame 11.1.2-104 between the first and second apertures 11.1.2-106a-b.

[0113] 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.

[0114] 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.

[0115] 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, which are not attached to the inner frame 11.1.2-102 and the outer frame 11.1.2-104. In this way, the arms 11.1.2-112, 11.1.2-114 depend from the middle portion 11.1.2-109, which is connectable to the inner frame 11.1.2-104, while the distal ends 11.1.2-102, 11.1.2-104 are unattached.

[0116] 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 the precise relative position 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 change 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 and / or outer frames 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 positions of the sensors 11.1.2-110a-f coupled / mounted to the mounting bracket 11.1.2-108.

[0117] 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 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 a device, feature, component described herein. Figure 1N Examples of devices, features, components, and parts are shown.

[0118] 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 shown. 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.

[0119] 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.

[0120] 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 toward the eyes of the user when the HMD is worn. The individual lights 11.3.2-110 in the light strip 11.3.2-108 may be spaced apart 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.

[0121] 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.

[0122] 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.

[0123] 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.

[0124] 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.

[0125] 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.

[0126] 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.

[0127] Figure 2is a block diagram of an example of a controller 110 according to some embodiments. While some specific features are shown, those skilled in the art will recognize from this disclosure that various other features are not shown for the sake of brevity and so as not to obscure more relevant aspects of the embodiments disclosed herein. To this end, as a non-limiting example, in some embodiments, the controller 110 includes one or more processing units 202 (e.g., a microprocessor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a graphics processing unit (GPU), a central processing unit (CPU), a processing core, etc.), one or more input / output (I / O) devices 206, one or more communication interfaces 208 (e.g., a universal serial bus (USB), FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Global Positioning System (GPS), infrared (IR), Bluetooth, ZIGBEE, and / or similar types of interfaces), one or more programming (e.g., I / O) interfaces 210, a memory 220, and one or more communication buses 204 for interconnecting these components and various other components.

[0128] 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.

[0129] 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.

[0130] 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.

[0131] In some embodiments, the data acquisition unit 242 is configured to Figure 1A 1 and / or peripherals 195. The data acquisition unit 242 may be configured to acquire data (e.g., presentation data, interaction data, sensor data, positioning data, etc.) from at least the display generation component 120 of the display generation component 120, and optionally from one or more of the input device 125, the output device 155, the sensor 190, and / or the peripheral device 195. For this purpose, in various embodiments, the data acquisition unit 242 includes instructions and / or logic for the instructions, as well as heuristics and metadata for the heuristics.

[0132] 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 105, and optionally tracks the position of one or more of the input device 125, the output device 155, the sensor 190, and / or the peripheral device 195. For this purpose, in various embodiments, the tracking unit 244 includes instructions and / or logic for the instructions and heuristics and metadata for the heuristics. In some embodiments, the tracking unit 244 includes a hand tracking unit 245 and / or an eye tracking unit 243. In some embodiments, the hand tracking unit 245 is configured to track the position / location of one or more parts of the user's hand and / or the position of one or more parts of the user's hand relative to the user's hand. Figure 1A The movement of the scene 105 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.

[0133] 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.

[0134] In some embodiments, the data sending unit 248 is configured to send data (e.g., presentation data, position data, etc.) to at least the display generation component 120, and optionally to one or more of the input device 125, the output device 155, the sensor 190, and / or the peripheral device 195. 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.

[0135] Although the data acquisition unit 242, the tracking unit 244 (e.g., including the eye tracking unit 243 and the hand tracking unit 245), the coordination unit 246, and the data transmission unit 248 are shown as residing on a single device (e.g., the controller 110), it should be understood that in other embodiments, any combination of the data acquisition unit 242, the tracking unit 244 (e.g., including the eye tracking unit 243 and the hand tracking unit 245), the coordination unit 246, and the data transmission unit 248 may be located in separate computing devices.

[0136] 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.

[0137] Figure 3is a block diagram of an example of a display generation component 120 according to some embodiments. While some specific features are shown, those skilled in the art will recognize from this disclosure that various other features are not shown for the sake of brevity and so as not to obscure more relevant aspects of the embodiments disclosed herein. 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.

[0138] In some embodiments, one or more communication buses 304 include circuits for interconnecting and controlling communications between various system components. In some embodiments, one or more I / O devices and sensors 306 include an inertial measurement unit (IMU), an accelerometer, a gyroscope, a thermometer, one or more physiological sensors (e.g., a blood pressure monitor, a heart rate monitor, a blood oxygen sensor, a blood glucose sensor, etc.), one or more microphones, one or more speakers, a haptic engine, and / or one or more depth sensors (e.g., structured light, time of flight, etc.), etc.

[0139] In some embodiments, one or more XR displays 312 are configured to provide an XR experience to the user. In some embodiments, one or more XR displays 312 correspond to holographic, digital light processing (DLP), liquid crystal display (LCD), liquid crystal on silicon (LCoS), organic light-emitting field effect transistor (OLET), organic light-emitting diode (OLED), surface conduction electron emission display (SED), field emission display (FED), quantum dot light-emitting diode (QD-LED), microelectromechanical system (MEMS) and / or similar display types. In some embodiments, one or more XR displays 312 correspond to diffraction, reflection, polarization, holographic and other waveguide displays. For example, the display generation component 120 (e.g., HMD) includes a single XR display. 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.

[0140] 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.

[0141] 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.

[0142] 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.

[0143] In some embodiments, the data acquisition unit 342 is configured to at least Figure 1A The controller 110 acquires data (e.g., presentation data, interaction data, sensor data, positioning data, etc.). For this purpose, in various embodiments, the data acquisition unit 342 includes instructions and / or logic for instructions and heuristics and metadata for the heuristics.

[0144] 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.

[0145] 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.

[0146] In some embodiments, the data sending unit 348 is configured to send data (e.g., presentation data, position data, etc.) to at least the controller 110, and optionally 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.

[0147] Although the data acquisition unit 342, the XR rendering unit 344, the XR map generation unit 346, and the data transmission unit 348 are shown as residing on a single device (e.g., Figure 1A , but it should be understood that in other embodiments, any combination of the data acquisition unit 342, the XR rendering unit 344, the XR map generation unit 346, and the data transmission unit 348 may be located in a separate computing device.

[0148] also, Figure 3 It serves more as a functional description of various features that may be present in a particular embodiment, rather than as a structural schematic 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.

[0149] Figure 4 is a schematic illustration of an example embodiment of a hand tracking device 140. In some embodiments, the hand tracking device 140 ( Figure 1A ) is controlled by the hand tracking unit 245 ( Figure 2 ) to track the position / location of one or more parts of a user's hand, and / or one or more parts of a user's hand relative to Figure 1AIn some embodiments, the hand tracking device 140 is part of the display generation component 120 (e.g., embedded in or attached to the head-mounted device). In some embodiments, the hand tracking device 140 is separate from the display generation component 120 (e.g., located in a separate housing or attached to a separate physical support structure).

[0150] In some embodiments, the hand tracking device 140 includes an image sensor 404 (e.g., one or more IR cameras, 3D cameras, depth cameras, and / or color cameras, etc.) that captures three-dimensional scene information, including at least a human user's hand 406. The image sensor 404 captures hand images at a sufficient resolution 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.

[0151] In some embodiments, the image sensor 404 outputs a sequence of frames containing 3D image data (and possibly color image data in addition) 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 the software running on the controller 110 by moving their hand 406 and / or changing their hand posture.

[0152] 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 a point 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 a point 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.

[0153] 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.

[0154] The software can also analyze the trajectory of the hand and / or finger over multiple frames in the sequence to identify gestures. The pose estimation function described herein can be alternated with the motion tracking function so that the image block-based pose estimation is performed only once every two (or more) frames, and tracking is used to find changes in pose that occur on the remaining frames. The pose, motion, and gesture information is provided to the application running on the controller 110 via the above-mentioned API. The program can, for example, move and modify the image presented on the display generation component 120 in response to the pose and / or gesture information, or perform other functions.

[0155] 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).

[0156] 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)).

[0157] In some embodiments where the input gesture is an in-air gesture (e.g., in the absence of physical contact with an input device that provides information to the computer system about which user interface element is the target of the user input, such as contact with a user interface element displayed on a touch screen, or contact with a mouse or trackpad to move a cursor to a user interface element), the gesture takes into account the user's attention (e.g., gaze) to determine the target of the user input (e.g., for direct input, as described below). Thus, in embodiments involving in-air gestures, for example, the input gesture is combined (e.g., simultaneously) with movement of the user's fingers and / or hand to detect attention (e.g., gaze) toward a user interface element to perform a pinch and / or tap input, as described below.

[0158] 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 input 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 user attention (e.g., gaze) to the user interface object, an input gesture is performed indirectly on the user interface object based on the user's hand being located not 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 and 5 cm measured from the outer edge of the option or the center portion of the option). For an indirect input gesture, the user can direct the user's input to the user interface object by focusing on the user interface object (e.g., by gazing at the user interface object), and while focusing on the option, the user initiates an input gesture (e.g., at any location detectable by the computer system) (e.g., at a location that does not correspond to the displayed location of the user interface object).

[0159] 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.

[0160] 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.

[0161] In some embodiments, the pinch and drag gesture as an air gesture includes a pinch gesture (e.g., a pinch gesture or a long pinch gesture) performed in conjunction with (e.g., following) a drag input that changes the positioning of the user's hand from a first positioning (e.g., a starting positioning for 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., concurrently or within a predefined time period). For example, a first pinch gesture (e.g., a pinch input, a long pinch input, or a pinch and drag input) is performed using the 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).

[0162] 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).

[0163] 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).

[0164] 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.

[0165] 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 in addition, some or all of the described functions of the computer may be implemented in dedicated hardware, such as a custom or semi-custom integrated circuit or a programmable digital signal processor (DSP). Although in Figure 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.

[0166] 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.

[0167] 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, the end of the hand connected to the wrist, etc.) are identified and located on the hand skeleton 414. In some embodiments, the controller 110 uses the position and movement of these key feature points over multiple image frames to determine a gesture performed by the hand or the current state of the hand according to some embodiments.

[0168] Figure 5 An eye tracking device 130 ( Figure 1A ). In some embodiments, the eye tracking device 130 is composed of an eye tracking unit 243 ( Figure 2) controls to track the position and movement of the user's gaze relative to the scene 105 or relative to the XR content displayed via the display generation component 120. In some embodiments, the eye tracking device 130 is integrated with the display generation component 120. For example, in some embodiments, when the display generation component 120 is a head-mounted device (such as 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.

[0169] In some embodiments, the display generation component 120 uses a display mechanism (e.g., a left near-eye display panel and a right near-eye display panel) to display a frame including a left image and a right image in front of the user's eyes, thereby providing the user with a 3D virtual view. For example, 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 the 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.

[0170] 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.

[0171] 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. According to some embodiments, the user-specific calibration process can include an estimation of eye parameters of a specific user, such as pupil position, fovea position, optical axis, visual axis, eye spacing, etc. According to some embodiments, once the device-specific parameters and user-specific parameters are determined for the eye tracking device 130, a flash-assisted method can be used to process the images captured by the eye tracking camera to determine the current visual axis and the user's gaze point relative to the display.

[0172] 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 mirror 550 (which reflects 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, or a display of a handheld device, a projector, etc.) 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 ).

[0173] In some embodiments, the controller 110 renders AR or VR frames 562 (e.g., left and right frames for left and right display panels) and provides the frames 562 to the display 510. The controller 110 uses the gaze tracking input 542 from the eye tracking camera 540 for various purposes, such as for processing the frames 562 for display. The controller 110 optionally estimates the user's gaze point on the display 510 based on the gaze tracking input 542 obtained from the eye tracking camera 540 using a flash-assisted method or other suitable method. The gaze point estimated from the gaze tracking input 542 is optionally used to determine the direction the user is currently looking.

[0174] 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.

[0175] 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.

[0176] 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.

[0177] 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.

[0178] 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., Figure 1A and Figure 5 The flash-assisted gaze tracking system can maintain a tracking state. Initially, the tracking state is off or "no." When in the tracking state, the flash-assisted gaze tracking system uses previous information from previous frames when analyzing the current frame to track the pupil outline and 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 to the next frame in the tracking state.

[0179] 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.

[0180] 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.

[0181] 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.

[0182] 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.

[0183] 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.

[0184] 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).

[0185] 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.

[0186] 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 feature point of the user interface container). In some embodiments, where depth is defined relative to a user interface container, the depth of an object relative to the user interface container refers to the position 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 between two objects in the depth dimension), z height (e.g., the distance of one object from another in the depth dimension), z position (e.g., the position of an object in the depth dimension), z depth (e.g., the position 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.

[0187] 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 due to the transparency / translucency of a portion of the user interface being displayed by the display generation component, or due to the projection of the user interface onto a transparent / translucent surface or onto the user's eyes or into the field of view of the user's eyes, via the ability to see the physical environment through the user interface. 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.

[0188] 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.

[0189] 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.

[0190] 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. Thus, 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 were standing at that position, facing the corresponding portion of the physical environment visible via the display generation component, would be visible to 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.

[0191] 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.

[0192] User interface and associated processes

[0193] 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 display generation components, one or more input devices such as a touch-sensitive surface, and optionally one or more tactile output generators.

[0194] Figures 7A to 7K 、 Figures 8A to 8H 、 9A to 9I and Figures 10A to 10E3A three-dimensional environment visible via a display generation component (e.g., display generation component 7100 or display generation component 120) of a computer system (e.g., computer system 101) is shown, as well as interactions occurring in the three-dimensional environment caused by user input directed to the three-dimensional environment and / or input received from other computer systems and / or sensors. In some embodiments, input is directed to a virtual object within the three-dimensional environment by a user gaze detected in an area occupied by the virtual object or by a gesture performed at a location in the physical environment corresponding to the area of ​​the virtual object. In some embodiments, input is directed to a virtual object within the three-dimensional environment by a gesture performed (e.g., optionally, at a location in the physical environment that is unrelated to the area of ​​the virtual object in the three-dimensional environment) when the virtual object has input focus (e.g., when the virtual object has been selected by concurrently and / or previously detected gaze input, by concurrently or previously detected pointer input, and / or by concurrently and / or previously detected gesture input). In some embodiments, input is directed to a virtual object within the three-dimensional environment by an input device that has positioned a focus selector object (e.g., a pointer object or selector object) at the location of the virtual object. In some embodiments, input is directed to a virtual object within the three-dimensional environment via other means (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 through 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). 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 some changes in a three-dimensional environment (e.g., displaying additional virtual content, ceasing to display existing virtual content, and / or transitioning between different immersive levels of displayed visual content) based on input from other computers used by other users sharing a computer-generated environment with a user of the computer system (e.g., in a shared computer-generated experience, in a shared virtual environment, and / or in a shared virtual or augmented reality environment of a communication session).In some embodiments, a computer system displays some changes in a three-dimensional environment (e.g., displays movement, deformation, and / or changes in visual characteristics of a user interface, virtual surfaces, user interface objects, and / or virtual scenery) based on input from a sensor that detects movement of other people and objects and movement of a user that may not meet the criteria for being recognized gesture input to trigger an associated operation of the computer system.

[0195] 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 situational conditions (e.g., transitioning between presenting computer-generated environments or experiences with different levels of immersion, adjusting the relative prominence of audio / visual sensory input from virtual content and from representations of the physical environment).

[0196] In some embodiments, the display generating component includes a see-through portion in which a representation of the physical environment is displayed or visible. In some embodiments, the see-through portion of the display generating component is a transparent or translucent (e.g., see-through) portion of the display generating component that shows at least a portion of the physical environment around the user or within the user's field of view (sometimes referred to as "optical see-through"). For example, the see-through portion is a portion of a head-mounted display or a heads-up display that is made translucent (e.g., less than 50%, 40%, 30%, 20%, 15%, 10% or 5% opacity) or transparent so that the user can see through it to view the real world around the user without removing the head-mounted display or moving away from the heads-up display. In some embodiments, when 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 generating component displays a real-time feed of an image or video of at least a portion of the physical environment captured by one or more cameras (e.g., a rear-facing camera of a mobile device or associated with a head-mounted display, or other cameras that feed image data to a computer system) (sometimes referred to as "optical see-through"). In some embodiments, the one or more cameras are pointed at a portion of the physical environment that is directly in front of the user's eyes (e.g., behind the display generating component relative to the user). 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).

[0197] 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 generating 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 generating 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 generating component.

[0198] In some embodiments, the display generation component displays different views of the three-dimensional environment based on user input or movement that changes the virtual positioning of the viewpoint of the currently displayed view of the three-dimensional environment relative to the three-dimensional environment. In some embodiments, when the three-dimensional environment is a virtual environment, the viewpoint moves based on navigation or motion requests (e.g., aerial gestures and / or gestures performed by movement of one part of the hand relative to another part of the hand) without requiring movement of the user's head, torso, and / or display generation 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-aware 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 position 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 position of the virtual object and the virtual position of that part of the user in the three-dimensional environment. In some embodiments, the virtual object is locked to a preset portion of the field of view provided by the display generation component and moves in the three-dimensional environment according to the movement of the field of view, regardless of the user's movement that does not cause the field of view to change.

[0199] In some embodiments, as Figures 7A to 7K 、 Figures 8A to 8H 、 9A to 9I and Figures 10A to 10E3As shown, the view of the three-dimensional environment sometimes does not include representations of the user's hands, arms, and / or wrists. In some embodiments, 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 via the display generation component. In some embodiments, these representations are not part of the representation of the physical environment and are captured separately (e.g., by one or more cameras pointing to the user's 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 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 fully virtual environment (e.g., no camera view and no transparent pass-through portions), a real-time visual representation of one or both arms, wrists, and / or hands of the user is optionally still displayed in the virtual environment (e.g., a stylized representation or a segmented camera image). In some embodiments, if no representation of the user's hands is provided in the view of the three-dimensional environment, the positions corresponding to the user's hands are optionally indicated in the three-dimensional environment, for example, by changing the appearance of virtual content at positions in the three-dimensional environment corresponding to the positions of the user's hands in the physical environment (e.g., by changes in translucency and / or simulated reflectivity). In some embodiments, the representation of the user's hand or wrist is outside the currently displayed view of the three-dimensional environment, and the virtual position corresponding to the position of the user's hand or wrist in the three-dimensional environment is outside the current field of view provided by the display generation component; and in response to the virtual position corresponding to the position of the user's hand or wrist moving within the current field of view due to 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.

[0200] Figures 7A to 7K Examples of gaze-assisted display and movement of a focus indicator in an environment are shown, particularly in response to input provided using an input surface such as a touch-sensitive surface. Figures 7A to 7K The user interface in the is used to illustrate the process described below, which includes Figures 11A to 11B in the process.

[0201] Figure 7AA physical environment 7000 is shown including a user 7002 interacting with a computer system 101. The physical environment 7000 includes physical objects 7014, physical walls 7004 and 7006, and a physical floor 7008. The computer system 101 is positioned in front of the user 7002 so that the user's 7002 left hand 7020 and right hand 7022 are free to interact with the computer system 101. The computer system 101 includes or is in communication with a display generation component 7100 and a touchpad 7102 (e.g., representing an input surface such as a touch-sensitive surface or a non-touch-sensitive surface, where input via the non-touch-sensitive surface (or via a touch-sensitive surface not used to detect touch input) is detected via one or more sensors that track the position and / or movement of the input (e.g., optical sensors that track movement of a user's hand and / or fingers relative to the non-sensitive surface, such as by tracking movement of the user's hand on a desk, table, or another part of the user's body (such as their leg or arm))).

[0202] like Figures 7A to 7K As shown in the example in FIG, the display generating component 7100 of the computer system 101 is a touch screen positioned in front of the user 7002. In some embodiments, the display generating component of the computer system 101 is a head mounted display worn on the head of the user 7002 (e.g., Figures 7A to 7K The content shown as visible via the display generation component 7100 of the computer system 101 corresponds to the field of view of the user 7002 when wearing the head mounted display 7100a ( Figure 7C1)). In some embodiments, the display generation component is a stand-alone display, a projector, or another type of display. In some embodiments, the computer system communicates with one or more input devices, which include cameras or other sensors and input devices that detect movement of a user's hands, movement of the user's entire body, and / or movement of the user's head in the physical environment. In some embodiments, the one or more input devices detect movement and current posture, orientation, and position of the user's hands, face, and / or entire body. In some embodiments, user input is detected via a touch-sensitive surface or a touch screen. In some embodiments, the 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 the 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, a display generating component (e.g., a touch screen) is optionally moved and rotated by a user's hands relative to the physical environment or relative to the user's head, and the user's viewpoint is changed in the three-dimensional environment based on movement of the display generating component relative to the user's head or face or relative to the physical environment.

[0203] In some embodiments, one or more portions of the view of the three-dimensional environment visible to the user 7002 via the display generation component 7100 (e.g., and / or HMD 7100a) are digital see-through portions that include representations of corresponding portions of the physical environment 7000 captured via one or more image sensors of the computer system 101. In some embodiments, one or more portions of the view of the three-dimensional environment visible to the user 7002 via the display generation component 7100 are optical see-through portions in that the user 7002 can see one or more portions of the physical environment 7000 through one or more transparent or semi-transparent portions of the display generation component 7100 (e.g., and / or HMD 7100a).

[0204] Figure 7B A view of a three-dimensional environment visible to a user 7002 via a display generation component 7100 of the computer system 101 (eg, and / or HMD 7100a ) is shown. Figure 7BThe three-dimensional environment optionally includes a physical environment such as a representation of an object in the physical environment 7000 (e.g., as captured by one or more cameras of the computer system 101) or an optical view of an object in the physical environment (e.g., as visible through one or more transparent or semi-transparent portions of the display generation component 7100). Figure 7B In the 3D environment, Figure 7A a representation (or optical view) 7004' (also referred to as wall 7004' for ease of reference) of a wall 7004, Figure 7A a representation (or optical view) 7006' (also referred to as wall 7006' for ease of reference) of a wall 7006; Figure 7A a representation (or optical view) 7008' (also referred to as floor 7008' for ease of reference) of a physical floor 7008 and Figure 7A 7014′ (also referred to as box 7014′ for ease of reference). In addition, the three-dimensional environment includes one or more computer-generated objects (also referred to as virtual objects) displayed via the display generation component 7100, such as a speaker 7016 (e.g., the speaker is not a representation or optical view of a physical speaker in the physical environment 7000) and windows 7010 and 7012 (e.g., the windows are not representations or optical views of physical elements in the physical environment 7000). In some embodiments, window 7010 corresponds to a user interface of a software application (e.g., an email application, a web browser, a messaging application, a map application, or other software application) executing on the computer system 101. Similarly, in some embodiments, window 7012 corresponds to a user interface of a software application (e.g., an email application, a web browser, a messaging application, a map application, or other software application) executing on the computer system 101, optionally the same as or different from the application of window 7010. Figure 7B In the example, window 7010 includes multiple elements, such as element E1 (e.g., the background of user interface 7010), element E2 (e.g., content displayed in window 7010), and element E3 (e.g., controls or other activatable elements for performing operations in window 7010).

[0205] Figure 7BAlso shown are a number of different scenarios in which user 7002 is looking at locations in the three-dimensional environment (e.g., looking at different locations at different times). Dashed line 7018 indicates that user 7002 is looking at a location within element E1 of window 7010. Dashed line 7024 indicates that user 7002 is looking at a location within element E2 of window 7010. Dashed line 7026 indicates that user 7002 is looking at a location within element E3 of window 7010. Dashed line 7028 indicates that user 7002 is looking at a location within window 7012. Dashed line 7030 indicates that user 7002 is looking at a location on floor 7008'. Figure 7B , no input is detected on the touchpad 7102 (eg, no input is shown on the touchpad 7102). Figures 7B to 7K The dashed elements (e.g., lines, outlines, etc.) are included for illustrative purposes. Figures 7B to 7K and optionally not displayed via display generation component 7100.

[0206] FIG. 7C (e.g., Figures 7C1 to 7C3 ) shows input 7032 (e.g., touch input) detected on trackpad 7102. Input 7032 is detected when the gaze of user 7002 is directed to a location in element E2 of window 7010 (e.g., indicated by dashed line 7024). In response to detecting input 7032, computer system 101 displays cursor 7034 in element E2 at the location to which the gaze of user 7002 was directed when input 7032 was detected (e.g., the location is a valid location for displaying a cursor). In some embodiments, if the gaze of user 7002 is directed to another location in the environment (e.g., another valid cursor location, such as indicated by dashed line 7024) when input 7032 is detected, the cursor 7034 is displayed. Figure 7B 7C ), the computer system 101 will display the cursor 7034 at that other location rather than at the location in element E2 shown in FIG. 7C .

[0207] In some embodiments, the display generation component 7100 of the computer system 101 includes a head mounted display (HMD) 7100a. For example, Figure 7C1 (e.g., and Figures 8C1 to 8D1 、 Figure 9B1 and Figure 10E1), the head-mounted display 7100a includes one or more displays that display a representation of a portion of a three-dimensional environment 7000' corresponding to the user's perspective, while the HMD typically includes multiple displays that display slightly different images to generate a user interface with stereoscopic depth, including a display for the right eye and a separate display for the left eye. In these figures, a single image corresponding to the image for a single eye is shown, and depth information is indicated by other annotations or descriptions of these figures. In some embodiments, the HMD 7100a includes one or more sensors (e.g., one or more inward-facing and / or outward-facing image sensors 314), such as sensor 7101a, sensor 7101b, and / or sensor 7101c, which are used to detect the user's state, including tracking the user's face and / or eyes (e.g., using one or more inward-facing sensors 7101a and / or 7101b) and / or tracking the user's 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 7C1 , the HMD 7100a includes one or more of a button 701, a button 702, and a digital crown 703 for providing input to the HMD 7100a. It should be understood that additional and / or alternative input devices may be included in the HMD 7100a.

[0208] Figure 7C2 (e.g., and Figure 9B2 and Figure 10E2 ) shows an overhead view of a user 7002 in a physical environment 7000. For example, the user 7002 is wearing an HMD 7100a such that a trackpad 7102 is physically present within the physical environment 7000 behind the display of the HMD 7100a, and optionally in front of a box 7014 (e.g., where a representation of the box 7014′ is displayed farther from the user's viewpoint than a representation of the trackpad 7102′).

[0209] Figure 7C1 Shown with Figure 7A To Figure 7C and Figures 7D to 7K It should be understood that the display shown in this document is different from the alternative display generation components of the computer system. Figure 7A To Figure 7C and Figures 7D to 7KThe processes, features, and functions described in the display generation component 7100 are also applicable to Figure 7C1 In some embodiments, the touchpad 7102 (e.g., and / or the user's hand) is positioned in the physical environment at a location within the field of view of one or more sensors of the HMD 7100a (e.g., outside the user's field of view), and a representation (e.g., a pass-through representation and / or a virtualized representation) of the touchpad 7102' (e.g., and / or a representation of the user's hand) is displayed in the user interface 7050, as shown. Figure 7C1 (e.g., and Figures 8C1 to 8D1 、 Figure 9B1 and Figure 10E1 In some embodiments, the trackpad 7102 (e.g., and / or the user's hand) is positioned at a location that is not within the field of view of one or more sensors of the HMD 7100a (e.g., not within the user's field of view), such that a representation of the trackpad 7102′ (e.g., and / or a representation of the user's hand) is not displayed in the user interface 7050.

[0210] Figure 7D 7C ). Dashed line 7018 indicates that user 7002 is gazing at a location in element E1 of window 7010. Dashed line 7026 indicates that user 7002 is gazing at a location in element E3 of window 7010. Dashed line 7030 indicates that user 7002 is gazing at a location on floor 7008 ′. Figure 7D 7C , input 7032 is maintained at the same location on trackpad 7102 as in FIG 7C . Thus, even if the gaze of user 7002 has moved to a different location (or sequence of different locations), such as the indicated location on element E1, element E3, and / or floor 7008′ in the three-dimensional environment, cursor 7034 is still maintained at the same location in the three-dimensional environment as in FIG 7C (e.g., because input 7032 has not yet moved along trackpad 7102).

[0211] Figure 7E The input 7032 is shown to have moved along the touchpad 7102 from the touchpad 7102 while being maintained on the touchpad 7102. Figure 7D The position of the input 7032 in (e.g., the initial contact position) moves to the intermediate contact position 7036. Figure 7E In response to the movement of input 7032 along the touch pad 7102, the cursor 7034 moves accordingly in the window 7010. For example, as input 7032 moves from Figure 7DThe position of input 7032 in the window 7010 is moved to the middle position 7036, and the cursor 7034 is moved in the window 7010 by a corresponding amount in the corresponding direction (e.g., by a second amount that is the same as the first amount of movement of input 7032, greater than or less than the first amount) (e.g., from Figure 7D The previous position of the cursor 7034 shown in FIG is moved to Figure 7E The middle cursor position 7037 in the two positions is indicated by a dashed outline and is included for illustrative purposes. Figure 7E and optionally not displayed via display generation component 7100). For another example, as input 7032 moves from intermediate position 7036 in the second direction with a third magnitude, Figure 7E At the position of input 7032 in the window 7010, cursor 7034 moves in the corresponding direction by a corresponding amount (e.g., by a fourth amount that is the same as, greater than, or less than the third amount of movement of input 7032 in the second direction) (e.g., as shown in FIG. Figure 7E , moving from the middle cursor position 7037 to the current position of the cursor 7034).

[0212] Figure 7E It is also shown that while input 7032 continues to be detected on trackpad 7102, cursor 7034 is constrained to move within window 7010. For example, although movement of input 7032 in the second direction by a third magnitude corresponds to a request to move cursor 7034 in the second direction by the corresponding amount, because moving cursor 7034 by the corresponding amount would cause cursor 7034 to extend beyond the border of window 7010, cursor 7034 is moved toward the border of window 7010 by an amount less than the corresponding amount. Furthermore, when cursor 7034 is displayed at the border of window 7010, a portion of cursor 7034 within the border of window 7010 continues to be displayed, while a portion of cursor 7034 that extends beyond the border of window 7010 ceases to be displayed, causing cursor 7034 to appear clipped or obscured by the border of window 7010.

[0213] In some embodiments, as Figure 7E As shown, cursor 7034 moves according to movement of input 7032 along touchpad 7102 while input 7032 continues to be detected on touchpad 7102 regardless of where the user's 7002 gaze is directed. Figure 7E The user 7002 in FIG. 70 is looking at a position in element E3 of window 7010 (e.g., indicated by dashed line 7026), but the cursor 7034 is Figure 7EEven if the user 7002 moves their gaze to another location in the three-dimensional environment, such as from element E2 to speaker 7016 in a direction opposite to the direction of movement of cursor 7016, cursor 7034 will still move along trackpad 7102 in accordance with movement of input 7032, as shown in FIG. Figure 7E , rather than moving to or toward the speaker 7034. Even if the user 7002 Figure 7E If the cursor 7034 is moved within the window 7010 while the input 7032 is being moved, the cursor 7034 will still move within the window 7010.

[0214] Figure 7F Additionally shown is that while input 7032 continues to be detected on trackpad 7102, cursor 7034 is constrained to move within window 7010 (e.g., from Figure 7E For example, although Figure 7F Input 7032 in has moved further to the right, corresponding to a request to move cursor 7034 to the right by a corresponding amount, but cursor 7034 does not move and continues to be displayed at the same position as Figure 7E 7002, because cursor 7034 is already at the border of window 7010. In addition, while input 7032 continues to be detected on touchpad 7102, cursor 7034 does not move based on the location of user 7002's gaze; for example, even if user 7002 is Figure 7F The gaze in is directed to a location in window 7012 (e.g., indicated by dashed line 7028), Figure 7F The cursor 7034 in the window 7012 does not move, nor does the cursor 7034 move beyond the border of the window 7010. Figure 7F In, similar to Figure 7E , when the cursor 7034 is displayed at the border of the window 7010, the portion of the cursor 7034 within the border of the window 7010 continues to be displayed, while the portion of the cursor 7034 outside the border of the window 7010 continues to not be displayed, so that the cursor 7034 continues to appear to be clipped or obscured by the border of the window 7010.

[0215] Figure 7G The lift-off of input 7032 from touchpad 7102 is shown (e.g., indicated by a dashed outline on touchpad 7102, indicating that input 7032 has ended) (e.g., from Figure 7F In response to detecting the lift-off of input 7032 from touchpad 7102, computer system 101 stops displaying cursor 7034. In some embodiments, the cursor continues to be displayed for a threshold amount of time from the end of the corresponding input and automatically stops being displayed after the threshold amount of time has passed since the end of the corresponding input. For example, Figure 7G Timer 7038-1 in FIG. 7 shows that a threshold amount of time, greater than a threshold amount of time T, has elapsed since liftoff of input 7032 was detected. th (e.g., where liftoff of input 7032 is detected at time t=0, and Figure 7G The current time in is t>T th ). Therefore, the cursor 7034 has automatically stopped being displayed.

[0216] Figure 7H Shown in Figure 7G After the cursor 7034 stops being displayed, a subsequent input 7040 (e.g., a touch input) is detected on the touchpad 7102. After the user 7002's gaze is directed to a location 7042 (e.g., indicated by a dashed line 7028) in the window 7012 (e.g., Figure 7F In some embodiments, because input 7040 is detected when cursor 7034 is not displayed, computer system 101 displays (or redisplays) cursor 7034 in response to detecting input 7040 at position 7042, optionally without regard to the most recent previous position at which cursor 7034 was displayed (e.g., in a manner similar to that described in the preceding text). Figure 7F 7010 shown, or even if cursor 7034 has been displayed at a different location in window 7012). Figure 7H Also shown is movement of input 7040 along trackpad 7102 from initial contact position 7040-1 to the left to current contact position 7040-2. In accordance with the movement of input 7040 to the left, cursor 7034 moves to the left in window 7012 (e.g., even though user 7002's gaze is still directed to position 7042). However, cursor 7034 does not move to the left the full amount requested by the movement of input 7040 because movement of cursor 7034 stops when cursor 7034 reaches the boundary of window 7012. That is, while input 7040 continues to be detected on trackpad 7102, cursor 7034 is constrained to move within window 7012 (e.g., similar to how cursor 7034 was constrained to move within window 7010 during input 7032, as described herein with reference to Figures 7E to 7FWhen the cursor 7034 is displayed at the border of the window 7012, the portion of the cursor 7034 within the border of the window 7012 continues to be displayed, while the portion of the cursor 7034 beyond the border of the window 7012 stops being displayed, so that the cursor 7034 appears to be clipped or obscured by the border of the window 7012 (e.g., similar to Figures 7E to 7F Cursor 7034 in window 7010 in the drawing).

[0217] Figure 7I It shows that the gaze of the user 7002 has moved to a position on the floor 7008' (e.g., indicated by the dashed line 7030) (e.g., as a Figure 7H 7040 has ended) and the subsequent input 7044 on the touchpad 7102 (e.g., the beginning of a new input). However, despite the detection of the subsequent input 7044, the cursor 7034 is not moved to the location on the floor 7008′ to which the user 7002's gaze is directed because the location on the floor 7008′ to which the user 7002's gaze is directed is not a valid location for displaying a cursor, regardless of the amount of time that has passed between the detection of the lift-off of the previous input 7040 on the touchpad 7102 and the detection of the subsequent input 7044 on the touchpad 7102. For example, Figure 7I Timer 7038-2 in FIG. 7 shows that less than a threshold amount of time T has elapsed since liftoff of input 7040 was detected. th , and accordingly, cursor 7034 continues to be displayed (e.g., because there is insufficient time for cursor 7034 to automatically stop being displayed). However, because cursor 7034 cannot be moved to an invalid cursor position on floor 7008' where user 7002's gaze was directed when input 7044 was detected, cursor 7034 continues to be displayed. Figure 7I is displayed at the border of window 7012 and Figure 7H In some embodiments, as described in more detail herein with reference to FIG8C , in response to detecting liftoff of input 7040, computer system 101 moves cursor 7034 slightly (e.g., to the right) so that cursor 7034 is no longer clipped or obscured by the border of window 7012 and cursor 7034 is immediately adjacent to and fully visible just within the border of window 7012.

[0218] In some embodiments, if more than a threshold amount of time T has elapsed since liftoff of input 7040 was detected th , then the computer 101 will thThe cursor 7034 then automatically ceases to be displayed and will continue to not be displayed in response to initially detecting input 7044 when the user's 7002 gaze is at an invalid cursor location.

[0219] Figure 7J It shows that the gaze of the user 7002 has moved to a position in the element E3 of the window 7010 (e.g., indicated by the dotted line 7031) (e.g., as a Figure 7H or from Figure 7I In addition, the computer system 101 detects the previous input (e.g., Figure 7H Input 7040 or Figure 7I In response to detecting input 7046 when the gaze of user 7002 is directed to a location in element E3 of window 7010 that is a valid cursor position, computer system 101 moves cursor 7034 to the location in element E3 to which the gaze of user 7002 is directed, regardless of the amount of time that has passed between detecting the lift-off of the previous input (e.g., input 7040 or input 7044) on touchpad 7102 and detecting the subsequent input 7046 on touchpad 7102. For example, Figure 7J Timer 7038-3 in FIG. 7 shows that less than a threshold amount of time T has elapsed since a liftoff of a previous input (eg, input 7040 or input 7044) was detected. th Thus, cursor 7034 continues to be displayed (e.g., because there is insufficient time for cursor 7034 to automatically cease display), except that cursor 7034 is moved (e.g., jumped) directly to a location such as Figure 7J The cursor position in element E3 of window 7010 is shown.

[0220] In some embodiments, if more than a threshold amount of time T has passed since the liftoff of the previous input (e.g., input 7040 or input 7044) was detected th , then the computer system 101 will be in the threshold amount of time T th The cursor 7034 is then automatically stopped from being displayed and will be redisplayed in response to the initial detection of input 7046 at the location in element E3 where the user's 7002 gaze is directed. Figure 7H Directly to Figure 7J Transitions (e.g., skipping Figure 7I) shows that although cursor 7034 is constrained to move within window 7012 while touch input (e.g., input 7040) continues to be detected (even though the amount of movement of input 7040 to the left corresponds to a request to move cursor 7034 to window 7010 ( Figure 7H ), but if the touch input is lifted off and then placed back on the touchpad 7102 (e.g., by ceasing to detect input 7040 and then detecting a subsequent input 7046, even after a threshold amount of time T has passed since ceasing to detect input 7040 th Before), the cursor 7034 can actually also be moved to the window 7010 ( Figure 7J ).

[0221] If the cursor 7034 is displayed in the window 7012 (for example, Figure 7I 7012 in the same window as the cursor 7034). However, in some embodiments, if more than a threshold amount of time T has passed since the lift-off of the previous input (e.g., input 7040 or input 7044) was detected, the cursor 7034 will not be moved to the new location of the user's 7002 gaze in window 7012 when the lift-off of the previous input and the contact of the subsequent input 7046 are detected via the touchpad 7102. th , and the computer system 101 is within the threshold amount of time T th After automatically stopping displaying cursor 7034, computer system 101 will redisplay cursor 7034 in window 7012 at the location where user 7002's gaze was directed when input 7046 was detected (e.g., even if user 7002's gaze was directed to the same window where cursor 7034 was most recently displayed).

[0222] When the cursor 7034 is displayed Figure 7J , user 7002 is able to provide input to perform an operation relative to element E3 of window 7010 shown in , For example, if user 7002 were to provide a press input via trackpad 7102 (e.g., an increase in contact intensity of input 7046, optionally to at least a threshold press input intensity threshold that is above a nominal contact detection intensity threshold), computer system 101 would perform an activation operation relative to element E3 (e.g., press a button or otherwise activate a control).

[0223] Figure 7K Shown from Figure 7J , wherein the user 7002 is performing a gesture (e.g., an air gesture or other type of gesture) using the hand 7022, optionally performing an operation relative to the element E3 at which the gaze of the user 7002 is directed (e.g., an air pinch-release gesture to activate the element E3, an air pinch-drag gesture to scroll the user interface displayed in the window 7010, or other combinations of air gestures and associated operations). Figure 7K The gesture of hand 7022 shown in represents a multi-finger gesture performed on touchpad 7102 (e.g., a two-finger scroll gesture comprising two fingers in contact with touchpad 7102 and moving together in substantially the same direction along touchpad 7102 to scroll the user interface displayed in window 7010, a pinch (or spread) gesture comprising two fingers in contact with touchpad 7102 and moving toward (or away from) each other to zoom the user interface displayed in window 7010, or other combination of touch gestures and associated operations). In response to detecting hand 7022 performing the gesture, computer system 101 stops displaying cursor 7034 (e.g., even after a threshold amount of time T has elapsed since detection of input 7046 stopped). th 7046 ceases to be detected). In some embodiments, information about the gesture of hand 7022 is delivered to the application associated with window 7010 (or more specifically, optionally, to the software corresponding to element E3 of window 7010). In some embodiments, when the gesture of hand 7022 is detected or at least initiated, information about the gesture of hand 7022 is delivered to the software (e.g., application) associated with the location at which the user's 7002 gaze is directed, regardless of where cursor 7034 is displayed. For example, although Figure 7J The cursor 7034 in FIG is displayed on the same window 7010 that the user 7002's gaze is directed to and information about the gesture of the hand 7022 is delivered to the application associated with the window, but the information about the gesture of the hand 7022 will be delivered to the application associated with the window 7010 (e.g., not the window 7012), even though the cursor 7034 is still as Figures 7H to 7I is displayed on window 7012. For example, if Figure 7J7010) , information about the multi-finger gesture will be delivered to the application associated with window 7012 (e.g., and not to window 7010). In other words, even if cursor 7034 is displayed in one window, user 7002 can simply direct their gaze to another window and begin performing a multi-finger gesture (e.g., a scroll or zoom gesture on trackpad 7102) to quickly perform an associated operation (e.g., a scroll or zoom operation) with respect to the other window without first having to move cursor 7034 to the other window.

[0224] Figures 8A to 8H Examples are shown of moving a focus indicator across a gap between user interface areas in an environment, particularly in response to input provided using an input surface such as a touch-sensitive surface. Figures 8A to 8H The user interface in is used to illustrate the process described below, including Figure 12 in the process.

[0225] Figure 8A 1 shows a view of a three-dimensional environment visible to a user 7002 via a display generation component 7100 of a computer system 101. In some embodiments, one or more portions of the view of the three-dimensional environment include the physical environment 7000 ( Figure 7A In some embodiments, one or more portions of the view of the three-dimensional environment are optically transparent because the user 7002 can see one or more portions of the physical environment 7000 through one or more transparent or semi-transparent portions of the display generation component 7100. Figure 8A , the view of the visible three-dimensional environment includes wall 7004', wall 7006', floor 7008', and box 7014' (e.g., as captured by one or more cameras of computer system 101 or visible through one or more transparent or semi-transparent portions of display generation component 7100).

[0226] Figure 8AThe view of the three-dimensional environment in the embodiment also includes a user interface 7050, which includes a plurality of component areas represented at least in part by: element E1, a first area of ​​the user interface 7050 (e.g., a main area or main window) (also referred to for ease of reference as user interface area E1); elements E2 and E3, together located in a second area of ​​the user interface 7050 (e.g., elements in a toolbar, menu bar, or navigation bar, such as tabs, forward and / or back buttons, or other menu or navigation controls) (also referred to for ease of reference as user interface areas E2-E3); and element E4, a third area of ​​the user interface 7050 (e.g., another toolbar, menu bar, navigation bar, or other control collection, including, for example, tabs, forward and / or back buttons, scroll bars, or other menu or navigation controls) (also referred to for ease of reference as user interface area E4). User interface area E1 is separated from user interface areas E2-E3 by a gap above user interface area E1 and below user interface areas E2-E3, which gap is optionally not part of the user interface 7050 and in which one or more other aspects of the three-dimensional environment are optionally displayed (e.g., a view of a portion of wall 7004'). Similarly, user interface area E1 is also separated from user interface area E4 by a gap to the left of user interface area E1 and to the right of user interface area E4, which gap is optionally not part of the user interface 7050 and in which one or more other aspects of the three-dimensional environment are optionally displayed (e.g., views of portions of walls 7006' and floor 7008').

[0227] User interface 7050 is optionally a user interface of an application executed on computer system 101. In some cases, user interface 7050 is in a format similar to Figures 7B to 7K and Figure 10A 10E or window 7010 or window 7012 in a more schematic view of the application user interface (eg, user interface 7050 is presented as described herein with reference to FIG. 10E ). Figures 7B to 7K and Figure 10A 10E). For example, Figure 8A Element E1 of user interface 7050 optionally corresponds to Figure 7B Element E1 of window 7010 in FIG. Figures 8A to 8H As shown in the example in FIG, content visible via the display generation component 7100 of the computer system 101 is displayed on a touch screen positioned in front of the user 7002. In some embodiments, the display generation component 7100 of the computer system 101 is a head mounted display worn on the head of the user 7002 (e.g., in FIG). Figures 8A to 8HThe 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).

[0228] exist Figure 8A , user 7002's gaze is directed to a location in element E1 of user interface 7050, the valid cursor location, and computer system 101 has simultaneously detected input 7048 (e.g., touch input) on touchpad 7102. Thus, cursor 7034 is displayed at the location where user 7002's gaze is directed.

[0229] Figure 8B The amount of movement of the cursor decreases as the cursor moves toward a boundary of a first user interface area separated from a second user interface area by a gap, while the movement of the input (or movement of the cursor) has not yet met the threshold amount of movement (e.g., threshold distance D) required to move the cursor directly from the first user interface area to the second user interface area across the gap. th and / or threshold speed V th Specifically, Figure 8B shows that input 7048 has been moved along the touch pad 7102 from Figure 8A The position of the middle input 7048 (eg, initial contact position) moves upward through the intermediate contact position 7052 to Figure 8B In response to the movement of input 7048 along the touch pad 7102, the cursor 7034 moves accordingly in the user interface area E1. For example, as input 7048 moves from Figure 8A The position of the input 7048 moves upward by a first distance d1 to the middle position 7052, and the cursor 7034 moves from the position 7054 (e.g., Figure 8A 7052) moves upward by a corresponding second distance (e.g., equal to, greater than, or less than the first distance d1) to position 7056 (e.g., an intermediate cursor position corresponding to intermediate position 7052). However, as input 7048 further moves upward by the first distance d1 from intermediate position 7052 to Figure 8B The cursor 7034 moves upward in the user interface area E1 to a third distance that is smaller than the second distance, instead of the second distance. For example, the cursor 7034 moves upward in the user interface area E1 from the position 7056 (e.g., the middle cursor position) to Figure 8B The current position of the cursor 7034 is shown in , and Figure 8B The distance between the current position of the middle cursor 7034 and the position 7056 is less than the distance between the position 7056 and the position 7054. Figure 8B Input 7048 has been moved from the initial position of input 7048 ( Figure 8A) moves twice the distance d1, but because the total value of the input 7048 is less than the threshold distance D th , so the cursor 7034 does not move from the user interface area E1 to the user interface area E2 across the gap. In some embodiments, since the moving speed v1 of the input 7048 is less than the threshold speed V th , so the cursor 7034 may alternatively or additionally not move from the user interface area E1 to the user interface area E2 across the gap.

[0230] Additionally, enter 7048 into Figure 8B The movement of the current position of input 7048 in corresponds to a request to move cursor 7034 to the boundary of user interface area E1. When cursor 7034 is displayed at the boundary of user interface area E1, the portion of cursor 7034 within the boundary of user interface area E1 continues to be displayed, while the portion of cursor 7034 that exceeds the boundary of user interface area E1 stops being displayed, so that cursor 7034 appears to be clipped or obscured by the boundary of user interface area E1 (for example, in this respect, user interface area E1 behaves similarly to Figures 7E to 7F Windows 7010 and Figures 7H to 7I Window 7012).

[0231] FIG8C (e.g., Figures 8C1 to 8C2 )(For example, Figure 8C1 The HMD 7100a in the Figure 8C2 ) shows an embodiment in which the end of the corresponding input detected when the cursor is obscured by the border of the user interface area causes the cursor to move slightly so as to be fully visible just within the border of the user interface area (e.g., the cursor appears to bounce back into the user interface area). Specifically, FIG. 8C (e.g., Figures 8C1 to 8C2 ) shows that, in response to detecting a lift-off of input 7048 (e.g., indicated by a dashed outline on touchpad 7102) (e.g., from Figure 8B ), the computer system 101 moves the cursor 7034 slightly (e.g., downward) so that the cursor 7034 is no longer clipped or obscured by the border of the user interface area E1, and the cursor 7034 is fully visible below and just within the border of the user interface area E1.

[0232] FIG8D (e.g., Figures 8D1 to 8D2 )(For example, Figure 8D1 The HMD 7100a shows the Figure 8D2 A user interface similar to the one described in FIG) shows the Figure 8B 8C ), where input 7048 continues to be detected on touchpad 7102 and continues from Figure 8B8D , so that input 7048 has moved at least the threshold distance D required to move cursor 7034 directly from user interface area E1 across the gap to user interface area E2-E3. th .Although Figure 8B Shows whether the input 7048 has moved at least a threshold distance D th is determined relative to the initial contact location of input 7048 on touchpad 7102, but in other embodiments, whether input 7048 has moved at least a threshold distance D th is determined relative to the position of input 7048 on touchpad 7102 when cursor 7034 reaches the boundary of user interface area E1 (e.g., if cursor 7034 is already at the boundary of user interface area E1 when input 7048 on touchpad 7102 is detected, then this position may be the initial contact position of input 7048 on touchpad 7102). In addition, input 7048 moves at velocity v2. Because FIG8D (e.g., Figures 8D1 to 8D2 ) in the input 7048, the total movement value satisfies the threshold distance D th , and / or because the movement speed v2 of input 7048 is at least the threshold speed V th , so the cursor 7034 moves from the position of the cursor 7034 at the boundary of the user interface area E1 (such as Figure 8B 8D , when the cursor 7034 initially moves through the gap to reach the user interface area E2-E3, the cursor 7034 is moved to a position in the user interface area E2-E3 where the cursor 7034 is completely visible (e.g., rather than appearing to be clipped or obscured by the border of the user interface area E2-E3). In FIG8D , the position of the cursor 7034 in the user interface area E2-E3 spans a distance from the previous position of the cursor 7034 in the user interface area E1 (e.g., the position of the cursor 7034 in the user interface area E2-E3) in a direction corresponding to the direction of movement of the input 7048. Figure 8B For example, in response to input 7048 moving upward, cursor 7034 moves upward in user interface 7050 without moving left or right. In conjunction with moving cursor 7034 through the gap to user interface area E2-E3, computer system 101 optionally generates tactile output 7058. Conversely, in response to cursor 7034 not moving from user interface area E1 through the gap to a different user interface area, Figure 8B and Figure 8C optionally no tactile output is generated.

[0233] Figure 8EInput 7048 is shown to have moved to the left along trackpad 7102. Accordingly, cursor 7034 has moved to the left in user interface area E2-E3. However, Figure 8E The cursor 7034 in the Figure 8A to the different appearance in Figure 8D. Specifically, Figure 8E An embodiment is shown in which the cursor 7034 changes appearance when it is positioned over an activatable control (e.g., a button, label, menu item, toolbar element, or other activatable user interface element) to visually emphasize the activatable control. For example, Figure 8E The cursor 7034 is not as Figure 8A Instead of being shown as a circle (whether partially obscured or not) as in FIG. 8D , element E2 is filled with a gradient. In some embodiments, as Figure 8E As shown in FIG, a portion of the gradient fill representing the current position of the cursor 7034 (e.g., having Figure 8A 8D , and corresponding to the current location of user input 7048) is more visually emphasized than one or more other portions of the gradient fill within element E2 that are offset from the current location of cursor 7034. For example, Figure 8E , according to the cursor 7034 positioned at or near the center of the element E2, the central portion of the element E2 is displayed as brighter than the peripheral portion of the element E2.

[0234] exist Figure 8F , input 7048 has been along the touchpad 7102 than in Figure 8E Thus, cursor 7034 moves further to the left in user interface area E2-E3, optionally to the leftmost position in user interface area E2-E3 (e.g., at its left border), and continues to be positioned over element E2, as shown in FIG. Figure 8F This is indicated by the leftmost portion of element E2 being displayed brighter than other portions of element E2 further to the right. Figure 8F , input 7048 has moved a distance d3 and at a speed v3. However, in some embodiments, even if the input moves at least a threshold distance D th and / or at least a threshold speed V th Move to try to move the corresponding cursor from one user interface area to another user interface area through the gap, but if the gap is too wide (for example, the distance between the user interface areas is too large, greater than the threshold distance D gap ), the cursor does not move across the gap. For example, Figure 8F As shown in FIG, even if the cursor 7034 has moved at least the threshold D thdistance d3, and / or even if the cursor 7034 moves at a speed of at least the threshold V th The cursor 7034 does not move directly from the user interface area E2-E3 to the left to the user interface area E4, because the distance between the user interface area E2-E3 and the user interface area E4 (for example, even the shortest distance) is greater than the threshold distance D. gap Therefore, in some embodiments, because the width of the gap between the user interface area E1 and the user interface areas E2-E3 is less than the threshold distance D gap , so the cursor 7034 can move across the gap from the user interface area E1 to the user interface area E2-E3 in Figure 8D.

[0235] Figure 8G The user 7002's gaze is shown directed toward a location in the user interface area E4 (e.g., at or near a location in the user interface area E4 where the user 7002 is attempting to use the Figure 8F Input 7048 in will move cursor 7034 to that position). In addition, Figure 8G , computer system 101 detects lift-off of input 7048 from touchpad 7102 (e.g., indicated by dashed outline 7102-e on touchpad 7048, indicating that input 7048 has ended) and subsequent input 7060 on touchpad 7102 (e.g., the beginning of a new input). In response to detecting input 7060 while the gaze of user 7002 is directed to a location in user interface area E4 (e.g., which is a valid cursor location), computer system 101 stops at the previous location of cursor 7034 in user interface area E2-E3 (e.g., corresponding to element E2, as shown in FIG. 1 ). Figure 8F ), and the cursor 7034 is displayed at the position to which the gaze of the user 7002 in the user interface area E4 is directed (for example, the cursor 7034 is not displayed at any intermediate position), optionally regardless of the distance between the user interface area E4 and the user interface areas E2-E3.

[0236] Figure 8H The cursor is shown moving from a first user interface area across a gap to a position in a second user interface area that is offset from the cursor position in the first user interface area. Figure 8G In FIG. 7 , the position of the cursor 7034 in the user interface area E4 is above the top edge of the user interface area E1, as shown in FIG. Figure 8H As indicated in FIG. 1 , as having a dashed outline (which is included for illustrative purposes in FIG. Figure 8H and optionally not displayed via display generation component 7100) Figure 7Gand a dashed line 7064 (included in the figure for illustrative purposes) representing the height of the top edge of the user interface area E1. Figure 8H and optionally not displayed via display generation component 7100), where position 7062 is above dashed line 7064 (e.g., beyond the top edge of user interface area E1). Figure 8G In the example, the cursor 7034 in the user interface area E4 is positioned within a threshold distance D from the top edge of the user interface area E1. offset Inside, such as Figure 8H As indicated in , as depicted above the top edge of the user interface area E1, the threshold distance D offset The dashed line 7066 (which is included for illustrative purposes) at the location of Figure 8H and optionally not displayed via the display generation component 7100) and corresponding dashed line 7064, where position 7062 is between dashed line 7064 and dashed line 7066.

[0237] Figure 8H Input 7060 is shown moving to the right along trackpad 7102, corresponding to a request to move cursor 7034 to the right in user interface 7050. In response to detecting input 7060 moving to the right at least a distance d3 and a velocity v3, where d3>D th and / or v3>V th In order to meet the criteria for moving the cursor 7034 across the gap between user interface areas, such as Figure 8H As shown in FIG, the cursor 7034 moves from position 7062, optionally first to the right in user interface area E4, until it reaches the right edge of user interface area E4, and then moves across the gap between user interface area E4 and user interface area E1 to a position in user interface area E1. In some embodiments, the computer system 101 is able to move the cursor 7034 from user interface area E4 across the gap to user interface area E1 because the starting position 7062 of the cursor 7034 is a threshold distance D from the border of user interface area E1. offset7060 in the direction of movement of input 7060). Thus, in accordance with the rightward movement of input 7060, cursor 7034 moves to the right from position 7062, stops being displayed at the border of user interface area E4, and is instead displayed in user interface area E1, with cursor 7034 also moving downward in user interface area 7050 in accordance with the downward deviation of the border of user interface element E1 from the position indicated by dashed outline 7062 (e.g., even if the movement of input 7060 does not include movement in a direction other than right). In some embodiments, threshold distance D gap The threshold distance D is used to determine whether two user interface areas are close enough to each other so that the cursor can be moved across the gap between the two user interface areas (e.g., based on the width of the gap). offset Used to determine whether the movement of the cursor would deviate too far from the direction of cursor movement requested by the direction of input movement in order to move the cursor across a gap between two user interface areas (e.g., in order to move the cursor between two user interface areas in response to a corresponding input moving horizontally along the trackpad, would the cursor need to move too far downward to adjust for the vertical deviation between the areas).

[0238] 9A to 9I Examples are illustrated of using gaze and / or hand input differently for different types of objects to interact with objects in a user interface, particularly when providing input using an input surface such as a touch-sensitive surface. 9A to 9I The user interface in the diagram is used to illustrate the process described below, including Figure 13 in the process.

[0239] Figure 9A 1 shows a view of a three-dimensional environment visible to a user 7002 via a display generation component 7100 of a computer system 101. In some embodiments, one or more portions of the view of the three-dimensional environment include the physical environment 7000 ( Figure 7A In some embodiments, one or more portions of the view of the three-dimensional environment are optically transparent because the user 7002 can see one or more portions of the physical environment 7000 through one or more transparent or semi-transparent portions of the display generation component 7100. For example, Figure 9A The view of the three-dimensional environment visible in the display optionally includes walls 7004', walls 7006', floor 7008', and / or box 7014' (e.g., as captured by one or more cameras of computer system 101 or visible through one or more transparent or semi-transparent portions of display generation component 7100). 9A to 9I As shown in the example in FIG, content visible via the display generation component 7100 of the computer system 101 is displayed on a touch screen positioned in front of the user 7002. In some embodiments, the display generation component 7100 of the computer system 101 is a head mounted display worn on the head of the user 7002 (e.g., in FIG). 9A to 9I The content shown as visible via the display generation component 7100 of the computer system 101 corresponds to the field of view of the user 7002 when wearing the head-mounted display).

[0240] Figure 9A The view of the three-dimensional environment visible via the display generation component 7100 includes a user interface 7070 with three-dimensional content. Specifically, 9A to 9I User interface 7070 in includes a three-dimensional view of a cityscape with multiple landmarks, including landmark 7072 indicated by icon 7074, landmark 7076 indicated by icon 7078, landmark 7080 indicated by icon 7082, and landmark 7084 indicated by icon 7086. Figure 9A Also shown are a number of different scenarios in which user 7002 is gazing at locations in the three-dimensional environment (e.g., looking at different locations at different times). Dashed line 7088 indicates that user 7002 is gazing at landmark 7072. Dashed line 7090 indicates that user 7002 is gazing at landmark 7076. Dashed line 7092 indicates that user 7002 is gazing at a location in user interface 7070 that is not designated as a landmark or other point of interest (e.g., a location on a ground representation in a cityscape). Dashed line 7094 indicates that user 7002 is gazing at landmark 7080. Dashed line 7096 indicates that user 7002 is gazing at a location in the three-dimensional environment that is outside of user interface 7070. 9A to 9I The dashed elements (e.g., lines, outlines, etc.) are included for illustrative purposes. 9A to 9I and optionally not displayed via display generation component 7100.

[0241] Figure 9A FIG. 9B shows a diagram based on the user 7002 hand (eg, Figure 7A The user interface elements displayed in the three-dimensional environment are conditionally focused based on whether the hand 7020 or the hand 7022 shown in FIG is involved in the interaction with the computer system 101. Figure 9A In some embodiments, no input is detected on the touchpad 7102 (e.g., no input is shown on the touchpad 7102). In some embodiments, in the absence of input on the touchpad 7102, the computer system 101 assumes that the user 7002 hand is not participating in the interaction. Therefore, no matter where the user 7002's gaze is directed, Figure 9A Any element in the user interface 7070 will not be displayed in the Figure 9AAn indication of focus in any scene shown in .

[0242] FIG9B (e.g., Figures 9B1 to 9B3 )(For example, Figure 9B1 The HMD 7100a shows the Figure 9B3 ) shows user 7002 gazing at landmark 7072 in user interface 7070 (e.g., indicated by dashed line 7088) while input 7068 is detected on touchpad 7102 (e.g., by touch input from user 7002's hand, such as Figure 7A 7020 or hand 7022 shown in ). In some embodiments, when the user's 7002 hand is in contact with the touchpad 7102 (e.g., when input 7068 is provided), the computer system 101 considers the user's 7002 hand to be involved in the interaction. In addition, the landmark 7072 to which the user's 7002 gaze is directed is configured to receive focus (e.g., similar to being a valid location for displaying a cursor or other focus indicator). Thus, when input 7068 is detected, the computer system 101 displays an indication that the landmark 7072 has focus by displaying the icon 7074 corresponding to the landmark 7072 with visual emphasis (e.g., by increasing the size of the icon 7074, displaying the icon 7074 with a more prominent outline and / or other visual emphasis) (e.g., similar to displaying a cursor or other focus indicator corresponding to the landmark 7072).

[0243] Figure 9C User 7002 is shown looking at a location in user interface 7070 that is not designated as a landmark or other point of interest (e.g., a location on a ground representation in a cityscape) (e.g., indicated by dashed line 7092) while input 7068 continues to be detected on touchpad 7102 (e.g., a transition from FIG. 9B). Figure 9C The location at which user 7002 is looking is not configured to receive focus (e.g., similar to not being a valid location for displaying a cursor or other focus indicator). Figure 9C 9B , the location at which user 7002's gaze is directed is not configured to receive focus, so computer system 101 does not display an indication that the location has focus. Additionally, because the location or object with focus has not changed in the three-dimensional environment, computer system 101 continues to display an indication that landmark 7072 has focus by continuing to display icon 7074 with visual emphasis as described with reference to FIG. 9B (e.g., optionally based on input 7068 continuing to be detected on trackpad 7102).

[0244] Figure 9D9B or 9C. It shows that the user 7002's gaze has moved to the landmark 7076 (e.g., indicated by the dashed line 7090) and the input 7068 is not detected on the touchpad 7102 (e.g., has been lifted off). Figure 9C Thus, although landmark 7076 is configured to receive focus, because user 7002's hand is not detected as being engaged in interaction with computer system 101 (e.g., as described herein with reference to Figure 9A 9B ), the computer system 101 does not display an indication that the landmark 7076 has focus. In addition, because the location or object with focus in the three-dimensional environment has not changed, the computer system 101 continues to display the location or object with focus in FIG. 9B (e.g., Figures 9B1 to 9B3 ) and described with reference to FIG9B to continue displaying the indication that landmark 7072 has focus. In some embodiments, after a threshold amount of time has passed since input 7068 on touchpad 7102 ceased to be detected, computer system 101 automatically stops displaying the indication that landmark 7072 has focus (e.g., by stopping displaying icon 7074 with visual emphasis as described with reference to FIG9B and restoring the appearance of icon 7074 to Figure 9A 7074 in the appearance) (e.g., similar to the Figure 7G As described, the cursor 7034 automatically ceases to be displayed after a threshold amount of time from when the input is detected to be lifted off the touchpad 7102).

[0245] Figure 9E 9B ), and restores the appearance of icon 7074 to its original state. Figure 9A 9B ). Instead of displaying the appearance of icon 7074 in FIG. 9B , an indication that landmark 7076 has focus is displayed (e.g., icon 7079 is displayed with visual emphasis similar to the visual emphasis described for icon 7074 in reference FIG. 9B ).

[0246] Figure 9EAlso shown is that for a three-dimensional user interface, computer system 101 changes which location in the user interface has focus in one or more ways that are different from how computer system 101 moves the focus indicator in a two-dimensional user interface. For example, as a transition directly from FIG. 9B (e.g., skipping Figure 9C and Figure 9D ), Figure 9E 9B ) continues to be detected on trackpad 7102. Because landmark 7076 is configured to receive focus, computer system 101 moves the indication of focus from landmark 7072 to landmark 7076 while still detecting input 7068. In contrast, as described herein with reference to FIG. Figure 7D As described above, while the computer system 101 continues to detect input 7032 on the touchpad 7102, merely moving the user's 7002 gaze from the current position of the cursor 7034 to another position in the two-dimensional user interface that is also a valid cursor position is insufficient for the computer system 101 to move the cursor 7034 to the other position (e.g., instead, movement of the input 7032 along the touchpad 7102 is required). Figure 9C Transitions (e.g., skipping Figure 9D ), and Figure 9C Again, in the case of the transition from Figure 9B, Figure 9E 9B , until the gaze of user 7002 moves to another valid focus location (e.g., a location configured to receive focus), such as landmark 7076 (as shown in FIG. 9B ). Figure 9C ), and if the user 7002's gaze moves to one or more intermediate positions that are not valid focus positions (e.g., indicated by dashed line 7092 ( Figure 9C ) indicates the position of the focus indicator.

[0247] Figure 9F A press input 7104 (eg, input 7098 ( Figure 9E), optionally to at least a threshold press input intensity threshold that is above a nominal contact detection intensity threshold. The computer system 101 detects press input 7104 while displaying an indication that landmark 7076 has focus in the three-dimensional environment (e.g., press input 7104 corresponds to a request by user 7002 to interact with landmark 7076 after user 7002 has indicated their intent to interact with landmark 7076 by looking at landmark 7076 while a hand is active (e.g., contact is made on touchpad 7102). In response to detecting press input 7104 while landmark 7076 has focus, the computer system 101 performs an operation (e.g., activates an operation) relative to landmark 7076. For example, Figure 9F , computer system 101 displays a two-dimensional pop-up 7106 with additional information about landmark 7076 (e.g., a user interface area that is part of user interface 7070). In some embodiments, computer system 101 performs operations relative to landmark 7076 in response to detecting different types of selection inputs, such as air gestures (e.g., air taps, air pinches, or other air gestures).

[0248] Figure 9G Input 7108 is shown detected on touchpad 7102 (e.g., a continuation of input 7104, optionally after the contact intensity of input 7104 decreases, such as to below a threshold press input intensity threshold but still above a nominal contact detection intensity threshold; or a subsequent input detected after a lift-off of input 7104 is detected). Figure 9G Also shown is that the gaze of user 7002 has moved to landmark 7080 when input 7108 is detected on trackpad 7102. In response to detecting that the gaze of user 7002 is directed toward landmark 7080 when input 7108 is detected, computer system 101 displays an indication that landmark 7080 has focus by displaying icon 7082 with visual emphasis similar to that described with reference to icon 7074 in FIG. 9B . Figure 9G In the example shown, while displaying an indication that landmark 7076 has focus, computer system 101 continues to display pop-up 7106 with additional information about landmark 7080. In some embodiments, computer system 101 stops displaying pop-up 7106 while displaying an indication that landmark 7080 has focus.

[0249] Figure 9H A press input 7110 (eg, input 7108 ( Figure 9G) increases, optionally to at least a threshold press input intensity threshold). Computer system 101 detects press input 7110 while displaying an indication that landmark 7080 has focus in the three-dimensional environment (e.g., press input 7110 corresponds to a request by user 7002 to interact with landmark 7080 after user 7002 has indicated their intent to interact with landmark 7080 by looking at landmark 7076 while their hand is active (e.g., with contact on trackpad 7102). When landmark 7080 has focus, in response to detecting press input 7110 (or other type of selection input, such as an air gesture), computer system 101 performs an operation (e.g., an activation operation) relative to landmark 7080. For example, in Figure 9H In FIG, computer system 101 displays a two-dimensional pop-up window 7112 (e.g., a user interface area that is part of user interface 7070) with additional information about landmark 7080. Figure 9H In the example shown, while pop-up 7106 with additional information about landmark 7076 is displayed in response to press input 7110, computer system 101 stops displaying pop-up 7112 with additional information about landmark 7080. In some embodiments, computer system 101 continues to display pop-up 7112 while (e.g., even after) displaying pop-up 7106 (and optionally provides a different mechanism for dismissing pop-up 7106, such as a close button).

[0250] Figure 9I It is shown that the gaze of user 7002 has moved to a location in pop-up 7112 (e.g., indicated by dashed line 7116) and input 7114 is detected on trackpad 7102 (e.g., continuation of input 7110, optionally after the intensity of the contact of input 7110 decreases, such as to below a threshold press input intensity threshold but still above a nominal contact detection intensity threshold; or a subsequent input detected after a lift-off of input 7110 is detected). In response to detecting that user 7002 is gazing at a location in pop-up 7112 (a two-dimensional user interface area), computer system 101 displays cursor 7034 at the location at which the gaze of user 7002 is directed.

[0251] Figure 10A to FIG. 10E (eg, Figures 10E1 to 10E3 ) shows an example of gaze-assisted drag and drop of content across different areas of an environment, particularly in response to input provided using an input surface such as a touch-sensitive surface. Figure 10A The user interface in FIG. 10E is used to illustrate the process described below, including Figure 14 in the process.

[0252] Figure 10A1 shows a view of a three-dimensional environment visible to a user 7002 via a display generation component 7100 of a computer system 101. In some embodiments, one or more portions of the view of the three-dimensional environment include the physical environment 7000 ( Figure 7A In some embodiments, one or more portions of the view of the three-dimensional environment are optically transparent because the user 7002 can see one or more portions of the physical environment 7000 through one or more transparent or semi-transparent portions of the display generation component 7100. Figure 10A , the view of the visible three-dimensional environment includes wall 7004', wall 7006', floor 7008', and box 7014' (e.g., as captured by one or more cameras of computer system 101 or visible through one or more transparent or semi-transparent portions of display generation component 7100). Figures 10A to 10E3 As shown in the example in FIG, content visible via the display generation component 7100 of the computer system 101 is displayed on a touch screen positioned in front of the user 7002. In some embodiments, the display generation component 7100 of the computer system 101 is a head mounted display worn on the head of the user 7002 (e.g., in FIG). Figures 10A to 10E2 The content shown as visible via the display generation component 7100 of the computer system 101 corresponds to the field of view of the user 7002 when wearing a head-mounted display (e.g., HMD 7100a).

[0253] exist Figure 10A In FIG, the view of the three-dimensional environment further includes a window 7010 and a window 7012. The window 7010 includes an element E2 (e.g., content displayed in the window 7010, such as an image, also referred to as content E2 for ease of reference). Figure 10A , user 7002 is gazing at content E2 of window 7010 (e.g., indicated by dashed line 7118) while input 7120 is detected on touchpad 7102. In response to detecting input 7120 on touchpad 7102 (e.g., indicating that the user's 7002 hand is engaging in interaction with computer system 101), computer system 101 displays cursor 7034 at the location in content E2 where the user's 7002 gaze is directed.

[0254] Figure 10B Initiating a drag operation relative to content in a three-dimensional environment (e.g., Figure 10A of the transformation). Figure 10B When the cursor 7034 is held in the Figure 10A , input 7120 has continued to be detected on touchpad 7102 for at least a threshold amount of time T. drag(For example, no input 7120 is lifted from the middle of the touchpad 7102). Figure 10A to FIG. 10E (eg, Figures 10E1 to 10E3 ) the threshold time amount T drag Optionally referenced herein Figures 7A to 7K The threshold amount of time T th The same or different (e.g., greater than or less than). In some embodiments, Figure 10B As shown in FIG, if input 7120 has continued to be detected on touchpad 7102 for at least a threshold amount of time T drag , input 7120 satisfies the criteria for initiating a drag operation (e.g., if input 7120 is a long press input). In response to input 7120 satisfying the criteria for initiating a drag operation, computer 101 initiates a drag operation relative to content E2 (e.g., the position where cursor 7034 is displayed when it is determined that input 7120 satisfies the drag operation criteria).

[0255] In some embodiments, upon initiating the drag operation, the computer system 101 visually de-emphasizes the target content to be dragged and displays a separate representation of the content, wherein the separate representation is configured to move at different locations in the three-dimensional environment to indicate where the target content will be dropped (e.g., in response to the computer system 101 detecting the end of the drag input). For example, Figure 10B The content E2 is shown as being visually weakened by being dimmed and / or faded, and a separate preview 7122 as a representation of the content E2 that is smaller in size (e.g., smaller in scale) than the content E2. In addition, the preview 7122 is displayed centered at a position 7124 where the cursor 7034 is displayed when the drag operation is initiated (e.g., by a cursor 7034 included for illustrative purposes). Figure 10B and optionally not indicated by a solid crosshair displayed by the display generation component 7100).

[0256] Figure 10C 10E shows conditionally moving the dragged content or a preview of the dragged content directly to a location in the three-dimensional environment where the user's gaze is directed based on whether corresponding criteria are met (e.g., jumping the dragged content or its preview to the user's gaze location).

[0257] Figure 10C (For example, from Figure 10B 7124 (e.g., the previous position of the cursor 7034 and the position of the center of the preview 7122, which is included for illustrative purposes). Figure 10CWhen the input 7120 is in a position in the first reference direction (indicated by a dotted crosshair displayed in the display generation component 7100), the input 7120 moves along the touch pad 7102 in the first direction by a distance d4 (e.g., to the right and slightly downward). The distance d4 is greater than the threshold distance D drag , the threshold distance is the amount (e.g., magnitude) of input movement required to satisfy the corresponding criteria for jumping the preview 7122 to the gaze location of the user 7002. In addition, the first movement direction of the input 7120 corresponds to a movement in the three-dimensional environment that is substantially toward Figure 10C A request to move the preview 7122 in a first direction corresponding to the location at which the gaze of the user 7002 is directed in the three-dimensional environment because the first direction of the input movement (or the corresponding first movement direction in the three-dimensional environment) is within a direction threshold of a first reference direction (e.g., the first direction is within a direction range that includes the first reference direction and is optionally centered on the first reference direction (e.g., by a range of directions that are included for illustrative purposes and are included in the first reference direction). Figure 10C , and optionally not indicated by dashed line 7130-1 displayed via display generation component 7100), the first direction is within a threshold angular distance of a first reference direction, or another way of defining a direction threshold), thereby satisfying another aspect of the corresponding standard.

[0258] However, because the user 7002 is gazing at a location in the same user interface area (e.g., window 7010) as the preview 7122 (or in some embodiments, as the content E2), the corresponding criteria are not met, and thus the preview 7122 moves in the three-dimensional environment by an amount corresponding to the amount of movement of the input 7120, optionally showing the preview 7122 moving through a plurality of intermediate locations until ultimately being centered on a location 7126 (e.g., location 7126 is indicated by a solid crosshair and the amount of movement of the preview 7122 is indicated by an arrow, both included in the figure for illustrative purposes). Figure 10C and optionally not displayed via display generation component 7100), rather than moving directly (e.g., jumping) to Figure 10C The location at which the user 7002 is looking (e.g., regardless of whether the magnitude of the movement of the input 7120 satisfies the threshold distance D drag Or whether the moving direction of input 7120 is within the direction threshold of the first reference direction).

[0259] Figure 10D (For example, from Figure 10B Alternative transformation, skip Figure 10C ) shows the position of the cursor 7034 relative to the position 7124 (e.g., the previous position of the cursor 7034 and the position of the center of the preview 7122, which is included for illustrative purposes) when the user 7002 is looking at the window 7012. Figure 10DWhen the preview 7122 is at a position in the second reference direction (indicated by a dotted crosshair displayed by the display generation component 7100), the input 7120 moves along the touch pad 7102 in the second direction by a distance d4 (e.g., rightward and upward). Figure 10D The corresponding criterion for the gaze position of the user 7002 in FIG. 7 is not met because the second movement direction of the input 7120 corresponds to a direction that is not sufficiently oriented toward the user in the three-dimensional environment. Figure 10D A request to move the preview 7122 in a second direction corresponding to the location at which the gaze of the user 7002 is directed in the three-dimensional environment because the second direction of the input movement (or the corresponding second movement direction in the three-dimensional environment) exceeds a direction threshold relative to the reference direction (e.g., the second direction is outside a direction range that includes the reference direction and is optionally centered on the reference direction (e.g., the range of directions included for illustrative purposes). Figure 10D The second direction is outside the threshold angular distance of the reference direction, or another way of defining the direction threshold, as indicated by dashed line 7130-2 in the three-dimensional environment and optionally not displayed via the display generating component 7100) (e.g., even if the corresponding second movement direction in the three-dimensional environment is otherwise toward the window 7012 toward which the user 7002's gaze is directed).

[0260] Thus, even if the user 7002 is looking at a location (e.g., in window 7010) in a different user interface area (e.g., window 7012) than the preview 7122 (or in some embodiments, the content E2), and even if the distance d4 is greater than the threshold distance D drag , the preview 7122 also moves in the three-dimensional environment an amount corresponding to the amount of movement of the input 7120, optionally showing the preview 7122 moving through a plurality of intermediate positions until ultimately being centered at a position 7128 (e.g., the position 7128 is indicated by a solid crosshair and the amount of movement of the preview 7122 is indicated by an arrow, both of which are included in the figure for illustrative purposes). Figure 10D and optionally not displayed via display generation component 7100), rather than moving directly (e.g., jumping) to Figure 10D The position at which the user 7002 is looking (e.g., regardless of whether the movement magnitude of the input 7120 satisfies the threshold distance D drag or whether the gaze of user 7002 is directed to the same or a different area of ​​the user interface than where preview 7122 is positioned).

[0261] FIG. 10E (eg, Figures 10E1 to 10E3 )(For example, Figure 10E1 The HMD 7100a shows the Figure 10E3) shows a scenario in which the corresponding criteria for jumping a preview of the dragged content (or in some embodiments, the dragged content itself) to the gaze location of the user 7002 are met. In FIG10E (e.g., from Figure 10B Alternative transformation, skip Figure 10C and Figure 10D ), when the user 7002 is looking at a position in the window 7012 relative to position 7124 (e.g., the previous position of the cursor 7034 and the position of the center of the preview 7122, indicated by the dashed crosshairs included in FIG. 10E for illustrative purposes and optionally not displayed via the display generation component 7100), the input 7120 has moved a distance d4 in the third direction along the touchpad 7102 (e.g., to the right and slightly upward).

[0262] The distance d4 is greater than the threshold distance D drag , i.e., the amount of input movement required to satisfy the corresponding criteria for jumping the preview 7122 to the gaze location of the user 7002. FIG. 10E (e.g., Figures 10E1 to 10E3 ) is the window 7012 to which the user 7002 is directed. Figure 10B 10E , the preview 7122 is displayed in a different window than window 7010 shown in FIG. Furthermore, the third movement direction of input 7120 corresponds to a request to move preview 7122 in the three-dimensional environment in a corresponding third direction substantially toward the location to which the gaze of user 7002 is directed in FIG. 10E because the third direction of the input movement (or the corresponding third movement direction in the three-dimensional environment) is within a directional threshold for the third reference direction (e.g., the third direction is within a range of directions that includes and optionally is centered about the third reference direction (e.g., as indicated by dashed line 7130-3 included in FIG. 10E for illustrative purposes and optionally not displayed via display generation component 7100), the third direction is within a threshold angular distance of the third reference direction, or another way of defining a directional threshold). Thus, in response to detecting movement of input 7120 and because the corresponding criteria are met, computer system 101 stops displaying preview 7122 on window 7012 and centered at position 7124, and instead displays preview 7122 on window 7010 and centered at position 7132 (e.g., moves preview 7122 directly to be centered at position 7132, without showing preview 7122 moving through multiple intermediate positions). Preview 7122 in Figure 10E is displayed along with a badge 7134 indicating that preview 7122 represents content that was dragged (e.g., copied or moved) from elsewhere in the three-dimensional environment, such as from a different user interface area (e.g., window 7010) than the user interface area on which preview 7122 is currently displayed (or, in some embodiments, the user interface area in which content E2 is located) (e.g., window 7012).

[0263] In some embodiments, if the corresponding criteria are met, the preview 7122 will cease being displayed centered on the position 7124 and will be displayed centered on the location at which the gaze of the user 7002 is directed. In some embodiments, as shown in Figure 10E, the preview 7122 is moved to be centered on a location, such as location 7132, that is close to the location in the window 7012 at which the gaze of the user 7002 is directed, but offset from that gaze location (e.g., by moving the preview 7122 to a location slightly ahead of the user 7002's gaze location in the direction in which the preview 7122 is moved) (e.g., because the momentum of the input movement may continue to move the preview 7122 closer to or even beyond the user 7002's gaze location).

[0264] The following references Figures 7A to 7K 、 Figures 8A to 8H 、 9A to 9I and Figures 10A to 10E3 The methods 1100, 1200, 1300 and 1400 provide information on Figures 7A to 7K 、 Figures 8A to 8H 、 9A to 9I and Figures 10A to 10E3 Additional description of .

[0265] Figures 11A to 11B is a flow chart of an exemplary method 1100 for gaze-assisted display and movement of a focus indicator in an environment according to some embodiments. In some embodiments, method 1100 is performed at a computer system (e.g., computer system 101 in Figure 1) that is connected to a display generation component (e.g., Figure 1A 、 Figure 3 and Figure 4The display generation component 120 in the embodiment of the present invention (e.g., hardware elements including one or more display devices, such as displays, touch screens, projectors, heads-up displays, head-mounted displays, etc.) and one or more input devices (e.g., one or more optical sensors, such as cameras (e.g., color sensors, infrared sensors, structured light scanners, and / or other depth sensing cameras) that are pointed downward toward the user's hand, forward from the user's head, and / or toward the user; eye tracking devices; controllers held by the user and / or worn by the user; and / or other input hardware) that include a touch-sensitive surface (e.g., a touchpad, touch screen, etc.). In some embodiments, the one or more input devices include a non-touch-sensitive surface, and input via the non-touch-sensitive surface is detected via one or more sensors that track the position and / or movement of the input (e.g., optical sensors track movement of the user's hand and / or fingers relative to the non-touch-sensitive surface, such as by tracking movement of the user's hand on a desk, table, or another part of the user's body (such as their leg or arm)). In some embodiments, method 1100 is performed by a computer program stored in a non-transitory (or transitory) computer-readable storage medium and executed by one or more processors of a computer system, such as one or more processors 202 of computer system 101 (e.g., Figure 1A Some operations in method 1100 may be optionally combined, and / or the order of some operations may be optionally changed.

[0266] As described herein, method 1100 provides an improved input mechanism for controlling the placement of a focus indicator (e.g., a cursor) in an environment, such as a mixed reality three-dimensional environment. The placement and / or movement of the focus indicator in the environment is controlled by a user's gaze and contact (e.g., via touch input by one or more fingers) (or lack of contact) with a touch-sensitive surface (e.g., a touchpad). Specifically, in some cases, contact with the touch-sensitive surface is interpreted by the computer system as a request to move the focus indicator to a location corresponding to the location of the user's gaze. Furthermore, depending on whether contact with the touch-sensitive surface is maintained, the placement of the focus indicator is constrained to the currently active application (e.g., the application with focus) or allowed to be placed in an inactive application (e.g., the application without focus). The described improved input mechanism provides additional input modalities for performing target selection in the environment (e.g., using touch input in addition to input using gaze and / or mid-air gestures), thereby allowing a user to efficiently perform complex input gestures in the environment and, in some cases, quickly move the focus indicator across large distances in the environment. Controlling the placement and / or movement of a focus indicator based on the location of a user's gaze and the type of contact with the touch-sensitive surface (e.g., touch, press, touch-and-lift, and other types of touch input) reduces the number and complexity of inputs and / or the amount of time required to reposition a focus indicator, select a target, or switch from an active application to an inactive application in an environment.

[0267] While a view of an environment is visible via a display generating component (e.g., the environment is a two-dimensional or three-dimensional environment including one or more computer-generated portions and, optionally, one or more transmit-through portions), the computer system detects (1102) gaze input (e.g., a user's gaze) directed toward the environment via the one or more input devices. Upon detecting the gaze input, the computer system detects (1104) a first touch input via the touch-sensitive surface.

[0268] In response to detecting a first touch input: based on determining that a first portion (e.g., an initial portion) of the first touch input was detected while the gaze input was directed to a first area in the environment (e.g., a first location, a first user interface object, or other portion of the environment), the computer system displays (1108) a focus indicator (e.g., a cursor, a guideline, a highlight, an outline, or other visual marker indicating a current location in the environment to which the user has directed the input and / or with which the user has indicated an intent to interact, and optionally has focus for further interaction) at a location corresponding to the first area in the environment (e.g., when the first portion of the first touch input is detected (e.g., when the first touch input is first detected), the focus indicator is displayed at the first area, or at the location within the first area to which the gaze input is directed); and, based on determining that the first portion of the first touch input was detected while the gaze input was directed to a second area in the environment (e.g., a second location, a second user interface object, or other portion of the environment), the computer system displays (1110) a focus indicator at a location corresponding to the second area in the environment (e.g., when the first portion of the first touch input was detected, the focus indicator was displayed at the second area, or at the location within the second area to which the gaze input is directed). For example, as described herein with reference to FIGURE 7C , in response to detecting input 7032 on the touchpad 7102, the computer system 101 displays a cursor 7034 at the location where the user's 7002 gaze is directed (e.g., a location in element E2 of the window 7010 indicated by the dashed line 7024 in the example of FIGURE 7C , or another location).

[0269] The computer system detects (1112) a continuation of the first touch input, the continuation including movement of the first touch input along the touch-sensitive surface while the first touch input is maintained on the touch-sensitive surface (e.g., when the first touch input is continuously detected via the touch-sensitive surface before the first touch input is lifted off the touch-sensitive surface (e.g., without an intermediate lift-off and drop of the first touch input)).

[0270] In response to detecting movement of the first touch input along the touch-sensitive surface during continuation of the first touch input, the computer system moves (1114) a focus indicator according to a magnitude (and optionally, a direction) of the movement of the first touch input, including: determining that the magnitude of the movement of the first touch input during the continuation of the first touch input corresponds to a request to move the focus indicator within the user interface of the first application (e.g., if the gaze input was directed to a first area when the first touch input was first detected, the first area is part of the user interface of the corresponding application; if the gaze input was directed to a second area when the first touch input was first detected, the second area is part of the user interface of the corresponding application); a portion of a user interface of an application), moving (1116) the focus indicator within the user interface of the first application in accordance with the movement of the first touch input; and, based on determining that the magnitude of the movement of the first touch input during continuation of the first touch input corresponds to a request to move the focus indicator outside the boundaries of the user interface of the first application (e.g., to the user interface of a second application that is different from the first application), moving (1118) the focus indicator within the user interface of the first application in accordance with the movement of the first touch input without moving the focus indicator outside the boundaries of the user interface of the first application (e.g., abandoning moving the focus indicator to the user interface of the second application).

[0271] In some embodiments, the focus indicator moves through one or more intermediate locations in the environment based on a portion of the movement of the first touch input until the focus indicator reaches the limit (e.g., an edge or boundary) of the user interface of the first application.

[0272] For example, as referenced in this article Figure 7E As shown, cursor 7034 moves progressively within window 7010 according to the movement of input 7032 (e.g., as input 7032 moves from Figure 7D Move the initial position in Figure 7E The middle position 7036 in the middle, the cursor 7034 moves along the touch pad 7102 from Figure 7D The cursor 7034 moves to the previous position of Figure 7E 7037) until it stops at the boundary of window 7010. Figure 7H As shown, the cursor 7034 moves progressively within the window 7012 according to the movement of the input 7040 (e.g., as the input 7032 moves from position 7040-1 to position 7040-2 along the touchpad 7102, the cursor 7034 moves from position 7042 to position 7040-3). Figure 7H 7034 in the image) until it stops at the border of window 7012.

[0273] Limiting movement of the focus indicator to a currently active application while contact with the touch-sensitive surface is maintained, and allowing movement of the focus indicator to a different application if lift-off and subsequent placement of contact is detected, makes user-device interactions in the environment more efficient by reducing accidental input and undesired movement (e.g., repositioning) of the focus indicator outside of the currently active application and by reducing the number of inputs and / or the amount of time required to move the focus indicator to a different application.

[0274] In some embodiments, the computer system detects a lift-off of the first touch input and, in response to detecting the lift-off of the first touch input, stops displaying the focus indicator. Figure 7G As described, computer system 101 optionally stops displaying cursor 7034 in response to detecting lift-off of input 7032 from touchpad 7102. Hiding the focus indicator after contact with the touch-sensitive surface ends (e.g., a lift-off event is detected, in which contact with the touch-sensitive surface ceases) automatically reduces clutter in the user interface when the cursor is not actively controlled by touch input. Displaying the focus indicator in response to detecting touch input and hiding the focus indicator in response to detecting lift-off of the touch input help and / or guide the user to place and control the focus indicator in the environment.

[0275] In some embodiments, the computer system detects a lift-off of a first touch input; and, in response to detecting the lift-off of the first touch input: based on determining that a (non-zero) threshold amount of time (e.g., 0.5 seconds, 1 second, 2 seconds, 4 seconds, 5 seconds, or other length of time, optionally system-defined or user-selected) has passed since the lift-off of the first touch input was detected (e.g., in addition to determining that no touch input is currently being detected via the touch-sensitive surface), the computer system stops displaying the focus indicator; and based on determining that the threshold amount of time has not passed since the lift-off of the first touch input was detected, the computer system maintains display of the focus indicator. For example, as described herein with reference Figure 7G As described above, the computer system 101 optionally continues to display the cursor 7034 after detecting the lift-off of the input 7032 from the touchpad 7102 until a threshold amount of time T has passed since the lift-off of the input 7032 from the touchpad 7102 was detected. th7034. Hiding the focus indicator after a threshold amount of time has passed since contact with the touch-sensitive surface has ended (e.g., after a lift-off event is detected) provides improved visual feedback to the user: the user is provided with a window of opportunity (for the duration of the threshold amount of time) to control placement and / or movement of the cursor with touch input to further manipulate the focus indicator (e.g., by reestablishing contact with the touch-sensitive surface). Displaying the focus indicator in response to detecting a touch input and hiding the focus indicator after a threshold amount of time has passed since lift-off of the touch input is detected helps and / or guides the user in placing and controlling the focus indicator in the environment.

[0276] In some embodiments, while the focus indicator is displayed, the computer system detects the initiation of an air gesture (e.g., an air pinch gesture, an air tap gesture, or at least the initial portion of another air gesture), and in response to detecting the initiation of the air gesture, stops displaying the focus indicator (optionally, even if the first touch input continues to be detected). For example, as described herein with reference to Figure 7K As described, the computer system 101 stops displaying the cursor 7034 in response to detecting the gesture of the hand 7022. Hiding the focus indicator when an air gesture is performed or at least initiated provides improved visual feedback that initially indicates a target location for interaction and then indicates that selection and / or activation of a target is initiated (e.g., activation of a user interface element, selection of a link, or other user interface target), and allows the user to employ different input modes (e.g., touch input, gaze input, and / or air gestures) when interacting with the environment, thereby reducing the amount and / or extent of input required to place the focus indicator at the target location and interact with the target.

[0277] In some embodiments, movement of the first touch input during continuation of the first touch input includes movement in a first direction. In some cases, during movement of the first touch input along the first direction, the computer system detects movement of the gaze input along a second direction different from the first direction (e.g., exceeding a directional threshold, such as being at a greater than a threshold angular distance from the first direction). In some embodiments, movement of the focus indicator based on the magnitude of the movement of the first touch input is in the first direction (e.g., without regard to movement of the gaze input in the second direction). For example, as described herein with reference to Figure 7E As described, even if the user's 7002 gaze is directed to the element E3 in the bottom portion of the window 7010, and even if the user's 7002 gaze moves in the opposite direction to the speaker 7016, the cursor 7034 moves toward the upper right portion of the window 7010 according to the movement of the input 7032 along the trackpad 7102. Similarly, as described herein, for example, with reference to Figure 7DAs described, even when the user 7002 moves their gaze to different locations in the three-dimensional environment, the cursor 7034 continues to be displayed at the same location in the three-dimensional environment in accordance with the input 7032 being maintained at the same location on the touchpad 7102. Controlling the movement of the focus indicator in accordance with the movement of one or more fingers on the touch-sensitive surface (e.g., moving the focus indicator in accordance with the direction and / or magnitude of the movement of the one or more fingers) even if the user's gaze moves in different directions clarifies the user's intent to move the focus indicator or to view a different part of the environment and / or reduces the amount of time required to move the focus indicator (e.g., by reducing errors and / or accidental repositioning of the focus indicator).

[0278] In some cases, the computer system detects movement of a gaze input to a location within a user interface of a second application that is different from the first application; detects liftoff of the first touch input; and, while the gaze input is directed to a location within the user interface of the second application, detects a second touch input via the touch-sensitive surface. In some embodiments, in response to detecting the second touch input, the computer system displays a focus indicator at a location outside the boundaries of the user interface of the first application. For example, although as described herein with reference to Figures 7E to 7F As described above, when input 7032 continues to be detected on touchpad 7102, cursor 7034 stops at the border of window 7010, but as described herein with reference to Figures 7G to 7H As described, cursor 7034 is displayed in window 7012 in response to detecting liftoff of input 7032 and detecting subsequent input 7040. Figure 7J In response to detecting a previous input (eg, Figure 7H Input 7040, or in an alternative transformation, Figure 7I 7044) and subsequent input 7046 is detected, cursor 7034 is moved from the border of window 7012 to element E3 in window 7010. Controlling whether the focus indicator is repositioned from a location within an active application (e.g., the application in focus) to a location within a different, optional, inactive application (e.g., an application that is not in focus but to which the user's gaze is directed) depending on whether contact with the touch-sensitive surface is stopped and then re-established makes user-device interactions in the environment more efficient by reducing accidental inputs and undesirable repositioning of the focus indicator and by reducing the number and / or extent of inputs and the amount of time required to move the focus indicator between applications.

[0279] In some cases, when the focus indicator is displayed at a location within the user interface of a third application (e.g., the first application or the second application or another application), the computer system detects lift-off of the first touch input; detects the third touch input via the touch-sensitive surface; and detects movement of the gaze input. In some embodiments, in response to detecting the third touch input: based on determining that the third touch input is detected while the focus indicator remains displayed (e.g., the same instance of the focus indicator is still displayed before the current instance of the focus indicator stopped being displayed) and while the gaze input is directed to the user interface of a fourth application that is different from the third application, the computer system stops displaying the focus indicator at the location within the user interface of the third application and displays the focus indicator at a location within the user interface of the fourth application (e.g., a location corresponding to the location to which the gaze input is directed) (e.g., as described herein with reference to Figure 7J As described, the computer system 101 moves the cursor 7034 from the window 7012 to the window 7010 in response to detecting the input 7046 when the user 7002's gaze is directed to the element E3 in the window 7010). In some embodiments, in response to detecting the third touch input: based on determining that the third touch input is detected while the focus indicator remains displayed and the gaze input is directed to the user interface of the third application, the computer system maintains the focus indicator at a position within the user interface of the third application (for example, without moving the focus indicator to a position corresponding to the position to which the gaze input is directed) (for example, as described herein with reference to Figure 7J 7046 is detected, then in response to detecting input 7046, computer system 101 does not jump cursor 7034 to the other location at which user 7002's gaze is directed). Controlling the repositioning of the focus indicator from one application to another when contact with the touch-sensitive surface ceases and then reestablishing the focus indicator when the user is gazing at another application, and maintaining the position of the focus indicator when t...

Claims

1. A method, comprising: At a computer system in communication with a display generating component and one or more input devices including a touch-sensitive surface: detecting, via the one or more input devices, a gaze input directed toward the environment while a view of the environment is visible via the display generating component; Upon detecting the gaze input, detecting a first touch input via the touch-sensitive surface; as well as In response to detecting the first touch input: displaying a focus indicator at a location corresponding to a first area in the environment based on determining that a first portion of the first touch input is detected when the gaze input is directed toward a first area in the environment; as well as displaying the focus indicator at a location corresponding to a second area in the environment based on determining that the first portion of the first touch input is detected when the gaze input is directed toward a second area in the environment; detecting a continuation of the first touch input, the continuation comprising movement of the first touch input along the touch-sensitive surface while the first touch input is maintained on the touch-sensitive surface; as well as In response to detecting the movement of the first touch input along the touch-sensitive surface during the continuation of the first touch input, moving the focus indicator according to a magnitude of the movement of the first touch input, comprising: in accordance with determining that the magnitude of the movement of the first touch input during the continuation of the first touch input corresponds to a request to move the focus indicator within a user interface of a first application, moving the focus indicator within the user interface of the first application in accordance with the movement of the first touch input; as well as Based on determining that the magnitude of the movement of the first touch input during the continuation of the first touch input corresponds to a request to move the focus indicator outside the boundaries of the user interface of the first application, move the focus indicator within the user interface of the first application based on the movement of the first touch input without moving the focus indicator outside the boundaries of the user interface of the first application.

2. The method according to claim 1, comprising: detecting lift-off of the first touch input; as well as In response to detecting the liftoff of the first touch input, ceasing to display the focus indicator.

3. The method according to claim 1, comprising: detecting lift-off of the first touch input; as well as In response to detecting the lift-off of the first touch input: ceasing to display the focus indicator based on determining that a threshold amount of time has elapsed since detecting the lift-off of the first touch input; as well as Based on determining that the threshold amount of time has not elapsed since detecting the lift-off of the first touch input, display of the focus indicator is maintained.

4. The method according to any one of claims 1 to 3, comprising: While the focus indicator is displayed: Detecting the initiation of an air gesture; as well as In response to detecting the initiation of the mid-air gesture, ceasing to display the focus indicator.

5. The method according to any one of claims 1 to 4, wherein: the movement of the first touch input during the continuation of the first touch input comprises movement in a first direction; The method comprises: during the movement of the first touch input along the first direction, detecting movement of the gaze input along a second direction different from the first direction; and The movement of the focus indicator according to the magnitude of the movement of the first touch input is in the first direction.

6. The method according to any one of claims 1 to 5, comprising: detecting movement of the gaze input to a location within a user interface of a second application different from the first application; detecting lift-off of the first touch input; as well as detecting, via the touch-sensitive surface, a second touch input when the gaze input is directed to the location within the user interface of the second application; as well as In response to detecting the second touch input, displaying the focus indicator at the location outside the boundary of the user interface of the first application.

7. The method according to any one of claims 1 to 6, comprising: detecting a liftoff of the first touch input while the focus indicator is displayed at a location within a user interface of a third application; detecting a third touch input via the touch-sensitive surface; detecting movement of the gaze input; as well as In response to detecting the third touch input: In accordance with determining that the third touch input is detected while the focus indicator remains displayed and when the gaze input is directed to the user interface of a fourth application that is different from the third application: ceasing to display the focus indicator at the location within the user interface of the third application; as well as displaying the focus indicator at a location within the user interface of the fourth application; as well as Based on determining that the third touch input is detected while the focus indicator remains displayed and while the gaze input is directed toward the user interface of the third application, the focus indicator is maintained at the position within the user interface of the third application.

8. The method according to claim 7, comprising: In response to detecting the third touch input: Based on determining that the third touch input is detected when the focus indicator is not displayed: The focus indicator is displayed at a location corresponding to a respective location to which the gaze input is directed when the third touch input is detected.

9. The method according to any one of claims 1 to 8, comprising: when the focus indicator is displayed within the user interface of the first application, and when the gaze input is detected to be directed to a location within the user interface of a fifth application that is different from the first application, detecting, via the touch-sensitive surface, a corresponding touch input, the corresponding touch input comprising movement of the corresponding touch input along the touch-sensitive surface; In response to detecting the corresponding touch input: in response to determining that the corresponding touch input is a continuation of the first touch input without detecting a liftoff of the first touch input, continuing to display the focus indicator within the user interface of the first application, including moving the focus indicator within the user interface of the first application in response to the movement of the corresponding touch input; as well as Based on determining that the corresponding touch input is detected after detecting liftoff of the first touch input, displaying the focus indicator at the location within the user interface of the fifth application at which the gaze input is pointed.

10. The method according to any one of claims 1 to 9, comprising: detecting a press of the touch-sensitive surface when the focus indicator corresponds to a user interface element within the user interface of the first application; In response to detecting the pressing of the touch-sensitive surface, a selection operation is performed with respect to the user interface element.

11. The method according to any one of claims 1 to 7, comprising: detecting movement of the gaze input to a corresponding location in the environment; detecting lift-off of the first touch input; detecting, via the touch-sensitive surface, a fourth touch input when the gaze input is directed to the corresponding location in the environment; as well as In response to detecting the fourth touch input, based on determining that the corresponding position in the environment is capable of displaying a focus indicator, displaying the focus indicator at the corresponding position in the environment.

12. The method according to claim 11, comprising: In response to detecting the fourth touch input, based on determining that the corresponding position in the environment is not capable of displaying a focus indicator, abandoning displaying the focus indicator at the corresponding position in the environment.

13. The method according to any one of claims 1 to 12, comprising: detecting a fifth touch input via the touch-sensitive surface; as well as In response to detecting the fifth touch input: providing information about the fifth touch input to the third area in the environment based on determining that the fifth touch input includes a multi-finger gesture detected when the gaze input is directed to the third area; as well as Based on determining that the fifth touch input includes the multi-finger gesture detected when the gaze input is directed to a fourth area in the environment, providing information about the fifth touch input to the fourth area.

14. The method according to claim 13, comprising: In response to detecting the fifth touch input, based on determining that the fifth touch input does not include a multi-finger gesture, displaying and moving the focus indicator based at least in part on movement of the fifth touch input.

15. A method according to any one of claims 13 to 14, comprising: In response to detecting the fifth touch input, based on determining that the fifth touch input includes the multi-finger gesture, forgoing displaying the focus indicator.

16. The method according to claim 15, comprising: Upon abandoning displaying the focus indicator in response to detecting the fifth touch input: detecting a sixth touch input; In response to detecting the sixth touch input: displaying the focus indicator at a location within the user interface of a sixth application based on determining that the sixth touch input is detected when the gaze input is directed to the location within the user interface of the sixth application; as well as Based on determining that the sixth touch input is detected when the gaze input is directed to a location within the user interface of a seventh application, the focus indicator is displayed at the location within the user interface of the seventh application.

17. The method of any one of claims 13 to 16, wherein the fifth touch input comprises a multi-finger gesture associated with performing a zoom operation.

18. The method of any one of claims 13 to 16, wherein the fifth touch input comprises a multi-finger gesture associated with performing a scrolling operation.

19. 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 a display generating component and one or more input devices including a touch-sensitive surface, the one or more programs comprising instructions for executing the method according to any one of claims 1 to 18.

20. A computer system in communication with a display generation component and one or more input devices including a touch-sensitive surface, 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 18.

21. A computer system in communication with a display generation component and one or more input devices including a touch-sensitive surface, the computer system comprising: Device for carrying out the method according to any one of claims 1 to 18.

22. 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 including a touch-sensitive surface, the one or more programs comprising instructions for: detecting, via the one or more input devices, a gaze input directed toward the environment while a view of the environment is visible via the display generating component; Upon detecting the gaze input, detecting a first touch input via the touch-sensitive surface; as well as In response to detecting the first touch input: displaying a focus indicator at a location corresponding to a first area in the environment based on determining that a first portion of the first touch input is detected when the gaze input is directed toward a first area in the environment; as well as displaying the focus indicator at a location corresponding to a second area in the environment based on determining that the first portion of the first touch input is detected when the gaze input is directed toward a second area in the environment; detecting a continuation of the first touch input, the continuation comprising movement of the first touch input along the touch-sensitive surface while the first touch input is maintained on the touch-sensitive surface; as well as In response to detecting the movement of the first touch input along the touch-sensitive surface during the continuation of the first touch input, moving the focus indicator according to a magnitude of the movement of the first touch input, comprising: in accordance with determining that the magnitude of the movement of the first touch input during the continuation of the first touch input corresponds to a request to move the focus indicator within a user interface of a first application, moving the focus indicator within the user interface of the first application in accordance with the movement of the first touch input; as well as Based on determining that the magnitude of the movement of the first touch input during the continuation of the first touch input corresponds to a request to move the focus indicator outside the boundaries of the user interface of the first application, move the focus indicator within the user interface of the first application based on the movement of the first touch input without moving the focus indicator outside the boundaries of the user interface of the first application.

23. A computer system in communication with a display generation component and one or more input devices including a touch-sensitive surface, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: detecting, via the one or more input devices, a gaze input directed toward the environment while a view of the environment is visible via the display generating component; Upon detecting the gaze input, detecting a first touch input via the touch-sensitive surface; as well as In response to detecting the first touch input: displaying a focus indicator at a location corresponding to a first area in the environment based on determining that a first portion of the first touch input is detected when the gaze input is directed toward a first area in the environment; as well as displaying the focus indicator at a location corresponding to a second area in the environment based on determining that the first portion of the first touch input is detected when the gaze input is directed toward a second area in the environment; detecting a continuation of the first touch input, the continuation comprising movement of the first touch input along the touch-sensitive surface while the first touch input is maintained on the touch-sensitive surface; as well as In response to detecting the movement of the first touch input along the touch-sensitive surface during the continuation of the first touch input, moving the focus indicator according to a magnitude of the movement of the first touch input, comprising: in accordance with determining that the magnitude of the movement of the first touch input during the continuation of the first touch input corresponds to a request to move the focus indicator within a user interface of a first application, moving the focus indicator within the user interface of the first application in accordance with the movement of the first touch input; as well as Based on determining that the magnitude of the movement of the first touch input during the continuation of the first touch input corresponds to a request to move the focus indicator outside the boundaries of the user interface of the first application, move the focus indicator within the user interface of the first application based on the movement of the first touch input without moving the focus indicator outside the boundaries of the user interface of the first application.

24. A computer system in communication with a display generation component and one or more input devices including a touch-sensitive surface, the computer system comprising: means enabled when a view of an environment is visible via the display generating component for detecting, via the one or more input devices, a gaze input directed toward the environment; means enabled upon detecting the gaze input for detecting a first touch input via the touch-sensitive surface; and a device enabled in response to detecting the first touch input, the device comprising: means for displaying a focus indicator at a location corresponding to a first area in the environment enabled in response to determining that a first portion of the first touch input is detected while the gaze input is directed toward a first area in the environment; and means for displaying the focus indicator at a location corresponding to a second area in the environment enabled based on determining that the first portion of the first touch input is detected while the gaze input is directed toward a second area in the environment; means for detecting a continuation of the first touch input, the continuation comprising movement of the first touch input along the touch-sensitive surface while the first touch input is maintained on the touch-sensitive surface; and means enabled in response to detecting the movement of the first touch input along the touch-sensitive surface during the continuation of the first touch input, for moving the focus indicator according to a magnitude of the movement of the first touch input, the means comprising: means for moving the focus indicator within the user interface of the first application in accordance with the movement of the first touch input, enabled in accordance with a determination that the magnitude of the movement of the first touch input during the continuation of the first touch input corresponds to a request to move the focus indicator within the user interface of the first application; and A device is enabled based on determining that the magnitude of the movement of the first touch input during the continuation of the first touch input corresponds to a request to move the focus indicator outside the boundaries of the user interface of the first application, and is used to move the focus indicator within the user interface of the first application based on the movement of the first touch input without moving the focus indicator outside the boundaries of the user interface of the first application.

25. A method comprising: At a computer system in communication with a display generating component and one or more input devices: When a view of an environment is visible via the display generating component: displaying a user interface including a first user interface area and a second user interface area, wherein the first user interface area and the second user interface area are separated by a third area; as well as displaying a focus indicator within the first user interface area; detecting, via the one or more input devices, an input that moves the focus indicator relative to the user interface, wherein the input is associated with movement toward the second user interface area; In response to detecting the input associated with the movement toward the second user interface area: Based on determining that the input satisfies a first set of one or more criteria based on the movement associated with the input: moving the focus indicator from the first user interface area to the second user interface area in accordance with the movement associated with the input, including directly transitioning from displaying the focus indicator at a location corresponding to a boundary of the first user interface area to displaying the focus indicator at a location corresponding to the second user interface area without displaying the focus indicator in the third area between the first user interface area and the second user interface area; as well as Based on determining that the input does not satisfy the first set of one or more criteria based on the movement associated with the input: The appearance of the focus indicator is changed based on the movement associated with the input while continuing to display at least a portion of the focus indicator within the first user interface area.

26. The method according to claim 25, comprising: detecting an end of the input; as well as In response to detecting the end of the input: Based on determining that the input does not satisfy the first set of one or more criteria based on the movement associated with the input, the focus indicator is displayed entirely within the first user interface area.

27. The method according to any one of claims 25 to 26, comprising: moving the focus indicator from a first position in the first user interface area to a second position in the first user interface area according to a first movement magnitude of the input; as well as moving the focus indicator from the second position in the first user interface area to a third position in the first user interface area according to the first movement magnitude of the input; in: The third position is closer to the second user interface area than the second position; and A distance between the third position and the second position is smaller than a distance between the second position and the first position.

28. The method of any one of claims 25 to 27, wherein determining that the input satisfies the first set of one or more criteria based on the movement associated with the input comprises determining that a speed of the input satisfies a threshold speed.

29. The method of any one of claims 25 to 28, wherein determining that the input satisfies the first set of one or more criteria based on the movement associated with the input comprises determining that a magnitude of the movement of the input satisfies a threshold distance.

30. A method according to any one of claims 25 to 29, wherein moving the focus indicator from the first user interface area to the second user interface area based on the movement associated with the input includes stopping displaying the focus indicator in the first user interface area and displaying the focus indicator in the second user interface area.

31. The method of any one of claims 25 to 30, wherein changing the appearance of the focus indicator comprises abandoning display of a portion of the focus indicator outside of the first user interface area.

32. The method of any one of claims 25 to 31, wherein the first user interface area corresponds to a respective application, and the second user interface area corresponds to the respective application.

33. A method according to any one of claims 25 to 31, wherein the first user interface area corresponds to a first application and the second user interface area corresponds to a second application different from the first application.

34. The method of any one of claims 25 to 33, wherein displaying the focus indicator at the location corresponding to the second user interface area comprises displaying the focus indicator entirely within the second user interface area.

35. A method according to any one of claims 25 to 34, wherein: moving the focus indicator from the first user interface region to the second user interface region in accordance with the movement associated with the input is performed in accordance with determining that the first user interface region and the second user interface region are separated by less than a second threshold distance; and The method comprises: According to determining that the first user interface area and the second user interface area are separated by more than the second threshold distance: The appearance of the focus indicator is changed according to the movement associated with the input while continuing to display at least a portion of the focus indicator within the first user interface area.

36. A method according to any one of claims 25 to 35, wherein: the input being associated with movement in a first direction toward the second user interface area; and Moving the focus indicator from the first user interface area to the second user interface area according to the movement associated with the input comprises: moving the focus indicator in the first direction; as well as According to determining that the boundary of the second user interface area deviates from the boundary of the first user interface area in a second direction different from the first direction, The focus indicator is moved in the second direction.

37. The method of any one of claims 25 to 36, wherein changing the appearance of the focus indicator in accordance with the movement associated with the input comprises: Based on determining that the movement associated with the input moves the focus indicator to a location in the user interface corresponding to an activatable user interface element, ceasing to display the focus indicator and displaying visual emphasis of the activatable user interface element.

38. The method of claim 37, comprising: upon detecting the input that moves the focus indicator relative to the user interface, changing the appearance of the visual emphasis of the activatable user interface element according to a position of the input during the movement associated with the input; as well as In the absence of detecting the input moving the focus indicator relative to the user interface, changing the appearance of the visual emphasis of the activatable user interface element based on the location of a user's gaze.

39. A method according to any one of claims 25 to 38, wherein the computer system is in communication with one or more tactile output generators, and the method comprises: In response to detecting the input associated with the movement toward the second user interface area: Based on determining that the input satisfies the first set of one or more criteria based on the movement associated with the input: In conjunction with moving the focus indicator from the first user interface area to the second user interface area in accordance with the movement associated with the input, generating a tactile output via the one or more tactile output generators.

40. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs comprising instructions for executing the method according to any one of claims 25 to 39.

41. 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 25 to 39.

42. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: Device for carrying out the method according to any one of claims 25 to 39.

43. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for: When a view of an environment is visible via the display generating component: displaying a user interface including a first user interface area and a second user interface area, wherein the first user interface area and the second user interface area are separated by a third area; as well as displaying a focus indicator within the first user interface area; detecting, via the one or more input devices, an input that moves the focus indicator relative to the user interface, wherein the input is associated with movement toward the second user interface area; In response to detecting the input associated with the movement toward the second user interface area: Based on determining that the input satisfies a first set of one or more criteria based on the movement associated with the input: moving the focus indicator from the first user interface area to the second user interface area in accordance with the movement associated with the input, comprising directly transitioning from displaying the focus indicator at a position corresponding to a boundary of the first user interface area to displaying the focus indicator at a position corresponding to the second user interface area without displaying the focus indicator in the third area between the first user interface area and the second user interface area; as well as Based on determining that the input does not satisfy the first set of one or more criteria based on the movement associated with the input: The appearance of the focus indicator is changed based on the movement associated with the input while continuing to display at least a portion of the focus indicator within the first user interface area.

44. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: When a view of an environment is visible via the display generating component: displaying a user interface including a first user interface area and a second user interface area, wherein the first user interface area and the second user interface area are separated by a third area; as well as displaying a focus indicator within the first user interface area; detecting, via the one or more input devices, an input that moves the focus indicator relative to the user interface, wherein the input is associated with movement toward the second user interface area; In response to detecting the input associated with the movement toward the second user interface area: Based on determining that the input satisfies a first set of one or more criteria based on the movement associated with the input: moving the focus indicator from the first user interface area to the second user interface area in accordance with the movement associated with the input, including directly transitioning from displaying the focus indicator at a location corresponding to a boundary of the first user interface area to displaying the focus indicator at a location corresponding to the second user interface area without displaying the focus indicator in the third area between the first user interface area and the second user interface area; as well as Based on determining that the input does not satisfy the first set of one or more criteria based on the movement associated with the input: The appearance of the focus indicator is changed based on the movement associated with the input while continuing to display at least a portion of the focus indicator within the first user interface area.

45. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: Means enabled when a view of an environment is visible via the display generating component, the means comprising: Means for: displaying a user interface including a first user interface area and a second user interface area, wherein the first user interface area and the second user interface area are separated by a third area; and Means for: displaying a focus indicator in the first user interface area; means for: detecting, via the one or more input devices, an input that moves the focus indicator relative to the user interface, wherein the input is associated with movement toward the second user interface region; means enabled in response to detecting the input associated with the movement toward the second user interface area, the means comprising: Means for enabling, based on determining that the input satisfies a first set of one or more criteria based on the movement associated with the input: moving the focus indicator from the first user interface area to the second user interface area in accordance with the movement associated with the input, comprising directly transitioning from displaying the focus indicator at a position corresponding to a boundary of the first user interface area to displaying the focus indicator at a position corresponding to the second user interface area without displaying the focus indicator in the third area between the first user interface area and the second user interface area; and means for enabling, based on determining that the input does not satisfy the first set of one or more criteria based on the movement associated with the input: The appearance of the focus indicator is changed based on the movement associated with the input while continuing to display at least a portion of the focus indicator within the first user interface area.

46. ​​A method comprising: At a computer system in communication with a display generating component and one or more input devices: detecting input via the one or more input devices while displaying the user interface, including detecting a hand of a user, wherein the input is directed to a first location in the user interface; in response to detecting the input, displaying a focus indicator corresponding to a user interface object at the first location in the user interface; While displaying the focus indicator corresponding to the user interface object, detecting continuation of the input including hand movement of the user and gaze movement of the user; as well as In response to detecting the continuation of the input, moving the focus indicator according to the continuation of the input, comprising: based on determining that the user interface object is a user interface object of the first type, moving the focus indicator to a second position in the user interface selected based on the movement of the gaze of the user, wherein the second position in the user interface is different from the first position in the user interface; as well as Based on determining that the user interface object is a second type of user interface object different from the first type of user interface object, the focus indicator is moved to a third position in the user interface selected based on the movement of the user's hand, wherein the third position in the user interface is different from the first position in the user interface and the second position in the user interface.

47. The method of claim 46, wherein the one or more input devices include a touch-sensitive surface, and the hand of the user is detected as engaging in an interaction when contact is detected on the touch-sensitive surface.

48. The method of claim 47, comprising: detecting a press on the touch-sensitive surface; as well as In response to detecting the press on the touch-sensitive surface: performing a first operation relative to the second location in the user interface in accordance with determining that the press is detected while the focus indicator is displayed at the second location in the user interface; as well as Based on determining that the press is detected while the focus indicator is displayed at the third location in the user interface, a second operation is performed relative to the third location in the user interface.

49. A method according to any one of claims 46 to 48, wherein: Determining that the user interface object is the first type of user interface object includes: determining that the user interface object is a three-dimensional object; and Determining that the user interface object is a user interface object of the second type includes determining that the user interface object is a two-dimensional object.

50. A method according to any one of claims 46 to 49, comprising: detecting a first selection input while the focus indicator is displayed at the first location in the user interface; as well as in response to detecting the first selection input, performing a third operation relative to the first position in the user interface; detecting a second selection input while the focus indicator is displayed in the user interface at the second position selected based on the movement of the gaze of the user; as well as In response to detecting the second selection input, performing the third operation relative to the second position in the user interface.

51. The method according to any one of claims 46 to 50, wherein the continuation of the input comprising the movement of the hand of the user and the movement of the gaze of the user is a first continuation of the input comprising a first movement of the gaze of the user, and the method comprises: while the focus indicator is displayed at the third location in the user interface, detecting a second continuation of the input comprising a second movement of the gaze of the user; as well as In response to detecting the second continuation of the input: Based on determining that the user interface object is the second type of user interface object, abandoning moving the focus indicator to a fourth position in the user interface selected based on the second movement of the user's gaze until the user's hand stops being detected and the user's hand is subsequently detected.

52. A method according to any one of claims 46 to 51, comprising: detecting a selection input via the one or more input devices while the focus indicator is displayed at a corresponding location in the user interface; as well as In response to detecting the selection input, a fourth operation is performed relative to the corresponding position in the user interface.

53. The method of claim 52, wherein performing the fourth operation relative to the corresponding position in the user interface comprises displaying a two-dimensional user interface area corresponding to the corresponding position.

54. A method according to any one of claims 46 to 53, comprising: detecting an input corresponding to a request to move the focus indicator to a fifth position in the user interface; as well as In response to detecting the input corresponding to the request to move the focus indicator to the fifth position in the user interface: In response to determining that the fifth position in the user interface is capable of displaying a focus indicator, moving the focus indicator to the fifth position in the user interface; as well as Based on determining that the fifth position in the user interface is not capable of displaying a focus indicator, moving the focus indicator to the fifth position in the user interface is abandoned.

55. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs comprising instructions for executing a method according to any one of claims 46 to 54.

56. 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 46 to 54.

57. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: Apparatus for carrying out the method according to any one of claims 46 to 54.

58. 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 input via the one or more input devices while displaying the user interface, including detecting a hand of a user, wherein the input is directed to a first location in the user interface; in response to detecting the input, displaying a focus indicator corresponding to a user interface object at the first location in the user interface; while displaying the focus indicator corresponding to the user interface object, detecting continuation of the input including a hand movement of the user and a gaze movement of the user; as well as In response to detecting the continuation of the input, moving the focus indicator according to the continuation of the input, comprising: Based on determining that the user interface object is a user interface object of the first type, moving the focus indicator to a second position in the user interface that is selected based on the movement of the gaze of the user, wherein the second position in the user interface is different from the first position in the user interface; as well as Based on determining that the user interface object is a second type of user interface object different from the first type of user interface object, the focus indicator is moved to a third position in the user interface selected based on the movement of the user's hand, wherein the third position in the user interface is different from the first position in the user interface and the second position in the user interface.

59. 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 input via the one or more input devices while displaying the user interface, including detecting a hand of a user, wherein the input is directed to a first location in the user interface; in response to detecting the input, displaying a focus indicator corresponding to a user interface object at the first location in the user interface; While displaying the focus indicator corresponding to the user interface object, detecting continuation of the input including hand movement of the user and gaze movement of the user; as well as In response to detecting the continuation of the input, moving the focus indicator according to the continuation of the input, comprising: based on determining that the user interface object is a user interface object of the first type, moving the focus indicator to a second position in the user interface selected based on the movement of the gaze of the user, wherein the second position in the user interface is different from the first position in the user interface; as well as Based on determining that the user interface object is a second type of user interface object different from the first type of user interface object, the focus indicator is moved to a third position in the user interface selected based on the movement of the user's hand, wherein the third position in the user interface is different from the first position in the user interface and the second position in the user interface.

60. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: Means enabled while displaying the user interface for: detecting input via the one or more input devices, including detecting a hand of a user, wherein the input is directed to a first location in the user interface; means enabled in response to detecting the input for displaying a focus indicator corresponding to a user interface object at the first location in the user interface; means enabled while displaying the focus indicator corresponding to the user interface object for detecting continuation of the input comprising hand movement of the user and gaze movement of the user; and means enabled in response to detecting the continuation of the input, for moving the focus indicator in accordance with the continuation of the input, the means comprising: means enabled based on determining that the user interface object is a user interface object of the first type for moving the focus indicator to a second location in the user interface selected based on the movement of the gaze of the user, wherein the second location in the user interface is different from the first location in the user interface; and A device for moving the focus indicator to a third position in the user interface selected based on the movement of the user's hand, enabled in response to determining that the user interface object is a second type of user interface object different from the first type of user interface object, wherein the third position in the user interface is different from the first position in the user interface and the second position in the user interface.

61. A method comprising: At a computer system in communication with a display generating component and one or more input devices: detecting, via the one or more input devices, a first input corresponding to a request to initiate a drag operation relative to content of an application, wherein the content is displayed in a first area of ​​the environment, while a view of the environment is visible via the display generating component; In response to detecting the first input, initiating the drag operation, wherein: Initiating the drag operation relative to the first content based on determining that the first input is detected when the first content of the application is selected; and Initiating the drag operation relative to the second content based on determining that the first input is detected when the second content of the application is selected; While continuing to detect the first input, detecting, via the one or more input devices, movement of a gaze input to a corresponding location in a second area of ​​the environment different from the first area, and detecting movement of the first input; and In response to detecting the movement of the first input: moving the content from the first area of ​​the environment to the second area of ​​the environment based on determining that the movement of the first input satisfies a first set of one or more criteria, wherein the first set of one or more criteria includes a direction of the movement of the first input being within a direction threshold of the direction of the corresponding position in the second area of ​​the environment so as to satisfy a requirement of the first set of one or more criteria; and Based on determining that the movement of the first input does not satisfy the first set of one or more criteria, the content is moved within the first area of ​​the environment.

62. The method of claim 61, wherein the first set of one or more criteria includes a requirement that the first input move at least a threshold amount in order to satisfy the first set of one or more criteria.

63. The method of claim 61 , wherein determining that the direction of the movement of the first input is within the direction threshold of the direction of the corresponding location in the second area of ​​the environment comprises: Determine that the movement of the first input corresponds to a request to move the content from a first position to a second position, the second position being closer to the corresponding position of the gaze input than the first position, and a direction from the first position to the second position being within a threshold angular distance of a direction from the first position to the corresponding position of the gaze input.

64. The method of any one of claims 61 to 63, wherein initiating the drag operation relative to the respective content comprises displaying a representation of the respective content that is visually emphasized relative to the respective content.

65. The method of any one of claims 61 to 64, wherein initiating the drag operation relative to the respective content comprises displaying a representation of the respective content at a smaller size than the respective content.

66. The method of any one of claims 61 to 64, wherein initiating the drag operation relative to respective content comprises displaying a representation of the respective content centered at a location corresponding to the first input.

67. The method of any one of claims 61 to 66, wherein the drag operation is initiated based on determining that the first input is a long press input.

68. The method of any one of claims 61 to 67, wherein moving the content from the first area of ​​the environment to the second area of ​​the environment comprises: A representation of the content is displayed at least partially on the second area of ​​the environment, and an indication that the representation of the content is displayed from an area of ​​the environment other than the second area.

69. A method according to any one of claims 61 to 68, comprising: In response to detecting the movement of the first input: Based on determining that the movement of the first input satisfies the first set of one or more criteria, the content is moved to a third position in the second area, the third position corresponding to the corresponding position of the gaze input in the second area.

70. The method of claim 69, wherein the third position in the second area is offset from the corresponding position of the gaze input in the second area.

71. The method of claim 69, wherein the third location in the second area is the corresponding location of the gaze input in the second area.

72. The method of any one of claims 61 to 71, comprising: In response to detecting the movement of the first input: Based on determining that the direction of the movement of the first input exceeds a direction threshold of the direction of the corresponding position in the second area of ​​the environment, the content is moved within the first area of ​​the environment.

73. The method of any one of claims 61 to 72, wherein: moving the content from the first area of ​​the environment to the second area of ​​the environment moves the content by a first amount; moving the content within the first area of ​​the environment causes the content to move a second amount; and The first magnitude is greater than the second magnitude.

74. A method according to any one of claims 61 to 73, wherein the first area and the second area are different areas of the same window.

75. The method of any one of claims 61 to 73, wherein the first area is a first window of a corresponding application, and the second area is a second window of the corresponding application.

76. A method according to any one of claims 61 to 73, wherein the first area is a user interface of a first application, and the second area is a user interface of a second application different from the first application.

77. The method of any one of claims 61 to 76, comprising: detecting, via the one or more input devices, a second input corresponding to a request to initiate a drag operation relative to third content of the application, wherein the third content is displayed in the first area of ​​the environment; In response to detecting the second input, initiating the drag operation relative to the third content; while continuing to detect the second input, detecting, via the one or more input devices, movement of the gaze input to a fourth location in the environment and detecting movement of the second input that satisfies the first set of one or more criteria; as well as In response to detecting the movement of the second input satisfying the first set of one or more criteria: based on determining that the fourth location of the gaze input in the environment is in the second area of ​​the environment, moving the third content from the first area of ​​the environment to a location in the second area of ​​the environment based on the fourth location of the gaze input in the environment; as well as Based on determining that the fourth location of the gaze input in the environment is in the first area of ​​the environment, moving the third content within the first area of ​​the environment based on the movement of the second input and independent of the fourth location of the gaze input in the environment.

78. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system that communicates with a display generating component and one or more input devices, the one or more programs comprising instructions for executing a method according to any one of claims 61 to 77.

79. 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 61 to 77.

80. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: Apparatus for carrying out the method according to any one of claims 61 to 77.

81. 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, via the one or more input devices, a first input corresponding to a request to initiate a drag operation relative to content of an application, wherein the content is displayed in a first area of ​​the environment, while a view of the environment is visible via the display generating component; In response to detecting the first input, initiating the drag operation, wherein: Initiating the drag operation relative to the first content based on determining that the first input is detected when the first content of the application is selected; and Initiating the drag operation relative to the second content based on determining that the first input is detected when the second content of the application is selected; While continuing to detect the first input, detecting, via the one or more input devices, movement of a gaze input to a corresponding location in a second area of ​​the environment different from the first area, and detecting movement of the first input; and In response to detecting the movement of the first input: moving the content from the first area of ​​the environment to the second area of ​​the environment based on determining that the movement of the first input satisfies a first set of one or more criteria, wherein the first set of one or more criteria includes a direction of the movement of the first input being within a direction threshold of the direction of the corresponding position in the second area of ​​the environment so as to satisfy a requirement of the first set of one or more criteria; and Based on determining that the movement of the first input does not satisfy the first set of one or more criteria, the content is moved within the first area of ​​the environment.

82. 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, via the one or more input devices, a first input corresponding to a request to initiate a drag operation relative to content of an application, wherein the content is displayed in a first area of ​​the environment, while a view of the environment is visible via the display generating component; In response to detecting the first input, initiating the drag operation, wherein: Initiating the drag operation relative to the first content based on determining that the first input is detected when the first content of the application is selected; and Initiating the drag operation relative to the second content based on determining that the first input is detected when the second content of the application is selected; While continuing to detect the first input, detecting, via the one or more input devices, movement of a gaze input to a corresponding location in a second area of ​​the environment different from the first area, and detecting movement of the first input; and In response to detecting the movement of the first input: moving the content from the first area of ​​the environment to the second area of ​​the environment based on determining that the movement of the first input satisfies a first set of one or more criteria, wherein the first set of one or more criteria includes a direction of the movement of the first input being within a direction threshold of the direction of the corresponding position in the second area of ​​the environment so as to satisfy a requirement of the first set of one or more criteria; and Based on determining that the movement of the first input does not satisfy the first set of one or more criteria, the content is moved within the first area of ​​the environment.

83. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: means enabled while a view of the environment is visible via the display generating component for detecting, via the one or more input devices, a first input corresponding to a request to initiate a drag operation relative to content of an application, wherein the content is displayed in a first area of ​​the environment; means for initiating the drag operation enabled in response to detecting the first input, wherein: Initiating the drag operation relative to the first content based on determining that the first input is detected when the first content of the application is selected; and Initiating the drag operation relative to the second content based on determining that the first input is detected when the second content of the application is selected; means for enabling, while continuing to detect the first input, detecting, via the one or more input devices, movement of a gaze input to a corresponding location in a second area of ​​the environment different from the first area and detecting movement of the first input; and means enabled in response to detecting the movement of the first input, the means comprising: means for moving the content from the first area of ​​the environment to the second area of ​​the environment enabled based on a determination that the movement of the first input satisfies a first set of one or more criteria, wherein the first set of one or more criteria includes a direction of the movement of the first input being within a direction threshold of the direction of the corresponding position in the second area of ​​the environment so as to satisfy the requirements of the first set of one or more criteria; and Means for moving the content within the first area of ​​the environment are enabled based on determining that the movement of the first input does not satisfy the first set of one or more criteria.