Method for relative manipulation of three-dimensional environment

Through improved user interface and interaction methods, display generation components and sensors are used to detect user input, and objects in a three-dimensional environment are dynamically manipulated, solving the problems of interaction complexity and inefficiency in the prior art, and achieving more intuitive and efficient user interaction.

CN120045066APending Publication Date: 2025-05-27APPLE INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510124631.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-04-11
Filing Date
2023-04-11
Publication Date
2025-05-27

AI Technical Summary

Technical Problem

In the prior art, the methods and interfaces used to interact with the three-dimensional environment have problems such as insufficient feedback, complex operations, cumbersome and error-prone, resulting in a large cognitive burden on users and low interaction efficiency.

Method used

By providing improved user interfaces and interaction methods, display generation components, input devices and sensors are used to detect user viewpoints, gazes and gesture inputs, dynamically manipulate objects in a three-dimensional environment, reducing the number and complexity of user input.

Benefits of technology

Achieve more intuitive and effective user interaction, reduce operational errors, improve interaction efficiency, and save power in battery-powered devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120045066A_ABST
    Figure CN120045066A_ABST
Patent Text Reader

Abstract

A method for relative manipulation of a three-dimensional environment is provided. In some embodiments, a computer system facilitates manipulation of a three-dimensional environment relative to a viewpoint of a user of the computer system. In some embodiments, a computer system facilitates manipulation of virtual objects in a virtual environment. In some embodiments, a computer system facilitates manipulation of a three-dimensional environment relative to a reference point determined based on attention of a user of the computer system.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the patent application for invention titled "Method for Relative Manipulation in a Three-Dimensional Environment" with the application date of April 11, 2023, application number 202380046546.8.

[0002] CROSS-REFERENCE TO RELATED APPLICATIONS

[0003] This application claims the benefit of U.S. Provisional Application No. 63 / 362,816, filed on April 11, 2022, the entire content of which is incorporated herein by reference for all purposes. Technical Field

[0004] The present invention generally relates to computer systems that provide computer-generated experiences, including but not limited to electronic devices that provide virtual reality and mixed reality experiences via display generation components. Background Art

[0005] In recent years, the development of computer systems for augmented reality has increased significantly. Example augmented reality environments include at least some virtual elements that replace or enhance the physical world. Input devices (such as cameras, controllers, joysticks, touch-sensitive surfaces, and touchscreen displays) for computer systems and other electronic computing devices are used to interact with virtual / augmented reality environments. Exemplary virtual elements include virtual objects such as digital images, videos, text, icons, and control elements (such as buttons and other graphics). Summary of the Invention

[0006] Some methods and interfaces for interacting with an environment that includes at least some virtual elements (e.g., applications, augmented reality environments, mixed reality environments, and virtual reality environments) are cumbersome, inefficient, and limited. For example, systems that provide insufficient feedback for performing actions associated with virtual objects, systems that require a series of inputs to achieve a desired result in an augmented reality environment, and systems in which virtual object manipulation is complex, cumbersome, and error-prone impose a significant cognitive burden on users and detract from the experience of virtual / augmented reality environments. In addition, these methods take longer than necessary, thereby wasting the energy of the computer system. This latter consideration is particularly important in battery-powered devices.

[0007] Accordingly, there is a need for computer systems with improved methods and interfaces to provide computer-generated experiences to users such that the interaction of the users with the computer systems is more effective and intuitive for the users. Such methods and interfaces optionally supplement or replace conventional methods for providing extended reality experiences. Such methods and interfaces reduce the amount, degree, and / or nature of the input from the user by helping the user understand the connection between the input provided and the device's response to these inputs, thereby forming a more effective human-machine interface.

[0008] The above-mentioned deficiencies and other problems associated with the user interface of a computer system are reduced or eliminated by the disclosed system. In some embodiments, the computer system is a desktop computer with an associated display. In some embodiments, the computer system is a portable device (e.g., a laptop computer, a tablet computer, or a handheld device). In some embodiments, the computer system is a personal electronic device (e.g., a wearable electronic device such as a watch or a head-mounted device). In some embodiments, the computer system has a touchpad. In some embodiments, the computer system has one or more cameras. In some embodiments, the computer system has a touch-sensitive display (also referred to as a "touch screen" or "touch screen display"). In some embodiments, the computer system has one or more eye-tracking components. In some embodiments, the computer system has one or more hand-tracking components. In some embodiments, in addition to a display generation component, the computer system also has one or more output devices, which include one or more haptic output generators and / or one or more audio output devices. In some embodiments, the computer system has a graphical user interface (GUI), one or more processors, a memory, and one or more modules, a program or set of instructions stored in the memory for performing multiple functions. In some embodiments, the user interacts with the GUI through contact and gestures of a stylus and / or finger on a touch-sensitive surface, movements of the user's eyes and hands in space relative to the GUI (and / or the computer system) or the user's body (as captured by cameras and other motion sensors), and / or voice input (as captured by one or more audio input devices). In some embodiments, the functions performed through the interaction optionally include image editing, drawing, presentation, word processing, spreadsheet creation, playing games, making and receiving phone calls, video conferencing, sending and receiving emails, instant messaging, test support, digital photography, digital video recording, web browsing, digital music playback, note-taking, and / or digital video playback. The executable instructions for performing these functions are optionally included in a transient and / or non-transitory computer-readable storage medium or other computer program product configured to be executed by one or more processors.

[0009] There is a need for electronic devices having improved methods and interfaces for interacting with content in a three-dimensional environment. Such methods and interfaces can supplement or replace conventional methods for interacting with content in a three-dimensional environment. Such methods and interfaces reduce the amount, degree, and / or nature of input from the user and result in a more efficient human-machine interface. For battery-powered computing devices, such methods and interfaces save power and increase the time interval between battery charges.

[0010] In some embodiments, a computer system facilitates manipulation of a three-dimensional environment relative to a user's viewpoint of the computer system. In some embodiments, the computer system facilitates manipulation of virtual objects in a virtual environment. In some embodiments, the computer system facilitates manipulation of a three-dimensional environment relative to a reference point determined based on a user's attention of the computer system.

[0011] Note 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 exhaustive, and in particular, many additional features and advantages will be apparent to those of ordinary skill in the art from the drawings, the specification, and the claims. Additionally, it should be noted that the language used in this specification has been selected for readability and guidance purposes and may not have been selected to delineate or circumscribe the subject matter of the invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] To better understand the various embodiments described, reference should be made to the following detailed description in conjunction with the accompanying drawings, in which like reference numerals indicate corresponding parts in all the drawings.

[0013] Figure 1 is a block diagram showing an operating environment of a computer system for providing an XR experience according to some embodiments.

[0014] Figure 2 is a block diagram showing a controller of a computer system configured to manage and coordinate a user's XR experience according to some embodiments.

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

[0016] Figure 4 is a block diagram showing a hand tracking unit of a computer system configured to capture a user's gesture input according to some embodiments.

[0017] Figure 5 is a block diagram showing an eye tracking unit of a computer system configured to capture a user's gaze input according to some embodiments.

[0018] Figure 6 is a flowchart showing a flash-assisted gaze tracking pipeline according to some embodiments.

[0019] 7A to 7I shows an example of a computer system facilitating interaction with multiple objects in a three-dimensional environment according to some embodiments.

[0020] FIG. 8A to FIG. 8Iis a flowchart showing an exemplary method for facilitating interaction with multiple objects in a three-dimensional environment according to some embodiments.

[0021] FIG. 9A to FIG. 9I Shows an example of a computer system for facilitating manipulation of virtual objects in a virtual environment according to some embodiments.

[0022] FIG. 10A to FIG. 10H is a flowchart showing a method for facilitating manipulation of virtual objects in a virtual environment according to some embodiments.

[0023] FIG. 11A to FIG. 11G Shows an example of a computer system for facilitating interaction with multiple objects relative to a reference point in a three-dimensional environment according to some embodiments.

[0024] FIG. 12A to FIG. 12J is a flowchart showing an exemplary method for facilitating interaction with multiple objects relative to a reference point in a three-dimensional environment according to some embodiments.

[0025] FIG. 13A to FIG. 13G Shows an example of a computer system for facilitating manipulation of virtual objects in a virtual environment according to some embodiments.

[0026] FIG. 14A to FIG. 14K is a flowchart showing a method for facilitating manipulation of virtual objects in a virtual environment according to some embodiments. Detailed Description

[0027] According to some embodiments, the present disclosure relates to a user interface for providing a computer-generated reality (CGR) experience to a user.

[0028] The systems, methods, and GUIs described herein provide improved ways for an electronic device to facilitate interaction with objects in a three-dimensional environment and manipulate objects in a three-dimensional environment.

[0029] In some embodiments, a computer system displays a three-dimensional environment that includes multiple objects. In some embodiments, in response to detecting a first interaction input provided by a first predefined portion of a user of the computer system that is directed to the three-dimensional environment, and based on a determination that a second predefined portion of the user is providing a second interaction input at the time the first interaction input is detected, the computer system manipulates the three-dimensional environment, including repositioning the multiple objects in the three-dimensional environment relative to the user's viewpoint based on the first interaction input. In some embodiments, based on a determination that the second predefined portion of the user is not providing a second interaction input at the time the first interaction input is detected, the computer system performs an operation different from manipulating the three-dimensional environment relative to the user's viewpoint based on the first interaction input. In some embodiments, the computer system moves a single object among the multiple objects in the three-dimensional environment relative to the user's viewpoint based on the first interaction input. In some embodiments, the computer system activates a selectable option in the three-dimensional environment in response to detecting the first interaction input.

[0030] In some embodiments, a computer system facilitates manipulation of virtual objects in a virtual environment. For example, in response to detecting an interaction input provided by a user, the computer system manipulates the virtual objects in the environment based on the input. In some embodiments, in response to detecting a first movement pattern included in the interaction input, the computer system manipulates the virtual objects in a first manner, and in response to detecting a second movement pattern included in the interaction input, the computer system manipulates the virtual objects in a second manner. In some embodiments, the computer system manipulates the virtual objects in a direction and amount corresponding to the direction and amount of movement included in the interaction input.

[0031] In some embodiments, a computer system displays a three-dimensional environment that includes multiple objects. In some embodiments, in response to detecting an interaction input provided by a predefined portion of a user of the computer system that is directed to the three-dimensional environment, and based on a determination that the user's attention is directed to a first object among the multiple objects at the time the first interaction input is detected, the computer system manipulates the three-dimensional environment, including repositioning the multiple objects in the three-dimensional environment relative to a first reference point based on a location associated with the first object. In some embodiments, based on a determination that the user's attention is directed to a second object at the time the first interaction input is detected, the computer system manipulates the three-dimensional environment, including repositioning the multiple objects in the three-dimensional environment relative to a second reference point based on a location associated with the second object.

[0032] In some embodiments, a computer system facilitates manipulation of virtual objects in a virtual environment. In some embodiments, in response to detecting an interaction input corresponding to a request to manipulate a virtual object in the virtual environment while the user's attention is directed to a portion of the environment where there are no virtual objects that can be manipulated, the computer system manipulates the object based on the position of one or more virtual objects displayed in the environment relative to a reference point. In some embodiments, if no objects are displayed in the environment, the computer system displays and manipulates a reference object in response to the interaction input and manipulates one or more virtual objects not displayed in the environment.

[0033] Figures 1 to 6 A description of an exemplary computer system for providing an XR experience to a user is provided (such as described below with respect to methods 800, 1000, 1200, and / or 1400). 7A to 7I An example technique for facilitating interaction with multiple objects in a three-dimensional environment is shown, according to some embodiments. FIG. 8A to FIG. 8I A flowchart of a method for facilitating interaction with multiple objects in a three-dimensional environment, according to some embodiments. 7A to 7I The user interface in FIG. 8A to FIG. 8I is used to illustrate the FIG. 9A to FIG. 9I process. FIG. 10A to FIG. 10H An example technique for facilitating manipulation of virtual objects in a virtual environment is shown, according to various embodiments. FIG. 9A to FIG. 9I The user interface in FIG. 10A to FIG. 10H is used to illustrate the FIG. 11A to FIG. 11G process. FIG. 12A to FIG. 12J A flowchart of a method for facilitating interaction with multiple objects in a three-dimensional environment relative to a reference point, according to some embodiments. FIG. 11A to FIG. 11G The user interface in FIG. 12A to FIG. 12J is used to illustrate the FIG. 13A to FIG. 13G process. FIG. 14A to FIG. 14K An example technique for facilitating manipulation of virtual objects in a virtual environment is shown, according to some embodiments. FIG. 13A to FIG. 13G The user interface in FIG. 14A to FIG. 14K is used to illustrate the

[0034] The processes described below enhance the operability of a device and make the user-device interface more efficient through various techniques (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device), including 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 when a set of conditions has been met without further user input, improving privacy and / or security, providing a more diverse, detailed, and / or realistic user experience while saving storage space, and / or additional techniques. These techniques also reduce power usage and extend the battery life of the device by enabling the user to use the device faster and more efficiently. Saving battery power, and thus weight, improves the ergonomics of the device. These techniques also enable real-time communication, allow for the use of fewer and / or less precise sensors, resulting in a more compact, lighter, and cheaper device, and enable the device to be used under various lighting conditions. These techniques reduce energy usage, thereby reducing the heat emitted by the device, which is particularly important for wearable devices, where it can become uncomfortable for the user to wear the device if the device generates too much heat while operating entirely within the operating parameters of the device components.

[0035] In addition, in methods described herein where one or more steps depend on one or more conditions being met, it should be understood that the method can be repeated in multiple iterations such that, during the course of the repetition, all conditions that determine the steps in the method are met in different iterations of the method. For example, if a method requires performing a first step (if a condition is met) and a second step (if the condition is not met), a person of ordinary skill in the art will know to repeat the stated steps until both the condition is met and the condition is not met (in no particular order). Thus, a method described as having one or more steps that depend on one or more conditions being met can be rewritten as a method that repeats until each condition described in the method is met. However, this does not require the system or computer-readable medium to state that the system or computer-readable medium includes instructions for performing conditional operations based on the satisfaction of the corresponding one or more conditions and is thus able to determine whether the possible conditions have been met without explicitly repeating the steps of the method until all conditions that determine the steps in the method are met. A person of ordinary skill in the art will also understand that, similar to a method with conditional steps, a system or computer-readable storage medium can repeat the steps of the method as many times as needed to ensure that all conditional steps have been performed.

[0036] In some embodiments, as Figure 1As shown in FIG. 0, an XR experience is provided to a user via an operating environment 100 that includes a computer system 101. The computer system 101 includes a controller 110 (e.g., a processor of a portable electronic device or a remote server), a display generation component 120 (e.g., a head-mounted device (HMD), a display, a projector, and / or a touch screen), one or more input devices 125 (e.g., an eye tracking device 130, a hand tracking device 140, other input devices 150), one or more output devices 155 (e.g., a speaker 160, a haptic 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 haptic sensor, an orientation sensor, a proximity sensor, a temperature sensor, a position sensor, a motion sensor, and / or a speed sensor), and optionally one or more peripheral devices 195 (e.g., home appliances, wearable devices). In some embodiments, one or more of the input devices 125, output devices 155, sensors 190, and peripheral devices 195 are integrated with the display generation component 120 (e.g., in a head-mounted device or a handheld device).

[0037] When describing an XR experience, various terms are used to distinctively refer to several related but different environments that a user can sense and / or with which a user can interact (e.g., interact using inputs detected by the computer system 101 that generates the XR experience, where these inputs cause the computer system that generates 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:

[0038] Physical environment: The physical environment refers to the physical world that people can sense and / or interact with without the help of an electronic system. Physical environments such as a physical park include physical objects such as physical trees, physical buildings, and physical people. People can directly sense and / or interact with the physical environment, such as through vision, touch, hearing, taste, and smell.

[0039] Extended Reality: In contrast, an extended reality (XR) environment is a fully or partially simulated environment in which people sense and / or interact via an electronic system. In XR, a subset of a person's physical movements or representations thereof are tracked, and in response, one or more characteristics of one or more virtual objects simulated in the XR environment are adjusted in a manner that conforms to at least one physical law. For example, an XR system can detect a person's head rotation and, in response, adjust the graphical content and sound field presented to the person in a manner similar to how such views and sounds would change in a physical environment. In some cases (e.g., for accessibility reasons), the adjustment of the characteristics of virtual objects in the XR environment can be made in response to a representation of a physical movement (e.g., a voice command). A person can use any of their senses to sense and / or interact with XR objects, including vision, hearing, touch, taste, and smell. For example, a person can sense and / or interact with an audio object that creates a 3D or spatial audio environment that provides the perception of point audio sources in 3D space. Additionally, an audio object can enable audio transparency that selectively introduces ambient sounds from the physical environment with or without computer-generated audio. In some XR environments, a person can sense and / or interact only with audio objects.

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

[0041] Virtual Reality: A virtual reality (VR) environment is a simulated environment that is designed to be completely computer-generated sensory input for one or more senses. A VR environment includes multiple virtual objects with which a person can sense and / or interact. For example, computer-generated images of trees, buildings, and avatars representing people are examples of virtual objects. A person can sense and / or interact with the virtual objects in the VR environment by way of a simulation of the person's presence within the computer-generated environment and / or by way of a simulation of a subset of the person's physical movements within the computer-generated environment.

[0042] Mixed Reality: Compared with a VR environment that is designed to be based entirely on computer-generated sensory input, a mixed reality (MR) environment is an analog environment that is designed to include, in addition to computer-generated sensory input (e.g., virtual objects), sensory input or its representation from the physical environment. On the virtual continuum, an MR environment is any condition between a fully physical environment at one end and a virtual reality environment at the other end, excluding these two ends. In some MR environments, the computer-generated sensory input can respond to changes in the sensory input from the physical environment. Additionally, some electronic systems for presenting an MR environment can track the position and / or orientation relative to the physical environment so that virtual objects can interact with real objects (i.e., physical items from the physical environment or their representations). For example, the system can cause motion such that a virtual tree appears stationary relative to the physical ground.

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

[0044] Augmented Reality: An augmented reality (AR) environment is a simulated environment in which one or more virtual objects are superimposed over a physical environment or a representation of a physical environment. For example, an electronic system for presenting an AR environment may have a transparent or translucent display through which a person can directly view the physical environment. The system can be configured to present virtual objects on the transparent or translucent display such that the person, using the system, perceives the virtual objects superimposed over the physical environment. Alternatively, the system can have an opaque display and one or more imaging sensors that capture images or video of the physical environment, which are representations of the physical environment. The system combines the images or video with virtual objects and presents the combination on the opaque display. The person, using the system, indirectly views the physical environment through the images or video of the physical environment and perceives the virtual objects superimposed over the physical environment. As used herein, a video of the physical environment displayed on an opaque display is referred to as “passthrough video,” meaning that the system uses one or more image sensors to capture images of the physical environment and uses those images when presenting the AR environment on the opaque display. Further alternatively, the system can have a projection system that projects virtual objects into the physical environment, such as as a hologram or on a physical surface, such that the person, using the system, perceives the virtual objects superimposed over the physical environment. An augmented reality environment also refers to a simulated environment in which a representation of the physical environment is transformed by computer-generated sensory information. For example, in providing passthrough video, the system can transform one or more sensor images to impose an alternative perspective (e.g., viewpoint) different from the perspective captured by the imaging sensor. As another example, a representation of the physical environment can be transformed by graphically modifying (e.g., magnifying) portions thereof such that the modified portions can be a representative but not a true version of the originally captured image. As yet another example, a representation of the physical environment can be transformed by graphically removing portions thereof or blurring portions thereof.

[0045] Augmented Virtuality: An augmented virtuality (AV) environment is a simulated environment in which a virtual environment or computer-generated environment incorporates one or more sensory inputs from a physical environment. The sensory inputs can be representations of one or more characteristics of the physical environment. For example, an AV park can have virtual trees and virtual buildings, but a person's face is a realistic reproduction from an image of a physical person. As another example, a virtual object can adopt the shape or color of a physical item imaged by one or more imaging sensors. As yet another example, a virtual object can adopt a shadow that conforms to the positioning of the sun in the physical environment.

[0046] In an augmented reality, mixed reality, or virtual reality environment, a view of a three-dimensional environment is visible to a user. The view of the three-dimensional environment is typically visible to the user through a virtual viewport via one or more display generation components (e.g., a display or a pair of display modules that provide stereoscopic content to different eyes of the same user), the virtual viewport having a viewport boundary that defines the extent of the three-dimensional environment visible to the user via the one or more display generation components. In some embodiments, the region defined by the viewport boundary is smaller than the user's visual field in one or more dimensions (e.g., based on the user's visual field, the size, optical properties, or other physical characteristics of the one or more display generation components, and / or the position and / or orientation of the one or more display generation components relative to the user's eyes). In some embodiments, the region defined by the viewport boundary is larger than the user's visual field in one or more dimensions (e.g., based on the user's visual field, the size, optical properties, or other physical characteristics of the one or more display generation components, and / or the position and / or orientation of the one or more display generation components relative to the user's eyes). The viewport and the viewport boundary typically move as the one or more display generation components move (e.g., for a head-mounted device as the user's head moves, or for a handheld device such as a tablet or a smartphone as the user's hand moves). The user's viewpoint determines the content visible in the viewport, the viewpoint typically specifying a position and a direction relative to the three-dimensional environment, and as the viewpoint moves, the view of the three-dimensional environment will also move in the viewport. For a head-mounted device, the viewpoint is typically based on the position and direction of the user's head, face, and / or eyes to provide a perceptually accurate view of the three-dimensional environment and an immersive experience while the user is using the head-mounted device. For a handheld or stationary device, the viewpoint moves as the handheld or stationary device moves and / or as the user's positioning relative to the handheld or stationary device changes (e.g., the user moves toward, away from, up, down, right, and / or left). For a device including a display generation component having virtual passthrough, the portions of the physical environment visible (e.g., displayed and / or projected) via the one or more display generation components are based on the field of view of one or more cameras in communication with the display generation component, the one or more cameras typically moving as the display generation component moves (e.g., for a head-mounted device as the user's head moves, or for a handheld device such as a tablet or a smartphone as the user's hand moves), since the user's viewpoint moves as the field of view of the one or more cameras moves (and the appearance of one or more virtual objects displayed via the one or more display generation components is updated based on the user's viewpoint (e.g., the display position and pose of the virtual object are updated based on the movement of the user's viewpoint)).For a display generation component with optical see-through, portions of the physical environment that are visible via one or more display generation components (e.g., optically visible through one or more partial or fully transparent portions of the display generation component) are based on the user's field of view through the partial or fully transparent portion of the display generation component (e.g., for a head-mounted device, it moves as the user's head moves, or for a handheld device such as a tablet or smartphone, it moves as the user's hand moves), because the user's viewpoint moves as the user's field of view through the partial or fully transparent portion of the display generation component moves (and the appearance of one or more virtual objects is updated based on the user's viewpoint).

[0047] Viewpoint-locked virtual object: When a computer system displays a virtual object at the same position and / or orientation in the user's viewpoint, the virtual object is viewpoint-locked even if the user's viewpoint shifts (e.g., changes). In an embodiment 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 looks straight ahead, the user's viewpoint is at least a part 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 an embodiment 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 orientation of the viewpoint-locked virtual object displayed in the user's viewpoint is independent of the user's position and / or orientation in the physical environment. In an embodiment 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".

[0048] Environment-Locked Visual Objects: When a computer system displays a virtual object at a location and / or orientation within a user's line of sight, the virtual object is environment-locked (alternatively, "world-locked"), where the location and / or orientation is based on a location and / or object within a three-dimensional environment (e.g., a physical or virtual environment), such that the virtual object is selected and / or anchored with reference to the location and / or object. As the user's line of sight moves, the location and / or object within the environment relative to the user's line of sight changes, which causes the environment-locked virtual object to be displayed at a different location and / or orientation within the user's line of sight. For example, an environment-locked virtual object locked to a tree directly in front of the user is displayed at the center of the user's line of sight. When the user's line of sight 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 within the user's line of sight (e.g., the orientation of the tree within the user's line of sight has shifted), the environment-locked virtual object locked to the tree is displayed to the left of center within the user's line of sight. In other words, the location and / or orientation at which the environment-locked virtual object is displayed within the user's line of sight depends on the location and / or orientation of the location and / or object to which the virtual object is locked within the environment. In some embodiments, the computer system uses a stationary reference frame (e.g., a coordinate system anchored to a fixed location and / or object within a physical environment) in order to determine the orientation at which the environment-locked virtual object is displayed within the user's line of sight. The 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 such as the user's hand, wrist, arm, or foot that moves independently of the user's line of sight) such that the virtual object moves as the line of sight or that portion of the environment moves to maintain a fixed relationship between the virtual object and that portion of the environment.

[0049] In some embodiments, an environment-locked or view-locked virtual object exhibits a lazy follow behavior that reduces or delays the movement of the environment-locked or view-locked virtual object relative to the movement of a reference point that the virtual object follows. In some embodiments, when exhibiting the lazy follow behavior, when a movement of a reference point (e.g., a portion of the environment, a view point, or a point fixed relative to the view point, such as a point between 5 cm and 300 cm from the view point) that the virtual object is following is detected, the computer system intentionally delays the movement of the virtual object. For example, when the reference point (e.g., the portion of the environment or the view point) moves at a first speed, the virtual object is moved by the device to remain locked to the reference point, but moves at a second speed that is slower than the first speed (e.g., until the reference point stops moving or slows down, at which point the virtual object begins to catch up with the reference point). In some embodiments, when the virtual object exhibits the lazy follow behavior, the device ignores small movements of the reference point (e.g., ignores movements of the reference point below a threshold movement amount, such as moving 0 to 5 degrees or moving 0 to 50 cm). For example, when the reference point (e.g., the portion of the environment or the view point to which the virtual object is locked) moves a first amount, the distance between the reference point and the virtual object increases (e.g., because the virtual object is being displayed to maintain a fixed or substantially fixed position relative to a view point or a portion of the environment that is different from the reference point to which the virtual object is locked), and when the reference point (e.g., the portion of the environment or the view point to which the virtual object is locked) moves a second amount that is greater than the first amount, the distance between the reference point and the virtual object initially increases (e.g., because the virtual object is being displayed to maintain a fixed or substantially fixed position relative to a view point or a portion of the environment that is different from the reference point to which the virtual object is locked), and then decreases as the movement amount 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 orientation of the virtual object relative to the reference point includes the virtual object being displayed within a threshold distance (e.g., 1 cm, 2 cm, 3 cm, 5 cm, 15 cm, 20 cm, 50 cm) of the reference point in one or more dimensions (e.g., up / down, left / right, and / or forward / backward relative to the orientation of the reference point).

[0050] Hardware: There are many different types of electronic systems that enable a person to sense and / or interact with various XR environments. Examples include head-mounted systems, projection-based systems, head-up displays (HUDs), vehicle windshields integrated with display capabilities, windows integrated with display capabilities, displays formed as lenses designed to be placed on a person's eyes (e.g., similar to contact lenses), headphones / earpieces, speaker arrays, input systems (e.g., wearable or handheld controllers with or without haptic feedback), smart phones, tablet devices, and desktop / laptop computers. A head-mounted system can have one or more speakers and an integrated opaque display. Alternatively, the head-mounted system can be configured to accept an external opaque display (e.g., a smart phone). The 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. The head-mounted system can have a transparent or translucent display instead of an opaque display. The transparent or translucent display can have a medium through which light representing an image is directed to a person's eyes. The display can utilize digital light projection, OLED, LED, uLED, liquid crystal on silicon, laser scanning light sources, or any combination of these technologies. The medium can be an optical waveguide, a holographic medium, an optical combiner, an optical reflector, or any combination thereof. In one embodiment, the transparent or translucent display can be configured to selectively become opaque. A projection-based system can employ retinal projection techniques that project graphical images onto a person's retina. The projection system can also be configured to project virtual objects into the physical environment, such as as a hologram or on a physical surface. In some embodiments, the controller 110 is configured to manage and coordinate the user's XR experience. In some embodiments, the controller 110 includes a suitable combination of software, firmware, and / or hardware. Reference is made below to Figure 2The controller 110 is described in more detail. In some embodiments, the controller 110 is a computing device that is local or remote relative to the scene 105 (e.g., a physical environment). For example, the controller 110 is a local server located within the scene 105. As another example, the controller 110 is a remote server (e.g., a cloud server and / or a central server) located outside the scene 105. In some embodiments, the controller 110 is communicatively coupled to the display generation component 120 (e.g., an HMD, a display, a projector, and / or a touch screen) via one or more wired or wireless communication channels 144 (e.g., Bluetooth, IEEE 802.11x, IEEE 802.16x, and / or IEEE 802.3x). As another example, the controller 110 is included within the housing (e.g., a physical enclosure) of one or more of the input devices in the display generation component 120 (e.g., an HMD or a portable electronic device including a display and one or more processors), the input device 125, one or more of the output devices in the output device 155, one or more of the sensors in the sensor 190, and / or one or more of the peripheral devices in the peripheral device 195, or shares the same physical housing or support structure with one or more of the above devices.

[0051] 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. The display generation component 120 is described in more detail below with respect to Figure 3 In some embodiments, the functions of the controller 110 are provided by and / or in combination with the display generation component 120.

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

[0053] In some embodiments, the display generation component is worn on a part of the user's body (e.g., on his / her head and / or on his / her hand). As such, the display generation component 120 includes one or more XR displays provided for displaying XR content. For example, in various embodiments, the display generation component 120 surrounds the user's field of view. In some embodiments, the display generation component 120 is a handheld device (such as a smart phone or a tablet device) configured to present XR content, and the user holds the device having a display facing the user's field of view and a camera facing the scene 105. In some embodiments, the handheld device is optionally placed inside 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 chamber, housing, or room configured to present XR content, where the user does not wear or hold the display generation component 120. Many user interfaces described with reference to one type of hardware for displaying XR content (e.g., a handheld device or a device on a tripod) can be implemented on another type of hardware for displaying XR content (e.g., an HMD or other wearable computing device). For example, a user interface showing an interaction with XR content triggered based on an interaction occurring in the space in front of a handheld device or a tripod-mounted device can be similarly implemented with an HMD, where the interaction occurs in the space in front of the HMD, and the response to the XR content is displayed via the HMD. Similarly, a user interface showing an interaction with XR content triggered based on the movement of a handheld device or a tripod-mounted device relative to the physical environment (e.g., the scene 105 or a part of the user's body (e.g., the user's eyes, head, or hand)) can be similarly implemented with an HMD, where the movement is caused by the movement of the HMD relative to the physical environment (e.g., the scene 105 or a part of the user's body (e.g., the user's eyes, head, or hand)).

[0054] Although relevant features of the operating environment 100 are shown in Figure 1 For the sake of brevity and to not obscure more relevant aspects of the exemplary embodiments disclosed herein, various other features are not shown, as would be recognized by those of ordinary skill in the art from this disclosure.

[0055] Figure 2FIG. 0 is a block diagram of an example of a controller 110 according to some embodiments. Although some specific features are shown, those skilled in the art will recognize from this disclosure that various other features are not shown for the sake of brevity and to not obscure more relevant aspects of the embodiments disclosed herein. To that end, by way of non-limiting example, in some embodiments, the controller 110 includes one or more processing units 202 (e.g., 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.

[0056] In some embodiments, one or more communication buses 204 include circuitry for interconnecting and controlling communication between system components. In some embodiments, one or more I / O devices 206 include at least one of a keyboard, a mouse, a touchpad, a joystick, one or more microphones, one or more speakers, one or more image sensors, one or more displays, etc.

[0057] The memory 220 includes high-speed random access memory, such as dynamic random access memory (DRAM), static random access memory (SRAM), double data rate random access memory (DDR RAM), or other random access solid-state memory devices. In some embodiments, the memory 220 includes non-volatile memory, such as one or more disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. The memory 220 optionally includes one or more storage devices located remotely from one or more processing units 202. The memory 220 includes non-transitory computer-readable storage medium. In some embodiments, the memory 220 or the non-transitory computer-readable storage medium of the memory 220 stores the following programs, modules, and data structures, or a subset thereof, including an optional operating system 230 and an XR experience module 240.

[0058] 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 respective groups of one or more users). To this end, in various embodiments, the XR experience module 240 includes a data acquisition unit 241, a tracking unit 242, a coordination unit 246, and a data transmission unit 248.

[0059] In some embodiments, the data acquisition unit 241 is configured to obtain data (e.g., presentation data, interaction data, sensor data, and / or location data) from at least the display generation component 120 of Figure 1 and optionally from one or more of the input device 125, the output device 155, the sensors 190, and / or the peripheral devices 195. To this end, in various embodiments, the data acquisition unit 241 includes instructions and / or logic for instructions and heuristics and metadata for heuristics.

[0060] In some embodiments, the tracking unit 242 is configured to map the scene 105 and track the positioning / location of at least the display generation component 120 relative to Figure 1 the scene 105, and optionally the positioning / location relative to one or more of the tracking input device 125, the output device 155, the sensors 190, and / or the peripheral devices 195. To this end, in various embodiments, the tracking unit 242 includes instructions and / or logic for instructions and heuristics and metadata for heuristics. In some embodiments, the tracking unit 242 includes a hand tracking unit 244 and / or an eye tracking unit 243. In some embodiments, the hand tracking unit 244 is configured to track the positioning / location of one or more parts of the user's hand and / or the movement of one or more parts of the user's hand relative to Figure 1 the scene 105, relative to the display generation component 120, and / or relative to a coordinate system (which is defined relative to the user's hand). The hand tracking unit 244 is described in more detail below with respect to Figure 4 . In some embodiments, the eye tracking unit 243 is configured to track the positioning or movement of the user's gaze (or more generally, the user's eyes, face, or head) relative to the scene 105 (e.g., relative to the physical environment and / or relative to the user (e.g., the user's hand)) or relative to the XR content displayed via the display generation component 120. The eye tracking unit 243 is described in more detail below with respect to Figure 5 .

[0061] In some embodiments, the coordination unit 246 is configured to manage and coordinate XR experiences presented to the user by the display generation component 120 and optionally by one or more of the output device 155 and / or the peripheral device 195. For this purpose, in various embodiments, the coordination unit 246 includes instructions and / or logic for the instructions as well as heuristics and metadata for the heuristics.

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

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

[0064] In addition, Figure 2 Rather, it serves more as a functional description of the various features that may be present in a particular implementation, as opposed to the structural schematic of the embodiments described herein. As will be recognized by those of ordinary skill in the art, items shown separately may be combined and some items may be separated. For example, Figure 2 some of the functional modules shown separately in may be implemented in a single module, and the various functions of a single functional block may be implemented by one or more functional blocks in various embodiments. The actual number of modules and the specific division of functions and how the features are allocated therein will vary depending on the particular implementation and, in some embodiments, will depend in part on the particular combination of hardware, software, and / or firmware selected for the particular implementation.

[0065] Figure 3FIG. is a block diagram of an example of a display generation component 120 according to some embodiments. Although some specific features are shown, those skilled in the art will recognize from this disclosure that various other features are not shown for the sake of brevity and to not obscure more relevant aspects of the embodiments disclosed herein. For that purpose, as a non-limiting example, in some embodiments, the display generation component 120 (e.g., an HMD) includes one or more processing units 302 (e.g., a microprocessor, ASIC, FPGA, GPU, CPU, processing core, etc.), one or more input / output (I / O) devices and sensors 306, one or more communication interfaces 308 (e.g., USB, FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE802.11x, IEEE 802.16x, GSM, CDMA, TDMA, GPS, IR, Bluetooth, ZIGBEE, and / or similar types of interfaces), one or more programming (e.g., I / O) interfaces 310, one or more XR displays 312, one or more optional internal and / or external image sensors 314, a memory 320, and one or more communication buses 304 for interconnecting these components and various other components.

[0066] In some embodiments, one or more communication buses 304 include circuitry for interconnecting and controlling communication between the various system components. In some embodiments, one or more I / O devices and sensors 306 include an inertial measurement unit (IMU), accelerometers, gyroscopes, thermometers, one or more physiological sensors (e.g., a blood pressure monitor, a heart rate monitor, a blood oxygen sensor, and / or a blood glucose sensor), 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.).

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

[0068] In some embodiments, one or more image sensors 314 are configured to obtain image data corresponding to at least a portion of the user's face including the user's eyes (and may be referred to as an eye-tracking camera). In some embodiments, one or more image sensors 314 are configured to obtain image data corresponding to at least a portion of the user's hand and optionally the user's arm (and may be referred to as a hand-tracking camera). In some embodiments, one or more image sensors 314 are configured to face forward to obtain image data corresponding to a scene that the user would see in the absence of the display generation component 120 (e.g., an HMD) (and may be referred to as a scene camera). One or more optional image sensors 314 may include one or more RGB cameras (e.g., having a complementary metal-oxide semiconductor (CMOS) image sensor or a charge-coupled device (CCD) image sensor), one or more infrared (IR) cameras, and / or one or more event-based cameras, etc.

[0069] 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 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 remotely from one or more processing units 302. Memory 320 includes non-transitory computer-readable storage medium. In some embodiments, memory 320 or the non-transitory computer-readable storage medium of memory 320 stores the following programs, modules, and data structures or subsets thereof, including optionally operating system 330 and XR rendering module 340.

[0070] Operating system 330 includes procedures for handling various basic system services and for performing hardware-related tasks. In some embodiments, XR rendering module 340 is configured to present XR content to a user via one or more XR displays 312. For this purpose, in various embodiments, XR rendering module 340 includes data acquisition unit 342, XR rendering unit 344, XR mapping generation unit 346, and data transmission unit 348.

[0071] In some embodiments, data acquisition unit 342 is configured to obtain data (e.g., presentation data, interaction data, sensor data, and / or location data) from at least Figure 1 controller 110. For this purpose, in various embodiments, data acquisition unit 342 includes instructions and / or logic for the instructions, as well as heuristics and metadata for the heuristics.

[0072] In some embodiments, XR rendering unit 344 is configured to present XR content via one or more XR displays 312. For this purpose, in various embodiments, XR rendering unit 344 includes instructions and / or logic for the instructions, as well as heuristics and metadata for the heuristics.

[0073] In some embodiments, XR mapping generation unit 346 is configured to generate an XR map (e.g., a 3D map of a mixed reality scene or a map of a physical environment in which computer-generated objects can be placed to generate extended reality) based on media content data. For this purpose, in various embodiments, XR mapping generation unit 346 includes instructions and / or logic for the instructions, as well as heuristics and metadata for the heuristics.

[0074] In some embodiments, the data sending unit 348 is configured to send data (e.g., presentation data and / or location data) to at least the controller 110, and optionally to one or more of the input device 125, the output device 155, the sensor 190, and / or the peripheral device 195. For this purpose, in various embodiments, the data sending unit 348 includes instructions and / or logic for the instructions and heuristics and metadata for the heuristics.

[0075] Although the data acquisition unit 342, the XR presentation unit 344, the XR mapping generation unit 346, and the data sending unit 348 are shown as residing on a single device (e.g., Figure 1 the display generation component 120 of), it should be understood that in other embodiments, any combination of the data acquisition unit 342, the XR presentation unit 344, the XR mapping generation unit 346, and the data sending unit 348 may be located in separate computing devices.

[0076] In addition, Figure 3 is more of a functional description of the various features that may exist in a particular embodiment, as opposed to the schematic structural diagrams of the embodiments described herein. As will be recognized by those of ordinary skill in the art, items shown separately may be combined, and some items may be separated. For example, Figure 3 some of the functional modules shown separately in may be implemented in a single module, and the various functions of a single functional block may be implemented by one or more functional blocks in various embodiments. The actual number of modules and the specific division of functions and how the features are allocated therein will vary depending on the particular implementation, and in some embodiments, will depend in part on the particular combination of hardware, software, and / or firmware selected for the particular implementation.

[0077] Figure 4 is a schematic illustration of an exemplary embodiment of the hand tracking device 140. In some embodiments, the hand tracking device 140 ( Figure 1 ) is controlled by the hand tracking unit 244 ( Figure 2 ) to track the positioning / position of one or more parts of the user's hand, and / or one or more parts of the user's hand relative to Figure 1Movement of the scene 105 (e.g., relative to a portion of the physical environment around the user, relative to the display generation component 120, or relative to a portion of the user (e.g., the user's face, eyes, or head), and / or relative to a coordinate system that is defined relative to the user's hand). In some embodiments, the hand tracking device 140 is part of the display generation component 120 (e.g., embedded in or attached to a head-mounted device). In some embodiments, the hand tracking device 140 is separate from the display generation component 120 (e.g., located in a separate housing or attached to a separate physical support structure).

[0078] In some embodiments, the hand tracking device 140 includes an image sensor 404 that captures three-dimensional scene information of at least the hand 406 of a human user (e.g., one or more IR cameras, 3D cameras, depth cameras, and / or color cameras). The image sensor 404 captures hand images at a sufficient resolution to distinguish the fingers and their corresponding positions. The image sensor 404 typically captures images of other parts of the user's body, and may also or possibly capture images of all parts of the body, and may have zoom capabilities or dedicated 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 combination with other image sensors to capture the physical environment of the scene 105, or serves as the image sensor for capturing the physical environment of the scene 105. In some embodiments, the image sensor 404 or a portion of its field of view is positioned relative to the user or the user's environment in a manner that defines an interaction space in which hand movements captured by the image sensor are treated as inputs to the controller 110.

[0079] In some embodiments, the image sensor 404 outputs a sequence of frames containing 3D map data (and in addition, possibly color image data) to the controller 110, which extracts high-level information from the map data. This high-level information is typically provided to an application running on the controller via an application programming interface (API), and the application drives the display generation component 120 accordingly. For example, the user can interact with software running on the controller 110 by moving his hand 406 and changing his hand pose.

[0080] In some embodiments, the image sensor 404 projects a speckle pattern onto a scene that includes the hand 406 and captures an image of the projected pattern. In some embodiments, the controller 110 calculates the 3D coordinates of points in the scene (including points on the surface of the user's hand) by triangulation based on the lateral offset of the speckles in the pattern. This method is advantageous because it does not require the user to hold or wear any kind of beacon, sensor, or other marker. The method gives the depth coordinates of points in the scene at a specific distance from the image sensor 404 relative to a pre-determined reference plane. In the present disclosure, it is assumed that the image sensor 404 defines an orthogonal set of x, y, and z axes such that the depth coordinate of a point in the scene corresponds to the z component measured by the image sensor. Alternatively, the image sensor 404 (e.g., a hand tracking device) may use other 3D mapping methods, such as stereoscopic imaging or time-of-flight measurement, based on a single or multiple cameras or other types of sensors.

[0081] In some embodiments, the hand tracking device 140 captures and processes a time series of depth maps that include the user's hand as the user moves his hand (e.g., the entire hand or one or more fingers). Software running on a processor in the image sensor 404 and / or the controller 110 processes the 3D map data to extract image patch descriptors of the hand in these depth maps. The software may match these descriptors to image patch descriptors stored in the database 408 based on a previous learning process in order to estimate the pose of the hand in each frame. The pose generally includes the 3D positions of the user's hand joints and finger tips.

[0082] The software may also analyze the trajectories of the hand and / or fingers over multiple frames in the sequence to identify gestures. The pose estimation function described herein may alternate with the motion tracking function such that the image patch-based pose estimation is only performed once every two (or more) frames, while tracking is used to find changes in the pose that occur on the remaining frames. Pose, motion, and gesture information is provided to an application running on the controller 110 via the aforementioned API. The program may, 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.

[0083] In some embodiments, the gesture includes an air gesture. An air gesture is detected without the user touching an input element (or independent of an input element that is part of a device (e.g., computer system 101, one or more input devices 125, and / or hand tracking device 140)) and is based on the detected movement of a part of the user's body (e.g., head, one or more arms, one or more hands, one or more fingers, and / or one or more legs) through the air (including movement of the user's body relative to an absolute reference (e.g., the angle of the user's arm relative to the ground or the distance of the user's hand relative to the ground), movement relative to another part of the user's body (e.g., movement of the user's hand relative to the user's shoulder, movement of one of the user's hands relative to the other of the user's hands, and / or movement of the user's finger relative to another finger or part of the hand of the user), and / or absolute movement of a part of the user's body (e.g., a tap gesture that includes the hand moving a predetermined amount and / or speed in a predetermined pose, or a shake gesture that includes a predetermined speed or amount of rotation of a part of the user's body)).

[0084] 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 the user's fingers relative to other fingers or parts of the user's hand. In some embodiments, an air gesture is detected without the user touching an input element that is part of a device (or independent of an input element that is part of a device) and is based on the detected movement of a part of the user's body through the air (including 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 other of the user's hands, and / or movement of the user's finger relative to another finger or part of the hand of the user), and / or absolute movement of a part of the user's body (e.g., a tap gesture that includes the hand moving a predetermined amount and / or speed in a predetermined pose, or a shake gesture that includes a predetermined speed or amount of rotation of a part of the user's body)).

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

[0086] In some implementations, an input gesture directed to a user interface object is performed with direct or indirect reference to the user interface object. For example, user input is performed directly on the user interface object according to input performed at a location corresponding to the positioning of the user's hand relative to the positioning of the user interface object in a three-dimensional environment (e.g., as determined based on the user's current viewpoint). In some implementations, when attention (e.g., gaze) of the user towards the user interface object is detected, the input gesture is performed indirectly on the user interface object according to the positioning of the user's hand not being at the location corresponding to the positioning of the user interface object in the three-dimensional environment while the user performs the input gesture. For example, for a direct input gesture, the user can direct the user's input to the user interface object by initiating a gesture at or near a location corresponding to the display positioning of the user interface object (e.g., within a distance of 0.5 cm, 1 cm, 5 cm, or between 0 and 5 cm measured from the outer edge of the option or the central part 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 not corresponding to the display positioning of the user interface object).

[0087] In some implementations, according to some implementations, the input gestures (e.g., air gestures) used in the various examples and implementations described herein include pinch input and tap input for interacting with a virtual or mixed reality environment. For example, the pinch input and tap input described below are performed as air gestures.

[0088] In some embodiments, the pinch input is part of an air gesture that includes one or more of the following: a pinch gesture, a long pinch gesture, a pinch and drag gesture, or a double pinch gesture. For example, a pinch gesture as an air gesture includes the movement of two or more fingers of a hand to contact each other, i.e., optionally, followed by an immediate break in contact with each other (e.g., within 0 to 1 second). A long pinch gesture as an air gesture includes the movement of two or more fingers of a hand contacting each other for at least a threshold amount of time (e.g., at least 1 second) before detecting a break in contact with each other. For example, a long pinch gesture includes a user maintaining a pinch gesture (e.g., where two or more fingers are in contact), and the long pinch gesture continues until 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., or more) pinch inputs (e.g., performed by the same hand) detected consecutively and immediately with each other (e.g., within a predefined time period). For example, a user performs a first pinch input (e.g., a pinch input or a long pinch input), releases the first pinch input (e.g., breaks the contact between two or more fingers), and performs a second pinch input within a predefined time period after releasing the first pinch input (e.g., within 1 second or within 2 seconds).

[0089] In some embodiments, a pinching and dragging gesture as an air gesture includes a pinching gesture (e.g., a pinching gesture or a long - pinching gesture) performed in combination with (e.g., following) a dragging input that changes the positioning of the user's hand from a first positioning (e.g., the starting positioning of the drag) to a second positioning (e.g., the ending positioning of the drag). In some embodiments, the user maintains the pinching gesture while performing the dragging input and releases the pinching gesture (e.g., opens their two or more fingers) to end the dragging gesture (e.g., at the second positioning). In some embodiments, the pinching input and the dragging input are performed by the same hand (e.g., the user pinches two or more fingers together and moves the same hand to a second positioning in the air using the dragging gesture). In some embodiments, the pinching input is performed by the user's first hand, and the dragging input is performed by the user's second hand (e.g., while the user continues the pinching input with the user's first hand, the user's second hand moves in the air from a first position to a second position). In some embodiments, an input gesture as an air gesture includes an input performed using both of the user's hands (e.g., a pinching and / or tapping input). For example, the input gesture includes two (e.g., or more) pinching inputs performed in combination with each other (e.g., concurrently or within a predefined time period). For example, a first pinching gesture (e.g., a pinching input, a long - pinching input, or a pinching and dragging input) is performed using the user's first hand, and in combination with performing the pinching input with the first hand, a second pinching input is performed using the other hand (e.g., the second of the user's two hands). In some embodiments, the movement between the user's two hands (e.g., increasing and / or decreasing the distance or relative orientation between the user's two hands)

[0090] In some embodiments, a tapping input performed as an air gesture (e.g., directed to a user interface element) includes the movement of the user's finger towards the user interface element, the movement of the user's hand towards the user interface element (optionally, the user's finger extends towards the user interface element), the downward movement of the user's finger (e.g., mimicking a mouse click movement or a tap on a touchscreen), or other predefined movements of the user's hand. In some embodiments, a tapping input performed as an air gesture is detected based on the movement characteristics of the finger or hand performing the tapping gesture movement, which is the movement of the finger or hand away from the user's viewing point and / or towards an object that is the target of the tapping input, followed by the end of the movement. In some embodiments, the end of the movement is detected based on a change in the movement characteristics of the finger or hand performing the tapping gesture (e.g., the end of the movement away from the user's viewing point and / or towards an object that is the target of the tapping input, the reversal of the movement direction of the finger or hand, and / or the reversal of the acceleration direction of the movement of the finger or hand).

[0091] In some embodiments, it is determined that the user's attention is directed to a portion of the three-dimensional environment based on detection of a gaze directed to the portion of the three-dimensional environment (optionally, without the need for other conditions). In some embodiments, it is determined that the user's attention is directed to a portion of the three-dimensional environment based on detection of a gaze directed to the portion of the three-dimensional environment using one or more additional conditions, such as requiring the gaze to be directed to the portion of the three-dimensional environment for at least a threshold duration (e.g., dwell duration) and / or requiring the gaze to be directed to the portion of the three-dimensional environment when the user's viewpoint is within a distance threshold from the portion of the three-dimensional environment, such that the device determines that the user's attention is directed to the portion of the three-dimensional environment, where if one of these additional conditions is not met, the device determines that the attention is not directed to the portion of the three-dimensional environment to which the gaze is directed (e.g., until the one or more additional conditions are met).

[0092] In some embodiments, detection of a readiness state configuration of the user or a portion of the user is detected by a computer system. Detection of a readiness state configuration of a hand is used by the computer system as an indication that the user may be about to interact with the computer system using one or more air gesture inputs (e.g., pinch, tap, pinch and drag, double pinch, long pinch, or other air gestures described herein) performed by the hand. For example, based on whether the hand has a predetermined hand shape (e.g., a pre-pinch shape where the thumb and one or more fingers are extended and spaced apart to prepare for a pinch or grab gesture, or a pre-tap where one or more fingers are extended and the palm faces away from the user), based on whether the hand is in a predetermined orientation relative to the user's viewpoint (e.g., below the user's head and above the user's waist and extending at least 15 cm, 20 cm, 25 cm, 30 cm, or 50 cm from the body), and / or based on whether the hand has moved in a particular manner (e.g., moving towards an area in front of the user that is above the user's waist and below the user's head or moving away from the user's body or legs) to determine the readiness state of the hand. In some embodiments, the readiness state is used to determine whether interactive elements of the user interface respond to attention (e.g., gaze) input.

[0093] In scenarios where input is described with reference to air gestures, it should be understood that a hardware input device attached to one or more of the user's hands or held by one or more of the user's hands can be used to detect similar gestures, where optical tracking, one or more accelerometers, one or more gyroscopes, one or more magnetometers, and / or one or more inertial measurement units can be used to track the positioning of the hardware input device in space, and the positioning and / or movement of the hardware input device is used in place of the positioning and / or movement of one or more hands in the corresponding air gesture. In scenarios where input is described with reference to air gestures, it should be understood that a hardware input device attached to one or more of the user's hands or held by one or more of the user's hands can be used to detect similar gestures. User input can be detected using controls contained within the hardware input device, such as one or more touch-sensitive input elements, one or more pressure-sensitive input elements, one or more buttons, one or more knobs, one or more dials, one or more joysticks, one or more hand or finger overlays that can detect the positioning or change in positioning of parts of the hand and / or fingers relative to each other, relative to the user's body, and / or relative to the user's physical environment, and / or other hardware input device controls, where user input using the controls contained within the hardware input device is used in place of hand and / or finger gestures such as an air tap or an air pinch in the corresponding air gesture. For example, a selection input described as being performed using an air tap or an air pinch input can alternatively be detected using a button press, a tap on a touch-sensitive surface, a press on a pressure-sensitive surface, or other hardware input. As another example, a movement input described as being performed using an air pinch and drag can alternatively be detected based on an interaction with a hardware input control (such as a button press and hold, a touch on a touch-sensitive surface, a press on a pressure-sensitive surface, or other hardware input after the movement of the hardware input device (e.g., along with the hand associated with the hardware input device) through space). Similarly, a two-handed input that includes movement of the hands relative to each other can be performed using one air gesture and one hardware input device in a hand not performing the air gesture, two hardware input devices held in different hands, or two air gestures performed using different hands and / or various combinations of inputs detected by the one or more hardware input devices described above.

[0094] In some embodiments, the software can be downloaded electronically to the controller 110, for example, via a network, or can alternatively be provided on a tangible non-transitory medium such as an optical, magnetic, or electronic memory medium. In some embodiments, the database 408 is similarly stored in the memory associated with the controller 110. Alternatively or in addition, some or all of the described functions of the computer can be implemented in dedicated hardware (such as a custom or semi-custom integrated circuit or a programmable digital signal processor (DSP)). Although in Figure 4The controller 110 is shown, but by way of example, some or all of the processing functions of the controller, as a unit separate from the image sensor 404, 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 devices 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, a handheld device, or a head-mounted device) or integrated with any other suitable computerized device (such as a game console or a media player). The sensing function of the image sensor 404 may likewise be integrated into a computer or other computerized device to be controlled by the sensor output.

[0095] Figure 4 Also shown 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 having corresponding depth values. The pixels 412 corresponding to the hand 406 have been segmented from the background and the 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 the gray shading becomes darker as the depth increases. The controller 110 processes these depth values to identify and segment the components (i.e., a group of adjacent pixels) of the image having human hand characteristics. These characteristics may include, for example, overall size, shape, and motion from frame to frame in a sequence of depth maps.

[0096] Figure 4 Also schematically shown is a hand skeleton 414 that the controller 110 ultimately extracts from the depth map 410 of the hand 406 according to some embodiments. In Figure 4 this figure, the hand skeleton 414 is superimposed on the hand background 416 that has been segmented from the original depth map. In some embodiments, key feature points on the hand and optionally on the wrist or arm connected to the hand (e.g., points corresponding to knuckles, finger tips, the center of the palm, and / or the end of the hand connected to the wrist) are identified and located on the hand skeleton 414. In some embodiments, the controller 110 uses the positions and movements of these key feature points across multiple image frames to determine, according to some embodiments, the gesture performed by the hand or the current state of the hand.

[0097] Figure 5 An exemplary embodiment of an eye tracking device 130 ( Figure 1 ) is shown. In some embodiments, the eye tracking device 130 is composed of an eye tracking unit 243 ( Figure 2)Control is used to track the positioning and movement of the user's gaze relative to the scene 105 or relative to the XR content displayed via the display generation component 120. In some embodiments, the eye tracking device 130 is integrated with the display generation component 120. For example, in some embodiments, when the display generation component 120 is a head-mounted device (such as, a head-mounted headset, helmet, goggles, or glasses) or a handheld device placed in a wearable frame, the head-mounted device includes both components for generating XR content for the user to view and components for tracking the user's gaze relative to the XR content. In some embodiments, the eye tracking device 130 is separate from the display generation component 120. For example, when the display generation component is a handheld device or an XR room, the eye tracking device 130 is optionally a device separate from the handheld device or the XR room. In some embodiments, the eye tracking device 130 is a head-mounted device or part of a head-mounted device. In some embodiments, the head-mounted eye tracking device 130 is optionally used in combination with a display generation component that is also head-mounted or a display generation component that is not head-mounted. In some embodiments, the eye tracking device 130 is not a head-mounted device and is optionally used in combination with a head-mounted display generation component. In some embodiments, the eye tracking device 130 is not a head-mounted device and is optionally part of a non-head-mounted display generation component.

[0098] In some embodiments, the display generation component 120 uses a display mechanism (e.g., a left near-eye display panel and a right near-eye display panel) to display a frame including a left image and a right image in front of the user's eyes, thereby providing the user with a 3D virtual view. For example, a head-mounted display generation component may include a left optical lens and a right optical lens (referred to herein as eye lenses) located between the display and the user's eyes. In some embodiments, the display generation component may include or be coupled to one or more external cameras that capture video of the user's environment for display. In some embodiments, the head-mounted display generation component may have a transparent or translucent display, and virtual objects are displayed on the transparent or translucent display, through which the user can directly view the physical environment. In some embodiments, the display generation component projects virtual objects into the physical environment. The virtual objects may be projected, for example, onto a physical surface or projected as a hologram such that an individual uses the system to observe the virtual objects superimposed over the physical environment. In this case, separate display panels and image frames for the left and right eyes may not be required.

[0099] As Figure 5As shown, in some embodiments, the eye tracking device 130 (e.g., a gaze tracking device) includes at least one eye tracking camera (e.g., an infrared (IR) or near-infrared (NIR) camera), and an illumination source (e.g., an IR or NIR light source, such as an array or ring of LEDs) that emits light (e.g., IR or NIR light) toward the user's eyes. The eye tracking camera may be pointed at the user's eyes to receive IR or NIR light directly reflected from the eyes by the light source, or alternatively may be pointed at a "hot" mirror located between the user's eyes and the display panel, which reflects the IR or NIR light from the eyes to the eye tracking camera while allowing visible light to pass through. The eye tracking device 130 optionally captures images of the user's eyes (e.g., as a video stream captured at 60 frames per second - 120 frames per second (fps)), analyzes the images to generate gaze tracking information, and transmits the gaze tracking information to the controller 110. In some embodiments, both of the user's eyes are tracked separately by corresponding eye tracking cameras and illumination sources. In some embodiments, only one of the user's eyes is tracked by corresponding eye tracking cameras and illumination sources.

[0100] In some embodiments, a device-specific calibration process is used to calibrate the eye tracking device 130 to determine the parameters of the eye tracking device for a particular operating environment 100, such as the 3D geometric relationships and parameters of the LEDs, cameras, hot mirrors (if present), eye lenses, and display screens. The device-specific calibration process can be performed at the factory or another facility before the AR / VR equipment is delivered to the end user. The device-specific calibration process can be an automatic calibration process or a manual calibration process. The user-specific calibration process may include an estimation of the eye parameters of a particular user, such as pupil position, fovea position, optical axis, visual axis, and / or eye separation. 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 fixation point relative to the display.

[0101] As Figure 5As shown, the eye tracking device 130 (e.g., 130A or 130B) includes an eye lens 520 and a gaze tracking system that includes at least one eye tracking camera 540 (e.g., an infrared (IR) or near-infrared (NIR) camera) positioned on the side of the user's face where eye tracking is to be performed, and an illumination source 530 (e.g., an IR or NIR light source, such as an array or ring of NIR light-emitting diodes (LEDs)) that emits light (e.g., IR or NIR light) toward the user's eye 592. The eye tracking camera 540 may be directed at a mirror 550 (which reflects IR or NIR light from the eye 592 while allowing visible light to pass through) located between the user's eye 592 and the display 510 (e.g., the left display panel or right display panel of a head-mounted display, or the display and / or projector of a handheld device) (e.g., as shown in the top portion of Figure 5 ), or alternatively may be directed at the user's eye 592 to receive reflected IR or NIR light from the eye 592 (e.g., as shown in the bottom portion of Figure 5 ).

[0102] In some embodiments, the controller 110 renders AR or VR frames 562 (e.g., left and right frames for a left display panel and a right display panel) and provides the frames 562 to the display 510. The controller 110 uses the gaze tracking input 542 from the eye tracking camera 540 for various purposes, such as 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 using a flash assist method or other suitable method. The gaze point estimated based on the gaze tracking input 542 is optionally used to determine the direction in which the user is currently looking.

[0103] The following describes several possible use cases of the current gaze direction of a user and is not intended to be limiting. As an example use case, the controller 110 may render virtual content differently based on the determined direction of the user's gaze. For example, the controller 110 may generate virtual content at a higher resolution in the foveal region determined according to the user's current gaze direction than in the peripheral region. As another example, the controller may position or move virtual content in the view at least in part based on the user's current gaze direction. As another example, the controller may display specific virtual content in the view at least in part based on the user's current gaze direction. As another example use case in an AR application, the controller 110 may direct an external camera for capturing the physical environment of the XR experience to focus in the determined direction. Then, the autofocus mechanism of the external camera may focus on an object or surface in the environment that the user is currently looking at on the display 510. As another example use case, the eye lens 520 may be a focusable lens, and the controller uses the gaze tracking information to adjust the focus of the eye lens 520 such that the virtual object that the user is currently looking at has an appropriate vergence to match the convergence of the user's eyes 592. The controller 110 may utilize the gaze tracking information to direct the eye lens 520 to adjust the focus such that a nearby object that the user is looking at appears at the correct distance.

[0104] In some embodiments, the eye tracking device is part of a head-mounted device that includes a display (e.g., display 510) mounted in a wearable housing, two eye lenses (e.g., eye lenses 520), an eye tracking camera (e.g., eye tracking camera 540), and a light source (e.g., illumination source 530 (e.g., IR or NIR LED)). The light source emits light (e.g., IR or NIR light) towards the user's eyes 592. In some embodiments, the light source may be arranged in a ring or circle around each of the lenses, as Figure 5 shown. In some embodiments, for example, eight illumination sources 530 (e.g., LEDs) are arranged around each lens 520. However, more or fewer illumination sources 530 may be used, and other arrangements and positions of the illumination sources 530 may be used.

[0105] In some embodiments, the display 510 emits light in the visible light range and does not emit light in the IR or NIR range, and thus does not introduce noise in the gaze tracking system. Note that the position and angle of the eye tracking camera 540 are given by way of example and are not intended to be limiting. In some embodiments, a single eye tracking camera 540 is located on each side of the user's face. In some embodiments, two or more NIR cameras 540 may be used on each side of the user's face. In some embodiments, a camera 540 with a 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.

[0106] As Figure 5 The embodiments of the gaze tracking system shown in, for example, may be used 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 the user.

[0107] Figure 6 A flash-assisted gaze tracking pipeline according to some embodiments is shown. In some embodiments, the gaze tracking pipeline is implemented by a flash-assisted gaze tracking system (e.g., an eye tracking device 130 as shown in Figure 1 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, when analyzing the current frame to track the pupil contour and flash in the current frame, the flash-assisted gaze tracking system uses the previous information from the previous frame. When not in the tracking state, the flash-assisted gaze tracking system attempts to detect the pupil and flash in the current frame, and if successful, initializes the tracking state to "yes" and continues with the next frame in the tracking state.

[0108] As Figure 6 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 into 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, for example, at a rate of 60 to 120 frames per second. In some embodiments, each set of captured images can be input into the pipeline for processing. However, in some embodiments or under some conditions, not all of the captured frames are processed by the pipeline.

[0109] At 610, for the currently captured image, if the tracking state is yes, the method proceeds to element 640. At 610, if the tracking state is no, then as indicated at 620, the image is analyzed to detect the user's pupil and flash in the image. At 630, if the pupil and flash are successfully detected, the method proceeds to element 640. Otherwise, the method returns to element 610 to process the next image of the user's eye.

[0110] At 640, if proceeding from element 610, the current frame is analyzed to track the pupil and flash based in part on previous information from a previous frame. At 640, if proceeding from element 630, the tracking state is initialized based on the pupil and flash detected in the current frame. The processing result at element 640 is checked to verify that the result of the tracking or detection can be trusted. For example, the result can be checked to determine whether the pupil and a sufficient number of flashes for performing gaze estimation are successfully tracked or detected in the current frame. At 650, if the result cannot be trusted, then at element 660, the tracking 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 trusted, the method proceeds to element 670. At 670, the tracking state is set to YES (if not already yes), and the pupil and flash information is passed to element 680 to estimate the user's point of gaze.

[0111] Figure 6 It is intended to be used as an example of an eye-tracking technique that can be used for a particular specific implementation. As would be recognized by one of ordinary skill in the art, according to various embodiments, in the computer system 101 for providing an XR experience to a user, other eye-tracking techniques that currently exist or are developed in the future can be used to replace the flash-assisted eye-tracking technique described herein or used in combination with the flash-assisted eye-tracking technique.

[0112] In some embodiments, a captured portion of the real-world environment 602 is used to provide an XR experience to the user, such as a mixed reality environment in which one or more virtual objects are superimposed over a representation of the real-world environment 602.

[0113] Accordingly, the description herein describes some implementations of a three-dimensional environment (e.g., an XR environment) that includes a representation of real-world objects and a representation of virtual objects. For example, the three-dimensional environment optionally includes a representation of a table that exists in a physical environment, which is captured and displayed in the three-dimensional environment (e.g., actively displayed via a camera and a display of a computer system or passively displayed via a transparent or semi-transparent display of the computer system). As previously described, the three-dimensional environment is optionally a mixed reality system, where the three-dimensional environment is based on the physical environment captured by one or more sensors of the computer system and displayed via a display generation component. As a mixed reality system, the computer system is optionally capable of selectively displaying portions and / or objects of the physical environment such that the corresponding portions and / or objects of the physical environment appear as if they exist in the three-dimensional environment displayed by the computer system. Similarly, the computer system is optionally capable of displaying virtual objects in the three-dimensional environment at corresponding locations that have corresponding positions in the real world such that the virtual objects appear as if they exist in the real world (e.g., the physical environment). For example, the computer system optionally displays a vase such that the vase appears as if a real vase is placed on top of a table in the physical environment. In some implementations, the corresponding locations in the three-dimensional environment have corresponding positions in the physical environment. Thus, when the computer system is described as displaying a virtual object at a corresponding location relative to a physical object (e.g., a location at or near the user's hand or a location at or near a physical table), the computer system displays the virtual object at a specific location in the three-dimensional environment such that it appears as if the virtual object is at or near the physical object in the physical environment (e.g., the virtual object is displayed at a location in the three-dimensional environment corresponding to the location where the virtual object would be displayed in the physical environment if the virtual object were a real object at that specific location).

[0114] In some implementations, real-world objects that exist in a physical environment and 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 can include a table and a vase placed on top of the table, where the table is a view (or representation) of a physical table in the physical environment and the vase is a virtual object.

[0115] In a three-dimensional environment (e.g., a real environment, a virtual environment, or an environment that includes a mixture of real and virtual objects), an object is sometimes said to have depth or simulated depth, or an object is said to be visible, displayed, or placed at different depths. In this context, depth refers to a dimension 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 the fixed set of coordinates). In some embodiments, depth is defined relative to the position or viewpoint of a user, in which case the depth dimension varies based on the position and / or the position and angle of the user's viewpoint. In some embodiments where depth is defined relative to the position of the user located relative to the surface of the environment (e.g., the surface of the floor or ground of the environment), an object that is further away from the user along a line extending parallel to the surface is considered to have a greater depth in the environment, and / or the depth of the object is measured along an axis that extends outward from the user's position and is parallel to the surface of the environment (e.g., depth is defined in a cylindrical or substantially cylindrical coordinate system, where the user's position is at the center of the cylinder extending from the user's head towards the user's feet). In some embodiments where depth is defined relative to the user's viewpoint (e.g., the direction relative to a point in space that determines which part of the environment is visible via a head-mounted device or other display), an object that is further away from the user's viewpoint along a line extending parallel to the user's viewpoint is considered to have a greater depth in the environment, and / or the depth of the object is measured along an axis that extends outward from the user's viewpoint and is parallel to the direction of the user's viewpoint (e.g., depth is defined in a spherical or substantially spherical coordinate system, where the origin of the viewpoint is at the center of the 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 that displays application and / or system content), where the user interface container has a certain 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 the 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 away from the user or the user's viewpoint), the height and / or width of the container is typically orthogonal or substantially orthogonal to the line extending from the user's position (e.g., the user's viewpoint or the user's position) to the user interface container (e.g., the center of the user interface container or another feature point of the user interface container). In some embodiments where depth is defined relative to the 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 that extend away from the user or from the user's viewpoint in different directions and / or from different starting points).In some embodiments, when defining depth relative to a user interface container, the direction of the depth dimension remains constant for the user interface container as the position of the user interface container, the user, and / or the user's viewing point changes (e.g., or when multiple different viewers are viewing the same container in a three-dimensional environment, such as during a face-to-face collaboration session and / or when multiple participants are in a real-time communication session with shared virtual content that includes the container). In some embodiments, for a curved container (e.g., including a container having a curved surface or a curved content area), the depth dimension optionally extends into the surface of the curved container. In some cases, z-spacing (e.g., the spacing between two objects in the depth dimension), z-height (e.g., the distance between one object and another object 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 an analog z-dimension (e.g., a depth used as a dimension of an object, a dimension of an environment, a direction in space, and / or a direction in an analog space) is used to refer to the concept of depth as described above.

[0116] 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 a physical environment. For example, as described above, one or more sensors of the computer system optionally capture one or more hands of the user and display a representation of the user's hand(s) in the three-dimensional environment (e.g., in a manner similar to displaying real-world objects in the three-dimensional environment described above), or in some embodiments, the user's hand(s) can be seen via the display generation component, via the ability to see the physical environment through the user interface, due to the transparency / translucency of a portion of the user interface being displayed by the display generation component, or due to the projection of the user interface onto a transparent / translucent surface or onto the user's eyes or into the user's field of view. Thus, in some embodiments, the user's hands are displayed at their corresponding positions in the three-dimensional environment and are treated as if they were objects in the three-dimensional environment that can interact with virtual objects in the three-dimensional environment as if those virtual objects were physical objects in a physical environment. In some embodiments, the computer system is able to update the display of the representation of the user's hands in the three-dimensional environment in conjunction with the movement of the user's hands in the physical environment.

[0117] In some of the embodiments described below, the computer system is optionally capable of determining an "effective" distance between a physical object in the physical world and a virtual object in a three-dimensional environment, e.g., for determining whether the physical object is directly interacting with the virtual object (e.g., whether a hand is touching, grasping, and / or holding the virtual object or is within a threshold distance of the virtual object). For example, a hand directly interacting with a virtual object optionally includes one or more of the following: a finger of the hand pressing a virtual button, a hand of the user grasping a virtual vase, the hands of the user brought together and pinching / holding the user interface of an application, and two fingers performing any other type of interaction described herein. For example, when determining whether a user is interacting with a virtual object and / or how the user is interacting with the virtual object, the computer system optionally determines the distance between the user's hand and the virtual object. In some embodiments, the computer system determines the distance between the user's hand and the virtual object by determining the distance between the position of the hand in the three-dimensional environment and the position of the virtual object of interest in the three-dimensional environment. For example, the one or more hands of the user are located at a particular location in the physical world, and the computer system optionally captures the one or more hands and displays the one or more hands at a particular corresponding location in the three-dimensional environment (e.g., the location where the hand would be displayed in the three-dimensional environment if the hand were a virtual hand rather than a physical hand). Optionally, the location of the hand in the three-dimensional environment is compared with the location of the virtual object of interest in the three-dimensional environment to determine the distance between the one or more hands of the user and the virtual object. In some embodiments, the computer system optionally determines the distance between the physical object and the virtual object by comparing the location in the physical world (e.g., rather than comparing the location in the three-dimensional environment). For example, when determining the distance between one or more hands of the user and a virtual object, the computer system optionally determines the corresponding position of the virtual object in the physical world (e.g., the location where the virtual object would be located in the physical world if the virtual object were a physical object rather than a virtual object), and then determines the distance between the corresponding physical location and the one or more hands of the user. In some embodiments, the same techniques are optionally used to determine the distance between any physical object and any virtual object. Thus, as described herein, when determining whether a physical object is in contact with a virtual object or whether a physical object is within a threshold distance of a virtual object, the computer system optionally performs any of the techniques described above to map the position of the physical object to the three-dimensional environment and / or to map the position of the virtual object to the physical environment.

[0118] 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 a physical stylus held by the user is pointing to. For example, if the user's gaze is directed to a particular location in the physical environment, the computer system optionally determines the corresponding location in the three-dimensional environment (e.g., the virtual location of the gaze), and if a virtual object is located at the corresponding virtual location, the computer system optionally determines that the user's gaze is directed to that virtual object. Similarly, the computer system is optionally able to determine the direction in the physical environment to which the stylus is pointing based on the orientation of the physical stylus. In some embodiments, based on this determination, the computer system determines the corresponding virtual location in the three-dimensional environment that corresponds to the location in the physical environment to which the stylus is pointing, and optionally determines that the stylus is pointing to the corresponding virtual location in the three-dimensional environment.

[0119] 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 the computer system in the three-dimensional environment. In some embodiments, the user of the computer system is holding, wearing, or otherwise located at or near the computer system. Thus, in some embodiments, the position of the computer system serves as a proxy for the position of the user. In some embodiments, the position of the computer system and / or the user in the physical environment corresponds to the corresponding position in the three-dimensional environment. For example, the position of the computer system would be the position in the physical environment (and its corresponding position in the three-dimensional environment) from which the user would see, if the user were standing at that position and facing the corresponding portion of the physical environment visible via the display generation component, those objects in the physical environment that are in the same location, orientation, and / or size (e.g., in an absolute sense and / or relative to each other) as the objects that are displayed or visible in the three-dimensional environment by the display generation component of the computer system. 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 positions in the physical environment as the positions of these virtual objects in the three-dimensional environment, and physical objects having the same size and orientation in the physical environment as when in the three-dimensional environment), the position of the computer system and / or the user is the location from which the user would see those virtual objects in the physical environment that are in the same location, orientation, and / or size (e.g., in an absolute sense and / or relative to each other and real-world objects) as the virtual objects displayed in the three-dimensional environment by the display generation component of the computer system.

[0120] In this disclosure, various input methods are described in relation to interaction with a computer system. When one input device or input method is used to provide an example and another input device or input method is used to provide another example, it should be understood that each example may be compatible with and optionally utilize the input device or input method described in relation to the other example. Similarly, various output methods are described in relation to interaction with a computer system. When one output device or output method is used to provide an example and another output device or output method is used to provide another example, it should be understood that each example may be compatible with and optionally utilize the output device or output method described in relation to the other example. Similarly, various methods are described in relation to interaction with a virtual environment or a mixed reality environment via a computer system. When interaction with a virtual environment is used to provide an example and a mixed reality environment is used to provide another example, it should be understood that each example may be compatible with and optionally utilize the methods described in relation to the other example. Accordingly, this disclosure discloses embodiments that are combinations of features of multiple examples without exhaustively listing all features of the embodiments in the description of each example embodiment.

[0121] User Interface and Associated Processes

[0122] Attention is now turned to embodiments of a user interface (“UI”) and associated processes that may be implemented on a computer system, such as a portable multifunctional device or a head-mounted device, having a display generation component, one or more input devices, and optionally one or more cameras.

[0123] 7A to 7I An example of a computer system that facilitates interaction with multiple objects in a three-dimensional environment is shown in accordance with some embodiments.

[0124] Fig. 7A A computer system (e.g., an electronic device) 101a is shown from the perspective of a user 726's view (e.g., facing the back wall of the physical environment in which the computer system 101a is located) from a top view via a display generation component (e.g., Figure 1 the display generation component 120) of the display generation component 120. In some embodiments, the computer system 101a includes a display generation component (e.g., a touch screen) and a plurality of image sensors (e.g., Figure 3image sensor 314). The image sensor optionally includes one or more of the following: a visible light camera; an infrared camera; a depth sensor; or any other sensor that the computer system 101a can use to capture one or more images of the user or a part of the user (e.g., one or more hands of the user) when the user interacts with the computer system 101a. In some embodiments, the user interfaces shown and described below can also be implemented on a head-mounted display that includes a display generation component that displays the user interface or a three-dimensional environment to the user, and sensors that detect the movement of the physical environment and / or the user's hand (e.g., external sensors facing away from the user) and / or sensors that detect the user's attention (e.g., gaze) (e.g., internal sensors facing the user's face).

[0125] As Fig. 7A shown, the computer system 101a captures one or more images of the physical environment around the computer system 101a (e.g., the operating environment 100) (including one or more objects in the physical environment around the computer system 101a). In some embodiments, the computer system 101a displays a representation of the physical environment in a three-dimensional environment 702. For example, the three-dimensional environment 702 includes a representation 722a of a coffee table (corresponding to the table 722b in the top view), which is optionally a representation of a physical coffee table in the physical environment, and the three-dimensional environment 702 includes a representation 724a of a sofa (corresponding to the sofa 724b in the top view), which is optionally a representation of a physical sofa in the physical environment.

[0126] In Fig. 7A it, the three-dimensional environment 702 also includes virtual objects 707a (“Window 1”, corresponding to the object 707b in the top view) and 709a (“Window 2”, corresponding to the object 709b in the top view). The virtual objects 707a and 709a are optionally at different distances from the viewpoint of the user 726 in the three-dimensional environment 702. For example, in Fig. 7A it, the virtual object 707a is located at a first position closer to the viewpoint of the user 726 than the second position at which the virtual object 709a is located in the three-dimensional environment 702, as reflected in the top view. In some embodiments, the virtual objects 707a and 709a are optionally one or more in the user interface of an application that contains content (e.g., a quick view window displaying a photo), three-dimensional objects (e.g., a virtual clock, a virtual ball, and / or a virtual car), or any other element not included in the physical environment of the display generation component 120 and displayed by the computer system 101a.

[0127] In some embodiments, computer system 101a engages in a communication session with a second computer system 101b (shown in a top view). For example, virtual objects 707a and 709a within the three-dimensional environment 702 and / or the three-dimensional environment 702 are simultaneously displayed by both computer system 101a and the second computer system 101b, but from different viewpoints associated with their respective users. In some embodiments, during the communication session, user 726 of computer system 101a has a first viewpoint of the three-dimensional environment 702, and a second user of the second computer system 101b has a second viewpoint of the three-dimensional environment 702. For example, as Fig. 7A shown, the field of view of the three-dimensional environment 702 from the first viewpoint of user 726 of computer system 101a includes a first portion of the three-dimensional environment 702 (including virtual objects 707a and 709a), and the field of view of the three-dimensional environment 702 from the second viewpoint of the second user of the second computer system 101b includes a second portion of the three-dimensional environment 702. In some embodiments, the second portion of the three-dimensional environment 702 includes virtual object 707a and / or virtual object 709a, or includes neither virtual object 707a nor virtual object 709a. In some embodiments, computer system 101a and the second computer system 101b are located in the same physical environment (e.g., at different locations in the same room in Fig. 7A ). In some embodiments, computer system 101a and the second computer system 101b are located in different physical environments (e.g., different cities, different rooms, different states, and / or different countries).

[0128] In some embodiments, when computer system 101a engages in a communication session with the second computer system 101b, the three-dimensional environment 702 includes a virtual representation of the second user of the second computer system 101b. For example, as Fig. 7A shown, the three-dimensional environment 702 includes an avatar 706a corresponding to the second user of the second computer system 101b (corresponding to avatar 706b in the top view). In Fig. 7A , the avatar 706a corresponding to the second user is optionally displayed at a third position in the three-dimensional environment 702 that is farthest from the viewpoint of user 726 (e.g., among the positions of virtual objects 707a and 709a), as shown in the top view. In some embodiments, avatar 706a includes a three-dimensional representation (e.g., rendering) of the second user. In some embodiments, the avatar 706a corresponding to the second user includes a representation of the second computer system 101b of which the second user is a user. In some embodiments, the second portion of the three-dimensional environment 702 shown from the second viewpoint of the second user at the second computer system 101b includes a virtual representation of user 726 of computer system 101a.

[0129] In some embodiments, virtual objects are displayed in a three-dimensional environment 702 in corresponding orientations relative to the viewpoint of user 726 (e.g., prior to receiving input to interact with the virtual objects in the three-dimensional environment 702, which will be described later). As Fig. 7A shown, virtual objects 707a and 709a and the avatar 706a corresponding to a second user of the second computer system 101b have a first orientation in the three-dimensional environment 702. For example, the front surfaces / portions of virtual objects 707a and 709a and the avatar 706a facing the viewpoint of user 726 are flat / horizontal (or parallel) relative to the viewpoint of user 726, as Fig. 7A shown respectively by 707b, 709b, and 706b in the top-down views of Fig. 7A . It should be understood that the orientations of the virtual objects in

[0130] In some embodiments, virtual object 707a and / or virtual object 709a are shared between user 726 of computer system 101a and a second user of a second computer system 101b (e.g., when computer system 101a and the second computer system 101b are engaged in a communication session). For example, the user interface and / or content (e.g., text, images, video, files, icons, and / or control elements) of virtual object 707a and / or 709a are displayed in a first portion and / or a second portion of the three-dimensional environment 702 such that the user interface and / or content of virtual object 707a and / or 709a are accessible (e.g., viewable and / or interactable (e.g., selectable or scrollable)) by user 726 of computer system 101a and the second user of the second computer system 101b. In some embodiments, as described below, when virtual objects 707a and 709a are shared between user 726 and the second user, changes in the relative positions of virtual objects 707a and / or 709a within the three-dimensional environment 702 due to user input received at computer system 101a are reflected in a second portion of the three-dimensional environment 702 relative to a second viewing perspective of the second user at the second computer system 101b. In some embodiments, virtual object 707a and virtual object 709a are not shared between user 726 of computer system 101a and a second user of a second computer system 101b. For example, computer system 101a displays virtual object 707a and virtual object 709a in the three-dimensional environment 702 and / or provides user 726 access to the content of virtual object 707a and virtual object 709a, and the second computer system 101b foregoes displaying virtual object 707a and virtual object 709a in a portion of the three-dimensional environment 702 at the second computer system 101b and / or foregoes providing the second user access to the content of virtual object 707a and virtual object 709a. In some embodiments, when virtual objects 707a and 709a are not shared between user 726 and the second user, changes in the relative positions of virtual objects 707a and / or 709a within the three-dimensional environment 702 due to user input received at computer system 101a are not reflected in a second portion of the three-dimensional environment at the second computer system 101b relative to the second viewing perspective of the second user.

[0131] In some embodiments, computer system 101a and a second computer system 101b communicate with each other such that the display of virtual objects 707a and 709a within the three-dimensional environment 702 and / or the display of the three-dimensional environment 702 by computer systems 101a and 101b are coordinated. For example, as described below, changes (e.g., changes in position) made to virtual objects 707a and / or 709a within the three-dimensional environment 702 and to the avatar 706a corresponding to a second user and / or the three-dimensional environment 702 in response to an input from user 726 of computer system 101a are reflected in the display of virtual objects 707a and / or 709a and avatar 706a and / or the three-dimensional environment 702 within a portion of the three-dimensional environment 702 by the second computer system 101b. In some embodiments, as described below, in response to detecting one or more first-type interaction inputs, computer system 101a performs a first operation, including simultaneously repositioning virtual objects 707a and 709a and the avatar 706a corresponding to a second user within the three-dimensional environment 702 relative to the viewpoint of user 726 according to the interaction input. In response to detecting a second-type interaction input different from the first type, computer system 101a optionally performs a second operation different from the first operation.

[0132] In Fig. 7A it, the computer system detects a first interaction input provided by hand 703a ("hand 1"). In some embodiments, the first interaction input corresponds to a request to move one or more virtual objects displayed in the three-dimensional environment 702. For example, according to FIG. 7A to FIG. 7B it, the computer system 101a detects that hand 703a provides a selection input pointing to the three-dimensional environment 702, followed by a movement. In some embodiments, the computer system 101a detects that hand 703a moves away from the body of user 726 and provides a pinch gesture pointing to the three-dimensional environment 702 (e.g., and / or virtual object 707a, virtual object 709a, or avatar 706a), and then hand 703a moves in a first direction (e.g., to the right) with a first magnitude (e.g., speed or distance) while maintaining the pinched hand shape. Additionally, as Fig. 7A shown in it, when the computer system 101a detects a first interaction input provided by hand 705a, the computer system 101 optionally detects a second interaction input provided by hand 703a ("hand 2"). For example, according to FIG. 7A to FIG. 7B, when the hand 703a provides a first interaction input, the computer system 101a detects the hand 705a in a engaged posture (e.g., where the hand 703a is elevated / lifted relative to a part of the user 726's torso and / or relative to the surface on which the user 726 is located). In some embodiments, when the computer system 101a detects the first interaction input provided by the hand 705a, the hand 703a maintains an air pinch gesture and / or is in a ready state. In some embodiments, the computer system 101a detects that the hand 703a and the hand 705a respectively provide a first interaction input and a second interaction input simultaneously. For example, the computer system 101a detects that the hand 703a and the hand 705a simultaneously provide a selection input pointing to the three-dimensional environment 702, followed by the hand 703a moving in a first direction by a first magnitude. In some embodiments, the input from the hand portions 703a and / or 705a is an air gesture input, as described above. It should be understood that although multiple hands and multiple corresponding inputs are shown in 7A to 7I , such hands and inputs do not need to be detected by the computer system 101a simultaneously; rather, in some embodiments, the computer system 101a independently responds to such hands and / or inputs in response to independently detecting the shown and described hands and / or inputs.

[0133] In some embodiments, in response to detecting Fig. 7A the first interaction input and the second interaction input in, the computer system 101a manipulates the three-dimensional environment 702 according to the first interaction input. For example, as shown in Figure 7B , in response to detecting the movement of the hand 705a in the right direction relative to the viewpoint of the user 726 while the hand 703a is engaged, the computer system 101a simultaneously moves (e.g., translates) the virtual objects 707a and 709a and the avatar 706a to the right in the three-dimensional environment 702 relative to the viewpoint of the user 726 (e.g., the reference point in the top view) according to the rightward movement of the hand 703a. In some embodiments, the direction and / or magnitude of the movement of the virtual objects 707a and 709a and the avatar 706a within the three-dimensional environment is based on the direction and / or magnitude of the movement of the hand 703a and / or the hand 705a relative to one or more parts of the body of the user 726. For example, the computer system 101a detects that the hand 703a moves to the right relative to the hand 705a and / or relative to a predefined part of the upper body (e.g., the torso, shoulders, or head) and / or Fig. 7A the viewpoint of the user 726 in, which causes the computer system 101a to simultaneously move the virtual objects 707a and 709a and the avatar 706a to the right in the Figure 7B three-dimensional environment 702 in. Additionally, the computer system 101a detects that the hand 703a is relative to the hand 705a and / or relative to Fig. 7Aa predefined portion of the upper body and / or a first amount of movement of the viewpoint of user 726 (e.g., a first speed, a first duration, and / or a first distance), which causes the computer system to simultaneously move virtual objects 707a and 709a and avatar 706a in the three-dimensional environment 702 based on the first amount by a second amount (e.g., a second speed and / or a second distance). In some embodiments, as discussed below, if hand 705a is not engaged when the computer system 101a detects a first interaction input provided by hand 703a in Fig. 7A then the computer system 101a will forgo simultaneously moving virtual objects 707a and 709a and avatar 706a in the three-dimensional environment 702 relative to the viewpoint of user 726 in accordance with the movement of hand 703a.

[0134] In addition, in some embodiments, in response to detecting Fig. 7A a first interaction input and a second interaction input in Figure 7B as shown, for example, referring to Fig. 7A , the three-dimensional environment 702 is displayed with a first visual appearance before the computer system 101a detects a first interaction input provided by hand 703a. As shown in Fig. 7A , portions of the three-dimensional environment 702 surrounding virtual objects 707a and 709a and the avatar 706a corresponding to a second user are optionally displayed in a manner that does not have visual effects (e.g., does not have a blur effect, a shadow / dimming effect, and / or a color change effect). In some embodiments, as shown in Figure 7B , when the computer system 101a detects a first interaction input provided by hand 703a when the second hand 705a is engaged, the computer system 101a displays the three-dimensional environment 702 with a second visual appearance that is different from the first visual appearance. For example, as shown in Figure 7B , portions of the three-dimensional environment 702 surrounding virtual objects 707a and 709a and avatar 706a are displayed with visual effects (e.g., with a blur effect, a shadow / dimming effect, and / or a color change effect), while virtual objects 707a and 709a and avatar 706a remain displayed without visual effects. In some embodiments, the change in the visual effects of the environment 702 includes applying visual effects to representations 722a and 724a of real objects, surfaces, and other features in the physical environment of the computer system 101a and / or the display generation component 120. In some embodiments, the display of the three-dimensional environment 702 with the second visual appearance indicates that virtual objects 707a and 709a and avatar 706a are capable of being repositioned (e.g., translated and / or rotated) simultaneously within the three-dimensional environment 702 when the computer system 101a detects interaction inputs from hand 703a and / or hand 705a.

[0135] In some embodiments, when a user 726 of computer system 101a engages in a communication session with a second user of a second computer system 101b, when computer system 101a detects a first interaction input and / or a second interaction input provided by hand 703a and / or 703a in Fig. 7A , the second computer system 101b changes the appearance of the avatar corresponding to user 726 in a portion of the three-dimensional environment 702 displayed at the second computer system 101b, as described in more detail with reference to FIG. 7H to FIG. 7I . Additionally, if virtual objects 707a and 709a are shared between user 726 and the second user of the second computer system 101b, when computer system 101a moves virtual objects 707a and 709a and avatar 706a within the three-dimensional environment 702 relative to the viewpoint of user 726 in accordance with the movement of hand 703a as shown in Figure 7B , the second computer system 101b moves the avatar corresponding to user 726 in a portion of the three-dimensional environment 702 displayed at the second computer system 101b without moving virtual objects 707a and 709a in the portion of the three-dimensional environment 702 displayed at the second computer system 101b, as described in more detail with reference to FIG. 7H to FIG. 7I .

[0136] In some embodiments, in response to detecting a movement of a hand directed to the three-dimensional environment 702 that corresponds to a movement of virtual objects 707a and 709a and avatar 706a outside the field of view of user 726 (e.g., in a rightward direction as similarly discussed above), computer system 101a moves virtual objects 707a and 709a and avatar 706a outside the field of view of user 726 relative to the viewpoint of user 726 (e.g., in a rightward direction). In some embodiments, if computer system 101a detects an interaction input (e.g., provided by hand 703b and / or 705b) directed to the three-dimensional environment 702 while there are no objects in the field of view, computer system 101a will limit the manipulation of the three-dimensional environment 702 in response to detecting the interaction input. For example, if the interaction input provided corresponds to a rotation of the three-dimensional environment 702 relative to a reference point other than the viewpoint of user 726 (e.g., based on the position of user 726's attention within the three-dimensional environment 702), computer system 101a will forego rotating the three-dimensional environment 702 relative to the viewpoint of user 726. Instead, computer system 101a will optionally manipulate (e.g., translate and / or rotate) the three-dimensional environment 702 relative to the viewpoint of user 726, and / or will optionally not perform an operation to manipulate the three-dimensional environment 702. Reference FIG. 13A to FIG. 13G and / or method 1400 provides additional details regarding the manipulation of the three-dimensional environment 702 when there are no objects in the field of view of user 726.

[0137] In some embodiments, if the user initiates the manipulation of the three-dimensional environment in the manner discussed above and as Fig. 7A shown, using both hands, the computer system 101a is capable of further manipulating the three-dimensional environment 702 in response to detecting the continuation of the interaction input with one hand. In Figure 7B , the computer system 101a detects that the hand 703b provides movement input directed to the three-dimensional environment 702, while the three-dimensional environment 702 is displayed in the second visual appearance described above. For example, the computer system 101a detects that the hand 703b (e.g., while maintaining Fig. 7A the in-air pinch gesture) moves in a clockwise direction, which corresponds to a request to rotate the virtual objects displayed in the three-dimensional environment in a clockwise direction around a reference point (marked in the top view) relative to the viewpoint of the user 726. Additionally, in Figure 7B , the computer system 101a detects that the hand 705b stops providing Fig. 7A the second interaction input. For example, the computer system 101a detects that the hand 705b releases the in-air pinch gesture and / or detects that the hand 705b is no longer in an engaged posture (e.g., the hand 705b relaxes and / or lowers relative to the surface where the user 726 is located). The computer system 101a optionally detects the movement of the hand 703b and / or 705b regardless of the position of the user's attention (including gaze) in the three-dimensional environment 702. For example, the computer system 101a manipulates the three-dimensional environment 702 in response to the movement of the hand 705b and / or 703b regardless of the position of the attention in the three-dimensional environment 702.

[0138] In some embodiments, in response to detecting the movement of the hand 703b when the hand 705b is no longer participating in Figure 7B , the computer system 101a manipulates the three-dimensional environment 702 according to the movement of the hand 703b. For example, as Figure 7C shown, in response to detecting the clockwise movement of the hand 703b in Figure 7B , the computer system 101a simultaneously relocates (e.g., rotates) the virtual objects 707a and 709a and the avatar 706a in the three-dimensional environment 702 in a clockwise direction relative to the viewpoint of the user 726 (e.g., around the reference point marked in the top view in Figure 7C ). As shown, in response to detecting the movement of the hand 703b, the computer system 101a displays the virtual objects 707a and 709a and the avatar 706a in a second orientation different from the first orientation discussed above. For example, the front surface / portion of the virtual objects 707a and 709a and the avatar 706a is tilted to the left / slightly angled relative to the viewpoint of the user 726, as Figure 7CIn a top view of the three-dimensional environment 702, they are respectively shown as 707b, 709b, and 706b. Additionally, in some embodiments, the computer system 101a maintains the display of a three-dimensional environment 702 having a second visual appearance (e.g., portions of the three-dimensional environment surrounding the virtual objects 707a and 709a and the avatar 706a).

[0139] As described above, in Figure 7B when the hand 705b is no longer engaged (e.g., no longer providing a second interaction input), the computer system 101a detects the movement of the hand 703b. Since the hand 705a is involved in Fig. 7A when the computer system 101a detects the movement input provided by the hand 703a, in some embodiments, the computer system 101a identifies the movement input provided by the Figure 7B hand 703b in FIG. 7F to FIG. 7G as a movement input for manipulating the three-dimensional environment 702, rather than as a movement input directed to a single object (e.g., the virtual object 707a or the virtual object 709a), as described in more detail with reference to Fig. 7A Thus, if the user 726 initiates the manipulation of the three-dimensional environment 702 using both hands, as Figure 7B shown, and uses one hand to provide additional manipulation inputs, as Figure 7C shown, then the computer system 101a optionally manipulates the three-dimensional environment 702 according to the single-handed input, as

[0140] shown. Figure 7C In some embodiments, after detecting the end of the interaction input, the computer system 101a maintains the display of the three-dimensional environment 702 having a second visual appearance for a predefined period of time. In Figure 7C the hand 703c stops providing movement inputs directed to the three-dimensional environment 702. For example, the computer system 101a detects that the hand 703c releases a pinch gesture and / or detects that the hand 703c is no longer in an engaged posture (e.g., the hand 703c relaxes and / or lowers relative to the surface where the user 726 is located). Additionally, in

[0141] In some embodiments, in response to detecting that the hand 703c releases the Figure 7C pinch gesture in Fig.7DIn this case, computer system 101a maintains, relative to the viewpoint of user 726, a shadow / dimming effect, a blurring effect, and / or a color-changing effect applied to portions of virtual objects 707a and 709a and avatar 706a corresponding to a second user in three-dimensional environment 702 for a threshold amount of time. Examples of the threshold amount of time are provided below in the description of method 800. In some embodiments, after detecting that the threshold amount of time has elapsed, computer system 101a redisplayed three-dimensional environment 702 with a first visual appearance, as previously Fig. 7A shown. In some embodiments, if computer system 101a detects an interaction input provided by hand 705b or 703c of user 726 before the threshold amount of time has passed (e.g., when three-dimensional environment 702 is displayed with a second visual appearance), computer system 101a will manipulate three-dimensional environment 702 according to the interaction input, as described below. In some embodiments, if computer system 101a detects an interaction input provided by hand 705b or 703c of user 726 after the threshold amount of time has passed (e.g., after three-dimensional environment 702 has changed from being displayed with the Figure 7C shown second visual appearance to being redisplayed with the Fig. 7A shown first visual appearance), computer system 101a will forego manipulating three-dimensional environment 702 and will perform an alternative operation, as described in more detail with reference to FIG. 7F to FIG. 7G .

[0142] In Fig.7D , when three-dimensional environment 702 is displayed with a second visual appearance, hand 703d is providing an interaction input. For example, computer system 101a detects that hand 703d provides a selection input (e.g., provides a pinch), and then moves hand 703d counterclockwise before the above-mentioned threshold amount of time has passed (e.g., while maintaining the pinched hand shape). Additionally, in Figure 7C , hand 705b continues to remain in a disengaged position (e.g., relaxed and / or not providing an air pinch gesture and / or not in a pinched hand shape).

[0143] In some embodiments, in response to detecting an interaction input before the threshold amount of time has passed in Fig.7D , computer system 101a manipulates three-dimensional environment 702 according to the interaction input, as Fig. 7E shown. For example, in Fig. 7E , in response to detecting that hand 703d moves counterclockwise while in a pinched hand shape when three-dimensional environment 702 is displayed with a second visual appearance in Fig.7D , computer system 101a, based on the movement of hand 703d in Fig.7D , rotates counterclockwise within three-dimensional environment 702 relative to the viewpoint of user 726 around Fig.7DThe reference points indicated in the top view thereof simultaneously reposition (e.g., rotate) the virtual objects 707a and 709a and the avatar 706a. As Fig. 7E shown, in response to detecting Fig.7D the movement of the hand 703d in Fig. 7E the computer system 101a displays the virtual objects 707a and 709a and the avatar 706a in a third orientation different from the first and second orientations discussed above and as Fig.7D shown therein. For example, the front surfaces / portions of the virtual objects 707a and 709a and the avatar 706a are tilted to the right / slightly angled relative to the viewpoint of the user 726, as Fig. 7E shown respectively by 707b, 709b, and 706b in the top view of Fig. 7E . Additionally, in some embodiments, the computer system 101a maintains the display of the three-dimensional environment 702 (e.g., the portion of the three-dimensional environment surrounding the virtual objects 707a and 709a and the avatar 706a) having the second visual appearance described above. Additionally, as

[0144] shown, since an interaction input provided by the hand 703d is detected before the expiration of the above-described threshold amount of time, the computer system 101a optionally maintains the display of the three-dimensional environment 702 having the second visual appearance (e.g., and / or stops / resets the expiration of the threshold amount of time).

[0144] In some embodiments, as referenced FIG. 7D to FIG. 7E above, if the computer system 101a detects a continuation of the interaction input within a threshold amount of time after detecting the end of the interaction input provided by the hand 703c in Figure 7C , the computer system 101a maintains the second visual appearance and manipulates the virtual objects 707a and 709a and the avatar 706a according to the interaction input. In some embodiments, if the computer system 101a does not detect a continuation of the interaction input within the threshold time after detecting the end of the interaction input provided by the hand 703c in Figure 7C , the computer system 101a updates the three-dimensional environment 702 to be displayed with the first visual appearance, as will now be described with reference to Figure 7F .

[0145] In some embodiments, after detecting that a threshold amount of time has elapsed since detecting the end of the interaction input provided by the hand 703C in Figure 7C , the computer system 101a redisplay the three-dimensional environment 702 with the first visual appearance, as Figure 7F shown. For example, as Figure 7F shown, the portion of the three-dimensional environment 702 surrounding the virtual objects 707a and 709a and the avatar 706a is no longer displayed with a dimmed / shaded effect, a blur effect, and / or a color-changing effect.

[0146] In Figure 7F , after a threshold amount of time has passed, hand 703d provides a selection input (e.g., an air pinch gesture) directed to virtual object 707a, and the other hand 713a ("hand 3") provides a movement input (e.g., provides a pinch followed by movement of the hand while maintaining the pinched hand shape) directed to virtual object 709a. For example, when the attention of user 726 (e.g., including a first gaze ("gaze 1") 721) is directed to virtual object 709a, computer system 101a detects that hand 713a moves to the right relative to the viewpoint of user 726, and when the attention (e.g., including a second gaze ("gaze 2") 723) is directed to play option 711 in virtual object 707a, the computer system detects that hand 703d provides a pinch gesture while the three-dimensional environment 702 is displayed with a first visual appearance. Additionally, in Figure 7F , hand 705b continues to remain in a disengaged pose (e.g., relaxed and / or not providing an air pinch gesture simultaneously). It should be understood that although multiple gaze points are shown in Figure 7F , such gaze points do not need to be detected simultaneously by computer system 101; rather, in some embodiments, computer system 101 independently responds to such gaze points in response to independently detecting the shown and described gaze points.

[0147] In some embodiments, in response to detecting an input provided by hand 703d and / or 713a in Figure 7F after a threshold amount of time has passed, computer system 101a performs one or more corresponding operations involving virtual objects 707a and 709a. For example, as shown in Figure 7G , computer system 101a forgoes manipulating the three-dimensional environment 702 based on the input provided by hand 703d and / or 713a (e.g., simultaneously repositioning virtual objects 707a and 709a and avatar 706a relative to the viewpoint of the user based on the movement of one or more of hands 703b, 703d, and / or 713a). Instead, as shown in Figure 7G , in some embodiments, computer system 101a activates play option 711 of virtual object 707a in response to detecting a selection input provided by hand 713a (e.g., this causes playback of the content in virtual object 707a) while the attention of the user (including gaze 723) is directed to Figure 7FThe playback option 711 therein. Additionally or alternatively, in some embodiments, the computer system 101a relocates (e.g., shifts) the virtual object 709a to the right relative to the viewpoint of the user 726 in the three-dimensional environment 702 in response to the rightward movement of the hand 703d, while the user's attention (including the gaze 721) is directed to the virtual object 709a, without relocating the virtual object 707a and / or the avatar 706a relative to the viewpoint of the user 726 in the three-dimensional environment 702.

[0148] In some embodiments, the computer system 101a restricts the independent movement of certain types of virtual elements displayed in the three-dimensional environment 702. As Figure 7G shown, the computer system 101a independently moves the virtual object 709a within the three-dimensional environment 702 in response to detecting Figure 7F the movement of the hand 713a therein. As previously described herein, the virtual object 709a is optionally an application window shared between the user 726 of the computer system 101a and a second user of the second computer system 101b. Thus, shared virtual objects including application windows, three-dimensional objects (e.g., three-dimensional balls, cars, tables, models, etc.) and / or content (e.g., images, videos, files, contacts, etc.) can move independently in the three-dimensional environment 702 in response to input independently directed to the shared virtual object. Referring to Figure 7F , if the attention (e.g., the first gaze 721) is directed to the avatar 706a rather than the virtual object 709a, the computer system 101a will optionally refrain from independently moving the avatar 706a corresponding to the second user in the three-dimensional environment 702 in response to detecting the movement of the hand 713a. For example, as described above, when the computer system 101a and the second computer system 101b are in a communication session, the user 726 has a first viewpoint of the three-dimensional environment 702, and the second user has a second viewpoint of the three-dimensional environment 702 that is different from the first viewpoint. Thus, the user 726 has respective spatial relationships with the second user in the communication session, which are optionally reflected by the relative positioning of the avatars corresponding to the users in the three-dimensional environment 702. Providing the ability to independently move the avatar (e.g., the avatar 706a) corresponding to another user will optionally disrupt (i.e., violate) the corresponding spatial relationship with another user in the three-dimensional environment, which will thus disrupt the spatial authenticity between the users in the communication session. Thus, as described above, the computer system 101a optionally restricts (i.e., prevents) the independent movement of the avatars of other users in the three-dimensional environment 702.

[0149] In some embodiments, after a threshold amount of time has elapsed since the end of the interaction input provided by Figure 7C the hand 703c therein is detected, the user 726 can initiate the manipulation of the three-dimensional environment 702 by providing a two-handed interaction input. For example, as Figure 7G As shown, hand 703e and hand 705c are providing movement input directed to three-dimensional environment 702. Figure 7G , computer system 101a simultaneously detects that hand 703e forms a pinching hand shape and hand 705c forms a pinching hand shape, and then moves hands 703e and 705c toward the body of user 726 while maintaining the pinching hand shape. In some embodiments, movement input provided by hands 703e and 705c simultaneously is optionally detected, regardless of where the user 726's attention (e.g., gaze) is in the three-dimensional environment 702. For example, computer system 101a manipulates the three-dimensional environment 702 in response to the movement of hands 705c and / or 703e, regardless of where the attention is in the three-dimensional environment 702.

[0150] In some embodiments, in response to detecting Figure 7G The computer system 101a manipulates the three-dimensional environment 702 according to the interactive input provided by the hands 703e and 705c. Figure 7H In some embodiments, the computer system 101a moves in a direction corresponding to the direction of movement of the hands 705c and 703e and at a speed corresponding to Figure 7G The amount of movement (e.g., speed, distance, or duration) of hands 705c and 703e in the Figure 7H For example, in Figure 7H In response to detecting Figure 7G When the hands 703e and 705c in the 3D environment 702 move toward the user 726 simultaneously (e.g., when the hands 703e and 705c are in a pinching hand shape), the computer system 101a moves the user 726's viewpoint (e.g., Figure 7G In some embodiments, the virtual objects 707a and 709a and the avatar 706a are simultaneously repositioned (e.g., translated) toward the viewpoint of the user 726 (reference points marked in the top view in FIG. 7 ). Figure 7H The movement amounts of the virtual objects 709a and 707a and the avatar 706a in Figure 7G The amount of movement of hands 705c and 703e in . Figure 7H , hands 703f and 705d optionally no longer maintain the interactive input. For example, after the computer system 101a moves the virtual objects 707a and 709a and the avatar 706a toward the viewpoint of the user 726 in the three-dimensional environment 702, the computer system 101a detects that the hands 703f and 705d no longer maintain the pinching hand shape. As similarly discussed above, after detecting that a threshold amount of time has passed since the end of the interactive input was detected, the computer system 101a displays the three-dimensional environment 702 with the first visual appearance, as shown in FIG. Figure 7H As shown below. Examples of threshold amounts of time are included in the description of method 800.

[0151] In some embodiments, as described above, when computer system 101a and second computer system 101b engage in a communication session, changes (e.g., changes in position) made to virtual objects 707a and / or 709a within three-dimensional environment 702 and to avatar 706a corresponding to the second user and / or three-dimensional environment 702 in response to an input from user 726 of computer system 101a are reflected in the display of virtual objects 707a and / or 709a within three-dimensional environment 702 and to the avatar corresponding to user 726 and / or in the display of three-dimensional environment 702 by second computer system 101b. In some embodiments, changes in the position and / or orientation of virtual objects shared between computer systems 101a and 101b that are reflected in response to an input received at one of computer systems 101a or 101b enable computer systems 101a and 101b to maintain a shared spatial authenticity while engaging in a communication session. In Figure 7H computer system 101a receives an indication that second computer system 101b has received an input (such as an input similar to one or more of the inputs described above with reference to Fig. 7A , Figure 7B , Fig.7D , Figure 7F and / or Figure 7G ) corresponding to a request to manipulate virtual objects 709a and 709b. In some embodiments, in response to receiving the indication, computer system 101a visually fades avatar 706a corresponding to the second user relative to the viewpoint of user 726, as Figure 7H shown, while second computer system 101b is receiving interactive input. For example, computer system 101a changes one or more characteristics of the lighting, translucency, shadows, color, and / or clarity of avatar 706a in three-dimensional environment 702 compared to the lighting, translucency, shadows, color, and / or clarity of avatar 706a before receiving the indication (e.g., in Figure 7G ). In some embodiments, the visual fading of avatar 706a indicates that the second user is providing an input to manipulate a portion of the three-dimensional environment at second computer system 101b relative to a second viewpoint of the second user.

[0152] In some embodiments, when the second computer system 101b detects the end of the interactive input provided by the second user of the second computer system 101b, the computer system 101a moves the avatar 706a corresponding to the second user based on the interactive input provided by the second user at the second computer system 101b, such that the computer systems 101a and 101b maintain shared space authenticity with respect to the shared virtual objects 709a and 707a. For example, as Fig.7I shown, the computer system 101a moves the avatar 706a within the three-dimensional environment 702 relative to the viewpoint of the user 726 without moving the virtual objects 707a and 709a. As Fig.7I shown, when the second computer system 101b detects the end of the interactive input provided by the second user (e.g., and / or after detecting that the above threshold amount of time has elapsed since the second computer system 101b detected the end of the interactive input), the computer system 101a optionally moves the avatar 706a according to the manipulation performed on the virtual objects 709a and 707a displayed in the three-dimensional environment 702 at the second computer system 101b. For example, the computer system 101a moves the avatar 706a toward the viewpoint of the user 726 and displays the avatar 706a in a fourth orientation different from the first, second, and third orientations discussed above. For example, the front portion of the avatar 706a is tilted / slightly angled to the left relative to the viewpoint of the user 726 in the three-dimensional environment 702 and faces away from the user 726, as Fig.7I shown as 706b in the top view, to reflect the shift of the second viewpoint of the second user who manipulated a portion of the three-dimensional environment 702 displayed at the second computer system 101b relative to the viewpoint of the user 726. In some embodiments, in response to the interactive input received at the second computer system 101b for manipulating the virtual objects 707a and 709a, the updated position and / or orientation of the avatar 706a displayed at the first computer system 101a has the same spatial orientation with respect to the virtual objects 707a and 709a as the spatial orientation of the viewpoint of the user of the second computer system 101b.

[0153] In some embodiments, when the computer system 101a and the second computer system 101b are in a communication session, when the computer system 101a detects the interactive input provided by the user 726 corresponding to a request to manipulate the three-dimensional environment 702 (e.g., the interactive input described above with reference to FIG. 7A to FIG. 7G ), the second computer system 101b visually fades the avatar corresponding to the user 726 relative to the three-dimensional environment displayed at the second computer system 101b. For example, when the computer system 101a acts according to the interactive input (e.g., as Figure 7B 、 Figure 7C 、 Fig. 7E and / or Figure 7H when moving the virtual objects 707a and 709a and the avatar 706a, similarly shown in Figure 7H the second computer system 101b changes one or more characteristics of the illumination, translucency, shadow, color, and / or clarity of the avatar corresponding to the user 726 in the portion of the three-dimensional environment 702 displayed at the second computer system 101b relative to the viewpoint of the second user in a manner similarly shown in

[0154] In some embodiments, when the computer system 101a detects the end of the interaction input provided by the user 726 of the computer system 101a, the second computer system 101b moves the avatar corresponding to the user based on the interaction input provided by the user 726. For example, when the computer system 101a detects the end of the interaction input provided by the user 726 (e.g., and / or after detecting that the above threshold amount of time has elapsed since the detection of the end of the interaction input, as previously shown in Figure 7F similarly shown in Figure 7H the second computer system 101b moves the avatar corresponding to the user 726 within the portion of the three-dimensional environment 702 displayed at the second computer system 101b relative to the second viewpoint of the second user, without moving the virtual objects 707a and 709a in the manner similarly shown in

[0155] FIG. 8A to FIG. 8I is a flowchart showing an exemplary method 800 for facilitating interaction with multiple objects in a three-dimensional environment. In some embodiments, the method 800 is executed at a computer system (e.g., Figure 1 the computer system 101 in Figure 1 , Figure 3 such as a tablet computer, a smart phone, a wearable computer, or a head-mounted device), the computer system including a display generation component (e.g., Figure 4 the display generation component 120 in Figure 1It is managed by instructions executed by the control unit 110) in A. Some operations in method 800 are optionally combined, and / or the order of some operations is optionally changed.

[0156] In some embodiments, method 800 is executed at a computer system (e.g., 101a) that communicates with a display generation component (e.g., 120) and one or more input devices (e.g., 314). For example, the computer system is or includes a mobile device (e.g., a tablet, a smart phone, a media player, or a wearable device) or a computer. In some embodiments, the display generation component is a display integrated with the electronic device (optionally a touch screen display), an external display such as a monitor, a projector, a television, or a hardware component (optionally integrated or external) for projecting a user interface or making the user interface visible to one or more users. In some embodiments, the one or more input devices include those capable of receiving user input (e.g., capturing user input and / or detecting user input) and sending information associated with the user input to the electronic device. Examples of input devices include a touch screen, a mouse (e.g., external), a trackpad (optionally integrated or external), a touchpad (optionally integrated or external), a remote control device (e.g., external), another mobile device (e.g., separate from the electronic device), a handheld device (e.g., external), a controller (e.g., external), a camera, a depth sensor, an eye tracking device, and / or a motion sensor (e.g., a hand tracking device and / or a hand motion sensor). In some embodiments, the computer system communicates with a hand tracking device (e.g., one or more cameras, depth sensors, proximity sensors, touch sensors (e.g., touch screen, touchpad)). In some embodiments, the hand tracking device is a wearable device, such as a smart glove. In some embodiments, the hand tracking device is a handheld input device, such as a remote control or a stylus.

[0157] In some embodiments, the computer system displays (802a) via the display generation component an environment that includes a first object (e.g., Fig. 7A the virtual object 707a in Fig. 7A and a second object (e.g., Fig. 7Ain a three-dimensional environment 702). For example, it corresponds to an environment or a virtual environment surrounding the physical environment of the display generation component and / or the computer system. In some embodiments, the environment is a three-dimensional environment. In some embodiments, the three-dimensional environment is generated, displayed, or otherwise enabled to be viewed through the computer system (e.g., an extended reality (XR) environment, such as a virtual reality (VR) environment, a mixed reality (MR) environment, or an augmented reality (AR) environment). In some embodiments, the physical environment is visible through the transparent portion of the display generation component (e.g., true or real passthrough). In some embodiments, a representation of the physical environment is displayed in the three-dimensional environment via the display generation component (e.g., virtual or video passthrough). In some embodiments, the first object and / or the second object is or includes content, such as a window of a web browsing application that displays content (e.g., text, image, or video), a window that displays a photo or a video clip, a media player window for controlling the playback of a content item on the computer system, a contact card in a contact application that displays contact information (e.g., phone number, email address, and / or birthday), and / or a virtual board game of a game application. In some embodiments, the first object is displayed at a first position in the three-dimensional environment, and the second object is displayed at a second position in the three-dimensional environment that is different from the first position. In some embodiments, as discussed in more detail below, the computer system conducts a communication session with one or more auxiliary computer systems. For example, the objects within the three-dimensional environment and / or the three-dimensional environment are concurrently displayed by the computer system and one or more auxiliary computer systems, but from different viewpoints associated with their respective users. In some embodiments, during the communication session, the user of the computer system has a first viewpoint of the three-dimensional environment, and one or more users of one or more auxiliary computer systems have one or more second viewpoints of the three-dimensional environment. For example, the field of view of the three-dimensional environment as seen from the first viewpoint of the user of the computer system includes a first portion of the three-dimensional environment (including the first object and the second object), and the field of view of the three-dimensional environment as seen from the second viewpoint of the second user of the auxiliary computer system includes a second portion of the three-dimensional environment. In some embodiments, the second portion of the three-dimensional environment includes the first object and / or the second object, or neither the first object nor the second object. In some embodiments, the computer system and one or more auxiliary computer systems are in the same physical environment (e.g., at different positions in the same room). In some embodiments, the computer system and one or more auxiliary computer systems are in different physical environments (e.g., different cities, different rooms, different states, and / or different countries).In some embodiments, a computer system and one or more auxiliary computer systems communicate with each other such that the display of objects within a three-dimensional environment and / or the three-dimensional environment by the computer system is coordinated (e.g., changes to objects within the three-dimensional environment and / or the three-dimensional environment made in response to input from a user of the computer system are reflected in the display of objects within the three-dimensional environment and / or the three-dimensional environment by one or more auxiliary computer systems). Additionally, the three-dimensional environment optionally includes a virtual representation of a user of one or more auxiliary computer systems (e.g., an avatar corresponding to the user).

[0158] In some embodiments, when displaying an environment that includes a first object and a second object, the computer system detects (802b), via one or more input devices, a first interaction input (e.g., an air gesture or an interaction with a hardware input device) associated with a first predefined portion of a user (e.g., user 726) of the computer system, such as Fig. 7A the movement of hand 703a as shown. For example, the first predefined portion of the user is the user's first hand. In some embodiments, the computer system detects an air pinch gesture performed by the first hand of a user of the computer system, such as when the thumb and index finger of the user's hand begin to separate by more than a threshold distance (e.g., 0.1 cm, 0.2 cm, 0.5 cm, 1 cm, 2 cm, or 5 cm) and then come together and touch at the fingertips, which is detected by one or more input devices (e.g., a hand tracking device) in communication with the computer system. In some embodiments, after detecting the air pinch gesture, the computer system detects the movement of the user's hand in space, such as a movement when the hand maintains a pinched hand shape (e.g., the thumb tip and index finger tip remain in contact), such as an air drag gesture. In some embodiments, the movement of the user's hand is in a corresponding direction in space (e.g., in a vertical direction, a horizontal direction, or a diagonal direction). In some embodiments, the computer system detects the first interaction input via a hardware input device in communication with the computer system (e.g., a controller operable in six degrees of freedom of movement, or a touchpad or a mouse). For example, the computer system detects a selection input (e.g., a tap, a touch, or a click) provided by one or more fingers of the user's first hand via the input device. In some embodiments, after detecting the selection input, the computer system detects a movement via the input device, such as a movement of the controller in space, a movement of the mouse on a surface (e.g., a desktop), or a movement of the fingers of the first hand on a touchpad.

[0159] In some embodiments, in response to detecting the first interaction input (802c), according to a second predefined portion of the user that is different from the first predefined portion (e.g., the second hand of the user) (e.g., Fig. 7A hand 705a in Fig. 7A Determination that a hand 705a) described as being in an engaged state is associated with a second interaction input (e.g., has a first pose or is performing a corresponding type of interaction with an input device), e.g., the second hand of the user engages while detecting an air pinch gesture provided by the first hand of the user and / or before detecting an air pinch gesture provided by the first hand of the user. In some embodiments, the computer system detects an air pinch gesture (e.g., the tip of the index finger of the second hand of the user touches the thumb of the second hand), and / or detects a first pose (e.g., a pinching pose where the tip of the index finger of the second hand touches the thumb of the second hand). In some embodiments, the computer system detects an air pinch gesture provided by the first hand of the user when the second hand of the user is in a first pose (e.g., when the second hand is in a pinching hand shape and / or is in a raised / lifted state relative to the surface on which the user is located). In some embodiments, the computer system detects that the first hand and the second hand of the user at least partially simultaneously provide an air pinch gesture. In some embodiments, the first pose includes the hand of the user being in a ready state configuration before, after, and / or during detection of the air pinch gesture. In some embodiments, the computer system detects a first interaction input while the second hand of the user is associated with a second interaction input via a second input device communicating with the computer system (e.g., a controller operable with six degrees of freedom of movement, or a touchpad or a mouse). For example, when the fingers of the second hand of the user are selecting a button on the second input device and / or holding the second input in a raised / lifted state relative to the surface on which the user is located, the computer system detects the first interaction input, and the computer system performs (802d) a first operation including simultaneously repositioning a first object and a second object within the environment relative to the viewpoint of the user with respect to the computer system, such as the movement of virtual objects 707a and 709a relative to the viewpoint of the user 726, as Figure 7BAs shown. For example, the first operation includes moving / translating and / or rotating a first object and a second object in the environment relative to the viewpoint of a user of the computer system. In some embodiments, the magnitude and / or direction of the repositioning of the first object and the second object in the three-dimensional environment corresponds to the magnitude and / or direction of the movement / rotation of the user's first hand. For example, a movement of the user's first hand or second hand by a first magnitude causes the first object and the second object to move by a first amount relative to the user's viewpoint in the three-dimensional environment, and a rotation of the user's first hand or second hand by a first angular magnitude causes the first object and the second object to rotate by a first angular amount relative to the user's viewpoint in the three-dimensional environment. Similarly, a movement of the user's first hand or second hand in a first direction (e.g., in the leftward direction) optionally moves the first object and the second object in the three-dimensional environment in the first direction (e.g., leftward) relative to the user's viewpoint, and a rotation of the user's first hand or second hand in the counterclockwise direction optionally rotates the first object and the second object in the counterclockwise direction relative to the user's viewpoint.

[0160] In some embodiments, based on the determination that a second predefined portion of the user is not associated with a second interaction input (e.g., does not have a first pose or is not performing a corresponding type of interaction with the input device) when a first interaction input is detected, such as detecting that hand 705b is in a disengaged state, as described with reference to Figure 7F the computer system performs (802e) a second operation different from the first operation, as described with reference to Figure 7GAs described above. For example, when detecting an air pinching gesture provided by the user's first hand and / or before detecting an air pinching gesture provided by the user's first hand, the user's second hand disengages. In some embodiments, the computer system detects that the user's second hand is in a lowered or relaxed state relative to the surface on which the user is located (e.g., the user's hand is placed / rested on one side of the user's torso and / or is not in a ready state configuration). In some embodiments, the computer system detects that the user's second hand is not in a pinching hand shape (e.g., the index finger and thumb of the user's hand do not touch). In some embodiments, the computer system detects that the user's second hand does not select a button on the second input device and / or does not hold the second input device in a state elevated / lifted relative to the surface on which the user is located. In some embodiments, the second operation does not include the movement / translation and / or rotation of the first object and the second object relative to the viewpoint of the user of the computer system. In some embodiments, as discussed in detail below, the second operation includes selecting / activating an option displayed in a three-dimensional environment (e.g., displayed in the first object or the second object), or moving the first object or the second object in the three-dimensional environment according to the movement of the user's first hand. Repositioning multiple objects in the three-dimensional environment based on whether the user's hands of the computer system are in an engaged posture enables repositioning multiple objects relative to the user's viewpoint without displaying additional controls, thereby improving user-device interaction.

[0161] In some embodiments, performing the second operation includes activating a selectable option (804) displayed in the environment, such as activating selectable option 711, as FIG. 7F to FIG. 7G shown. For example, based on the determination that the second predefined portion of the user is not associated with the second interaction input when detecting the first interaction input, the computer system selects an option displayed in the first object, the second object, or the third object in the three-dimensional environment. In some embodiments, the selectable option is determined based on the attention of the user of the computer system. For example, when receiving an air pinching gesture and / or a selection input on the hardware input device, the user's gaze is directed to the selectable option. Selecting a button displayed in the three-dimensional environment in response to receiving an input from the user's hand of the computer system enables selecting the button relative to the user's viewpoint without displaying additional controls, thereby improving user-device interaction.

[0162] In some embodiments, performing the second operation includes repositioning one of the first object and the second object (806) within the environment relative to the user's viewpoint according to the first interaction input, such as as Figure 7GThe virtual object 709a is repositioned relative to the viewpoint of the user 726. For example, based on the determination that the second predefined portion of the user is not associated with the second interaction input upon detection of the first interaction input, the computer system moves the first object or the second object in the three-dimensional environment according to the first interaction input, but not both objects, because the first interaction input includes the movement of the user's first hand. In some embodiments, the first object or the second object is determined based on the attention of the user of the computer system. For example, if the user's attention is directed to the first object, the computer system moves the first object according to the first interaction input. If the user's attention is directed to the second object, the computer system optionally moves the second object according to the first interaction input. In some embodiments, the first interaction input is directed to a repositioning element (e.g., a handle or a grasping element) associated with the first object or the second object (e.g., displayed with the first object or the second object), and the repositioning element can be selected to initiate the movement of the first object or the second object relative to the user's viewpoint within the three-dimensional environment. Repositioning an object in the three-dimensional environment in response to receiving an input of the user's hand from the computer system enables repositioning the object relative to the user's viewpoint without displaying additional controls, thereby improving user-device interaction.

[0163] In some embodiments, the user of the computer system communicates with a second user of a second computer system (e.g., Fig. 7A the computer system 101b in 7A to 7I ), in a communication session (e.g., when the first interaction input is received, the computer system conducts a communication session with the second computer system, as described above), as referenced Fig. 7A above. In some embodiments, the environment includes a virtual representation of the second user of the second computer system (808b) (e.g., Figure 7B the avatar 706a in ). For example, the three-dimensional environment includes an avatar corresponding to the second user, as described above. In some embodiments, in response to detecting the first interaction input, based on the determination that the second predefined portion of the user is associated with the second interaction input upon detection of the first interaction input, the first operation includes simultaneously repositioning the virtual representation of the second user and the first object and the second object within the environment relative to the viewpoint of the user of the computer system according to the first interaction input, (808c), such as repositioning the virtual objects 707a and 709a and the avatar 706a relative to the viewpoint of the user 726 as shown. For example, if the user's second hand is associated with the second interaction input upon detection of the first interaction input, the computer system simultaneously repositions the first object, the second object, and the avatar corresponding to the second user relative to the viewpoint of the user of the computer system in one or more of the ways described above and below according to the first interaction input.

[0164] In some embodiments, in response to detecting a first interaction input (808d), based on the determination that a second predefined portion of the user at the time of detecting the first interaction input is not associated with a second interaction input, and based on the determination that the first interaction input is directed to a virtual representation of a second user (e.g., when the user's gaze is directed towards the virtual representation of the second user, the computer system detects that the user's first hand provides an air pinch gesture and / or a selection input on a hardware input device and then moves the first hand), the computer system abandons (808e) repositioning the virtual representation of the second user within the environment (and abandons repositioning the first object and / or the second object), such as abandoning repositioning the avatar 706a as shown in Figure 7G For example, based on the determination that a second predefined portion of the user at the time of detecting the first interaction input is not associated with a second interaction input, the computer system abandons repositioning the avatar corresponding to the second user. In some embodiments, the computer system is capable of repositioning the avatar corresponding to the second user while repositioning the first object and the second object in a three-dimensional environment, and / or if the second user causes the avatar corresponding to the second user to move within the three-dimensional environment. In some embodiments, the computer system cannot reposition the virtual representation of the second user without simultaneously repositioning one or more other objects (e.g., the first object and the second object) in the environment. In some such embodiments, in response to the first interaction input described above, the computer system performs an alternative action, such as activating a selectable option and / or moving the first object or the second object in the three-dimensional environment, as described above. Abandoning repositioning the virtual representations of other users individually in a three-dimensional environment based on inputs provided by the users of the computer system in a communication session maintains the spatial authenticity between the user and other users in the communication session, thereby improving user-device interaction.

[0165] In some embodiments, a user of the computer system communicates with a second user of a second computer system (e.g., the computer system 101b in Fig. 7A ) in a display environment (810a) (e.g., when receiving the first interaction input, the computer system communicates with the second computer system as described above). In some embodiments, the environment includes a virtual representation of the second user of the second computer system (810b) (e.g., the avatar 706a in Fig. 7A ) (e.g., the three-dimensional environment includes an avatar corresponding to the second user, as described above).

[0166] In some embodiments, in response to detecting a first interaction input (810c), performing a first operation based on a determination that a second predefined portion of the user at the time of detecting the first interaction input is associated with a second interaction input includes simultaneously repositioning, within the environment relative to the user's viewpoint, virtual representations of a first object, a second object, and a second user in accordance with the first interaction input (810d), such as Figure 7B repositioning virtual objects 707a and 709a and avatar 706a relative to the viewpoint of user 726 as shown. For example, if the second hand of the user is associated with the second interaction input at the time of detecting the first interaction input, the computer system simultaneously repositions the first object, the second object, and the avatar corresponding to the second user relative to the viewpoint of the user of the computer system in accordance with the first interaction input. In some embodiments, the first object and the second object are shared with a second user of a second computer system. For example, the second computer system presents the content of the first object and the second object within a three-dimensional environment relative to the viewpoint of the second user. In some embodiments, the computer system simultaneously repositions all shared objects within the three-dimensional environment relative to the user's viewpoint in accordance with the first interaction input. In some embodiments, if the computer system detects a third interaction input provided by the first hand of the user and directed to a shared object within the three-dimensional environment (e.g., the user's gaze is directed to the shared object), and if the third interaction input is detected while the second hand of the user is engaged, the computer system simultaneously repositions the shared object and any other shared objects within the three-dimensional environment in accordance with the third interaction input relative to the user's viewpoint. In some embodiments, if the third interaction input is detected while the second hand of the user is not engaged, if the shared object is a virtual representation of another user, the computer system forgoes repositioning the shared object within the three-dimensional environment in accordance with the third interaction input, and if the shared object is not a virtual representation of another user (e.g., is a shared application window), the computer system repositions the shared object within the three-dimensional environment in accordance with the third input. When in a communication session, repositioning multiple objects (including representations of other users) within the three-dimensional environment based on whether the hands of the user of the computer system are in an engaged posture enables simultaneous repositioning of multiple objects relative to the user's viewpoint without displaying additional controls, thereby improving user-device interaction.

[0167] In some embodiments, the first interaction input includes movement (812a) of a first predefined portion of the user of the computer system in a first direction and by a first magnitude, such as Fig. 7AThe movement of the hand 703a shown in the rightward direction. For example, the movement of the user's first hand is moving in a first direction (e.g., in a vertical direction, a horizontal direction, a diagonal direction, or a rotational direction) in space by a first magnitude (e.g., a first speed, a first duration, and / or a first movement distance) while the first hand is in a pinching hand shape and / or is engaging a hardware input device, as described above.

[0168] In some embodiments, the first operation includes simultaneously repositioning a first object and a second object (812b) in a second direction along a first direction within the environment relative to the user's viewpoint according to a first interaction input and by a second magnitude based on the first magnitude (e.g., a second speed, a second duration, and / or a second movement distance), such as Figure 7B simultaneously repositioning the virtual objects 707a and 709a in the rightward direction relative to the viewpoint of the user 1126 as shown. For example, the computer system moves the first object and the second object in a second direction within the three-dimensional environment that is optionally the same as the first direction. In some embodiments, the first object and the second object move in the three-dimensional environment by respective distances, respective durations, and / or respective speeds based on the first magnitude. For example, the second magnitude is equal to the first magnitude, less than the first magnitude (but proportional to the first magnitude), or greater than the first magnitude (but proportional to the first magnitude). In some embodiments, if the second magnitude is equal to the first magnitude, when the user's first hand moves a first distance in space relative to the user's viewpoint, the computer system moves the first object and the second object a first distance in the three-dimensional environment. If the second magnitude is less than the first magnitude, when the user's hand moves a first distance in space relative to the user's viewpoint, the computer system moves the first object and the second object a second distance less than the first distance in the three-dimensional environment. Repositioning multiple objects in a three-dimensional environment based on the movement of a user's hand enables simultaneously repositioning multiple objects in corresponding directions and by corresponding magnitudes relative to the user's viewpoint without displaying additional controls, thereby improving user-device interaction.

[0169] In some embodiments, according to the movement of a first predefined part of the user (e.g., Fig. 7A the hand 703a in ) relative to a second predefined part of the user (e.g., the hand 705a) being a first relative movement, simultaneously repositioning the first object and the second object (814a) in a second direction within the environment and by a second relative magnitude includes simultaneously repositioning the first object and the second object (814b) in a first relative direction within the environment and by a second relative magnitude, as referenced Figure 7BAs described. For example, the movement directions of the first object and the second object in a three-dimensional environment are based on the movement of the user's first hand relative to the position of the user's second hand in space. In some embodiments, if the position of the user's first hand relative to the user's second hand (e.g., at the time of detecting the first interaction input) moves in a first corresponding direction (e.g., clockwise away), the computer system determines that the second direction is the first relative direction (e.g., based on the first corresponding direction in the clockwise direction), and simultaneously moves (e.g., rotates) the first object and the second object in the three-dimensional environment relative to the user's viewpoint in the first relative direction (e.g., clockwise direction) according to the first interaction input. In some embodiments, the second direction of the movement of the first predefined part of the user is relative to the second predefined part of the user because the second predefined part of the user is associated with the second interaction input at the time of detecting the first interaction input. In some embodiments, the magnitude of the movement of the first object and the second object is based on the movement of the user's first hand relative to the position of the user's second hand in space. In some embodiments, if the position of the user's first hand relative to (e.g., away from or towards) the user's second hand (e.g., at the time of detecting the first interaction input) moves with a first magnitude (e.g., speed, distance, and / or duration), the computer system determines that the second magnitude is the first relative magnitude (e.g., based on the first magnitude), and simultaneously moves (e.g., rotates) the first object and the second object in the three-dimensional environment relative to the user's viewpoint with the first relative magnitude according to the first interaction input. In some embodiments, the first magnitude of the movement of the first predefined part of the user is relative to the second predefined part of the user because the second predefined part of the user is associated with the second interaction input at the time of detecting the first interaction input.

[0170] In some embodiments, in accordance with the movement of the first predefined part of the user relative to the second predefined part of the user being a second relative movement different from the first relative movement, simultaneously repositioning the first object and the second object in the environment along the second direction and with the second magnitude includes simultaneously repositioning the first object (e.g., virtual object 707a) and the second object (e.g., virtual object 709a) (814c) in the environment along a second relative direction different from the first relative direction and with a second relative magnitude different from the first relative magnitude, as referenced Figure 7BAs described. If the position of the user's first hand relative to (e.g., counterclockwise towards) the position of the user's second hand in space moves in a second corresponding direction, the computer system optionally determines that the second direction is a second relative direction (e.g., counterclockwise direction), and simultaneously moves (e.g., rotates) the first object and the second object in a three-dimensional environment relative to the user's viewpoint in the second relative direction (e.g., counterclockwise direction) according to the first interaction input. If the position of the user's first hand relative to (e.g., away from or towards) the position of the user's second hand in space moves with a third magnitude different from the first magnitude, the computer system optionally determines that the second magnitude is a second relative magnitude (e.g., based on the third magnitude), and optionally simultaneously moves (e.g., rotates) the first object and the second object in a three-dimensional environment relative to the user's viewpoint with the second relative magnitude according to the first interaction input. Repositioning multiple objects in a three-dimensional environment based on the direction and magnitude of the movement of one hand of the user relative to the other hand enables repositioning multiple objects simultaneously in corresponding directions and with corresponding magnitudes relative to the user's viewpoint without displaying additional controls, thereby improving user-device interaction.

[0171] In some embodiments, according to the movement of the first predefined portion of the user relative to a third predefined portion (e.g., the upper body of user 1126) different from the first predefined portion and the second predefined portion of the user being a first relative movement, simultaneously repositioning the first object and the second object in the environment along a second direction and with a second magnitude includes (816a) repositioning the first object (e.g., virtual object 707a) and the second object (e.g., virtual object 709a) in the environment along the first relative direction and with the second relative magnitude (816b), as referenced Figure 7BAs described. For example, the movement directions of the first object and the second object within the three-dimensional environment are based on the movement of the user's first hand relative to a part of the user's upper body in space (such as the position of the user's head or the user's shoulder). In some embodiments, if the position of the user's first hand relative to a part of the user's upper body moves in a first corresponding direction (e.g., towards the user's upper body upon detection of a first interaction input), the computer system determines that the second direction is a first relative direction relative to the user's viewpoint (e.g., based on the first corresponding direction), and simultaneously moves (e.g., shifts or translates) the first object and the second object in the three-dimensional environment relative to the user's viewpoint in the second relative direction (e.g., towards the user) according to the first interaction input. In some embodiments, the amount of movement of the first object and the second object is based on the movement of the user's first hand relative to a part of the user's upper body in space (such as the position of the user's head or the user's shoulder). For example, if the position of the user's first hand relative to a part of the user's upper body (e.g., away from or towards) moves by a first amount (e.g., upon detection of a first interaction input), the computer system determines that the second amount is a first relative amount (e.g., based on the first amount), and simultaneously moves the first object and the second object in the three-dimensional environment relative to the user's viewpoint by the first relative amount according to the first interaction input.

[0172] In some embodiments, in response to a second relative movement different from the first relative movement based on the movement of a first predefined part of the user relative to a third predefined part of the user, simultaneously repositioning the first object and the second object in the environment in a second direction and by a second amount includes simultaneously repositioning the first object (e.g., virtual object 707a) and the second object (e.g., virtual object 709a) (816c) in the environment in a second relative direction different from the first relative direction and by a second relative amount different from the first relative amount, as referenced Figure 7BAs described above. If the position of the user's first hand relative to (e.g., away from) a part of the user's upper body in space moves in a second corresponding direction, the computer system optionally determines that the second direction is a second relative direction relative to the user's viewpoint (e.g., based on the second corresponding direction), and simultaneously moves (e.g., shifts or translates) the first object and the second object in a three-dimensional environment relative to the user's viewpoint in the second relative direction (e.g., away from the user) according to the first interaction input. If the position of the user's first hand relative to (e.g., away from or towards) a part of the user's upper body in space moves with a third magnitude different from the first magnitude, the computer system optionally determines that the second magnitude is a second relative magnitude (e.g., based on the third magnitude), and simultaneously moves (e.g., shifts or translates) the first object and the second object in a three-dimensional environment relative to the user's viewpoint with the second relative magnitude according to the first interaction input. Repositioning multiple objects in a three-dimensional environment based on the direction and magnitude of the movement of a user's hand relative to different parts of the user's body enables simultaneous repositioning of multiple objects in corresponding directions and with corresponding magnitudes relative to the user's viewpoint without displaying additional controls, thereby improving user-device interaction.

[0173] In some embodiments, upon detecting the first interaction input (818a), the environment is displayed with a first visual characteristic having a second value, such as the display of the three-dimensional environment 702 as shown in Fig. 7A In some embodiments, upon detecting the first interaction input (818b), based on the determination that a second predefined part of the user is associated with the second interaction input upon detecting the first interaction input, the computer system displays (818c) the environment with a first visual characteristic having a first value different from the second value, such as the display of the three-dimensional environment 702 as shown in Figure 7B For example, if the user's second hand is associated with the second interaction input upon detecting the first interaction input, the computer system changes the appearance of the three-dimensional environment around the first object and the second object relative to the viewpoint of the user of the computer system using the first visual characteristic. In some embodiments, the first visual characteristic includes a darkening effect, and the first value includes the darkness level of the three-dimensional environment. In some embodiments, the first visual characteristic includes a blurring effect, and the first value includes the blurring level of the three-dimensional environment. In some embodiments, the first visual characteristic is not applied to the first object and the second object.

[0174] In some embodiments, based on the determination that a second predefined part of the user is not associated with the second interaction input upon detecting the first interaction input, the computer system maintains (818d) the display of the environment with the first visual characteristic having the second value, such as the display of Figure 7GThe appearance of the three-dimensional environment 702 as shown. For example, if the user's second hand is not associated with the second interaction input when the first interaction input is detected, the computer system abandons changing the appearance of the three-dimensional environment around the first object and the second object with respect to the user's viewing point of the computer system using the first visual characteristic. In some embodiments, the three-dimensional environment is displayed with a first visual characteristic having a second value before the computer system receives the first interaction input. In some embodiments, if the first visual characteristic includes a darkening effect, the second value is less than the first value, so that the darkness level of the three-dimensional environment remains unchanged. In some embodiments, if the first visual characteristic includes a blurring effect, the second value is less than the first value, so that the blurring level of the three-dimensional environment remains unchanged. In some embodiments, the change in the first visual characteristic is not applied to the first object and the second object. Selectively changing the appearance of the three-dimensional environment around multiple objects based on whether the user's hands of the computer system are in a joined posture facilitates discovering that the multiple objects can be repositioned simultaneously relative to the user's viewing point, thereby improving user-device interaction.

[0175] In some embodiments, when the environment is displayed with a first visual characteristic having a first value (e.g., the appearance of the three-dimensional environment 702 as shown in Figure 7B ), for example, because the user's second hand is associated with the second interaction input when the first interaction input is detected, the computer system detects (820a) via one or more input devices that a first predefined portion of the user is no longer associated with the first interaction input (e.g., detecting that the hand 703c releases a pinch, as shown in Figure 7C ), and that a second predefined portion of the user is no longer associated with the second interaction input (e.g., detecting that the hand 705b remains in a disengaged state, as shown in Figure 7C ). For example, the computer system detects that the user's first hand no longer provides a pinch gesture and / or no longer provides input via the above input device. Additionally and / or simultaneously, in some embodiments, the computer system detects that the user's second hand no longer provides a pinch gesture, is no longer in a predefined posture (e.g., the user's second hand is in a relaxed state relative to the surface on which the user is located), and / or no longer provides input via the above second input device.

[0176] In some embodiments, in response to detecting the indication, the computer system maintains (820b) the display of the environment with the first visual characteristic having the first value for a threshold amount of time, such as maintaining the display of the appearance of the three-dimensional environment 702, as shown in Fig.7DAs shown. For example, the computer system maintains the display of the environment with a dimming effect and / or a blurring effect for 0.5, 1, 1.5, 2, 2.5, 3, 4, 5, or 10 seconds after detecting that the user's first hand and second hand are no longer in contact. In some embodiments, as described below, if the computer system detects subsequent input provided by the user's first hand and / or second hand within a threshold amount of time, such as a pinch gesture or the engagement of an input device in the manner described above or below, the computer system will simultaneously perform a repositioning operation on a first object and a second object within the three-dimensional environment and continue to display the environment with a first visual characteristic having a first value. If the computer system detects subsequent input provided by the first hand or the second hand after the threshold amount of time has passed, the computer system will optionally forgo simultaneously performing the repositioning operation on the first object and the second object within the three-dimensional environment and will update the display of the three-dimensional environment to display with a first visual characteristic having a second value, as described below. In some embodiments, if the computer system does not detect subsequent input and the threshold amount of time has passed, the computer system will update the display of the three-dimensional environment to be displayed with a first visual characteristic having a second value. Maintaining the display of the appearance change of the three-dimensional environment surrounding multiple objects for a threshold amount of time in response to detecting that the user's hand of the computer system is no longer in an engaged posture facilitates the discovery of further simultaneous repositioning of multiple objects relative to the user's viewing point within the threshold amount of time, thereby improving user-device interaction.

[0177] In some embodiments, after detecting the end of the first interaction input, the computer system detects (822a) a third interaction input via one or more input devices, such as Fig.7D the movement of hand 703d as shown in Figure 7F or the movement of hand 713a as shown in

[0178] In some embodiments, in response to detecting the third interaction input (822b), based on the determination that the third interaction input is not associated with one of a first predefined portion of the user or a second predefined portion of the user, such as Figure 7F the movement of hand 713a as shown in Figure 7GThe appearance of the three-dimensional environment 702 as shown. For example, before the third interaction input is detected, the three-dimensional environment is displayed with a first visual characteristic having a second value (e.g., the three-dimensional environment is displayed with less darkening or blurring effects compared to when the three-dimensional environment is displayed with a first visual characteristic having a first value). In some embodiments, in response to detecting the third interaction input, if the third interaction input is not provided simultaneously by the user's first hand and second hand, the computer system maintains the display of the three-dimensional environment with the first visual characteristic having the second value. For example, the computer system abandons changing the appearance of the three-dimensional environment around the first object and the second object in response to detecting the third interaction input, which optionally indicates that the computer system will abandon simultaneously repositioning the first object and the second object within the three-dimensional environment relative to the user's viewpoint according to the third interaction input (e.g., if the third interaction input includes the movement of one or both of the user's hands).

[0179] In some embodiments, based on the determination that the third interaction input is associated with the movement of the user's first predefined part and the user's second predefined part (such as the movement of the hand 703d as shown in Fig.7D ), the computer system displays (822d) the environment with a first visual characteristic having a first value, such as the appearance of the three-dimensional environment 702 in Fig. 7E . For example, if the third interaction input is provided simultaneously by the user's first hand and second hand, the computer system changes the appearance of the three-dimensional environment around the first object and the second object (e.g., the three-dimensional environment is displayed with increased darkening and / or blurring effects compared to when the three-dimensional environment is displayed with a first visual characteristic having a second value). In some embodiments, in response to detecting the third interaction input, the computer system will simultaneously reposition the first object and the second object within the three-dimensional environment relative to the user's viewpoint according to the third interaction input (e.g., if the third interaction input includes the movement of one or both of the user's hands). Selectively changing the appearance of the three-dimensional environment around multiple objects based on whether the user's hands are engaged simultaneously provides feedback on whether the multiple objects can be further repositioned simultaneously relative to the user's viewpoint, thereby improving user-device interaction.

[0180] In some embodiments, the environment includes one or more portions of the physical environment of the display generation component (e.g., the physical table 722a, the physical sofa 724a, and / or the physical wall in the field of view of the display generation component 120 in Fig. 7A ), and displaying the environment with a first visual characteristic having a first value includes displaying one or more portions of the physical environment with a first visual emphasis relative to the first object and the second object (e.g., Figure 7B(e.g., the appearance of the physical table 722a, the physical sofa 724a, and / or the physical wall in), and displaying the environment with a first visual characteristic having a second value includes displaying one or more portions of the physical environment with a second visual emphasis (824) that is different from the first visual emphasis with respect to the first object and the second object (e.g., Figure 7F (e.g., the appearance of the physical table 722a, the physical sofa 724a, and / or the physical wall in). For example, as described above, displaying the three-dimensional environment with a first visual characteristic having a first value is independent of the display of the first object and the second object. In some embodiments, when the computer system displays the three-dimensional environment with increased darkening and / or blurring (e.g., in response to detecting a first interaction input when a second interaction input is provided by the user's second hand), the computer system abandons displaying the first object and the second object with increased darkening and / or blurring. In some embodiments, when the computer system is engaged in a communication session with a second computer system, as described above, and when the three-dimensional environment includes a virtual representation of a second user of the second computer system, the computer system abandons displaying the virtual representation of the second user with increased darkening and / or blurring in response to detecting a first interaction input when a second interaction input is provided by the user's second hand. When the computer system changes the appearance of the three-dimensional environment, abandoning the change in the appearance of multiple objects in the three-dimensional environment facilitates the discovery that multiple objects can be repositioned simultaneously with respect to the user's viewpoint, thereby improving user-device interaction.

[0181] In some embodiments, based on the determination that a second predefined portion of the user is associated with a second interaction input when the first interaction input is detected and while a first predefined portion of the user remains engaged (826a), as referenced Fig. 7A above, after detecting the end of the first interaction input, the computer system detects (826b) via one or more input devices an indication that the second predefined portion of the user is no longer associated with the second interaction input, such as detecting that the hand 705b is no longer in the engaged state as referenced Figure 7B above. For example, the computer system detects that the user's second hand is no longer providing a pinch gesture, is no longer in a predefined posture (e.g., the user's second hand is in a relaxed state relative to the surface on which the user is located), and / or is no longer providing input via the second input device described above. In some embodiments, when the indication is detected, the user's first hand remains in the engaged posture (e.g., maintaining a pinch gesture and / or maintaining a selection via the input device).

[0182] In some embodiments, after detecting the indication, the computer system detects (826c) via one or more input devices a third interaction input associated with the first predefined portion of the user, such as Figure 7BMovement of the hand 703b as shown. For example, when the first hand of a user of a computer system remains engaged (e.g., maintaining a pinching hand shape and / or providing a selection input on a hardware input device), the computer system detects subsequent movement of the user's first hand in space, such as an air drag gesture and / or when engaging the hardware input device, as described similarly above.

[0183] In some embodiments, in response to detecting a third interaction input, the computer system performs (826d) a third operation, including simultaneously repositioning a first object and a second object within the environment relative to the user's viewpoint according to the third interaction input, such as Figure 7C simultaneously rotating the virtual objects 707a and 709a relative to the viewpoint of the user 726 as shown. For example, the third operation includes simultaneously moving / translating and / or rotating a first object and a second object in a three-dimensional environment relative to the viewpoint of the user of the computer system. In some embodiments, the magnitude and / or direction of the repositioning of the first object and the second object in the three-dimensional environment corresponds to the magnitude and / or direction of the movement / rotation of the user's first hand, as described similarly above. In some embodiments, the movement / translation and / or rotation of the first object and the second object caused by the third interaction input and the second object is in addition to the movement / translation and / or rotation of the first object and the second object caused by the first interaction input. Performing an additional operation that includes further repositioning a plurality of objects in the three-dimensional environment in response to detecting a single-handed input based on whether the user's two hands of the computer system are initially in an engaged posture reduces the amount of input required to further reposition the plurality of objects relative to the user's viewpoint, thereby improving user-device interaction.

[0184] In some embodiments, after detecting the end of the first interaction input, wherein the second predefined portion of the user is associated with the second interaction input when the first interaction input is detected, as referenced Fig. 7A above, the computer system detects (828a) via one or more input devices that the first predefined portion of the user (e.g., Figure 7C the hand 703C in Figure 7C ) is no longer associated with the first interaction input and the second predefined portion of the user (e.g., Figure 7C the hand 705b in

[0185] In some embodiments, after detecting the indication, the computer system detects (828b) a third interaction input associated with a first predefined portion of the user via one or more input devices, such as the movement of the hand 703d as shown in Fig.7D For example, the computer system detects an air pinch gesture performed by the first hand of the user of the computer system, as described similarly above. In some embodiments, after detecting the air pinch gesture, the computer system detects the movement of the user's hand in space, such as an air drag gesture, as described above. In some embodiments, the computer system detects a selection input (e.g., tap, touch, or click) via a hardware input device provided by one or more fingers of the user's hand, as described above. In some embodiments, the second hand of the user remains disengaged when the third interaction input is provided.

[0186] In some embodiments, in response to detecting the third interaction input (828c), based on the determination of detecting the third interaction input within a threshold amount of time (e.g., 0.5, 1, 1.5, 2, 2.5, 3, 4, 5, or 10 seconds) after detecting the indication, as referenced in Fig.7D The computer system performs (828d) a third operation, including simultaneously repositioning a first object and a second object within the environment relative to the user's viewpoint according to the third interaction input, such as simultaneously rotating the virtual objects 707a and 709a relative to the viewpoint of the user 726 as shown in Fig. 7E For example, the third operation includes moving / translating and / or rotating the first object and the second object in a three-dimensional environment relative to the viewpoint of the user of the computer system. In some embodiments, the magnitude and / or direction of the repositioning of the first object and the second object in the three-dimensional environment corresponds to the magnitude and / or direction of the movement / rotation of the user's first hand, as described similarly above. In some embodiments, the movement / translation and / or rotation of the first object and the second object caused by the third interaction input and the second object is in addition to the movement / translation and / or rotation of the first object and the second object caused by the first interaction input, because the third interaction input is detected within a threshold amount of time after detecting that the second hand is no longer in an engaged posture. Detecting a single-handed input in response to whether a single-handed input is detected within a threshold amount of time of detecting the disengagement of both hands of the user of the computer system and performing an additional operation including further repositioning a plurality of objects in the three-dimensional environment reduces the number of inputs required to further reposition the plurality of objects relative to the user's viewpoint, thereby improving user-device interaction.

[0187] In some embodiments, in response to detecting the third interaction input (830a), based on the detection of an indication (such as Figure 7Fdetermination of a third interaction input being detected after a threshold amount of time (e.g., 0.5, 1, 1.5, 2, 2.5, 3, 4, 5, or 10 seconds) of movement of the hand 713a as shown, the computer system abandons (830b) performing the third operation, as referenced Figure 7G above. For example, the computer system performs a fourth operation different from the third operation. In some embodiments, since the computer system detects the third interaction input provided by the user's first hand after the threshold amount of time has elapsed, the computer system activates a selectable affordance or moves a first object or a second object within a three-dimensional environment based on the third interaction input, as similarly described above with respect to the second operation performed in response to detecting the first interaction input. Abandoning repositioning multiple objects in a three-dimensional environment in response to detecting a single-handed input after a threshold amount of time has elapsed since the user's hands of the computer system were detected to be disengaged enables alternative operations to be performed without displaying additional controls, thereby improving user-device interaction.

[0188] In some embodiments, a user of the computer system engages in a communication session with a second user of a second computer system (e.g., computer system 101b) when the display environment (832a) is presented (e.g., when the first interaction input is received, the computer system engages in a communication session with the second computer system, as described above). In some embodiments, the environment includes a virtual representation of the second user of the second computer system (832b) (e.g., Fig. 7A the avatar 706a in ) (e.g., the three-dimensional environment includes an avatar corresponding to the second user, as described above).

[0189] In some embodiments, in response to detecting the first interaction input (832c), performing the first operation includes simultaneously repositioning the first object (and / or the second object) and the virtual representation of the second user within the environment relative to the user's viewpoint based on the first interaction input, in accordance with the determination that a second predefined portion of the user at the time of detecting the first interaction input is associated with the second interaction input (e.g., as referenced Fig. 7A above) and the first object (and / or the second object) is shared with the second user of the second computer system, such as Figure 7BSimultaneously move virtual objects 707a and 709a and avatar 706a with respect to the viewpoint of user 726 as shown. For example, if the second hand of the user is associated with a second interaction input upon detection of a first interaction input, and if the first object and the second object are shared between the computer system and a second computer system, as described above, then the computer system simultaneously relocates the first object, the second object, and the avatar corresponding to the second user within the three-dimensional environment with respect to the viewpoint of the user of the computer system. In some embodiments, if the first object and the second object are not shared between the computer system and the second computer system, then the computer system abandons simultaneously relocating the first object, the second object, and the avatar corresponding to the second user within the three-dimensional environment. For example, the computer system performs an alternative operation (e.g., the second operation as discussed above). When in a communication session, relocating multiple shared objects (including representations of other users) within the three-dimensional environment based on whether the hands of the user of the computer system are in an engaged pose enables simultaneous relocation of multiple shared objects with respect to the user's viewpoint without displaying additional controls, thereby improving user-device interaction.

[0190] In some embodiments, a virtual representation (e.g., similar to avatar 706a) of the user of the computer system (e.g., 101a) is displayed in the environment (834a) at the second computer system (e.g., 101b), as referenced 7A to 7I as described. For example, the second computer system is displaying a three-dimensional environment including an avatar corresponding to the user of the computer system. In some embodiments, if the first object and the second object are shared between the computer system and the second computer system during a communication session, then the three-dimensional environment displayed at the second computer system also includes the first object and the second object. In some embodiments, if the first object and / or the second object is not shared with the second computer system, then the three-dimensional environment displayed at the second computer system does not include the first object and / or the second object, or includes the first object and / or the second object without the content of the first object and / or the second object. In some embodiments, the three-dimensional environment displayed at the second computer system includes one or more characteristics of the three-dimensional environment displayed at the computer system. For example, the three-dimensional environment at the second computer system is generated, displayed, or otherwise enabled to be viewed through the second computer system (e.g., an extended reality (XR) environment, such as a virtual reality (VR) environment, a mixed reality (MR) environment, or an augmented reality (AR) environment). In some embodiments, as described above, the three-dimensional environment displayed at the second computer system includes at least a portion of the physical environment around the second computer system, different from the physical environment around the computer system.

[0191] In some embodiments, when the computer system performs a first operation, the virtual representation (834b) of the user of the computer system is repositioned in the environment at the second computer system based on the first operation relative to the viewpoint of a second user, similar to the movement of the avatar 706a as shown in Fig.7I For example, when the computer system simultaneously repositions a first object, a second object, and an avatar corresponding to a second user of the second computer system due to the sharing of the first object and the second object between the computer system and the second computer system, the second computer system repositions the avatar corresponding to the user of the computer system within the three-dimensional environment at the second computer system based on the first operation relative to the viewpoint of the second user. For example, the second computer system moves the avatar corresponding to the user of the computer system within the three-dimensional environment at the second computer system based on the movement of the first object, the second object, and the avatar corresponding to the user of the computer system, without moving the first object and the second object, such that the environments displayed at the computer system and the second computer system maintain a common spatial arrangement of the visual representations / viewpoints of the shared objects and users. In some embodiments, if the second computer system detects an interaction input directed to a portion of the three-dimensional environment displayed at the second computer system, and the second computer system simultaneously repositions the first object, the second object, and the virtual representation of the user of the computer system within the three-dimensional environment relative to the viewpoint of the second user, the computer system will move the virtual representation (e.g., avatar) of the second user in the three-dimensional environment displayed at the computer system relative to the viewpoint of the user of the computer system without moving the first object and the second object. In some embodiments, the virtual representations of the second user of the second computer system and the user of the computer system move within the environments displayed at the computer system and the second computer system, respectively, to maintain a common spatial arrangement of the visual representations / viewpoints of the shared objects and users. When the computer system and the second computer system conduct a communication session, repositioning the virtual representation of the user of the computer system in the three-dimensional environment displayed at the second computer system based on the input detected at the second computer system maintains spatial authenticity among the user of the computer system, the second user, and other objects in the communication session, thereby improving user-device interaction.

[0192] In some embodiments, upon detecting a first interaction input, the virtual representation of the user is visually faded in the environment at the second computer system (836), such as as shown in Figure 7HVisual fading of the avatar 706a shown in. For example, when the computer system detects that the user's first hand is associated with a first interaction input, the second computer system visually fades the avatar corresponding to the user of the computer system in the three-dimensional environment at the second computer system. In some embodiments, the second computer system darkens, blurs, fades, and / or dims the virtual representation of the user in the three-dimensional environment at the second computer system relative to the second user's viewpoint and / or relative to other parts of the environment displayed at the second computer system. In some embodiments, when the computer system detects the end of the first interaction input, the second computer system stops visually fading the virtual representation of the user of the computer system in the three-dimensional environment at the second computer system relative to the second user's viewpoint and / or relative to other parts of the environment displayed at the second computer system. When the computer system and the second computer system are in a communication session, visually fading the virtual representation of the user of the computer system in the three-dimensional environment displayed at the second computer system when the second computer system detects an input corresponding to a request to reposition a plurality of objects provides feedback that the computer system is detecting an input corresponding to repositioning a plurality of objects, thereby improving user-device interaction.

[0193] In some embodiments, when no virtual objects are displayed in the environment relative to the user's viewpoint (e.g., the first object and the second object are displayed in a three-dimensional environment outside the user's field of view), and no virtual (and / or physical) objects are displayed from the user's current viewpoint of the three-dimensional environment. In some embodiments, causing one or more physical objects in the physical environment around the display generation component to be visible in the user's current field of view, as described below in method 1400, the computer system detects (838a) a third interaction input associated with a first predefined part of the user (e.g., hand 703a) and a second predefined part of the user (e.g., hand 705a) via one or more input devices. For example, the computer system detects an air pinch gesture performed by the first hand and the second hand (each) of the user of the computer system, as similarly described above, while the user's attention is directed to a corresponding location in the three-dimensional environment (e.g., a location excluding the first object and the second object). In some embodiments, after detecting the air pinch gesture, the computer system detects the movement of the user's hand in space, such as an air drag gesture, as described above. In some embodiments, the computer system detects a selection input (e.g., tapping, touching, and / or clicking) via a hardware input device provided by one or more fingers of the first hand and the second hand (each) of the user, as described above. In some embodiments, the movement includes translation or rotation of the first hand and / or the second hand of the user. In some embodiments, the reference point is determined based on the position of the user's attention in the three-dimensional environment.

[0194] In some embodiments, in response to detecting a third interaction input (838b), and based on a determination that the third interaction input corresponds to a request to perform a third operation of a first type, where the third operation of the first type includes simultaneously repositioning a first object and a second object within the environment in a first manner relative to the user's viewpoint, the computer system performs (838c) the third operation according to the third interaction input, as described below in method 1400. For example, the third operation of the first type includes moving / translating and / or rotating the first object and the second object in a three-dimensional environment relative to the user's viewpoint of the computer system. In some embodiments, the computer system simultaneously repositions the first object and the second object within the three-dimensional environment relative to the user's viewpoint according to the third interaction input. For example, the computer system simultaneously moves the first object and the second object or simultaneously rotates the first object and the second object (e.g., when the first object and the second object are optionally outside the user's field of view).

[0195] In some embodiments, based on a determination that the third interaction input corresponds to a request to perform a third operation of a second type different from the first type, where the third operation of the second type includes simultaneously repositioning the first object and the second object within the environment in a second manner relative to a reference point other than the user's viewpoint, the computer system abandons (838d) performing the third operation, as described below in method 1400. For example, the third operation of the second type includes rotating the first object and the second object in the three-dimensional environment relative to a reference point determined based on the user's gaze position in the three-dimensional environment. In some embodiments, since the first object and the second object are outside the user's field of view, the computer system abandons simultaneously repositioning the first object and the second object relative to the reference point. In some embodiments, the computer system performs an alternative operation. For example, the computer system simultaneously repositions the first object and the second object relative to the user's viewpoint of the computer system (e.g., regardless of the position of the user's attention). In some embodiments, the computer system does not perform the third operation of the second type, which includes simultaneously repositioning the first object and the second object within the environment relative to the reference point, because only the third operation of the first type is allowed when there are no virtual objects in the user's current field of view. Limiting the repositioning of multiple objects to be relative to the user's viewpoint of the computer system when multiple objects are outside the user's field of view avoids situations where multiple objects are inadvertently moved and / or further moved outside the user's field of view, thus improving user-device interaction.

[0196] It should be understood that the specific order in which the operations in method 800 are described is merely exemplary and is not intended to indicate that the described order is the only order in which these operations can be performed. Those of ordinary skill in the art will envision various ways to reorder the operations described herein.

[0197] FIG. 9A to FIG. 9I Shows an example of a computer system that facilitates manipulation of virtual objects in a virtual environment according to some embodiments.

[0198] Fig. 9A Shows that the computer system 101a (e.g., an electronic device) displays a three-dimensional environment 901 from the viewpoint of the user 905a (e.g., facing the rear wall of the physical environment in which the computer system 101 is located) shown in a top view via a display generation component (e.g., Figure 1 the display generation component 120). In some embodiments, the computer system 101a includes a display generation component (e.g., a touch screen 120) and a plurality of image sensors (e.g., Figure 3 the image sensor 314). The image sensor optionally includes one or more of the following: a visible light camera; an infrared camera; a depth sensor; or any other sensor that the computer system 101a can use to capture one or more images of the user or a part of the user (e.g., one or more hands of the user) when the user interacts with the computer system 101a. In some embodiments, the user interfaces shown and described below can also be implemented on a head-mounted display that includes a display generation component for displaying the user interface or the three-dimensional environment 901 to the user, and sensors for detecting movement of the physical environment and / or the user's hand (e.g., external sensors facing away from the user) and / or sensors for detecting the user's attention (e.g., gaze) (e.g., internal sensors facing the user's face).

[0199] As Fig.9A shown, the computer system 101a captures one or more images of the physical environment (e.g., the operating environment 100) around the computer system 101a, including one or more objects in the physical environment around the computer system 101a. In some embodiments, the computer system 101a displays a representation of the physical environment in the three-dimensional environment 901. For example, the three-dimensional environment 901 includes a representation 922 of a coffee table, which is optionally a representation of a physical coffee table in the physical environment, and the three-dimensional environment 901 includes a representation 924 of a sofa, which is optionally a representation of a physical sofa in the physical environment.

[0200] In Fig. 9A , the three-dimensional environment 901 also includes virtual objects, including the Application A user interface 902 and the Application B user interface 904. The Application A user interface 902 and the Application B user interface 904 are optionally at different distances from the viewpoint of the user 905a in the three-dimensional environment 901. For example, in Fig.9AIn [the figure], the user interface 902 of Application A is located at a first position that is farther from the viewing point of the user 905a than the second position where the user interface 904 of Application B is located in the three-dimensional environment 901, as reflected in the top view. In some embodiments, the user interface 902 of Application A and the user interface 904 of Application B are optionally one or more of the user interfaces of applications that contain content (such as a quick view window displaying a photo), three-dimensional objects (such as a virtual clock, a virtual ball, and / or a virtual car), or any other elements not included in the physical environment of the display generation component 120 and displayed by the computer system 101a.

[0201] In some embodiments, the computer system 101a conducts a communication session with a second computer system 101b (shown in the top view). For example, the user interface 902 of Application A and the user interface 904 of Application B within the three-dimensional environment 901 are simultaneously displayed by both the computer system 101a and the second computer system 101b, but are displayed from different viewing points associated with their respective users. In some embodiments, during the communication session, the user 905a of the computer system 101a has a first viewing point of the three-dimensional environment 901, and the second user 905b of the second computer system 101b has a second viewing point of the three-dimensional environment 901. For example, as Fig. 9A shown, the field of view of the three-dimensional environment 901 from the first viewing point of the user 905a of the computer system 101a includes a first portion of the three-dimensional environment 901 (including the user interface 902 of Application A and the user interface 904 of Application B), and the field of view of the three-dimensional environment 901 from the second viewing point of the second user 905b of the second computer system 101b includes a second portion of the three-dimensional environment 901 displayed via the display generation component of the second computer system 101b. In some embodiments, the second portion of the three-dimensional environment 901 includes the user interface 902 of Application A and / or the user interface 904 of Application B, or includes neither the user interface 902 of Application A nor the user interface 904 of Application B. In some embodiments, the computer system 101a and the second computer system 101b are located in the same physical environment (such as at Fig. 9A different positions in the same room). In some embodiments, the computer system 101a and the second computer system 101b are located in different physical environments (such as different cities, different rooms, different states, and / or different countries).

[0202] In some embodiments, when the computer system 101a conducts a communication session with the second computer system 101b, the three-dimensional environment 901 includes a virtual representation of the second user 905b of the second computer system 101b and optionally a virtual representation of the second computer system 101b. For example, as Fig. 9AAs shown, the three-dimensional environment 901 includes an avatar corresponding to a second user 905b of a second computer system 101b. In Fig. 9A , the avatar corresponding to the second user 905b is optionally displayed at a third location in the three-dimensional environment 901, as shown in the top view. In some embodiments, the avatar corresponding to the second user 905b includes a three-dimensional representation (e.g., rendering) of the second user 905b. In some embodiments, the avatar corresponding to the second user includes a representation of the second computer system 101b of which the second user 905b is a user. In some embodiments, a second portion of the three-dimensional environment 901 as viewed from a second viewpoint of the second user 905b and displayed at the second computer system 101b includes a virtual representation of the user 905a of the computer system 101a.

[0203] In some embodiments, virtual objects are displayed in the three-dimensional environment 901 in corresponding orientations relative to the viewpoint of the user 905a (e.g., before receiving one or more inputs to interact with the virtual objects in the three-dimensional environment 901, which will be described later). As Fig.9A shown, the application A user interface 902, the application B user interface 904, and the avatar corresponding to the second user 905b of the second computer system 101b have a first orientation in the three-dimensional environment 901, as shown via the display generation component 120 and in the top view of the three-dimensional environment 901. It should be understood that Fig.9A the orientation of the virtual objects in is merely exemplary, and other orientations are possible; for example, the virtual objects are optionally displayed in different orientations in the three-dimensional environment 901.

[0204] In some embodiments, Application A user interface 902 and / or Application B user interface 904 are shared between user 905a of computer system 101a and second user 905b of a second computer system 101b (e.g., when computer system 101a and the second computer system 101b are engaged in a communication session). For example, the user interface and / or content of Application A user interface 902 and / or Application B user interface 904 (e.g., text, images, video, files, icons, and / or control elements) are displayed in a first portion and / or a second portion of the three-dimensional environment 901 such that the user interface and / or content of Application A user interface 902 and / or Application B user interface 904 are accessible (e.g., viewable and / or interactable with (e.g., selectable or scrollable)) by user 905a of computer system 101a and second user 905b of the second computer system 101b. In some embodiments, as described below, when Application A user interface 902 and Application B user interface 904 are shared between user 905a and second user 905b, changes in the relative position of Application A user interface 902 and / or Application B user interface 904 within the three-dimensional environment 901 due to user input received at computer system 101a are reflected in a second portion of the three-dimensional environment 901 relative to a second viewing point of second user 905b at the second computer system 101b. In some embodiments, Application A user interface 902 and / or Application B user interface 904 are not shared between user 905a of computer system 101a and second user 905b of a second computer system 101b. For example, computer system 101a displays Application A user interface 902 and Application B user interface 904 in the three-dimensional environment 901 and / or provides user 905a access to the content of Application A user interface 902 and Application B user interface 904, and the second computer system 101b foregoes displaying Application A user interface 902 and / or Application B user interface 904 in a portion of the three-dimensional environment 901 at the second computer system 101b and / or foregoes providing second user 905b access to the content of Application A user interface 902 and / or Application B user interface 904. In some embodiments, when Application A user interface 902 and / or Application B user interface 904 are not shared between user 905a and second user 905b, changes in the relative position of Application A user interface 902 and / or Application B user interface 904 within the three-dimensional environment 901 due to user input received at computer system 101a are not reflected in a second portion of the three-dimensional environment 901 relative to a second viewing point of second user 905b at the second computer system 101b.

[0205] In some embodiments, computer system 101a and a second computer system 101b communicate with each other such that the display of application A user interface 902 and application B user interface 904 and / or the three-dimensional environment 901 within the three-dimensional environment 901 is coordinated between computer systems 101a and 101b. For example, as described below, changes (e.g., changes in position) made to application A user interface 902, application B user interface 904, and the avatar corresponding to second user 905b and / or the three-dimensional environment 901 itself within the three-dimensional environment 901 in response to an input from user 905a of computer system 101a are reflected in the display by the second computer system 101b of application A user interface 902 and / or application B user interface 904 and avatar 905b and / or the three-dimensional environment 901 within a portion of the three-dimensional environment 901.

[0206] In Fig.9A , when computer system 101a displays the three-dimensional environment 901 as described above, computer system 101a detects interaction inputs provided by hands 903a and 90b of user 905a while the attention of user 905a (optionally including gaze 907a) is directed to application A user interface 902 within the three-dimensional environment 901. In some embodiments, the interaction inputs correspond to requests to manipulate virtual objects within the three-dimensional environment 901. The interaction inputs include movement of hands 903a and 903b in a movement pattern corresponding to the rotation of a virtual object within the three-dimensional environment 901. In some embodiments, the interaction inputs include hands 903a and 903b in a predefined hand shape (e.g., a pinching hand shape) while performing the movement. In some embodiments, additional or alternative input devices are used to detect inputs for manipulating virtual objects within the three-dimensional environment 901, as described in more detail below with reference to method 1000. In some embodiments, since the attention of user 905a (optionally including gaze 907a) is directed to application A user interface 902, computer system 101 will rotate the virtual objects; including application A user interface 902, application B user interface 904, and the avatar corresponding to second user 905b; about a reference point 908a corresponding to application A user interface 902. For example, reference point 908a is the middle of application A user interface 902, as shown in a top view of the three-dimensional environment 901. In some embodiments, when rotating these virtual objects in accordance with the Fig. 9A inputs shown, computer system 101a maintains the spatial arrangement of application A user interface 902, application B user interface 904, and the avatar corresponding to second user 905b relative to each other.

[0207] In some embodiments, computer system 101a rotates a virtual object by an amount and in a direction in response to an interaction input, the amount and direction corresponding to (e.g., depending on) the amount and direction of movement of hands 903a and 903b of user 905a included in the interaction input. In response to detecting Fig. 9A the input shown in Fig.9A manipulates application A user interface 902, application B user interface 904, and an avatar corresponding to second user 905b relative to the viewpoint of user 905a and / or relative to one or more representations 922 and / or 924 of physical objects in environment 901, as shown in Fig. 9B .

[0208] Fig. 9B Shown is computer system 101a displaying three-dimensional environment 901 after manipulating application A user interface 902, application B user interface 904, and an avatar corresponding to second user 905b according to the input shown in Fig.9A . For example, since the movement of hands 903a and 903b in Fig. 9A corresponds to a counterclockwise rotation when providing the input in Fig. 9A , computer system 101a rotates application A user interface 902, application B user interface 904, and an avatar corresponding to second user 905b counterclockwise. Additionally, in this example, since attention (e.g., including gaze 907a) is directed to application A user interface 902 when providing the input in Fig. 9A , computer system 101a rotates application A user interface 902, application B user interface 904, and an avatar corresponding to second user 905b about reference point 908a corresponding to the center of application A user interface 902. In some embodiments, the amount of rotation of application A user interface 902, application B user interface 904, and an avatar corresponding to second user 905b in response to the input shown in Fig. 9A corresponds to (e.g., depends on) the amount of movement of hands 903a and 903b when providing the input in Fig. 9A .

[0209] As Fig. 9BAs shown, rotating the Application A user interface 902, the Application B user interface 904, and the avatar corresponding to the second user 905b around the reference point 908a associated with the Application A user interface 902 includes rotating the positions and orientations of these objects counterclockwise around the reference point 908a. For example, the Application B user interface 904 rotates counterclockwise and changes position to be further away from the viewpoint of the user 905a in the environment 901, the avatar of the second user 905b rotates clockwise and moves towards the viewpoint of the user 905a and moves to the right in the environment 901, and the Application A user interface 902 rotates counterclockwise. In some embodiments, in response to Fig. 9A the input in, the center of the Application A user interface 902 remains in the same position. Since the center of the Application A user interface 902 is the reference point around which the object rotates, a rotation without translation does not cause the center of the Application A user interface 902 to change position. As Fig. 9B shown, rotating the Application A user interface 902 causes the left edge of the Application A user interface 902 to move towards the viewpoint of the user 905a, and the right edge of the Application A user interface 902 to move away from the viewpoint of the user 905a.

[0210] The spatial arrangement of the Application A user interface 902, the Application B user interface 904, and the avatar of the second user 905b does not change in response to Fig. 9A the input shown in, as Fig. 9B shown in. In some embodiments, updating the portion of the three-dimensional environment 901 relative to the viewpoint of the user 905a displayed at the second computer system 101b in response to the user input shown in Fig. 9A includes updating the position and / or orientation of the avatar of the user 905a of the computer system 101a displayed at the second computer system 101b, without updating the position and / or orientation of the Application A user interface 902 or the Application B user interface 904. This is optional because the viewpoint of the second user 905b does not change relative to the spatial arrangement of the Application A user interface 902 and the Application B user interface 904 due to Fig. 9A the input in, but the viewpoint of the user 905a of the computer system 101a changes relative to the spatial arrangement of the Application A user interface 902, the Application B user interface 904, and the avatar of the second user 905b due to Fig. 9A the input in. In some embodiments, when the computer system 101a detects Fig. 9A the input in, the computer system 101b displays the avatar of the user 905a of the computer system 101a that is visually faded relative to the three-dimensional environment 901, as described in more detail above with reference to method 800.

[0211] Fig. 9BIt is also shown that the user provides another interactive input with hands 903a and 903b, while the attention of user 905a (optionally including gaze 907b) is directed to application B user interface 904. The interactive input includes the movement of hands 903a and 903b in a movement pattern corresponding to a clockwise rotation, optionally while hands 903a and 903b are in a pinched hand shape. In response to Fig. 9B the input shown in, computer system 101a manipulates application A user interface 902, application B user interface 904, and the avatar of second user 905b to rotate these objects clockwise around the center of application B user interface 904 at reference point 908b, as Fig. 9C shown in.

[0212] Fig. 9C An updated view of three-dimensional environment 901 with respect to the viewpoint of user 905a in response to the input shown in Fig. 9B is shown. In some embodiments, updating the view of three-dimensional environment 901 includes updating the positions of application A user interface 902 and the avatar of second user 905b to rotate these objects around the center of application B user interface 904 at reference point 908b as shown in Fig. 9B and rotating these objects and application B user interface 904 counterclockwise. In some embodiments, the amount of manipulation corresponds to (e.g., depends on) Fig. 9B the amount of movement of hands 903a and 903b in the input shown in. For example, if the amount of movement of hands 903a and 903b is large, the amount of manipulation of the virtual object will be large, and if the amount of movement of hands 903a and 903b is small, the amount of manipulation of the virtual object will be small. In some embodiments, the reference point 908b for manipulation in response to the input shown in Fig. 9B is associated with application B user interface 904 because when the input in Fig. 9B is provided, the attention of user 905a (optionally including gaze 907b) is directed to application B user interface 904. In some embodiments, when computer system 101a detects the input shown in Fig. 9B , second computer system 101b displays the avatar of first user 905a faded with respect to three-dimensional environment 901, and in response to this input, updates the position and / or orientation of the avatar of user 905a without updating the positions and orientations of application A user interface 902 and application B user interface 904 in the manner described above with reference to method 800.

[0213] In Fig. 9CIn this case, user 905a provides an interactive input corresponding to a request for the translation application A user interface 902, the application B user interface 904, and the avatar of the second user 905b. The interactive input includes the attention of user 905a being directed to the application B user interface 904 (optionally including the gaze 907c) and the movement of hands 903a and 903b in a movement pattern corresponding to the translation of the virtual object in the three-dimensional environment 901. For example, the movement of hands 903a and 903b is to the right, so in response to the input, the translation of the application A user interface 902, the application B user interface 904, and the avatar of the second user 905b will be to the right, as Fig.9D shown in

[0214] Fig.9D shows Fig. 9C the result of the interactive input shown in Fig.9D As shown, the computer system 101a updates the display of the three-dimensional environment 901 according to the Fig. 9C input shown to translate the application A user interface 902, the application B user interface 904, and the avatar of the second user 905b to the right relative to the viewpoint of user 905a. As described above with reference to other inputs for manipulating virtual objects in the three-dimensional environment 901, in some embodiments, the amount of manipulation of the object corresponds to (e.g., depends on) the amount of movement of the hands 903a and 903b of user 905a when providing the interactive input. In some embodiments, the second computer system 101b updates the three-dimensional environment 901 in response to the Fig. 9C input shown to update the position and / or orientation of the avatar of user 905a without updating the positions and orientations of the application A user interface 902 and the application B user interface 904, as described above with reference to method 800.

[0215] 9A to 9C shows an example of an interactive input for rotating a virtual object in the three-dimensional environment 901, and FIG. 9C to FIG. 9D shows an example of an interactive input for translating a virtual object in the three-dimensional environment 901. In some embodiments, the computer system 101a performs only translation or rotation in response to the interactive input. For example, even if the interactive input includes the movement of hands 903a and 903b corresponding to both translation and rotation, the computer system 101a performs only one of translation or rotation in response to the input based on which movement pattern is detected first and / or which movement pattern is more prominent. In some embodiments, the computer system 101a performs both rotation and translation in response to an interactive input including both a rotational movement pattern and a translational movement pattern, as will be described below with reference to FIG. 9D to FIG. 9FAs described. In some embodiments, the relative amounts of translation and rotation performed by computer system 101a in response to an interaction input that includes a translation movement mode and a rotation movement mode are adjusted according to an adjustment function described below. In some embodiments, the "amount" of various movement modes includes the speed, duration, and / or distance of movement of hands 903a and 903b in various movement modes.

[0216] In Fig.9D it, computer system 101a detects an interaction input that includes movement of hands 903a and 903b in movement modes that include a translation movement mode and a rotation movement mode. For example, the movement mode initially includes more translation than rotation at points 930a and 932a, and transitions to include more rotation than translation at points 930b and 932b. In some embodiments, since the attention of user 905a (optionally including gaze 907d) is directed to Fig.9D application B user interface 904 in Fig.9D it, the portion of the manipulation of the object in response to the input in it that includes rotation is a rotation about a reference point associated with application B user interface 904 (such as the center of application B user interface 904).

[0217] In some embodiments, upon detecting the interaction input, computer system 101a adjusts the amount of translation performed in response to the input according to adjustment function 926a. In some embodiments, adjustment function 926a shows how the amount of translation performed changes as the input includes more movement in the rotation mode. For example, the y-axis represents the amount of translation performed relative to the amount of rotation performed, and the x-axis represents the amount of rotation movement detected relative to the relative amount of translation movement detected. For example, point 928a of adjustment function 926a corresponds to points 930a and 932a of the movement of hands 903a and 903b. In this example, at point 928a, the movement mode of hands 903a and 903b has a smaller amount of rotation movement than translation movement, and the resulting movement mode has more translation than rotation. As another example, point 928b of adjustment function 926a corresponds to points 930b and 932b of the movement of hands 903a and 903b. In this example, at point 928b, the movement mode of hands 903a and 903b has a larger amount of rotation movement than translation movement, and the resulting manipulation of the virtual object has less translation than rotation. In some embodiments, computer system 101a upon detecting Fig.9DUpdate the positions of the application A user interface 902, the application B user interface 904, and the avatar of the second user 905b during the interactive input shown. For example, when a portion of the interactive input including the movement of hands 903a and 903b is detected at points 930a and 932a, the computer system 101a performs more translation than rotation, and when a portion of the interactive input including the movement of hands 903a and 903b is detected at points 930b and 932b, the computer system 101a performs more rotation than translation. In some embodiments, the amounts of translation and rotation are inversely proportional to each other. For example, the transition from performing more translation at points 930a and 932a represented by point 928a of the adjustment function 926a to performing more rotation at points 930b and 932b represented by point 928b of the adjustment function 926a is shown by the curve of the adjustment function 926a.

[0218] Although points 928a and 928b have been described in detail as examples, the illustration of the adjustment function 926a showing the relative translation amount as a function of the relative rotation input amount shows the adjustment amounts at multiple points along the adjustment function 926a. For example, as Fig.9D shown, the adjustment function 926a is non-linear such that when the input includes a small amount of movement corresponding to rotation, the amount of movement corresponding to rotation is changed, and compared to the case where the input includes relatively equal amounts of movement corresponding to translation and movement corresponding to rotation, the amount of change in the translation amount is smaller. Again, as Fig.9D shown, the adjustment function 926a is non-linear such that when the input includes a large amount of movement corresponding to rotation, the amount of movement corresponding to rotation is changed, and compared to the case where the input includes relatively equal amounts of movement corresponding to translation and movement corresponding to rotation, the amount of change in the translation amount is smaller. In some embodiments, as described in more detail below with reference to Fig.9E the adjustment function for adjusting the relative rotation amount according to the relative amount of translation input is different from Fig.9D the adjustment function 926a shown in

[0219] In response to Fig.9D the input shown in Fig.9E the computer system 101a updates the three-dimensional environment 901 to translate and rotate the application A user interface 902, the application B user interface 904, and the avatar of the second user 905b, as Fig.9E shown in Fig.9D For example, in Fig.9DWhen the input shown in the figure is received, the second computer system 101b displays the avatar of the user 905a of the computer system 101a with reduced visual emphasis relative to the rest of the environment 901, as described above.

[0220] In Fig.9E , the computer system 101a detects interaction inputs, including optionally the movement of hands 903a and 903b when hands 903a and 903b are in a pinching hand shape and the attention of the user 905a being directed to the application A user interface 902 (optionally including a gaze 907e). The movement of hands 903a and 903b includes a translational movement pattern and a rotational movement pattern. For example, the movement pattern initially includes more rotation than translation at points 930c and 932c and transitions to include more translation than rotation at points 930d and 932d. In some embodiments, since the attention of the user 905a (optionally including a gaze 907e) is directed to Fig.9E the application A user interface 902 in Fig.9E , the rotational part of the manipulation of the object in response to the input in

[0221] is a rotation about a reference point associated with the application A user interface 902 (such as the center of the application A user interface 902).

[0221] In some embodiments, when interaction inputs are detected, the computer system 101a adjusts the amount of rotation performed in response to the input according to an adjustment function 926b. The adjustment function 926b is optionally similar to the adjustment function 926a described above with reference to Fig.9E but is optionally a different function, as Fig.9D and Fig.9E shown. In some embodiments, the adjustment function 926b shows how the amount of rotation performed changes as the input includes more movement in the translational mode. For example, the y-axis represents the amount of rotation performed relative to the amount of translation performed, and the x-axis represents the amount of translational movement detected relative to the relative amount of rotational movement detected. For example, point 928c of the adjustment function 926b corresponds to points 930c and 932c of the movement of hands 903a and 903b. In this example, at point 928c, the movement pattern of hands 903a and 903b has a smaller amount of translational movement than rotational movement, and the resulting manipulation of the virtual object has more rotation than translation. As another example, point 928d of the adjustment function 926b corresponds to points 930d and 932d of the movement of hands 903a and 903b. In this example, at point 928d, the movement pattern of hands 903a and 903b has a larger amount of translational movement than rotational movement, and the resulting movement pattern has less rotation than translation. In some embodiments, the computer system 101a detects Fig.9EUpdate the positions of the application A user interface 902, the application B user interface 904, and the avatar of the second user 905b during the interactive input shown. For example, when a portion of the interactive input including the movement of hands 903a and 903b is detected at points 930c and 932c, the computer system 101a performs more rotation than translation, and when a portion of the interactive input including the movement of hands 903a and 903b is detected at points 930d and 932d, the computer system 101a performs more translation than rotation. In some embodiments, the amounts of translation and rotation are inversely proportional to each other. For example, the transition from performing more rotation at points 930c and 932c represented by point 928c of adjustment function 926b to performing more translation at points 930d and 932d represented by point 928d of adjustment function 926b is shown by the curve of adjustment function 926b.

[0222] Although points 928c and 928d have been described in detail as examples, the illustration of adjustment function 926b showing the relative rotation amount as a function of the relative translation input amount shows the adjustment amounts at multiple points along adjustment function 926b. In some embodiments, as described above with reference to Fig.9D in more detail, the adjustment function for adjusting the relative translation amount according to the relative amount of rotation input is different from Fig.9E the adjustment function 926b shown in Fig.9E In response to the input in Fig.9E the computer system rotates and translates the representations of the application A user interface 902, the application B user interface 904, and the second user 905b according to the input in Fig.9F as shown.

[0223] Fig.9F Shows the computer system 101a that displays the updated environment 901 according to the input in Fig.9E For example, the representations of the application A user interface 902, the application B user interface 904, and the second user 905b are rotated counterclockwise and translated relative to the positions of these objects in Fig.9E and relative to the viewpoint of user 905a to the left in Fig.9F as shown. In some embodiments, as described above, when the computer system 101a detects the input shown in Fig.9E the second computer system 101b visually fades and displays the avatar of the user 905a of the computer system 101a relative to the rest of the environment 901 at the second computer system 101b.

[0224] In some embodiments, the computer system 101a is capable of manipulating virtual objects in an additional or alternative manner in response to detecting an interactive input including additional or alternative movement patterns of hands 903a and 903b, as will be described below with reference to FIG. 9F to FIG. 9Iis described in more detail. In some embodiments, computer system 101a is capable of detecting interaction inputs that include these additional or alternative movement patterns, combinations with rotational movement patterns similar to those shown in Fig. 9A and Fig. 9B and / or translational movement patterns similar to those shown in Fig. 9C . It should be understood that the associations between the various inputs shown in FIG. 9F to FIG. 9H and the manipulations shown in FIG. 9G to FIG. 9I are exemplary. In some embodiments, computer system 101a associates the corresponding manipulations shown in FIG. 9G to FIG. 9I with different inputs shown in FIG. 9F to FIG. 9H , rather than the corresponding inputs provided as examples in the following description as causing the corresponding manipulations. For example, although the manipulation shown in Figure 9G is described as being performed in response to the input shown in Fig.9F , in some embodiments, computer system 101a performs the manipulation shown in Figure 9G in response to a different input.

[0225] For example, in Fig.9F , the computer system detects an interaction input that includes one hand 903a maintaining a corresponding hand shape (such as a pinching hand shape), while the other hand 903b moves relative to hand 903a in a rotational movement shape. In some embodiments, as part of the interaction input, hand 903b moving in a rotational movement shape is in a pre - determined hand shape, such as a pinching hand shape, while moving in the rotational movement shape. In some embodiments, as shown in Figure 9G , in response to the input shown in Fig.9F , the computer system rotates a virtual object around a reference point 908c associated with the position of the viewpoint of user 905a and / or the head and / or torso of user 905a according to the movement of hand 903b. For example, the object will rotate clockwise by an amount that corresponds to (e.g., depends on) the amount that hand 903b moves clockwise relative to the torso / viewpoint of user 905a and / or relative to hand 903a. In some embodiments, since the movement patterns of hands 903a and 903b correspond to a rotation around reference point 908c, which is not associated with one of the application A user interface 902, the application B user interface 904, or the avatar of the second user 905b, computer system 101a uses point 907c as the reference point, regardless of what position in the user attention environment 901 the user is focused on. For example, regardless of whether the attention (optionally including gaze 907f) of user 905a is directed to the application A user interface 902 or whether the attention (optionally including gaze 907g) of user 905a is directed to the application B user interface 904, computer system 101a responds to receiving the input shown in Fig.9F as shown in Figure 9G The updated environment 901 shown. In some embodiments, when computer system 101a detects Fig.9F an input in, the second computer system 101b visually fades and displays the avatar of user 905a of computer system 101a relative to the rest of the environment 901 at the second computer system 101b, as described above.

[0226] Figure 9G Shows a computer system 101a presenting an environment 901 updated according to Fig.9F the input shown. Figure 9G The representations of application A user interface 902, application B user interface 904, and second user 905b in are rotated clockwise around the reference point 908c in the position of these objects in. Fig.9F in around Fig.9F the reference point 908c in.

[0227] As Figure 9G shown, computer system 101a detects an interaction input including the movement of hands 903a and 903b in the manner shown in. Figure 9G In some embodiments, detecting the movement of hands 903a and 903b includes detecting that the user makes a pinching hand gesture with hands 903a and 903b and then moves hands 903a and 903b in a rotational movement around the user's torso while maintaining the pinching hand gesture. For example, in Figure 9G , both hands 903a and 903b move counterclockwise relative to the user's torso. In some embodiments, in response to detecting an interaction input including the hand movement shown in Figure 9G , computer system 101a rotates the representations of application A user interface 902, application B user interface 904, and user 905b of the second computer system 101b around the reference point 908d between hands 903a and 903b and the user 905a's torso / viewpoint. In some embodiments, the reference point 908d is selected regardless of the position in the environment 901 that the user is attending to (e.g., and looking at). Thus, in some embodiments, computer system 101a updates the environment 901 in response to the input shown in Figure 9G , as shown in Figure 9H , regardless of whether the attention (optionally including gaze 907h) is directed to application A user interface 902 or whether the attention (optionally including gaze 907i) is directed to application B user interface 904 or anywhere else in the environment 901. In some embodiments, when computer system 101a receives the interaction input shown in Figure 9G , the second computer system 101b visually fades and displays the avatar of user 905a of computer system 101a relative to the rest of the environment 901, as described above.

[0228] Figure 9H shows an example of a computer system 101a that displays an updated environment 901 in response to an interactive input described above with reference to Figure 9G . For example, Figure 9H the representations of application A user interface 902, application B user interface 904, and second user 905b in Figure 9G rotate counterclockwise about a reference point 908d in Figure 9G with respect to the positions of these virtual objects. In some embodiments, the amount and direction of rotation of the virtual objects correspond to Figure 9G the amount and direction of movement of hands 903a and 903b included in the interactive input shown in

[0229] In Figure 9H , the computer system 101a detects an interactive input provided by the user that includes movement of hands 903a and 903b, while the user's attention (optionally including gaze 907g) is directed to the application A user interface 902. In some embodiments, the movement of hands 903a and 903b is the same as or similar to the movement of hands 903a and 903b in Figure 9G . For example, hands 903a and 903b make a pinching hand gesture and then move in a rotational shape with respect to the user 905a's torso and / or viewpoint. As described above, in some embodiments, in response to this input, the computer system rotates the virtual objects about a reference point 908d between the user 905a's hands and the torso / viewpoint. In some embodiments, in response to the input shown in Figure 9G or Figure 9H , the computer system rotates the representations of application A user interface 902, application B user interface 904, and second user 904b about a reference point 908d between hands 903a and 903b and the user 905a's torso / viewpoint, and rotates an object about a reference point 908e associated with the application A user interface 902, as shown in Fig.9IAs shown. In some embodiments, the manipulation of the virtual object with respect to the viewpoint of user 905a includes rotation around a reference point 908e associated with the application A user interface 902, because the user's attention (optionally including gaze 907g) is directed to the application A user interface 902 when providing an interaction input. In some embodiments, if the user's attention (optionally including gaze) is directed to a different virtual object (such as the application B user interface 904 or the representation of the second user 905b) when providing an interaction input, then in addition to the rotation around the reference point 908d, the manipulation with respect to the viewpoint of user 905a will also include rotation around a reference point associated with another virtual object that the user is focusing on when providing the interaction input. In some embodiments, the manipulation also includes translating the virtual object with respect to the viewpoint of user 905a according to the movement of hands 903a and 903b while providing the interaction input. In some embodiments, when the computer system 101a receives an interaction input, the second computer system 101b displays a representation of the user 905a of the computer system 101a with a reduced visual emphasis relative to the rest of the environment, as described in more detail above.

[0230] Fig.9I illustrates an example of a computer system 101a that displays an updated environment 901 in response to Figure 9H the input shown. Fig.9I The positions and orientations of the application A user interface 902, the application B user interface 904, and the representation of the second user 905b in Figure 9H rotate around the Figure 9H reference points 907d and 907e of these objects in

[0231] In some embodiments, in response to detecting a combination of movement patterns, the computer system 101a performs a combination of manipulations of the virtual objects in the environment 901 with respect to the viewpoint of user 905a. For example, in response to detecting an interaction input that includes a movement pattern that includes one or more of the movement patterns described below with reference to Fig.9F , Figure 9G and / or Figure 9H as well as a translation movement pattern, the computer system 101a performs a manipulation with respect to the viewpoint of user 905a and a translation of the virtual object that are similar to one or more of the manipulations shown in Figure 9G , Figure 9H and / or Fig.9I . In some embodiments, the amount of manipulation with respect to the viewpoint of user 905a that is similar to one or more of the manipulations shown in Figure 9G , Figure 9H and / or Fig.9I is independent of the amount of translation. For another example, in response to detecting an interaction input that includes a movement pattern that includes one or more of the movement patterns described below with reference to Fig.9F , Figure 9G and / or Figure 9H both the movement pattern of one or more of the movement patterns described in Figure 9H and the rotational movement pattern, the computer system 101a performs similarly to Figure 9G , Figure 9H and / or Fig.9I one or more of the manipulations shown in Fig.9I with respect to the viewpoint of the user 905a and the rotation of the virtual object (e.g., about a reference point associated with the virtual object that the user is focusing on when providing the interaction input). For another example, in response to detecting an interaction input including one or more of the movement patterns of one or more of the movement patterns described below with reference to Fig.9F , Figure 9G and / or Figure 9H both the movement pattern, the rotational movement pattern, and the translational movement pattern, the computer system 101a performs similarly to Figure 9G , Figure 9H and / or Fig.9I one or more of the manipulations shown in Fig.9I , the rotation of the virtual object (e.g., about a reference point associated with the virtual object that the user is focusing on when providing the interaction input), and the translation of the virtual object.

[0232] FIG. 10A to FIG. 10H is a flowchart showing a method 1000 for facilitating the manipulation of virtual objects in a virtual environment according to some embodiments. In some embodiments, the method 1000 is performed at a computer system (e.g., Figure 1 the computer system 101 in Figure 1 , such as a tablet computer, a smart phone, a wearable computer, or a head-mounted device), the computer system including a display generation component (e.g., Figure 1 , Figure 3 and Figure 4 the display generation component 120 in Figure 4 ) (e.g., a head-up display, a display, a touch screen, and / or a projector) and one or more cameras (e.g., a camera directed downward to the user's hand (e.g., a color sensor, an infrared sensor, or other depth-sensing camera) or a camera directed forward from the user's head). In some embodiments, the method 1000 is managed by instructions stored in a non-transitory computer-readable storage medium and executed by one or more processors of the computer system, such as one or more processors 202 of the computer system 101 (e.g., Figure 1 the control unit 110 in Figure 1 A). Some operations in the method 1000 are optionally combined, and / or the order of some operations is optionally changed.

[0233] In some embodiments, method 1000 is performed at a computer system (e.g., 101a) that communicates with a display generation component (e.g., 120) and one or more input devices (e.g., 120 and / or 314), such as in Fig. 9A In some embodiments, the computer system is or includes an electronic device. In some embodiments, the computer system has one or more of the characteristics of the computer system in methods 800, 1200, and / or 1400. In some embodiments, the display generation component has one or more of the characteristics of the display generation component in methods 800, 1200, and / or 1400. In some embodiments, one or more input devices have one or more of the characteristics of one or more input devices in methods 800, 1200, and / or 1400.

[0234] In some embodiments, the computer system (e.g., 101a) displays (1002a) an object (e.g., 902) in an environment (e.g., 901) via a display generation component (e.g., 120), such as in Fig. 9AIn some embodiments, the environment corresponds to the physical environment surrounding the display generating component and / or the computer system, and / or a virtual environment. In some embodiments, the computer system displays a three-dimensional environment, such as the three-dimensional environment described with reference to methods 800, 1200, and / or 1400. In some embodiments, the objects are located at corresponding positions in the three-dimensional environment. In some embodiments, the objects are or include content (e.g., one or more images, videos, and / or audio content). In some embodiments, the objects have one or more of the characteristics of the objects in methods 800, 1200, and / or 1400. In some embodiments, as discussed in more detail below, the computer system engages in a communication session with one or more auxiliary computer systems. For example, the objects within the three-dimensional environment and / or the three-dimensional environment are concurrently displayed by the computer system and one or more auxiliary computer systems, but from different viewpoints associated with their respective users. In some embodiments, during the communication session, a user of the computer system has a first viewpoint of the three-dimensional environment associated with a first position in the three-dimensional environment, and one or more users of one or more auxiliary computer systems have a second viewpoint of the three-dimensional environment different from the first viewpoint and associated with a second position in the three-dimensional environment, as described with reference to methods 800, 1200, and / or 1400. In some embodiments, the computer system and one or more auxiliary computer systems are in the same physical environment (e.g., at different locations in the same room). In some embodiments, the computer system and one or more auxiliary computer systems are in different physical environments (e.g., different cities, different rooms, different states, and / or different countries). In some embodiments, the computer system and one or more auxiliary computer systems communicate with each other such that the display of the objects within the three-dimensional environment and / or the three-dimensional environment by the computer system is coordinated (e.g., changes to the objects within the three-dimensional environment and / or the three-dimensional environment made in response to input from the user of the computer system are reflected in the display of the objects within the three-dimensional environment and / or the three-dimensional environment by one or more auxiliary computer systems). Additionally, the three-dimensional environment optionally includes virtual representations (e.g., avatars corresponding to the users) of the users of one or more auxiliary computer systems.

[0235] In some embodiments, when displaying an object in the environment (1002b), the computer system (e.g., 101a) receives (1002c) a first interaction input (e.g., an air gesture, a hardware input device input) via one or more input devices, the first interaction input including movement of a predefined portion (e.g., 903a and / or 903B) (e.g., one or more hands and / or arms and / or head) of the user of the computer system (e.g., 101a), such as in Fig. 9AAmong them. In some embodiments, the first interaction input corresponds to a request to update the pose (e.g., position and / or orientation) of an object in the environment, such as translating and / or rotating an object in the environment relative to the user's viewpoint according to the movement of a predefined part of the user.

[0236] In some embodiments, when an object (e.g., 902) is displayed in the environment (1002b), in response to receiving the first interaction input, the computer system (e.g., 101a) manipulates (1002d) the object (e.g., 902) in the environment (e.g., 901), such as in Fig. 9B Among them.

[0237] In some embodiments, based on determining that the movement of a predefined part of the user (e.g., 903a and / or 903b) is part of a first movement pattern, such as in Fig. 9A Among them, manipulating the object (e.g., 902) in the environment (e.g., 901) includes manipulating the object in a first manner according to a first amount (e.g., an amount of speed, distance, and / or duration) of the movement of the predefined part of the user (e.g., 903a and / or 903b) in the first movement pattern (1002e), such as in Fig. 9BAmong some embodiments, detecting a first movement pattern of a predefined portion of a user includes detecting movement of the user's hand relative to the user's torso. Among some embodiments, detecting the first movement pattern includes detecting the user's hand assuming a predefined hand shape such as a pinching hand shape in the air. Among some embodiments, detecting a first movement pattern of a predefined portion of a user includes detecting movement of the hand relative to the torso with or without the hands moving relative to each other (e.g., both hands moving in the same direction or both hands moving in the same direction in one dimension and in different directions in another dimension). Among some embodiments, the user's hand moves towards, away from, and / or laterally relative to the user's torso. Among some embodiments, the user's two hands move simultaneously. Among some embodiments, detecting a first interaction input includes detecting an input provided via a hardware input device. For example, the first interaction input includes detecting movement of one or more conductive objects touching and / or hovering within a threshold distance (e.g., 1, 2, 3, 4, 5, or 10 centimeters) of a touch-sensitive surface such as a touch screen or a touchpad. Among some embodiments, the first interaction input includes detecting an object moving in the first movement pattern. For example, the first movement pattern is movement of two or more contact members that move more relative to the touch-sensitive surface than they move relative to each other. As another example, the first movement pattern includes movement of one or more objects in a straight-line direction along the touch-sensitive surface. Among some embodiments, manipulating an object in the environment in a first manner includes translating the object in the environment relative to the user's viewpoint, such as updating the position of the object relative to the user's viewpoint according to the amount and direction of movement of the predefined portion of the user. For example, in response to detecting a first movement pattern of a predefined portion of the user in a first direction by a first amount, the computer system translates the object in the first direction relative to the user's viewpoint by a second amount proportional to the first amount. As another example, in response to detecting a first movement pattern of a predefined portion of the user in a second direction by a third amount, the computer system translates the object in the second direction relative to the user's viewpoint by a fourth amount proportional to the second amount.

[0238] Among some embodiments, based on determining that the movement of a predefined portion of the user (e.g., 903a and / or 903b) is part of a second movement pattern that is different from the first movement pattern, such as in Fig. 9C among others, manipulating an object (e.g., 902) in the environment (e.g., 901) includes manipulating the object (e.g., 902) in a second manner according to a second amount (e.g., an amount of speed, distance, and / or duration) of movement of the predefined portion of the user (e.g., 903a and / or 903b) in the second movement pattern and according to a third amount (e.g., an amount of speed, distance, and / or duration) of movement of the predefined portion of the user (e.g., 903a and / or 903b) in the first movement pattern (1002f), such as in Fig.9DAmong them. In some embodiments, the third amount of movement in the first movement pattern is the same as the first amount of movement. In some embodiments, the third amount of movement in the first movement pattern is different from the first amount of movement. In some embodiments, detecting a second movement pattern of a predefined portion of the user includes detecting the movement of the user's hands relative to each other. In some embodiments, detecting the second movement pattern includes detecting the user's hands in a predefined hand shape such as a pinching gesture in the air. In some embodiments, detecting a second movement pattern of a predefined portion of the user includes detecting the movement of the hands relative to each other with the hands moving or not moving relative to the user's torso (e.g., the hands moving in opposite directions or the hands moving in the same direction in one dimension and in different directions in another dimension). In some embodiments, the second movement pattern is the movement of the hands around the space between the hands, such as movement along the perimeter of a circle, an ellipse, or other shape. In some embodiments, detecting the second movement pattern includes detecting one or more objects ne...

Claims

1. A method, comprising: at a computer system in communication with a display generation component and one or more input devices: displaying, via the display generation component, an environment from a first viewpoint of a user of the computer system, the environment including a first object at a first location and a second object at a second location different from the first location; while displaying the environment including the first object and the second object, detecting, via the one or more input devices, a first interaction input including movement; and in response to detecting the first interaction input: based on determining that the attention of the user of the computer system is directed to the first object upon detecting the first interaction input: performing a first operation that involves manipulating the environment based on the movement relative to a first reference point, the first reference point being based on the first location of the first object in the environment; and based on determining that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input: performing a second operation that involves manipulating the environment based on the movement relative to a second reference point different from the first reference point, the second reference point being based on the second location of the second object in the environment.

2. The method according to claim 1, wherein: determining that the attention of the user is directed to the first object upon detecting the first interaction input is based on determining that the gaze of the user is directed to the first object upon detecting the first interaction input, and determining that the attention of the user is directed to the second object upon detecting the first interaction input is based on determining that the gaze of the user is directed to the second object upon detecting the first interaction input.

3. The method according to claim 1, wherein: the user of the computer system conducts a communication session with a second user of a second computer system while displaying the environment; the environment includes a virtual representation of the second user; and in response to detecting the first interaction input: based on determining that the attention of the user of the computer system is directed to the first object upon detecting the first interaction input and the first object and / or the second object is shared with the second user of the second computer system, performing the first operation includes simultaneously repositioning the first object and / or the second object and the virtual representation of the second user within the environment based on the movement relative to the first reference point; and based on determining that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input and the first object and / or the second object is shared with the second user, performing the second operation includes simultaneously repositioning the first object and / or the second object and the virtual representation of the second user within the environment based on the movement relative to the second reference point.

4. The method according to claim 3, wherein: display a virtual representation of the user of the computer system in an environment at the second computer system; and when the computer system performs the first operation or the second operation, reposition the virtual representation of the user of the computer system in the environment at the second computer system based on the movement relative to the viewpoint of the second user.

5. The method according to claim 3, wherein upon detecting the first interaction input, visually fade the virtual representation of the user of the computer system in the environment at the second computer system.

6. The method according to claim 1, wherein: in response to detecting the first interaction input: based on determining that the attention of the user of the computer system is directed to the first object upon detecting the first interaction input: performing the first operation includes repositioning the first object within the environment based on the movement relative to the viewpoint of the user of the computer system; and based on determining that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input: performing the second operation includes repositioning the second object within the environment based on the movement relative to the viewpoint of the user.

7. The method according to claim 6, wherein: in response to detecting the first interaction input: based on determining that the movement includes a movement toward the viewpoint of the user and that the attention of the user of the computer system is directed to the first object upon detecting the first interaction input, performing the first operation includes repositioning the first object and the second object toward the viewpoint of the user within the environment simultaneously according to the movement; based on determining that the movement includes a movement toward the viewpoint of the user and that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input, performing the second operation includes repositioning the first object and the second object toward the viewpoint of the user within the environment simultaneously according to the movement; based on determining that the movement includes a movement away from the viewpoint of the user and that the attention of the user of the computer system is directed to the first object upon detecting the first interaction input, performing the first operation includes repositioning the first object and the second object away from the viewpoint of the user within the environment simultaneously according to the movement; and based on determining that the movement includes a movement toward the viewpoint of the user and that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input, performing the second operation includes repositioning the first object and the second object away from the viewpoint of the user within the environment simultaneously according to the movement.

8. The method according to claim 6, wherein: before detecting the first interaction input: The first position is a first distance from the user's viewpoint, and the second position is a second distance from the user's viewpoint that is less than the first distance; The movement has a first magnitude; And In response to detecting the first interaction input: Based on determining that the user's attention of the computer system is directed to the first object when the first interaction input is detected: Performing the first operation includes moving the first object from the first position to a third position relative to the user's viewpoint in the environment according to the movement, where the third position is a third distance from the first position; and Based on determining that the user's attention of the computer system is directed to the second object when the first interaction input is detected: Performing the second operation includes moving the second object from the second position to a fourth position relative to the user's viewpoint in the environment according to the movement, where the fourth position is a fourth distance different from the third distance from the second position.

9. The method according to claim 6, Wherein: In response to detecting the first interaction input: Based on determining that the user's attention of the computer system is directed to the first object when the first interaction input is detected: Performing the first operation includes restricting the movement of the first object to a movement outside a threshold distance from the user's viewpoint; and Based on determining that the user's attention of the computer system is directed to the second object when the first interaction input is detected: Performing the second operation includes restricting the movement of the second object to a movement outside the threshold distance from the user's viewpoint.

10. The method according to claim 9, Wherein: In response to detecting the first interaction input: Based on determining that the user's attention of the computer system is directed to the first object when the first interaction input is detected: Performing the first operation includes moving the second object to within a first distance less than the threshold distance from the user's viewpoint according to the movement.

11. The method according to claim 9, Wherein: In response to detecting the first interaction input: Based on determining that the user's attention of the computer system is directed to the second object when the first interaction input is detected: Performing the second operation includes moving the first object to within a second distance less than the threshold distance from the user's viewpoint according to the movement.

12. The method according to claim 1, Wherein: In response to detecting the first interaction input: Based on determining that the user's attention of the computer system is directed to the first object when the first interaction input is detected: Performing the first operation includes rotating the first object within the environment relative to the first reference point according to the movement; and Based on determining that the user's attention of the computer system is directed to the second object when the first interaction input is detected: Performing the second operation includes rotating the second object within the environment relative to the second reference point according to the movement.

13. The method according to claim 12, wherein: In response to detecting the first interaction input: Based on determining that the attention of the user of the computer system is directed to the first object when the first interaction input is detected: Performing the first operation includes simultaneously rotating the first object and the second object within the environment relative to the first reference point according to the movement; and Based on determining that the attention of the user of the computer system is directed to the second object when the first interaction input is detected: Performing the second operation includes simultaneously rotating the first object and the second object within the environment relative to the second reference point according to the movement.

14. The method according to claim 1, wherein: In response to detecting the first interaction input: Based on determining that the attention of the user of the computer system is directed to the first object when the first interaction input is detected: Performing the first operation includes rotating the first object within the environment relative to the viewpoint of the user of the computer system according to the movement; and Based on determining that the attention of the user of the computer system is directed to the second object when the first interaction input is detected: Performing the second operation includes rotating the second object within the environment relative to the viewpoint of the user according to the movement.

15. The method according to claim 14, wherein: In response to detecting the first interaction input: Based on determining that the attention of the user of the computer system is directed to the first object when the first interaction input is detected: Performing the first operation includes simultaneously rotating the first object and the second object within the environment relative to the viewpoint of the user according to the movement; and Based on determining that the attention of the user of the computer system is directed to the second object when the first interaction input is detected: Performing the second operation includes simultaneously rotating the first object and the second object within the environment relative to the viewpoint of the user according to the movement.

16. The method according to claim 1, wherein: The first interaction input is simultaneously associated with a first predefined part of the user and a second predefined part of the user; and The movement includes a movement associated with the first predefined part of the user and a movement associated with the second predefined part of the user.

17. The method according to claim 1, further includes: When the environment including the corresponding virtual content is displayed at a third position in the environment, detecting a third interaction input via the one or more input devices, the third interaction input including: The attention of the user of the computer system directed to the corresponding virtual content; and The movement of the first predefined part of the user. Upon detecting the third interaction input, receive, via the one or more input devices, an indication corresponding to a request to move the corresponding virtual content within the environment; In response to receiving the indication, move the corresponding virtual content to a fourth position within the environment that is different from the third position; and In response to detecting the third interaction input: Perform a third operation that involves manipulating the environment based on a third reference point that is different from the first reference point and the second reference point, the third reference point being based on a third position of the corresponding virtual content within the environment.

18. A computer system that communicates with a display generation component and one or more input devices, the computer system comprises: One or more processors; A memory; And One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing any of the methods according to claims 1-17.

19. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs including instructions that, when executed by one or more processors of a computer system that communicates with a display generation component and one or more input devices, cause the computer system to perform any of the methods according to claims 1-17.