Method for displaying and repositioning objects in an environment - Patents.com

By integrating a variety of interactive devices and technologies in the computer system, providing interactive methods that automatically reposition virtual content and adjust the visibility of virtual objects according to user attention, the problem of inefficient interaction in the existing technology is solved, and more intuitive and efficient user interaction and system energy efficiency improvement is achieved.

JP2025508658AActive Publication Date: 2025-04-10APPLE INC
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2024543255
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-01-18
Filing Date
2023-01-19
Publication Date
2025-04-10
Estimated Expiration
2043-01-19

AI Technical Summary

Technical Problem

In the prior art, systems interacting with virtual and augmented reality environments have problems that are insufficient to provide effective feedback, resulting in inefficiency when users operate virtual objects, and multiple inputs are required in an augmented reality environment to achieve the expected results, increasing the cognitive burden of users.

Method used

By integrating touch panels, cameras, gesture tracking units and eye tracking units in computer systems, it provides a more intuitive and efficient way of user interaction, including automatically repositioning virtual content to adapt to user perspective changes and adjusting the visibility of virtual objects according to user attention.

Benefits of technology

It improves the efficiency and intuitiveness of user interaction with computer systems, reduces the number and complexity of user input, reduces the energy consumption of the system, and extends the battery life especially in battery-powered devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025508658000001_ABST
    Figure 2025508658000001_ABST
Patent Text Reader

Abstract

In some embodiments, the computer system selectively recenters virtual content to a user's viewpoint in the presence of physical or virtual obstacles, and / or automatically recenters one or more virtual objects in response to a display generation component changing state, selectively recenters content associated with a communication session between multiple users in response to detected user input, alters visual salience of content included in a virtual object based on a viewpoint and / or based on detected user attention of a user, alters visual salience of one or more virtual objects to resolve apparent obscuration of one or more virtual objects, alters visual salience based on a user viewpoint relative to a virtual object, and simultaneously alters visual salience based on various types of user interactions and / or alters the amount of visual impact of an environmental effect in response to detected user input.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application claims the benefit of U.S. Provisional Patent Application No. 63 / 301,020, filed January 19, 2022, U.S. Provisional Patent Application No. 63 / 377,002, filed September 23, 2022, and U.S. Provisional Patent Application No. 63 / 480,494, filed January 18, 2023, the contents of which are incorporated by reference herein in their entirety for all purposes. (Technical field)

[0002] This relates generally to computer systems that provide computer-generated experiences, including but not limited to electronic devices that provide virtual reality and mixed reality experiences via a display. [Background technology]

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

[0004] Some methods and interfaces for interacting with environments that include at least some virtual elements (e.g., applications, augmented reality environments, mixed reality environments, and virtual reality environments) are cumbersome, inefficient, and limited. For example, systems that 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 manipulating virtual objects is complex and error-prone create a significant cognitive burden for users and detract from the experience of the virtual / augmented reality environment. In addition, these methods are unnecessarily time-consuming, thereby wasting computer system energy. This latter consideration is particularly important in battery-operated devices.

[0005] Therefore, there is a need for a computer system having improved methods and interfaces for providing users with computer-generated experiences that make interaction with the computer system more efficient and intuitive for the user. Such methods and interfaces can optionally complement or replace conventional methods of providing users with extended reality experiences. Such methods and interfaces reduce the number, extent, and / or type of inputs from the user by helping the user understand the connection between the input provided and the device response to that input, thereby creating a more efficient human-machine interface.

[0006] The above-mentioned drawbacks and other problems associated with user interfaces of computer systems are reduced or eliminated by the disclosed system. In some embodiments, the computer system is a desktop computer with an associated display. In some embodiments, the computer system is a portable device (e.g., a notebook computer, a tablet computer, or a handheld device). In some embodiments, the computer system is a personal electronic device (e.g., a wearable electronic device such as a wristwatch 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 known as a "touch screen" or "touchscreen 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, the computer system has one or more output devices in addition to the display generating components, the output devices including one or more tactile output generators and / or one or more audio output devices. In some embodiments, the computer system has a graphical user interface (GUI), one or more processors, memory, and one or more modules, programs, or instruction sets stored in the memory for performing a plurality of functions. In some embodiments, a user interacts with the GUI through stylus and / or finger contacts and gestures on a touch-sensitive surface, the movement of the user's eyes and hands in space relative to the GUI (and / or computer system) or the user's body as captured by cameras and other movement sensors, and / or voice input as captured by one or more audio input devices.In some embodiments, the functions performed through the interactions optionally include image editing, drawing, presenting, word processing, creating spreadsheets, playing games, making phone calls, video conferencing, emailing, instant messaging, training support, digital photography, digital videography, web browsing, playing digital music, note taking, and / or playing digital videos, and executable instructions to perform those functions are optionally contained 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.

[0007] There is a need for electronic devices with improved methods and interfaces for interacting with content within a three-dimensional environment. Such methods and interfaces can complement or replace conventional methods for interacting with content within a three-dimensional environment. Such methods and interfaces reduce the number, extent, and / or type of input from a user, creating a more efficient human-machine interface. For battery-operated computing devices, such methods and interfaces conserve power and increase the time between battery charges.

[0008] In some embodiments, the computer system selectively recenters virtual content to a user's viewpoint. In some embodiments, the computer system recenters one or more virtual objects in the presence of a physical or virtual obstacle. In some embodiments, the computer system selectively and automatically recenters one or more virtual objects in response to a display generation component changing state. In some embodiments, the computer system selectively recenters content associated with a communication session between multiple users in response to input detected at the computer system. In some embodiments, the computer system alters the visual salience of content included in a virtual object based on a viewpoint. In some embodiments, the computer system alters the visual salience of one or more virtual objects based on detected user attention. In some embodiments, the computer system alters the visual salience of one or more virtual objects to resolve apparent obscuration of one or more virtual objects. In some embodiments, the computer system gradually alters the visual salience of one or more virtual objects in accordance with a determination that a user's viewpoint corresponds to a different region of the three-dimensional environment. In some embodiments, the computer system alters the visual salience of one or more portions of a virtual object when a user's viewpoint is proximate to the virtual object. In some embodiments, the computer system alters the visual salience of a virtual object when one or more simultaneous types of user interaction are detected. In some embodiments, the computer system alters the amount of visual impact of the environmental effect on the three-dimensional environment in which the virtual content is displayed in response to detecting input(s) (e.g., a user's attention) shifting to a different element within the three-dimensional environment.

[0009] It should be noted that the various embodiments described above can be combined with any other embodiment described herein. The features and advantages described herein are not exhaustive, and many additional features and advantages will become apparent to those skilled in the art, particularly in light of the drawings, specification, and claims. Furthermore, it should be noted that the language used in this specification has been selected solely for the purposes of readability and explanation, and not to define or limit the subject matter of the present invention. [Brief explanation of the drawings]

[0010] For a better understanding of the various described embodiments, reference should be made to the following Detailed Description of the Invention in conjunction with the following drawings, in which like reference numerals refer to corresponding parts throughout:

[0011] [Figure 1] FIG. 1 is a block diagram illustrating an operating environment for a computer system for providing an XR experience, according to some embodiments.

[0012] [Figure 2] FIG. 1 is a block diagram illustrating a controller of a computer system configured to manage and coordinate a user's XR experience, according to some embodiments.

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

[0014] [Figure 4] FIG. 1 is a block diagram illustrating a hand tracking unit of a computer system configured to capture a user's gesture input, according to some embodiments.

[0015] [Figure 5]FIG. 1 is a block diagram illustrating an eye-tracking unit of a computer system configured to capture a user's gaze input, according to some embodiments.

[0016] [Figure 6] 1 is a flowchart illustrating a glint-assisted gaze tracking pipeline, according to some embodiments.

[0017] [Figure 7A] 1 illustrates an example computer system for selectively recentering virtual content to a user's viewpoint, according to some embodiments. [Figure 7B] 1 illustrates an example computer system for selectively recentering virtual content to a user's viewpoint, according to some embodiments. [Figure 7C] 1 illustrates an example computer system for selectively recentering virtual content to a user's viewpoint, according to some embodiments. [Figure 7D] 1 illustrates an example computer system for selectively recentering virtual content to a user's viewpoint, according to some embodiments. [Figure 7E] 1 illustrates an example computer system for selectively recentering virtual content to a user's viewpoint, according to some embodiments. [Figure 7F] 1 illustrates an example computer system for selectively recentering virtual content to a user's viewpoint, according to some embodiments.

[0018] [Figure 8A] 1 is a flowchart illustrating an exemplary method for selectively recentering virtual content to a user's viewpoint, according to some embodiments. [Figure 8B] 1 is a flowchart illustrating an exemplary method for selectively recentering virtual content to a user's viewpoint, according to some embodiments. [Figure 8C] 1 is a flowchart illustrating an exemplary method for selectively recentering virtual content to a user's viewpoint, according to some embodiments. [Figure 8D] 1 is a flowchart illustrating an exemplary method for selectively recentering virtual content to a user's viewpoint, according to some embodiments. [Figure 8E] 1 is a flowchart illustrating an exemplary method for selectively recentering virtual content to a user's viewpoint, according to some embodiments. [Figure 8F] 1 is a flowchart illustrating an exemplary method for selectively recentering virtual content to a user's viewpoint, according to some embodiments. [Figure 8G] 1 is a flowchart illustrating an exemplary method for selectively recentering virtual content to a user's viewpoint, according to some embodiments. [Figure 8H] 1 is a flowchart illustrating an exemplary method for selectively recentering virtual content to a user's viewpoint, according to some embodiments. [Figure 8I] 1 is a flowchart illustrating an exemplary method for selectively recentering virtual content to a user's viewpoint, according to some embodiments.

[0019] [Figure 9A] 1 illustrates an example of a computer system that recenters one or more virtual objects in the presence of physical or virtual obstacles, according to some embodiments. [Figure 9B] 1 illustrates an example of a computer system that recenters one or more virtual objects in the presence of physical or virtual obstacles, according to some embodiments. [Figure 9C] 1 illustrates an example of a computer system that recenters one or more virtual objects in the presence of physical or virtual obstacles, according to some embodiments.

[0020] [Figure 10A] 1 is a flowchart illustrating a method for recentering one or more virtual objects in the presence of physical or virtual obstacles, according to some embodiments. [Figure 10B]1 is a flowchart illustrating a method for recentering one or more virtual objects in the presence of physical or virtual obstacles, according to some embodiments. [Figure 10C] 1 is a flowchart illustrating a method for recentering one or more virtual objects in the presence of physical or virtual obstacles, according to some embodiments. [Figure 10D] 1 is a flowchart illustrating a method for recentering one or more virtual objects in the presence of physical or virtual obstacles, according to some embodiments. [Figure 10E] 1 is a flowchart illustrating a method for recentering one or more virtual objects in the presence of physical or virtual obstacles, according to some embodiments. [Figure 10F] 1 is a flowchart illustrating a method for recentering one or more virtual objects in the presence of physical or virtual obstacles, according to some embodiments. [Figure 10G] 1 is a flowchart illustrating a method for recentering one or more virtual objects in the presence of physical or virtual obstacles, according to some embodiments.

[0021] [Figure 11A] 1 illustrates an example of a computer system that selectively and automatically recenters one or more virtual objects in response to a display generation component changing state, according to some embodiments. [Figure 11B] 1 illustrates an example of a computer system that selectively and automatically recenters one or more virtual objects in response to a display generation component changing state, according to some embodiments. [Figure 11C] 1 illustrates an example of a computer system that selectively and automatically recenters one or more virtual objects in response to a display generation component changing state, according to some embodiments. [Figure 11D] 1 illustrates an example of a computer system that selectively and automatically recenters one or more virtual objects in response to a display generation component changing state, according to some embodiments. [Figure 11E] 1 illustrates an example of a computer system that selectively and automatically recenters one or more virtual objects in response to a display generation component changing state, according to some embodiments.

[0022] [Figure 12A] 10 is a flowchart illustrating a method for selectively automatically recentering one or more virtual objects in response to a display generation component changing state, according to some embodiments. [Figure 12B] 10 is a flowchart illustrating a method for selectively automatically recentering one or more virtual objects in response to a display generation component changing state, according to some embodiments. [Figure 12C] 10 is a flowchart illustrating a method for selectively automatically recentering one or more virtual objects in response to a display generation component changing state, according to some embodiments. [Figure 12D] 10 is a flowchart illustrating a method for selectively automatically recentering one or more virtual objects in response to a display generation component changing state, according to some embodiments. [Figure 12E] 10 is a flowchart illustrating a method for selectively automatically recentering one or more virtual objects in response to a display generation component changing state, according to some embodiments.

[0023] [Figure 13A] 1 illustrates an example of a computer system that selectively recenters content associated with a communication session between multiple users in response to input detected at the computer system, according to some embodiments. [Figure 13B] 1 illustrates an example of a computer system that selectively recenters content associated with a communication session between multiple users in response to input detected at the computer system, according to some embodiments. [Figure 13C]1 illustrates an example of a computer system that selectively recenters content associated with a communication session between multiple users in response to input detected at the computer system, according to some embodiments.

[0024] [Figure 14A] 1 is a flowchart illustrating a method for selectively recentering content associated with a communication session between multiple users in response to input detected at a computer system, according to some embodiments. [Figure 14B] 1 is a flowchart illustrating a method for selectively recentering content associated with a communication session between multiple users in response to input detected at a computer system, according to some embodiments. [Figure 14C] 1 is a flowchart illustrating a method for selectively recentering content associated with a communication session between multiple users in response to input detected at a computer system, according to some embodiments. [Figure 14D] 1 is a flowchart illustrating a method for selectively recentering content associated with a communication session between multiple users in response to input detected at a computer system, according to some embodiments. [Figure 14E] 1 is a flowchart illustrating a method for selectively recentering content associated with a communication session between multiple users in response to input detected at a computer system, according to some embodiments.

[0025] [Figure 15A] 1 illustrates an example of a computer system that changes the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 15B] 1 illustrates an example of a computer system that changes the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 15C]1 illustrates an example of a computer system that changes the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 15D] 1 illustrates an example of a computer system that changes the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 15E] 1 illustrates an example of a computer system that changes the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 15F] 1 illustrates an example of a computer system that changes the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 15G] 1 illustrates an example of a computer system that changes the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 15H] 1 illustrates an example of a computer system that changes the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 15I] 1 illustrates an example of a computer system that changes the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 15J] 1 illustrates an example of a computer system that changes the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments.

[0026] [Figure 16A] 1 is a flowchart illustrating a method for modifying the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 16B] 1 is a flowchart illustrating a method for modifying the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 16C]1 is a flowchart illustrating a method for modifying the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 16D] 1 is a flowchart illustrating a method for modifying the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 16E] 1 is a flowchart illustrating a method for modifying the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 16F] 1 is a flowchart illustrating a method for modifying the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 16G] 1 is a flowchart illustrating a method for modifying the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 16H] 1 is a flowchart illustrating a method for modifying the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 16I] 1 is a flowchart illustrating a method for modifying the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 16J] 1 is a flowchart illustrating a method for modifying the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 16K] 1 is a flowchart illustrating a method for modifying the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 16L] 1 is a flowchart illustrating a method for modifying the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 16M] 1 is a flowchart illustrating a method for modifying the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 16N] 1 is a flowchart illustrating a method for modifying the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 16O] 1 is a flowchart illustrating a method for modifying the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments. [Figure 16P] 1 is a flowchart illustrating a method for modifying the visual salience of content contained in a virtual object based on viewpoint, according to some embodiments.

[0027] [Figure 17A] 1 illustrates an example of a computer system that alters the visual salience of content contained in a virtual object based on the attention of a user of the computer system, according to some embodiments. [Figure 17B] 1 illustrates an example of a computer system that alters the visual salience of content contained in a virtual object based on the attention of a user of the computer system, according to some embodiments. [Figure 17C] 1 illustrates an example of a computer system that alters the visual salience of content contained in a virtual object based on the attention of a user of the computer system, according to some embodiments. [Figure 17D] 1 illustrates an example of a computer system that alters the visual salience of content contained in a virtual object based on the attention of a user of the computer system, according to some embodiments. [Figure 17E] 1 illustrates an example of a computer system that alters the visual salience of content contained in a virtual object based on the attention of a user of the computer system, according to some embodiments.

[0028] [Figure 18A] 1 is a flowchart illustrating a method for modifying the visual salience of a virtual object based on a user's attention, according to some embodiments. [Figure 18B]1 is a flowchart illustrating a method for modifying the visual salience of a virtual object based on a user's attention, according to some embodiments. [Figure 18C] 1 is a flowchart illustrating a method for modifying the visual salience of a virtual object based on a user's attention, according to some embodiments. [Figure 18D] 1 is a flowchart illustrating a method for modifying the visual salience of a virtual object based on a user's attention, according to some embodiments. [Figure 18E] 1 is a flowchart illustrating a method for modifying the visual salience of a virtual object based on a user's attention, according to some embodiments. [Figure 18F] 1 is a flowchart illustrating a method for modifying the visual salience of a virtual object based on a user's attention, according to some embodiments. [Figure 18G] 1 is a flowchart illustrating a method for modifying the visual salience of a virtual object based on a user's attention, according to some embodiments. [Figure 18H] 1 is a flowchart illustrating a method for modifying the visual salience of a virtual object based on a user's attention, according to some embodiments. [Figure 18I] 1 is a flowchart illustrating a method for modifying the visual salience of a virtual object based on a user's attention, according to some embodiments. [Figure 18J] 1 is a flowchart illustrating a method for modifying the visual salience of a virtual object based on a user's attention, according to some embodiments. [Figure 18K] 1 is a flowchart illustrating a method for modifying the visual salience of a virtual object based on a user's attention, according to some embodiments.

[0029] [Figure 19A] 1 illustrates an example of a computer system that alters the visual salience of each virtual object to alter the apparent obscuration of the respective virtual object by virtual content, according to some embodiments. [Figure 19B] 1 illustrates an example of a computer system that alters the visual salience of each virtual object to alter the apparent obscuration of the respective virtual object by virtual content, according to some embodiments. [Figure 19C] 1 illustrates an example of a computer system that alters the visual salience of each virtual object to alter the apparent obscuration of the respective virtual object by virtual content, according to some embodiments. [Figure 19D] 1 illustrates an example of a computer system that alters the visual salience of each virtual object to alter the apparent obscuration of the respective virtual object by virtual content, according to some embodiments. [Figure 19E] 1 illustrates an example of a computer system that alters the visual salience of each virtual object to alter the apparent obscuration of the respective virtual object by virtual content, according to some embodiments.

[0030] [Figure 20A] 10 is a flowchart illustrating a method for modifying the visual salience of each virtual object to change the apparent obscuration of the respective virtual object by virtual content, according to some embodiments. [Figure 20B] 10 is a flowchart illustrating a method for modifying the visual salience of each virtual object to change the apparent obscuration of the respective virtual object by virtual content, according to some embodiments. [Figure 20C] 10 is a flowchart illustrating a method for modifying the visual salience of each virtual object to change the apparent obscuration of the respective virtual object by virtual content, according to some embodiments. [Figure 20D]10 is a flowchart illustrating a method for modifying the visual salience of each virtual object to change the apparent obscuration of the respective virtual object by virtual content, according to some embodiments. [Figure 20E] 10 is a flowchart illustrating a method for modifying the visual salience of each virtual object to change the apparent obscuration of the respective virtual object by virtual content, according to some embodiments. [Figure 20F] 10 is a flowchart illustrating a method for modifying the visual salience of each virtual object to change the apparent obscuration of the respective virtual object by virtual content, according to some embodiments.

[0031] [Figure 21A] 1 illustrates an example of a computer system that gradually changes the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 21B] 1 illustrates an example of a computer system that gradually changes the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 21C] 1 illustrates an example of a computer system that gradually changes the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 21D] 1 illustrates an example of a computer system that gradually changes the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 21E] 1 illustrates an example of a computer system that gradually changes the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 21F] 1 illustrates an example of a computer system that gradually changes the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 21G]1 illustrates an example of a computer system that gradually changes the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 21H] 1 illustrates an example of a computer system that gradually changes the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 21I] 1 illustrates an example of a computer system that gradually changes the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 21J] 1 illustrates an example of a computer system that gradually changes the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 21K] 1 illustrates an example of a computer system that gradually changes the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 21L] 1 illustrates an example of a computer system that gradually changes the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments.

[0032] [Figure 22A] 10 is a flowchart illustrating a method for gradually changing the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 22B] 10 is a flowchart illustrating a method for gradually changing the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 22C] 10 is a flowchart illustrating a method for gradually changing the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 22D] 10 is a flowchart illustrating a method for gradually changing the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 22E] 10 is a flowchart illustrating a method for gradually changing the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 22F] 10 is a flowchart illustrating a method for gradually changing the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 22G] 10 is a flowchart illustrating a method for gradually changing the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 22H] 10 is a flowchart illustrating a method for gradually changing the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 22I] 10 is a flowchart illustrating a method for gradually changing the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments. [Figure 22J] 10 is a flowchart illustrating a method for gradually changing the visual salience of each virtual object as a user's viewpoint changes, according to some embodiments.

[0033] [Figure 23A] 1 illustrates an example of a computer system that alters the visual salience of each virtual object based on a user's proximity to the respective virtual object, according to some embodiments. [Figure 23B] 1 illustrates an example of a computer system that alters the visual salience of each virtual object based on a user's proximity to the respective virtual object, according to some embodiments. [Figure 23C] 1 illustrates an example of a computer system that alters the visual salience of each virtual object based on a user's proximity to the respective virtual object, according to some embodiments. [Figure 23D]1 illustrates an example of a computer system that alters the visual salience of each virtual object based on a user's proximity to the respective virtual object, according to some embodiments. [Figure 23E] 1 illustrates an example of a computer system that alters the visual salience of each virtual object based on a user's proximity to the respective virtual object, according to some embodiments.

[0034] [Figure 24A] 10 is a flowchart illustrating a method for modifying the visual salience of each virtual object based on a user's proximity to the respective virtual object, according to some embodiments. [Figure 24B] 10 is a flowchart illustrating a method for modifying the visual salience of each virtual object based on a user's proximity to the respective virtual object, according to some embodiments. [Figure 24C] 10 is a flowchart illustrating a method for modifying the visual salience of each virtual object based on a user's proximity to the respective virtual object, according to some embodiments. [Figure 24D] 10 is a flowchart illustrating a method for modifying the visual salience of each virtual object based on a user's proximity to the respective virtual object, according to some embodiments. [Figure 24E] 10 is a flowchart illustrating a method for modifying the visual salience of each virtual object based on a user's proximity to the respective virtual object, according to some embodiments. [Figure 24F] 10 is a flowchart illustrating a method for modifying the visual salience of each virtual object based on a user's proximity to the respective virtual object, according to some embodiments.

[0035] [Figure 25A]1 illustrates an example of a computer system that alters the visual salience of respective virtual objects based on one or more concurrent types of user interactions, according to some embodiments. [Figure 25B] 1 illustrates an example of a computer system that alters the visual salience of respective virtual objects based on one or more concurrent types of user interactions, according to some embodiments. [Figure 25C] 1 illustrates an example of a computer system that alters the visual salience of respective virtual objects based on one or more concurrent types of user interactions, according to some embodiments.

[0036] [Figure 26A] 10 is a flowchart illustrating a method for modifying the visual salience of respective virtual objects based on one or more concurrent types of user interactions, according to some embodiments. [Figure 26B] 10 is a flowchart illustrating a method for modifying the visual salience of respective virtual objects based on one or more concurrent types of user interactions, according to some embodiments. [Figure 26C] 10 is a flowchart illustrating a method for modifying the visual salience of respective virtual objects based on one or more concurrent types of user interactions, according to some embodiments. [Figure 26D] 10 is a flowchart illustrating a method for modifying the visual salience of respective virtual objects based on one or more concurrent types of user interactions, according to some embodiments.

[0037] [Figure 27A] 1 illustrates an example of a computer system that simultaneously displays virtual content and environmental effects with different amounts of visual impact on a three-dimensional environment in response to the computer system detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. [Figure 27B]1 illustrates an example of a computer system that simultaneously displays virtual content and environmental effects with different amounts of visual impact on a three-dimensional environment in response to the computer system detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. [Figure 27C] 1 illustrates an example of a computer system that simultaneously displays virtual content and environmental effects with different amounts of visual impact on a three-dimensional environment in response to the computer system detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. [Figure 27D] 1 illustrates an example of a computer system that simultaneously displays virtual content and environmental effects with different amounts of visual impact on a three-dimensional environment in response to the computer system detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. [Figure 27E] 1 illustrates an example of a computer system that simultaneously displays virtual content and environmental effects with different amounts of visual impact on a three-dimensional environment in response to the computer system detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. [Figure 27F] 1 illustrates an example of a computer system that simultaneously displays virtual content and environmental effects with different amounts of visual impact on a three-dimensional environment in response to the computer system detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. [Figure 27G] 1 illustrates an example of a computer system that simultaneously displays virtual content and environmental effects with different amounts of visual impact on a three-dimensional environment in response to the computer system detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. [Figure 27H]1 illustrates an example of a computer system that simultaneously displays virtual content and environmental effects with different amounts of visual impact on a three-dimensional environment in response to the computer system detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. [Figure 27I] 1 illustrates an example of a computer system that simultaneously displays virtual content and environmental effects with different amounts of visual impact on a three-dimensional environment in response to the computer system detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. [Figure 27J] 1 illustrates an example of a computer system that simultaneously displays virtual content and environmental effects with different amounts of visual impact on a three-dimensional environment in response to the computer system detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments.

[0038] [Figure 28A] 1 is a flowchart illustrating a method for dynamically displaying environmental effects with different amounts of visual impact on the appearance of a three-dimensional environment in which virtual content is displayed in response to detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. [Figure 28B] 1 is a flowchart illustrating a method for dynamically displaying environmental effects with different amounts of visual impact on the appearance of a three-dimensional environment in which virtual content is displayed in response to detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. [Figure 28C] 1 is a flowchart illustrating a method for dynamically displaying environmental effects with different amounts of visual impact on the appearance of a three-dimensional environment in which virtual content is displayed in response to detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. [Figure 28D]1 is a flowchart illustrating a method for dynamically displaying environmental effects with different amounts of visual impact on the appearance of a three-dimensional environment in which virtual content is displayed in response to detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. [Figure 28E] 1 is a flowchart illustrating a method for dynamically displaying environmental effects with different amounts of visual impact on the appearance of a three-dimensional environment in which virtual content is displayed in response to detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. [Figure 28F] 1 is a flowchart illustrating a method for dynamically displaying environmental effects with different amounts of visual impact on the appearance of a three-dimensional environment in which virtual content is displayed in response to detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. [Figure 28G] 1 is a flowchart illustrating a method for dynamically displaying environmental effects with different amounts of visual impact on the appearance of a three-dimensional environment in which virtual content is displayed in response to detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. [Figure 28H] 1 is a flowchart illustrating a method for dynamically displaying environmental effects with different amounts of visual impact on the appearance of a three-dimensional environment in which virtual content is displayed in response to detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. [Figure 28I] 1 is a flowchart illustrating a method for dynamically displaying environmental effects with different amounts of visual impact on the appearance of a three-dimensional environment in which virtual content is displayed in response to detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0039] The present disclosure relates to a user interface that provides an extended reality (XR) experience to a user, according to some embodiments.

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

[0041] In some embodiments, the computer system displays virtual objects in the environment. In some embodiments, in response to an input to recenter virtual objects to a user's viewpoint, the computer system recenters virtual objects that meet certain criteria and does not recenter virtual objects that do not meet such criteria. In some embodiments, virtual objects that are snapped to portions of the physical environment are not recentered. In some embodiments, virtual objects that were last placed or moved into the environment from the user's current viewpoint are not recentered.

[0042] In some embodiments, the computer system displays virtual objects in an environment. In some embodiments, in response to input that recenters virtual objects to a user's viewpoint, the computer system avoids physical objects when recentering those virtual objects. In some embodiments, the computer system avoids virtual objects when recentering other virtual objects.

[0043] In some embodiments, the computer system displays virtual objects in an environment from a first viewpoint. In some embodiments, when the state of the computer system changes (e.g., from on to off, and then on again), the computer system automatically recenters the virtual objects to the new viewpoint according to one or more characteristics of the new viewpoint. In some embodiments, the computer system does not automatically recenter the virtual objects to the new viewpoint.

[0044] In some embodiments, the computer system displays virtual objects in an environment where the virtual objects are accessible to multiple computer systems. In some embodiments, in response to an input that recenters the virtual objects to a user's viewpoint, the computer system does not change the spatial arrangement of virtual objects accessible to the multiple computer systems relative to the viewpoint associated with those multiple computer systems. In some embodiments, the computer system changes the spatial arrangement of virtual objects that are not accessible to other computer systems relative to the viewpoint associated with the computer system.

[0045] In some embodiments, the computer system displays virtual objects including content in an environment. In some embodiments, the computer system displays the content with different visual salience depending on the angle at which the content is visible from the user's current viewpoint. In some embodiments, the visual salience is greater the closer the angle is to the front, and the visual salience is less the further the angle is from the front. In some embodiments, the computer system alters the visual salience of one or more virtual objects based on the detected user attention. In some embodiments, the computer system alters the visual salience of one or more virtual objects to resolve apparent obscuration of one or more virtual objects.

[0046] FIGS. 1-6 provide an illustration of an exemplary computer system for providing a user with an XR experience (such as those described below with respect to methods 800, 1000, 1200, 1400, 1600, 1800, and / or 2000). FIGS. 7A-7F show an example computer system that selectively recenters virtual content to a user's viewpoint, according to some embodiments. FIGS. 8A-8I are flowcharts illustrating an exemplary method for selectively recentering virtual content to a user's viewpoint, according to some embodiments. The user interfaces of FIGS. 7A-7F are used to explain the process of FIGS. 8A-8I. FIGS. 9A-9C show an example computer system that recenters one or more virtual objects in the presence of physical or virtual obstacles, according to some embodiments. FIGS. 10A-10G are flowcharts illustrating a method for recentering one or more virtual objects in the presence of physical or virtual obstacles, according to some embodiments. The user interfaces of FIGS. 9A-9C are used to explain the process of FIGS. 10A-10G. 11A-11E illustrate an example computer system that selectively and automatically recenters one or more virtual objects in response to a display generating component changing state, according to some embodiments. FIGS. 12A-12E are flowcharts illustrating a method for selectively and automatically recentering one or more virtual objects in response to a display generating component changing state, according to some embodiments. The user interfaces of FIGS. 11A-11E are used to explain the process of FIGS. 12A-12E. FIGS. 13A-13C illustrate an example computer system that selectively and automatically recenters content associated with a communication session between multiple users in response to an input detected at the computer system, according to some embodiments. FIGS. 14A-14E are flowcharts illustrating a method for selectively and automatically recentering content associated with a communication session between multiple users in response to an input detected at the computer system, according to some embodiments. The user interfaces of FIGS. 13A-13C are used to explain the process of FIGS. 14A-14E.FIGS. 15A-15J illustrate an example of a computer system that changes the visual salience of content included in a virtual object based on a viewpoint, according to some embodiments. FIGS. 16A-16P illustrate a flowchart showing a method for changing the visual salience of content included in a virtual object based on a viewpoint, according to some embodiments. The user interfaces of FIGS. 15A-15J are used to explain the process of FIGS. 16A-16P. FIGS. 17A-17E illustrate an example of a computer system that changes the visual salience of content included in a virtual object based on the attention of a user of the computer system, according to some embodiments. FIGS. 18A-18K are flowcharts showing a method for changing the visual salience of a virtual object based on the attention of a user, according to some embodiments. The user interfaces of FIGS. 17A-17E are used to explain the process of FIGS. 18A-18K. FIGS. 19A-19E illustrate an example of a computer system that changes the visual salience of each virtual object to change the apparent obscuration of the respective virtual object by virtual content, according to some embodiments. 20A-20F are flowcharts illustrating a method for modifying the visual prominence of each virtual object to change the apparent obscuration of the respective virtual object by virtual content, according to some embodiments. The user interfaces of FIGS. 19A-19E are used to explain the process of FIGS. 20A-20F. FIGS. 21A-21L show an example of a computer system that gradually modifies the visual prominence of each virtual object according to changes in a user's viewpoint, according to some embodiments. FIGS. 22A-22J are flowcharts illustrating a method for gradually modifying the visual prominence of each virtual object according to changes in a user's viewpoint, according to some embodiments. The user interfaces of FIGS. 21A-21L are used to explain the process of FIGS. 22A-22J. FIGS. 23A-23E show an example of a computer system that gradually modifies the visual prominence of each virtual object based on a user's proximity to the respective virtual object, according to some embodiments.24A-24F are flowcharts illustrating a method for modifying the visual prominence of respective virtual objects based on a user's proximity to the respective virtual objects, according to some embodiments. The user interfaces of FIGS. 23A-23E are used to explain the process of FIGS. 24A-24F. FIGS. 25A-25C show an example of a computer system that modifies the visual prominence of respective virtual objects based on one or more simultaneous types of user interactions, according to some embodiments. FIGS. 26A-26D are flowcharts illustrating a method for modifying the visual prominence of respective virtual objects based on one or more simultaneous types of user interactions, according to some embodiments. The user interfaces of FIGS. 25A-25C are used to explain the process of FIGS. 26A-26D. FIGS. 27A-27J show an example of a computer system that modifies the amount of visual impact of an environmental effect on the appearance of a three-dimensional environment in which first virtual content is displayed in response to detecting inputs, such as a user's attention shifting away from the first virtual content and / or other inputs different from the user's attention being directed to elements different from the first virtual content, according to some embodiments. 28A-28I are flowcharts illustrating a method for dynamically displaying environmental effects with different amounts of visual impact on the appearance of the three-dimensional environment in which virtual content is displayed in response to detecting input (e.g., a user's attention) shifting to different elements within the three-dimensional environment, according to some embodiments. The user interfaces of FIGS. 27A-27J are used to illustrate the processing of FIGS. 28A-28I.

[0047] The processes described below enhance the usability of the device and streamline the user-device interface (e.g., by helping the user provide appropriate inputs and reducing user errors when operating / interacting with the device) through various techniques, including providing improved visual feedback to the user, reducing the number of inputs required to perform an action, providing additional control options without cluttering the user interface with additional controls that are displayed, performing an action without requiring further user input when a set of conditions is met, improving privacy and / or security, and / or other techniques. These techniques also reduce power usage and improve the device's battery life by allowing the user to use the device more quickly and efficiently.

[0048] Furthermore, for methods described herein in which one or more steps are conditioned on one or more conditions being satisfied, it should be understood that the described method can be repeated in multiple iterations, such that over the course of the iterations, all of the conditions on which the method steps are conditioned are satisfied in different iterations of the method. For example, if a method requires performing a first step if a condition is satisfied and a second step if the condition is not satisfied, one skilled in the art will understand that the steps recited in the claim are repeated in a particular order until the conditions are satisfied and then no longer satisfied. Thus, a method described with one or more steps that depend on one or more conditions being satisfied can be rewritten as a method that is repeated until each condition recited in the method is satisfied. However, this is not required for system or computer-readable medium claims in which the system or computer-readable medium includes instructions for performing a conditional action based on the satisfaction of the corresponding one or more conditions, and thus can determine whether a contingency is met without explicitly repeating the method steps until all conditions on which the method steps are conditioned are satisfied. Those skilled in the art will also understand that, as with methods having conditional steps, the system or computer-readable storage medium may repeat the steps of the method as many times as necessary to ensure that all of the conditional steps have been performed.

[0049] 1, 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, or a touchscreen), one or more input devices 125 (e.g., an eye-tracking device 130, a hand-tracking device 140, or other input devices 150), one or more output devices 155 (e.g., a speaker 160, a tactile output generator 170, and other output devices 180), one or more sensors 190 (e.g., an image sensor, a light sensor, a depth sensor, a tactile sensor, an orientation sensor, a proximity sensor, a temperature sensor, a location sensor, a motion sensor, or a speed sensor), and optionally one or more peripheral devices 195 (e.g., a consumer electronics device or a wearable device). In some embodiments, one or more of input device 125, output device 155, sensor 190, and peripheral device 195 are integrated with display generation component 120 (e.g., within a head-mounted or handheld device).

[0050] When describing an XR experience, various terms are used to individually refer to several related, but distinct, environments that a user senses and / or can interact with (e.g., using inputs detected by computer system 101 that cause the computer system generating the XR experience to generate audio, visual, and / or haptic feedback corresponding to various inputs provided to computer system 101 generating the XR experience). The following is a subset of these terms:

[0051] Physical Environment: The physical environment refers to the physical world that people can sense and / or interact with without the aid of electronic systems. A physical environment, such as a physical park, includes physical objects such as physical trees, physical buildings, and physical people. People can directly sense and / or interact with the physical environment through their senses, such as sight, touch, hearing, taste, and smell.

[0052] Extended reality: In contrast, an extended reality (XR) environment refers to a wholly or partially simulated environment that people sense and / or interact with through electronic systems. In XR, a subset of a person's body movements or representations thereof are tracked, and one or more properties of one or more virtual objects simulated within the XR environment are adjusted accordingly to behave according to at least one law of physics. For example, an XR system may detect a person's head rotation and adjust the graphical content and sound field presented to the person accordingly, in a manner similar to how such views and sounds change in a physical environment. In some circumstances (e.g., for accessibility reasons), adjustments to property(ies) of virtual object(s) in the XR environment may be made in response to representations of body movements (e.g., voice commands). A person may sense and / or interact with an XR object using any one of these senses, including sight, hearing, touch, taste, and smell. For example, a person may sense and / or interact with audio objects that create a 3D or spatial audio environment that provides the perception of a point audio source in 3D space. In another example, audio objects may enable audio transparency that selectively incorporates ambient sounds from the physical environment, with or without computer-generated audio. In some XR environments, a person may sense and / or interact with only audio objects.

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

[0054] Virtual Reality: A virtual reality (VR) environment refers to a simulated environment designed to be based entirely on computer-generated sensory input for one or more senses. A VR environment includes multiple virtual objects that a person can sense and / or interact with. 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 virtual objects in a VR environment through a simulation of the person's presence in the computer-generated environment and / or through a simulation of a subset of the person's physical movement within the computer-generated environment.

[0055] Mixed Reality: A mixed reality (MR) environment refers to a simulated environment designed to incorporate sensory input from or representations of a physical environment in addition to including computer-generated sensory input (e.g., virtual objects), in contrast to a VR environment designed to be based entirely on computer-generated sensory input. On a virtual continuum, a mixed reality environment is anywhere between, but not including, a complete physical environment at one end and a virtual reality environment at the other. In some MR environments, computer-generated sensory input may respond to changes in sensory input from the physical environment. Some electronic systems for presenting MR environments may also track location and / or orientation relative to the physical environment to allow virtual objects to interact with real objects (i.e., physical items or representations thereof from the physical environment). For example, the system may take movement into account so that a virtual tree appears stationary relative to the physical ground.

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

[0057] Extended Reality: An augmented reality (AR) environment refers to a simulated environment in which one or more virtual objects are superimposed on a physical environment or a representation thereof. For example, an electronic system for presenting an AR environment may have a transparent or translucent display through which a person can directly view the physical environment. The system may be configured to present virtual objects on the transparent or translucent display, whereby a person using the system perceives the virtual objects superimposed on the physical environment. Alternatively, the system may have an opaque display and one or more imaging sensors that capture images or videos of the physical environment that are representations of the physical environment. The system composites the images or videos with the virtual objects and presents the composite on the opaque display. The person uses the system to indirectly view the physical environment through the images or videos of the physical environment and perceive the virtual objects superimposed on the physical environment. As used herein, video of a physical environment shown on an opaque display is referred to as "pass-through video," meaning that the system captures images of the physical environment using one or more image sensors and uses those images in presenting the AR environment on the opaque display. Alternatively, the system may include a projection system that projects virtual objects, e.g., as holograms, into the physical environment or onto a physical surface, such that a person using the system perceives the virtual objects superimposed on the physical environment. Augmented reality environments also refer to simulated environments in which a representation of the physical environment is transformed by computer-generated sensory information. For example, when providing pass-through video, the system may distort one or more sensor images to impose a selected perspective (e.g., viewpoint) different from the perspective captured by the imaging sensor. As another example, the representation of the physical environment may be distorted by graphically modifying (e.g., enlarging) portions thereof, thereby rendering the modified portions a non-photorealistic, altered version of the originally captured image. As a further example, the representation of the physical environment may be distorted by graphically removing or obscuring portions thereof.

[0058] Augmented Virtuality: An augmented virtuality (AV) environment refers to a simulated environment in which a virtual or computer-generated environment incorporates one or more sensory inputs from a physical environment. The sensory inputs may be representations of one or more characteristics of the physical environment. For example, an AV park may have virtual trees and virtual buildings, while people with faces are realistically recreated from images taken of physical people. As another example, virtual objects may adopt the shape or color of physical items imaged by one or more imaging sensors. As a further example, virtual objects may adopt shadows that match the position of the sun in the physical environment.

[0059] Perspective-Locked Virtual Object: A virtual object is perspective-locked when the computer system displays the virtual object in the same location and / or position within the user's perspective, even as the user's perspective shifts (e.g., changes). In embodiments in which the computer system is a head-mounted device, the user's perspective is locked to the forward-facing orientation of the user's head (e.g., the user's perspective is at least a portion of the user's field of view when the user is looking straight ahead). Thus, the user's perspective remains fixed even as the user's line of sight moves without moving the user's head. In embodiments in which the computer system has a display generating component (e.g., a display screen) that can be repositioned relative to the user's head, the user's perspective is the augmented reality view being presented to the user on the display generating component of the computer system. For example, a perspective-locked virtual object that is displayed in the upper left corner of the user's perspective when the user's perspective 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 perspective even when the user's perspective changes to a second orientation (e.g., the user's head is facing west). In other words, the location and / or position at which a viewpoint-locked virtual object is displayed in a user's viewpoint is independent of the user's position and / or orientation in the physical environment. In embodiments in which 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."

[0060] Environment-Locked Virtual Object: A virtual object is environment-locked (or "world-locked") when a computer system displays the virtual object at a location and / or position within a user's viewpoint that is based on (e.g., selected with reference to and / or anchored to) locations and / or objects within a three-dimensional environment (e.g., a physical environment or a virtual environment). As the user's viewpoint shifts, the locations and / or objects within the environment relative to the user's viewpoint change, resulting in the environment-locked virtual object appearing at a different location and / or position within the user's viewpoint. For example, an environment-locked virtual object locked to a tree directly in front of the user will appear centered within the user's viewpoint. If the user's viewpoint shifts to the right (e.g., the user's head is turned to the right) and the tree becomes more left-leaning in the user's viewpoint (e.g., the position of the tree in the user's viewpoint shifts), the environment-locked virtual object locked to the tree will appear more left-leaning in the user's viewpoint. In other words, the location and / or position at which the environment-locked virtual object appears within the user's viewpoint depends on the position and / or orientation of the location and / or object in the environment to which the virtual object is locked. In some embodiments, the computer system uses a stationary reference frame (e.g., a coordinate system fixed to a fixed location and / or object in the physical environment) to determine a position at which to display an environment-locked virtual object in the user's viewpoint. 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 moving portion of the environment (e.g., a vehicle, an animal, a person, or a representation of a part of the user's body that moves independent of the user's viewpoint, such as the user's hand, wrist, arm, or leg), so that the virtual object moves as the viewpoint or part of the environment moves in order to maintain a fixed relationship between the virtual object and the part of the environment.

[0061] In some embodiments, an environment-locked or viewpoint-locked virtual object exhibits delayed-following behavior, which reduces or delays the movement of the environment-locked or viewpoint-locked virtual object relative to the movement of a reference point that the virtual object is following. In some embodiments, when exhibiting delayed-following behavior, the computer system intentionally delays the movement of the virtual object when it detects movement of the reference point that the virtual object is following (e.g., a part of the environment, the viewpoint, or a point fixed relative to the viewpoint, such as a point between 5 and 300 cm from the viewpoint). For example, when the reference point (e.g., a part of the environment or the viewpoint) moves at a first speed, the virtual object is moved by the device to remain locked to the reference point, but at a second speed that is slower than the first speed (e.g., until the reference point stops 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 delayed-following behavior, the device ignores small amounts of movement of the reference point (e.g., ignores movement of the reference point that is less than a threshold amount of movement, such as movement between 0 and 5 degrees or movement between 0 and 50 cm). For example, when the reference point (e.g., a portion of the environment or a viewpoint to which the virtual object is locked) moves by a first amount, the distance between the reference point and the virtual object increases (e.g., because the virtual object is displayed to maintain a fixed or substantially fixed position relative to a viewpoint or portion of the environment different from the reference point to which the virtual object is locked), and when the reference point (e.g., a portion of the environment or a viewpoint to which the virtual object is locked) moves by a second amount greater than the first amount, the distance between the reference point and the virtual object initially increases (e.g., because the virtual object is displayed to maintain a fixed or substantially fixed position relative to a viewpoint or portion of the environment different from the reference point to which the virtual object is locked), and then decreases as the amount of movement of the reference point increases beyond a threshold (e.g., a “delayed following” threshold) as 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, a virtual object maintaining a substantially fixed position relative to a reference point includes the virtual object being displayed within a threshold distance (e.g., 1, 2, 3, 5, 15, 20, 50 cm) of the reference point in one or more dimensions (e.g., above / below, left / right, and / or forward / backward relative to the position of the reference point).

[0062] Hardware: There are many different types of electronic systems that allow 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 with integrated display capabilities, windows with integrated display capabilities, displays formed as lenses designed to be placed over a person's eyes (e.g., contact lenses), headphones / earphones, speaker arrays, input systems (e.g., wearable or handheld controllers with or without haptic feedback), smartphones, tablets, and desktop / laptop computers. A head-mounted system may have one or more speaker(s) and an integrated opaque display. Alternatively, a head-mounted system may be configured to accept an external opaque display (e.g., a smartphone). A head-mounted system may incorporate one or more imaging sensors for capturing images or video of the physical environment and / or one or more microphones for capturing audio of the physical environment. A head-mounted system may have a transparent or translucent display rather than an opaque display. A transparent or translucent display may have a medium through which light representing an image is directed toward a person's eyes. The display may utilize digital light projection, OLED, LED, uLED, liquid crystal on silicon, laser-scanned light source, or any combination of these technologies. The medium may be a light guide, a holographic medium, an optical combiner, an optical reflector, or any combination thereof. In one embodiment, the transparent or translucent display may be configured to be selectively opaque. A projection-based system may employ retinal projection technology that projects graphical images onto a person's retina. The projection system may also be configured to project virtual objects into the physical environment, for example, as holograms or onto physical surfaces. In some embodiments, the controller 110 is configured to manage and coordinate the XR experience for the user.In some embodiments, controller 110 includes a suitable combination of software, firmware, and / or hardware. Controller 110 is described in more detail below with reference to FIG. 2. In some embodiments, controller 110 is a computing device that is local or remote to scene 105 (e.g., the physical environment). For example, controller 110 is a local server located within scene 105. In another example, controller 110 is a remote server (e.g., a cloud server or central server) located outside scene 105. In some embodiments, controller 110 is communicatively coupled to display generation component 120 (e.g., an HMD, a display, a projector, or a touchscreen) via one or more wired or wireless communication channels 144 (e.g., BLUETOOTH, IEEE 802.11x, IEEE 802.16x, or IEEE 802.3x). In another example, the controller 110 is contained within the housing (e.g., physical housing) of, or shares the same physical housing or support structure as, one or more of the display generating component 120 (e.g., an HMD or a portable electronic device including a display and one or more processors), one or more of the input devices 125, one or more of the output devices 155, one or more of the sensors 190, and / or one or more of the peripheral devices 195.

[0063] In some embodiments, display generation component 120 is configured to provide an XR experience (e.g., at least a visual component of the XR experience) to a user. In some embodiments, display generation component 120 includes a suitable combination of software, firmware, and / or hardware. Display generation component 120 is described in more detail below with reference to FIG. 3. In some embodiments, the functionality of controller 110 is provided by and / or combined with display generation component 120.

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

[0065] In some embodiments, the display generating component is worn on a part of the user's body (e.g., on their head or their hand). Thus, display generating component 120 includes one or more XR displays provided for displaying XR content. For example, in various embodiments, display generating component 120 surrounds the user's field of view. In some embodiments, display generating component 120 is a handheld device (such as a smartphone or tablet) configured to present XR content, where the user holds the device with a display pointed toward the user's field of view and a camera pointed toward scene 105. In some embodiments, the handheld device is optionally located within a housing worn on the user's head. In some embodiments, the handheld device is optionally located on a support (e.g., a tripod) in front of the user. In some embodiments, display generating component 120 is an XR chamber, housing, or room configured to present XR content without the user wearing or holding display generating component 120. Many user interfaces described with reference to one type of hardware for displaying XR content (e.g., a handheld device or a device on a tripod) may be implemented on another type of hardware for displaying XR content (e.g., an HMD or other wearable computing device). For example, a user interface illustrating interactions with XR content that are triggered based on interactions occurring in the space in front of a handheld or tripod-mounted device may be implemented similarly to an HMD in which the interactions occur in the space in front of the HMD and the XR content responses are displayed via the HMD. Similarly, a user interface illustrating interactions with XR content that are triggered based on movement of a handheld or tripod-mounted device relative to the physical environment (e.g., scene 105 or a part of the user's body (e.g., the user's eye(s), head, or hands)) may be implemented similarly to an HMD in which the movement is caused by movement of the HMD relative to the physical environment (e.g., scene 105 or a part of the user's body (e.g., the user's eye(s), head, or hands)).

[0066] While relevant features of operating environment 100 are shown in FIG. 1, those skilled in the art will understand from this disclosure that for the sake of brevity, various other features are not shown so as to not obscure more pertinent aspects of the exemplary embodiments disclosed herein.

[0067] 2 is a block diagram of an example controller 110, according to some embodiments. While certain features are shown, those skilled in the art will understand from this disclosure that various other features are not shown for the sake of brevity so as not to obscure more pertinent aspects of the embodiments disclosed herein. Thus, 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., 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, or similar types of interfaces), one or more programming (e.g., I / O) interfaces 210, memory 220, and one or more communication buses 204 for interconnecting these and various other components.

[0068] In some embodiments, one or more communication buses 204 include circuitry that interconnects and controls communications 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.

[0069] 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 (DDRRAM), or other random-access solid-state memory devices. In some embodiments, memory 220 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 220 optionally includes one or more storage devices located remotely from the one or more processing units 202. Memory 220 includes a non-transitory computer-readable storage medium. In some embodiments, memory 220, or its non-transitory computer-readable storage medium, stores the following programs, modules, and data structures, or a subset thereof, including an optional operating system 230 and an XR experience module 240:

[0070] Operating system 230 includes instructions for handling various basic system services and for performing hardware-dependent tasks. In some embodiments, XR experience module 240 is configured to manage and coordinate one or more 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 that end, in various embodiments, XR experience module 240 includes a data acquisition unit 241, a tracking unit 242, a coordination unit 246, and a data transmission unit 248.

[0071] 1 , and optionally one or more of input device 125, output device 155, sensor 190, and / or peripheral device 195. To that end, in various embodiments, data acquisition unit 241 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.

[0072] In some embodiments, tracking unit 242 is configured to map scene 105 and track the position / location of at least display generating component 120 relative to scene 105 of FIG. 1 , and optionally relative to one or more of input device 125, output device 155, sensor 190, and / or peripheral device 195. To that end, in various embodiments, tracking unit 242 includes instructions and / or logic therefor, as well as heuristics and metadata therefor. In some embodiments, tracking unit 242 includes hand tracking unit 244 and / or eye tracking unit 243. In some embodiments, hand tracking unit 244 is configured to track the position / location of one or more parts of a user's hand and / or the movement of one or more parts of a user's hand relative to scene 105 of FIG. 1 , relative to display generating component 120, and / or relative to a coordinate system defined relative to the user's hand. Hand tracking unit 244 is described in more detail below with respect to FIG. 4. In some embodiments, eye tracking unit 243 is configured to track the position and movement of the user's gaze (or, more broadly, the user's eyes, face, or head) relative to scene 105 (e.g., relative to the physical environment and / or the user (e.g., the user's hands)), or relative to XR content displayed via display generation component 120. Eye tracking unit 243 is described in more detail below with respect to FIG. 5.

[0073] In some embodiments, coordination unit 246 is configured to manage and coordinate the XR experience presented to the user by display generation component 120 and, optionally, by one or more of output devices 155 and / or peripheral devices 195. To that end, in various embodiments, coordination unit 246 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.

[0074] In some embodiments, data dissemination unit 248 is configured to transmit data (e.g., presentation data or location data) to at least display generation component 120, and optionally to one or more of input device 125, output device 155, sensor 190, and / or peripheral device 195. To that end, in various embodiments, data dissemination unit 248 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.

[0075] 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 adjustment unit 246, and the data transmission unit 248 are shown as being present 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 adjustment unit 246, and the data transmission unit 248 can be located within separate computing devices.

[0076] Furthermore, Figure 2 is intended more to illustrate the functionality of various features that may be present in particular embodiments, as opposed to a structural overview of the embodiments described herein. As will be recognized by those skilled in the art, items shown separately may be combined and some items may be separated. For example, some functional modules shown separately in Figure 2 may be implemented within a single module, and various functions of a single functional block may be performed by one or more functional blocks in various embodiments. The actual number of modules, as well as the division of specific functions and how functions are allocated among them, will vary depending on implementation and, in some embodiments, will depend in part on the particular combination of hardware, software, and / or firmware selected for a particular implementation.

[0077] 3 is a block diagram of an example of a display generation component 120, according to some embodiments. While certain features are shown, those skilled in the art will understand from this disclosure that, for the sake of brevity, various other features are not shown so as to not obscure more pertinent aspects of the embodiments disclosed herein. To that end, by way of non-limiting example, in some embodiments, the display generation component 120 (e.g., an HMD) includes one or more processing units 302 (e.g., microprocessors, ASICs, FPGAs, GPUs, CPUs, processing cores, 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, IEEE 802.11x, IEEE 802.16x, GSM, CDMA, TDMA, GPS, infrared, 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 inward-facing and / or outward-facing image sensors 314, memory 320, and one or more communication buses 304 for interconnecting these and various other components.

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

[0079] In some embodiments, the one or more XR displays 312 are configured to provide an XR experience to a user. In some embodiments, the 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-emissive element display (SED), field-emission display (FED), quantum dot light-emitting diode (QD-LED), MEMS, and / or similar display types. In some embodiments, the one or more XR displays 312 correspond to diffractive, reflective, polarized, 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, the one or more XR displays 312 are capable of presenting mixed reality (MR) or virtual reality (VR) content. In some embodiments, the one or more XR displays 312 are capable of presenting mixed reality (MR) or virtual reality (VR) content.

[0080] In some embodiments, the one or more image sensors 314 are configured to acquire image data corresponding to at least a portion of the user's face, including the user's eyes (and may be referred to as eye-tracking cameras). In some embodiments, the one or more image sensors 314 are configured to acquire image data corresponding to at least a portion of the user's hand(s) and optionally the user's arm(s) (and may be referred to as hand-tracking cameras). In some embodiments, the one or more image sensors 314 are configured to face forward to acquire image data corresponding to a scene as the user would view it if the display generating component 120 (e.g., an HMD) were not present (and may be referred to as a scene camera). The one or more optional image sensors 314 may include one or more RGB cameras (e.g., with a complementary metal-oxide semiconductor (CMOS) image sensor or a charge-coupled device (CCD) image sensor), one or more infrared (IR) cameras, one or more event-based cameras, and / or the like.

[0081] Memory 320 includes high-speed random-access memory, such as DRAM, SRAM, DDR RAM, or other random-access solid-state memory devices. In some embodiments, memory 320 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 320 optionally includes one or more storage devices located remotely from the one or more processing units 302. Memory 320 includes a non-transitory computer-readable storage medium. In some embodiments, memory 320, or its non-transitory computer-readable storage medium, stores the following programs, modules, and data structures, or a subset thereof, including an optional operating system 330 and an XR presentation module 340:

[0082] The operating system 330 includes instructions for handling various basic system services and for performing hardware-dependent tasks. In some embodiments, the XR presentation module 340 is configured to present XR content to a user via one or more XR displays 312. To that end, in various embodiments, the XR presentation module 340 includes a data acquisition unit 342, an XR presentation unit 344, an XR map generation unit 346, and a data transmission unit 348.

[0083] In some embodiments, the data acquisition unit 342 is configured to acquire data (e.g., presentation data, interaction data, sensor data, or location data) from at least the controller 110 of Figure 1. To that end, in various embodiments, the data acquisition unit 342 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.

[0084] In some embodiments, the XR presentation unit 344 is configured to present XR content via one or more XR displays 312. To that end, in various embodiments, the XR presentation unit 344 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.

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

[0086] In some embodiments, data dissemination unit 348 is configured to transmit data (e.g., presentation data or location data) to at least controller 110, and optionally to one or more of input device 125, output device 155, sensor 190, and / or peripheral device 195. To that end, in various embodiments, data dissemination unit 348 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.

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

[0088] Furthermore, Figure 3 is intended more to illustrate the functionality of various features that may be present in particular implementations, as opposed to a structural overview of the embodiments described herein. As will be recognized by those skilled in the art, items shown separately can be combined and some items can be separated. For example, some functional modules shown separately in Figure 3 can be implemented within a single module, and various functions of a single functional block can be performed by one or more functional blocks in various embodiments. The actual number of modules, as well as the division of specific functions and how functions are allocated among them, will vary from implementation to implementation and, in some embodiments, will depend in part on the particular combination of hardware, software, and / or firmware selected for a particular implementation.

[0089] 4 is a schematic diagram of an example embodiment of a hand tracking device 140. In some embodiments, hand tracking device 140 (FIG. 1) is controlled by hand tracking unit 244 (FIG. 2) to track the position / location of one or more parts of a user's hand and / or the movement of one or more parts of a user's hand relative to scene 105 of FIG. 1 (e.g., relative to a portion of the physical environment surrounding the user, relative to display generating components 120, or relative to a portion of the user (e.g., the user's face, eyes, or head), and / or relative to a coordinate system defined relative to the user's hand). In some embodiments, hand tracking device 140 is part of display generating components 120 (e.g., embedded in or attached to a head-mounted device). In some embodiments, hand tracking device 140 is separate from display generating components 120 (e.g., located in a separate housing or attached to a separate physical support structure).

[0090] In some embodiments, the hand tracking device 140 includes an image sensor 404 (e.g., one or more IR cameras, 3D cameras, depth cameras, and / or color cameras) that captures three-dimensional scene information including at least the hand 406 of a human user. The image sensor 404 captures hand images with sufficient resolution to allow for differentiation of the fingers and their respective positions. The image sensor 404 typically captures images of other parts of the user's body, or all of the body, and can have either zoom capabilities or a dedicated sensor with high magnification to capture hand images at a desired resolution. In some embodiments, the image sensor 404 also captures 2D color video images of the hand 406 and other elements of the scene. In some embodiments, the image sensor 404 is used in conjunction with or functions as an image sensor that captures the physical environment of the scene 105. In some embodiments, the image sensor 404 is positioned relative to the user or the user's environment such that the field of view of the image sensor, or a portion thereof, is used to define an interaction space in which hand movements captured by the image sensor are processed as inputs to the controller 110.

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

[0092] In some embodiments, the image sensor 404 projects a spot pattern onto a scene including 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 shift of the pattern's spots. This approach is advantageous in that it does not require the user to hold or wear any type of beacon, sensor, or other marker. This provides depth coordinates of points in the scene relative to a predetermined reference plane at a specific distance from the image sensor 404. In this disclosure, the image sensor 404 is assumed to define a series of orthogonal 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) can use other 3D mapping methods, such as stereoscopic imaging or time-of-flight measurement, based on single or multiple cameras or other types of sensors.

[0093] In some embodiments, the hand tracking device 140 captures and processes a time sequence of depth maps containing the user's hand while the user moves the hand (e.g., the entire hand or one or more fingers). Software running on the image sensor 404 and / or a processor in the controller 110 processes the 3D map data to extract patch descriptors of the hand in these depth maps. The software matches these descriptors to patch descriptors stored in the database 408, based on a previous training process, to estimate the pose of the hand in each frame. The pose typically includes the 3D locations of the user's wrist joints and fingertips.

[0094] The software can also analyze hand and / or finger trajectories across multiple frames in a sequence to identify gestures. The pose estimation functionality described herein may be interleaved with motion tracking functionality, whereby patch-based pose estimation is performed only once every two (or more) frames, while tracking is used to discover pose changes that occur across the remaining frames. The pose, motion, and gesture information is provided to an application program running on controller 110 via the API described above. This program can, for example, move and modify an image presented on display generation component 120 or perform other functions in response to the pose and / or gesture information.

[0095] In some embodiments, the gesture includes an air gesture, which is detected without (or independent of) the user touching an input element that is part of a device (e.g., computer system 101, one or more input devices 125, and / or hand tracking device 140) and is based on detected movement of a part of the user's body in the air (e.g., head, one or more arms, one or more hands, one or more fingers, and / or one or more legs), 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 of the user's body 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 another of the user's hands, and / or movement of a user's finger relative to another finger or part of the user's hand), and / or absolute movement of the user's body part (e.g., a tap gesture involving movement of a hand in a predetermined posture by a predetermined amount and / or speed, or a shake gesture involving a predetermined speed or amount of rotation of the user's body part).

[0096] In some embodiments, input gestures used in various examples and embodiments described herein include air gestures performed by movement of a user's finger(s) relative to other finger(s) or part(s) of the user's hand to interact with an XR environment (e.g., a virtual or mixed reality environment), according to some embodiments. In some embodiments, an air gesture is a gesture that is detected without the user touching an input element that is part of the device (or independent of an input element that is part of the device) and is based on detected movement of a part of the user's body in 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 of the user's body 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 the user's other hand relative to one of the user's hands, and / or movement of the user's fingers relative to another finger or part of the user's hand), and / or absolute movement of the user's body part (e.g., a tap gesture that includes movement of the hand in a predetermined pose by a predetermined amount and / or speed, or a shake gesture that includes rotation of the user's body part at a predetermined speed or amount).

[0097] In some embodiments where the input gesture is an air gesture (e.g., in the absence of physical contact with an input device that provides a computer system with information about which user interface element is the target of the user input, such as contact with a user interface element displayed on a touchscreen or contact with a mouse or trackpad to move a cursor to a user interface element), the gesture takes into account the user's attention (e.g., gaze) to determine the target of the user input (e.g., in the case of direct input, as described below). Thus, in implementations that include air gestures, the input gesture is detected attention (e.g., gaze) to a user interface element in combination with (e.g., simultaneous with) movement of the user's finger(s) and / or hand to perform pinch and / or tap input, as described in more detail below.

[0098] In some embodiments, an input gesture directed at a user interface object is performed directly or indirectly with reference to the user interface object. For example, user input is performed directly at a user interface object in response to performing an input gesture with the user's hand at a position corresponding to the user interface object's position in the three-dimensional environment (e.g., as determined based on the user's current viewpoint). In some embodiments, an input gesture is performed indirectly at a user interface object in response to detecting the user's attention (e.g., gaze) to the user interface object while performing the input gesture while the user's hand position is not at a position corresponding to the user interface object's position in the three-dimensional environment. For example, for a direct input gesture, a user can direct the user's input at a user interface object by initiating the gesture at or near a position corresponding to the user interface object's displayed position (e.g., within a distance of 0.5 cm, 1 cm, 5 cm, or 0-5 cm, measured from an outer edge of the option or a central portion of the option). For indirect input gestures, a user can direct their input to a user interface object by paying attention to the user interface object (e.g., by gazing at the user interface object), and while paying attention to the option, the user initiates an input gesture (e.g., at any position detectable by the computer system) (e.g., at a position that does not correspond to the displayed position of the user interface object).

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

[0100] In some embodiments, the pinch input is part of an air gesture, including one or more of a pinch gesture, a long pinch gesture, a pinch-and-drag gesture, or a double pinch gesture. For example, a pinch gesture that is an air gesture includes moving two or more fingers of a hand to contact each other, i.e., optionally with a short break (e.g., within 0-1 second) after contact with each other. A long pinch gesture that is an air gesture includes moving two or more fingers of a hand to contact 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 holding a pinch gesture (e.g., when 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 that is an air gesture includes two (e.g., or more) pinch inputs (e.g., performed by the same hand) that are detected immediately in succession (e.g., within a predetermined period of time) after each other. For example, a user performs a first pinch input (e.g., a pinch input or a long pinch input), releases the first pinch input (e.g., breaking contact between two or more fingers), and performs a second pinch input within a predetermined period of time (e.g., within 1 second or 2 seconds) after releasing the first pinch input.

[0101] In some embodiments, a pinch-and-drag gesture that is an air gesture includes a pinch gesture (e.g., a pinch gesture or a long pinch gesture) performed in conjunction with (e.g., followed by) a drag input that changes the position of a user's hand from a first position (e.g., a start position of the drag) to a second position (e.g., an end position of the drag). In some embodiments, a user maintains the pinch gesture while performing the drag input and releases the pinch gesture (e.g., spreading two or more fingers apart) to end the drag gesture (e.g., at the second position). In some embodiments, the pinch input and the drag input are performed by the same hand (e.g., a user pinches two or more fingers together and moves the same hand to a second position in the air with a drag gesture). In some embodiments, the pinch input is performed by a user's first hand and the drag input is performed by the user's second hand (e.g., the user's second hand moves from a first position to a second position in the air while the user continues the pinch input with the user's first hand). In some embodiments, an input gesture that is an air gesture includes an input (e.g., a pinch input and / or a tap input) performed using both of a user's hands. For example, the input gesture includes two (e.g., or more) pinch inputs performed in conjunction with each other (e.g., simultaneously or within a predetermined period of time). For example, a first pinch gesture (e.g., a pinch input, a long pinch input, or a pinch and drag input) performed using a first hand of the user and a second pinch input performed using the other hand (e.g., a second hand of the user) in conjunction with performing the pinch input using the first hand. In some embodiments, a movement between a user's hands (e.g., to increase and / or decrease the distance or relative orientation between the user's hands).

[0102] In some embodiments, a tap input (e.g., directed toward a user interface element) performed as an air gesture includes movement(s) of a user's finger(s) toward the user interface element, movement of a user's hand toward a user interface element, optionally with the user's finger(s) extended toward the user interface element, a downward movement of a user's finger (e.g., mimicking a mouse click action or a tap on a touchscreen), or other predefined movement of the user's hand. In some embodiments, a tap input performed as an air gesture is detected based on movement characteristics of the finger or hand performing the tap gesture, moving the finger or hand away from the user's viewpoint and / or toward the object that is the target of the tap input followed by an end of the movement. In some embodiments, an end of the movement is detected based on a change in movement characteristics of the finger or hand performing the tap gesture (e.g., an end of movement away from the user's viewpoint and / or toward the object that is the target of the tap input, a reversal of the direction of movement of the finger or hand, and / or a reversal of the direction of acceleration of the movement of the finger or hand).

[0103] In some embodiments, the user's attention is determined to be directed to a portion of the three-dimensional environment based on detecting a gaze directed to the portion of the three-dimensional environment (optionally, without requiring other conditions). In some embodiments, the device determines that the user's attention is directed to the portion of the three-dimensional environment based on detecting a gaze directed to the portion of the three-dimensional environment with 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 time) while the user's viewpoint is within a distance threshold from the portion of the three-dimensional environment, and / or requiring the gaze to be directed to the portion of the three-dimensional environment, and if one of the additional conditions is not met, the device determines that the user's attention is not directed to the portion of the three-dimensional environment to which the gaze is directed (e.g., until one or more additional conditions are met).

[0104] In some embodiments, detection of a ready configuration of a user or a portion of a user is detected by a computer system, and detection of a ready configuration of the hands is used by the computer system as an indication that the user is likely preparing to interact with the computer system using one or more air gesture inputs performed with the hands (e.g., pinch, tap, pinch and drag, double pinch, long pinch, or other air gestures described herein). For example, the ready state of a hand is determined based on whether the hand has a predetermined hand geometry (e.g., a pre-pinch geometry with the thumb and one or more fingers extended and spaced apart, ready to perform a pinch or grab gesture, or a pre-tap geometry with one or more fingers extended and the palm facing away from the user), whether the hand is in a predetermined position relative to the user's viewpoint (e.g., below the user's head, above the user's waist, extended at least 15 cm, 20 cm, 25 cm, 30 cm, or 50 cm from the body), and / or whether the hand has moved in a particular manner (e.g., above the user's waist, moved toward an area in front of the user below the user's head, or away from the user's body or legs). In some embodiments, the ready state is used to determine whether an interactive element of a user interface is responsive to attentional (e.g., gaze) input.

[0105] In some embodiments, the software may be downloaded to the controller 110 in electronic form, for example, over a network, or alternatively may 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 memory associated with the controller 110. Alternatively, or additionally, some or all of the described functionality of the computer may be implemented in dedicated hardware, such as a custom or semi-custom integrated circuit or a programmable digital signal processor (DSP). While the controller 110 is shown in FIG. 4 as, by way of example, a separate unit from the image sensor 404, some or all of the processing functionality of the controller may be implemented 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 otherwise 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 set, handheld device, or head-mounted device) or using any other suitable computerized device, such as a game console or media player. The sensing function of the image sensor 404 may likewise be integrated into a computer or other computerized device that is controlled by the sensor output.

[0106] FIG. 4 also includes a schematic diagram of a depth map 410 captured by the image sensor 404, according to some embodiments. The depth map includes a matrix of pixels having respective depth values, as described above. A pixel 412 corresponding to the hand 406 is segmented from the background and wrist in this map. The intensity of each pixel in the depth map 410 is inversely proportional to the depth value, i.e., the measured z-distance from the image sensor 404, with increasing depth resulting in darker shades. The controller 110 processes these depth values ​​to identify and segment components of the image (i.e., groups of adjacent pixels) that have characteristics of a human hand. These characteristics can include, for example, the overall size, shape, and frame-to-frame motion of the depth map sequence.

[0107] 4 also schematically illustrates a hand skeleton 414 that the controller 110 ultimately extracts from the depth map 410 of the hand 406, according to some embodiments. In FIG. 4, the hand skeleton 414 is overlaid on a hand background 416 that was segmented from the original depth map. In some embodiments, key feature points on the hand (e.g., knuckles, fingertips, center of the palm, or end of the hand where it connects to the wrist), and optionally the wrist or arm connected to the hand, are identified and positioned on the hand skeleton 414. In some embodiments, the location and movement of these key feature points over multiple image frames are used by the controller 110 to determine hand gestures performed by the hand or the current state of the hand, according to some embodiments.

[0108] FIG. 5 shows an exemplary embodiment of eye tracking device 130 ( FIG. 1 ). In some embodiments, eye tracking device 130 is controlled by eye tracking unit 243 ( FIG. 2 ) to track the position and movement of a user's gaze relative to scene 105 or relative to XR content displayed via display generation component 120. In some embodiments, eye tracking device 130 is integrated with display generation component 120. For example, in some embodiments, if display generation component 120 is a head-mounted device such as a headset, helmet, goggles, or glasses, or a handheld device disposed in a wearable frame, the head-mounted device includes both components for generating XR content for viewing by the user and components for tracking the user's gaze relative to the XR content. In some embodiments, eye tracking device 130 is separate from display generation component 120. For example, if the display generation component is a handheld device or an XR chamber, eye tracking device 130 is optionally a device separate from the handheld device or the XR chamber. In some embodiments, eye tracking device 130 is a head-mounted device or part of a head-mounted device. In some embodiments, head-mounted eye tracking device 130 is optionally used in conjunction with head-mounted or non-head-mounted display generating components. In some embodiments, eye tracking device 130 is not a head-mounted device, and is optionally used in combination with head-mounted display generating components. In some embodiments, eye tracking device 130 is not a head-mounted device, and is optionally part of non-head-mounted display generating components.

[0109] In some embodiments, the display generation component 120 uses a display mechanism (e.g., left and right near-eye display panels) that displays frames including left and right images in front of the user's eyes to provide the user with a 3D virtual view. For example, the head-mounted display generation component may include left and right optical lenses (referred to herein as eyepieces) positioned 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 video 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 that allows the user to view the physical environment directly and display virtual objects on the transparent or translucent display. In some embodiments, the display generation component projects virtual objects into the physical environment. The virtual objects are projected, for example, onto a physical surface or as a hologram, allowing an individual using the system to observe the virtual objects superimposed on the physical environment. In such cases, separate display panels and image frames for the left and right eyes may not be required.

[0110] As shown in FIG. 5 , in some embodiments, eye tracking device 130 (e.g., gaze tracking device) includes at least one eye tracking camera (e.g., an infrared (IR) camera or near-IR (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 aimed at the user's eyes to receive reflected IR or NIR light from the light source directly from the eyes, or alternatively, may be aimed at a “hot” mirror positioned between the user's eyes and a display panel that reflects the IR or NIR light from the eyes to the eye tracking camera while allowing visible light to pass through. Eye tracking device 130 optionally captures images of the user's eyes (e.g., as a video stream captured at 60-120 frames per second (fps)), analyzes the images to generate eye tracking information, and communicates the eye tracking information to controller 110. In some embodiments, the user's eyes are tracked separately by their respective eye tracking cameras and illumination sources. In some embodiments, only one eye of the user is tracked by a separate eye-tracking camera and lighting source.

[0111] In some embodiments, the eye tracking device 130 is calibrated using a device-specific calibration process to determine the eye tracking device's parameters for the particular operating environment 100, such as the 3D geometric relationships and parameters of the LEDs, camera, hot mirror (if present), eyepiece, and display screen. The device-specific calibration process may be performed at a factory or another facility before delivery of the AR / VR equipment to the end user. The device-specific calibration process may be an automatic or manual calibration process. The user-specific calibration process may include estimation of a particular user's eye parameters, such as pupil location, fovea location, optical axis, visual axis, and / or eye spacing. Once the device-specific and user-specific parameters have been determined for the eye tracking device 130, according to some embodiments, images captured by the eye tracking camera can be processed using glint-assisted methods to determine the user's current visual axis and viewpoint relative to the display.

[0112] As shown in FIG. 5, eye tracking device 130 (e.g., 130A or 130B) includes an eyepiece(s) 520 and a gaze tracking system including at least one eye tracking camera 540 (e.g., an infrared (IR) or near-IR (NIR) camera) positioned on the side of the user's face where eye tracking occurs 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(s) 592. The eye tracking camera 540 may be positioned between the user's eye(s) 592 and the display 510 (e.g., the left or right display panel of a head-mounted display, or the display of a handheld device, or a projector) and may be directed at a mirror 550 that reflects IR or NIR light from the eye(s) 592 while transmitting visible light (e.g., as shown in the top of Figure 5), or may be directed at the user's eye(s) 592 to receive reflected IR or NIR light from the eye(s) 592 (e.g., as shown in the bottom of Figure 5).

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

[0114] Some possible use cases of the user's current gaze direction are described below, but are not intended to be limiting. As an exemplary use case, the controller 110 can render virtual content differently based on the determined user's gaze direction. For example, the controller 110 may generate virtual content with higher resolution in a central visual area determined from the user's current gaze direction than in a peripheral area. As another example, the controller may position or move virtual content within a view based at least in part on the user's current gaze direction. As another example, the controller may display particular virtual content within a view based at least in part on the user's current gaze direction. As another exemplary use case in an AR application, the controller 110 can orient an external camera to capture the physical environment of the XR experience and focus in the determined direction. The external camera's autofocus mechanism can then focus on an object or surface within the environment the user is currently viewing on the display 510. As another exemplary use case, eyepiece 520 may be a focusable lens, and eye-tracking information is used by the controller to adjust the focus of eyepiece 520 so that the virtual object the user is currently looking at has the proper binocular coordination to match the convergence of the user's eyes 592. Controller 110 can utilize the eye-tracking information to orient and focus eyepiece 520 so that close objects the user is looking at appear at the correct distance.

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

[0116] In some embodiments, the display 510 emits light in the visible light range and not in the IR or NIR range, and therefore does not introduce noise into the gaze tracking system. Note that the location and angle of the eye tracking camera(s) 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.

[0117] Embodiments of an eye tracking system such as that shown in FIG. 5 may be used, for example, in computer-generated reality, virtual reality, and / or mixed reality applications to provide a user with a computer-generated reality, virtual reality, augmented reality, and / or augmented virtual experience.

[0118] FIG. 6 illustrates a glint-assisted gaze tracking pipeline according to some embodiments. In some embodiments, the gaze tracking pipeline is implemented by a glint-assisted gaze tracking system (e.g., eye tracking device 130 as shown in FIGS. 1 and 5). The glint-assisted gaze tracking system can maintain a tracking state. Initially, the tracking state is off or "no." When in the tracking state, the glint-assisted gaze tracking system tracks the pupil contour and glint in the current frame using prior information from the previous frame when analyzing the current frame. When not in the tracking state, the glint-assisted gaze tracking system attempts to detect the pupil and glint in the current frame, and if successful, initializes the tracking state to "yes" and continues to the next frame in the tracking state.

[0119] As shown in FIG. 6, an eye-tracking camera can capture left and right images of a user's left and right eyes. The captured images are then input into an eye-tracking pipeline for processing beginning at 610. As indicated by the arrow returning to element 600, the eye-tracking system can continue to capture images of the user's eyes at a rate of, for example, 60-120 frames per second. In some embodiments, each set of captured images may be input into the pipeline for processing. However, in some embodiments, or under some conditions, not all captured frames are processed by the pipeline.

[0120] At 610, if the tracking status is yes for the currently captured image, the method proceeds to element 640. If the tracking status is no at 610, the image is analyzed to detect the user's pupil and glint in the image, as shown at 620. If the pupil and glint are successfully detected at 630, the method proceeds to element 640. If not, the method returns to element 610 to process the next image of the user's eyes.

[0121] At 640, proceeding from element 610, the current frame is analyzed to track pupils and glints based in part on previous information from the previous frame. At 640, proceeding from element 630, a tracking state is initialized based on the detected pupils and glints in the current frame. The results of the processing at element 640 are checked to ensure that the tracking or detection results are reliable. For example, the results can be checked to determine whether a sufficient number of glints are successfully tracked or detected in the current frame to perform pupil and gaze estimation. At 650, if the results are not reliable, the tracking state is set to no at element 660 and the method returns to element 610 to process the next image of the user's eyes. At 650, if the results are reliable, the method proceeds to element 670. At 670, the tracking state is set to yes (if not already yes) and the pupil and glint information is passed to element 680 to estimate the user's gaze point.

[0122] 6 is intended to serve as an example of eye-tracking technology that may be used in particular implementations. As will be recognized by those skilled in the art, other eye-tracking technologies, now existing or developed in the future, may be used in place of or in combination with the glint-assisted eye-tracking technology described herein in computer system 101 to provide a user with an XR experience according to various embodiments.

[0123] In some embodiments, the captured portion of the real-world environment 602 is used to provide the user with an XR experience, e.g., a mixed reality environment in which one or more virtual objects are overlaid on a representation of the real-world environment 602.

[0124] Accordingly, the description herein describes several embodiments of three-dimensional environments (e.g., XR environments) that include representations of real-world objects and representations of virtual objects. For example, the three-dimensional environment optionally includes a representation of a table present in a physical environment that is captured and displayed within the three-dimensional environment (e.g., actively via a camera and display of the computer system, or passively via a transparent or translucent display of the computer system). As described above, the three-dimensional environment is optionally a mixed reality system based on a physical environment, where the three-dimensional environment is 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 can optionally selectively display portions and / or objects of the physical environment such that each portion and / or object of the physical environment appears to exist within the three-dimensional environment displayed by the computer system. Similarly, the computer system can optionally display virtual objects in the three-dimensional environment such that each portion and / or object of the physical environment appears to exist within the real world (e.g., the physical environment) by placing the virtual objects at respective locations within the three-dimensional environment that have corresponding locations in the real world. For example, the computer system optionally displays the vase so that it appears as if the real vase were placed on a table in the physical environment, hi some embodiments, distinct locations in the three-dimensional environment have corresponding locations in the physical environment.Thus, when a computer system is described as displaying a virtual object at a location distinct from a physical object (e.g., at or near the location of a user's hand, or on or near a physical table, etc.), the computer system displays the virtual object at a particular location in the three-dimensional environment so that the virtual object appears to be at or near the physical object in the physical world (e.g., the virtual object is displayed at a location in the three-dimensional environment that corresponds to the location in the physical environment where the virtual object would be displayed if the virtual object were a real object at that particular location).

[0125] In some embodiments, real-world objects present in the physical environment (e.g., and / or visible via display generation components) that are displayed in the three-dimensional environment 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 the table, where the table is a view (or representation) of the physical table in the physical environment and the vase is a virtual object.

[0126] Similarly, a user can optionally use one or more hands to interact with virtual objects in the three-dimensional environment as if the virtual objects were real objects in the physical environment. For example, as described above, one or more sensors of the computer system optionally capture one or more of the user's hands and display a representation of the user's hands in the three-dimensional environment (e.g., in a manner similar to displaying real-world objects in the three-dimensional environment described above), or in some embodiments, due to the transparency / translucency of the user interface, or the projection of the user interface onto a transparent / translucent surface, or the portion of the display generating components displaying the projection of the user interface to the user's eyes or field of view of the user's eyes, the user's hands are visible through the display generating components by the ability to see the physical environment through the user interface. Thus, in some embodiments, the user's hands are displayed at discrete locations 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 they were actual physical objects in the physical environment. In some embodiments, the computer system can update the display of the representation of the user's hands in the three-dimensional environment in conjunction with the movement of the user's hands in the physical environment.

[0127] In some of the embodiments described below, for example, for purposes of determining whether a physical object is directly interacting with a virtual object (e.g., whether a hand is touching, grasping, or holding a virtual object, or within a threshold distance from a virtual object), the computer system can optionally determine an “effective” distance between the physical object in the physical world and the virtual object in the three-dimensional environment. For example, a hand directly interacting with a virtual object optionally includes one or more of the fingers of a hand pressing a virtual button, a user's hand grasping a virtual vase, two fingers of a user's hand pinching / holding an application's user interface together, and any other types of interactions described herein. For example, when determining whether and / or how a user is interacting with a virtual object, the computer system optionally determines the distance between the user's hand and the virtual object. In some embodiments, the computer system determines the distance between the user's hand and the virtual object by determining the distance between the location of the hand in the three-dimensional environment and the location of the target virtual object in the three-dimensional environment. For example, one or more hands of a user are positioned at particular positions in the physical world, which the computer system optionally captures and displays at particular corresponding positions in the three-dimensional environment (e.g., positions in the three-dimensional environment at which the hands are displayed, if the hands are virtual rather than physical hands). The positions of the hands in the three-dimensional environment are optionally compared to positions of target virtual objects in the three-dimensional environment to determine a distance between the user's one or more hands and the virtual objects. In some embodiments, the computer system optionally determines the distance between a physical object and a virtual object by comparing positions in the physical world (e.g., as opposed to comparing positions in the three-dimensional environment).For example, when determining the distance between one or more of a user's hands and a virtual object, the computer system optionally determines the corresponding location in the physical world of the virtual object (e.g., the position 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 position and the user's one or more hands. In some embodiments, the same technique is optionally used to determine the distance between any physical object and any virtual object. Thus, as described herein, when determining whether a physical object is in contact with a virtual object or whether a physical object is within a threshold distance of a virtual object, the computer system optionally performs any of the above-mentioned techniques to map the location of the physical object to the three-dimensional environment and / or to map the location of the virtual object to the physical environment.

[0128] In some embodiments, the same or similar techniques are used to determine where or what a user's gaze is directed at and / or where or what a physical stylus held by the user is directed at. For example, if a user's gaze is directed at a particular position in the physical environment, the computer system optionally determines a corresponding position in the three-dimensional environment (e.g., a virtual position of the gaze), and if a virtual object is located at that corresponding virtual position, the computer system optionally determines that the user's gaze is directed at that virtual object. Similarly, the computer system can optionally determine where the physical stylus is pointing in the physical environment based on the orientation of the stylus. In some embodiments, based on this determination, the computer system determines a corresponding virtual position in the three-dimensional environment that corresponds to the location in the physical environment where the stylus is pointing, and optionally determines that the stylus is pointing to the corresponding virtual position in the three-dimensional environment.

[0129] Similarly, embodiments described herein may refer to the location of a user (e.g., a user of a computer system) and / or the location of the computer system within a three-dimensional environment. In some embodiments, a user of a computer system is holding, wearing, or otherwise located at or near the computer system. Thus, in some embodiments, the location of the computer system is used as a proxy for the location of the user. In some embodiments, the location of the computer system and / or the user within the physical environment corresponds to a distinct location within the three-dimensional environment. For example, if a user stands at a location facing a distinct portion of the physical environment that is visible through the display generating components, the location of the computer system is the location within the physical environment (and its corresponding location within the three-dimensional environment) at which the user would see objects within the physical environment in the same position, orientation, and / or size (e.g., absolutely and / or relative to each other) as the objects are visible through the display generating components of the computer system within the three-dimensional environment. Similarly, if the virtual objects displayed in the three-dimensional environment were physical objects in the physical environment (e.g., the virtual objects are located in the same physical environment location and have the same physical environment size and orientation as in the three-dimensional environment), the location of the computer system and / or user is the position at which the user would see the virtual objects in the physical environment in the same position, orientation, and / or size (e.g., absolutely and / or relative to each other and to real-world objects) as they were displayed by the display generation components of the computer system in the three-dimensional environment.

[0130] In this disclosure, various input methods are described with respect to interaction with a computer system. Where one example is provided using one input device or input method and another example is provided using a different input device or input method, it should be understood that each example may be compatible with, and optionally utilize, the input device or input method described with respect to the other example. Similarly, various output methods are described with respect to interaction with a computer system. Where one example is provided using one output device or output method and another example is provided using a different output device or output method, it should be understood that each example may be compatible with, and optionally utilize, the output device or output method described with respect to the other example. Similarly, various methods are described with respect to interaction with a virtual environment or a mixed reality environment via a computer system. Where one example is provided using interaction with a virtual environment and another example is provided using a mixed reality environment, it should be understood that each example may be compatible with, and optionally utilize, the method described with respect to the other example. Thus, 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 exemplary embodiment. User Interface and Related Processing

[0131] We now turn our attention to embodiments of user interfaces (“UIs”) and associated processing that may be performed in a computer system, such as a portable multifunction device or a head-mounted device, equipped with display generating components, one or more input devices, and (optionally) one or more cameras.

[0132] 7A-7F illustrate an example of a computer system that selectively recenters virtual content to a user's viewpoint, according to some embodiments.

[0133] 7A illustrates a three-dimensional environment 702 viewable through a display generating component of computer system 101 (e.g., display generating component 120 of FIG. 1 ), where three-dimensional environment 702 is viewable from a user's viewpoint 726a, shown in an overhead view (e.g., facing the back wall of the physical environment in which computer system 101 is located, near the lower-left corner of the physical environment). As described above with reference to FIGS. 1-6 , computer system 101 optionally includes a display generating component (e.g., a touchscreen) and multiple image sensors (e.g., image sensor 314 of FIG. 3 ). The image sensors optionally include one or more of a visible light camera, an infrared camera, a depth sensor, or any other sensor that computer system 101 could use to capture one or more images of a user or a portion of a user (e.g., one or more of the user's hands) while the user interacts with computer system 101. In some embodiments, the user interfaces shown and described below may also be realized on a head-mounted display that includes display generating components that display the user interface or three-dimensional environment to the user, and sensors for detecting the physical environment and / or movement of the user's hands (e.g., external sensors facing outward from the user) and / or the user's line of sight (e.g., internal sensors facing inward toward the user's face).

[0134] 7A , computer system 101 captures one or more images of the physical environment surrounding computer system 101 (e.g., operating environment 100), including one or more objects within the physical environment surrounding computer system 101. In some embodiments, computer system 101 displays a representation of the physical environment within three-dimensional environment 702 and / or the physical environment is visible within three-dimensional environment 702 via display generating component 120. For example, three-dimensional environment 702 visible via display generating component 120 includes a representation of the physical floor and back and side walls of the room in which computer system 101 is located. Three-dimensional environment 702 also includes sofa 724b (shown in an overhead view), which is not visible via display generating component 120 from user's viewpoint 726a in FIG. 7A .

[0135] In Figure 7A, the three-dimensional environment 702 also includes virtual objects 712a (corresponding to object 712b in the overhead view) and 714a (corresponding to object 714b in the overhead view) that are visible from viewpoint 726a. The three-dimensional environment 702 also includes virtual object 710b (shown in the overhead view) that is not visible via display generation component 120 from user viewpoint 726a in Figure 7A. In Figure 7A, objects 712a, 714a, and 710b are two-dimensional objects. It will be understood that examples of the present disclosure, optionally, apply equally to three-dimensional objects. Virtual objects 712a, 714a, and 710b are, optionally, one or more of an application's user interface (e.g., a messaging user interface or a content browsing user interface), three-dimensional objects (e.g., a virtual clock, a virtual ball, or a virtual car), or any other elements displayed by computer system 101 that are not included in the computer system's physical environment.

[0136] In some embodiments, a virtual object last placed or repositioned from a particular previous viewpoint (or multiple previous viewpoints) of the user may be recentered to the user's new current viewpoint, as described in more detail below. For example, in FIG. 7A , virtual objects 712a, 714a, and 710a are placed and / or positioned at their current location and / or orientation within three-dimensional environment 702, as reflected in the overhead view from user viewpoint 726a. Furthermore, virtual object 712a is snapped or fixed to the back wall of the physical environment, as shown in FIG. 7A . As described in more detail with reference to method 800, the virtual object is optionally snapped or fixed to a physical object in response to being moved to a location within a threshold distance (e.g., 0.1, 0.3, 0.5, 1, 3, 5, 10, 20, 50, or 100 cm) of the physical object in three-dimensional environment 702 in response to user input. Additionally, in some embodiments, computer system 101 displays a visual indication in three-dimensional environment 702 that a virtual object has been snapped or anchored to a physical object. For example, in Figure 7A, computer system 101 displays a virtual drop shadow 713 on the back wall of the room in the physical environment, as if generated by virtual object 712a (e.g., a virtual object snapped or anchored to a physical object). In some embodiments, computer system 101 does not display such a visual indication for virtual object 714a, which, optionally, is not snapped or anchored to a physical object.

[0137] In Figure 7B, the user's viewpoint 726a within the three-dimensional environment 702 has changed further away from the back and left walls of the room in the physical environment, as shown in the overhead view, and closer to the center of the room. Viewpoint 726b in the overhead view corresponds to the user's previous viewpoint shown in Figure 7A. The user's viewpoint 726a changes within the user's physical environment in a manner described with reference to method 800, optionally including the user moving toward the center of the room in the physical environment. The user's viewpoint 726a in Figure 7B is still directed toward the back wall of the room.

[0138] From viewpoint 726a shown in Figure 7B, virtual objects 710a, 712a, and 714a (which were last placed or positioned within three-dimensional environment 702 from viewpoint 726b, as described with reference to Figure 7A) are displayed in their same location and / or orientation within three-dimensional environment 702, but from a greater distance from viewpoint 726a. Additionally, the user has placed or positioned virtual objects 706a (corresponding to 706b in the overhead view) and 708a (corresponding to 708b in the overhead view) within three-dimensional environment 702 from viewpoint 726a in Figure 7B.

[0139] 7B , computer system 101 detects an input (e.g., selection of a physical button on computer system 101) that recenters one or more virtual objects to user's viewpoint 726a, as described in more detail with reference to method 800. In some embodiments, virtual objects 706a and 708a do not move within three-dimensional environment 702 in response to the input because those virtual objects were last placed or repositioned within the three-dimensional environment from user's current viewpoint 726a. However, one or more virtual objects that were last placed or repositioned within three-dimensional environment 702 from user's previous viewpoint(s) (e.g., viewpoint 726b) are optionally recentered to viewpoint 726a, as described below and in more detail with reference to method 800.

[0140] For example, Figure 7C shows an example result of the inputs shown in Figure 7B. In Figure 7C, objects 706a and 708a remain in their location and / or orientation within three-dimensional environment 702 in response to the recentering input. Object 712a, despite having been last placed or repositioned within three-dimensional environment 702 from previous viewpoint 726b, also remains in its location and / or orientation within three-dimensional environment 702 in response to the recentering input because object 712a has snapped or secured to the back wall of the computer system 101's physical environment.

[0141] In contrast, objects 710b and 714a have been recentered to the user's viewpoint 726a. In some embodiments, the relative location and / or orientation of objects 710b and 714a with respect to viewpoint 726a is the same as the relative location and / or orientation of objects 710b and 714a with respect to viewpoint 726b. For example, object 714a is optionally displayed in the same location with respect to viewpoint 726a in FIG. 7C as in FIG. 7A. Furthermore, object 710b is optionally not visible from viewpoint 726a in FIG. 7C as it was in FIG. 7A. Furthermore, the spatial arrangement of objects 710b and 714a relative to each other is also optionally maintained before and after the recentering input. Further details regarding the movement of objects 710b and 714a in response to the recentering input are described with reference to method 800. In this way, virtual objects associated with a user's previous viewpoint can be easily moved to the user's current viewpoint to facilitate interaction with and / or visibility of those virtual objects.

[0142] In some embodiments, the simulated environment can also be recentered to the user's new current viewpoint in a manner similar to how virtual objects are recentered to such viewpoint. For example, in FIG. 7D , the user's viewpoint 726a is as shown in an overhead view. The user provides input to place or reposition virtual objects 706a and 708a to their current positions and / or orientations within the three-dimensional environment 702 from viewpoint 726a, as shown in FIG. 7D . Additionally, the user provides input to cause the computer system to display simulated environment 703 from viewpoint 726a. Simulated environment 703 optionally consumes a portion of three-dimensional environment 702, as shown in the overhead view. Further details regarding simulated environment 703 are described with reference to method 800.

[0143] 7E , viewpoint 726a has changed to that shown in the overhead view (e.g., moved down and toward the left wall in the physical environment rather than the back wall). Viewpoint 726a optionally moves as previously described and / or as described with reference to method 800. Virtual objects 706a and 708a are no longer visible via display generation component 120. Furthermore, in some embodiments, computer system 101 removes simulated environment 703 from three-dimensional environment 702 in response to the movement of user's viewpoint 726a, as shown in the overhead view. In some embodiments, computer system 101 maintains simulated environment 703 within three-dimensional environment 702 in response to the movement of user's viewpoint 726a, but simulated environment 703 is no longer within the field of view of three-dimensional environment 702 from the user's current viewpoint 726a. In FIG. 7E, virtual objects 706b and 708b are also not within the field of view of the three-dimensional environment 702 from the user's current viewpoint 726a.

[0144] 7E , computer system 101 can detect at least two different inputs: 1) a recentering input (e.g., as described above), or 2) an input to increase the immersion level at which three-dimensional environment 702 is displayed. Immersion and immersion levels are described in more detail with reference to method 800. The recentering input is, optionally, a depression of an input element (e.g., a depressible dial that is also rotatable, as described below). The input to increase the immersion level is, optionally, a rotation of the input element in a particular direction. Additional details regarding the above inputs are provided with reference to method 800. Computer system 101 optionally responds differently to the above two inputs, as described below.

[0145] Figure 7F illustrates a continuation of the recentering input previously described with reference to Figure 7E. In Figure 7F, objects 706a and 708a have been recentered to a user's viewpoint 726a. In some embodiments, the relative location and / or orientation of objects 706a and 708a with respect to viewpoint 726a in Figure 7F is the same as the relative location and / or orientation of objects 706a and 708a with respect to viewpoint 726a in Figure 7D. For example, object 706a is optionally displayed in the same location with respect to viewpoint 726a in Figure 7F as in Figure 7D. Furthermore, the spatial arrangement of objects 706a and 708a relative to one another is also optionally maintained before and after the recentering input. Further details regarding the movement of objects 706a and 708a in response to the recentering input are described with reference to method 800.

[0146] In addition to recentering objects 706a and 708a to viewpoint 726a of Figure 7F in response to the recentering input, computer system 101 redisplays simulated environment 703 in three-dimensional environment 702. As shown in Figure 7F, computer system 101 has positioned simulated environment 703 in a different position within three-dimensional environment 702 than in Figure 7D (e.g., occupying a different portion of three-dimensional environment 702). In some embodiments, the position and / or orientation of simulated environment 703 is based on the location and / or orientation of viewpoint 726a of Figure 7F. For example, simulated environment 703 is optionally positioned at the same distance from viewpoint 726a of Figure 7F as it is from viewpoint 726a of Figure 7D. Additionally or alternatively, simulated environment 703 is optionally centered and / or oriented toward viewpoint 726a of Figure 7F (e.g., viewpoint 726a is oriented toward the center of simulated environment 703 and / or simulated environment 703 is oriented toward viewpoint 726a). Further details regarding displaying simulated environment 703 in response to a recentering input are provided with reference to method 800.

[0147] In contrast to a recentering input, if computer system 101 of Figure 7E detects an input that increases the level of immersion at which the computer system was displaying three-dimensional environment 702, computer system 101 optionally re-displays simulated environment 703 in the manner described above, but virtual objects 706a and 708a are optionally not recentered to viewpoint 726a of Figure 7F. For example, objects 706a and 708a optionally remain in their positions and / or orientations in the three-dimensional environment shown in Figure 7E. Further details of computer system 101's response to detecting such an input to increase the level of immersion in three-dimensional environment 702 are provided with reference to method 800.

[0148] 8A-8I are flowcharts illustrating an exemplary method for selectively recentering virtual content to a user's viewpoint, according to some embodiments. In some embodiments, method 800 is performed on a computer system (e.g., computer system 101 of FIG. 1 , such as a tablet, smartphone, wearable computer, or head-mounted device) that includes a display generating component (e.g., display generating component 120 of FIGS. 1, 3, and 4 ) (e.g., a head-up display, a display, a touchscreen, or a projector) and one or more cameras (e.g., a camera pointing down the user's hand (e.g., color sensors, infrared sensors, and other depth-sensing cameras) or a camera pointing forward from the user's head). In some embodiments, method 800 is performed by instructions stored on 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 computer system 101 (e.g., control unit 110 of FIG. 1A ). Some operations of method 800 are optionally combined and / or the order of some operations is optionally changed.

[0149] In some embodiments, method 800 is performed in a computer system (e.g., 101) in communication with a display generation component and one or more input devices, such as a mobile device (e.g., a tablet, smartphone, media player, or wearable device), or a computer or other electronic device. In some embodiments, the display generation component is an external display, such as a display (optionally a touchscreen display) integral with the electronic device, a monitor, projector, television, or 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 electronic devices or components capable of accepting user input (e.g., capturing or detecting user input) and transmitting information associated with the user input to the computer system. Examples of input devices include a touchscreen, 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 computer system), 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., hand tracking device, 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 (touchscreen, trackpad)). 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.

[0150] In some embodiments, a three-dimensional environment (e.g., 702) is viewable via a display generation component (e.g., the three-dimensional environment is generated, displayed, or otherwise made visible by a computer system (e.g., a computer-generated reality (CGR) environment, such as a virtual reality (VR) environment, a mixed reality (MR) environment, or an augmented reality (AR) environment), but the three-dimensional environment includes a first virtual object that has a first spatial arrangement relative to a first perspective of a user of the three-dimensional environment that is a current perspective of a user of the computer system, such as objects 706a-714a relative to perspective 726a in FIG. 7B (e.g., the first virtual object is at a distance from the user's current perspective and in a certain orientation relative to the user's current perspective (e.g., above and to the right of the user's current perspective). In some embodiments, the first virtual object was placed at its current location within the three-dimensional environment by a user of the computer system, regardless of whether the user's perspective was the user's current perspective or a previous perspective of the user. In some embodiments, the user's first perspective is determined by the user, the computer system, and and / or a display generating component, and the computer system displays at least some portion of the three-dimensional environment from a perspective that corresponds to the user's current location and / or orientation in the physical environment. In some embodiments, the first virtual object is a user interface of an application, a representation of content (e.g., an image, video, audio, or music), a three-dimensional rendering of an object (e.g., a tent, a building, or a car), or any other object not present in the user's physical environment, and the computer system (e.g., 101) receives, via one or more input devices, a first input corresponding to a request to update the spatial arrangement of one or more virtual objects relative to the user's first viewpoint to satisfy a first set of one or more criteria that define a range of distances or a range of orientations of the one or more virtual objects relative to the user's first viewpoint, such as in the input detected in FIG. 7B (e.g., a “recenter” input as described in more detail below, and / or methods 1000 and / or 1400).In some embodiments, the three-dimensional environment includes one or more virtual objects (e.g., a first virtual object), such as application windows, operating system elements, representations of other users, and / or content items. In some embodiments, the three-dimensional environment includes a representation of a physical object in the computer system's physical environment. In some embodiments, the representation of the physical object is displayed in the three-dimensional environment via a display generation component (e.g., a virtual pass-through or a video pass-through). In some embodiments, the representation of the physical object is a view of the physical object in the computer system's physical environment that is visible through a transparent portion of the display generation component (e.g., a true pass-through or an actual pass-through). In some embodiments, the computer system displays the three-dimensional environment from the user's perspective at a location in the three-dimensional environment that corresponds to the physical location of the computer system, the user, and / or the display generation component in the computer system's physical environment. In some embodiments, the input corresponding to the request to update the spatial arrangement of the object relative to the user's perspective to satisfy the first one or more criteria is an input directed to a hardware button or switch in communication with the computer system (e.g., incorporated into the computer system). In some embodiments, the first input is an input directed to a selectable option displayed via the display generation component. In some embodiments, the first one or more criteria include criteria that are met when an interactive portion of the virtual object is oriented toward the user's viewpoint, the virtual object does not obstruct a view of other virtual objects from the user's viewpoint, the virtual object is within a threshold distance (e.g., 10, 20, 30, 40, 50, 100, 200, 300, 400, 500, 1000, or 2000 centimeters) of the user's viewpoint, and / or the virtual objects are within a threshold distance (e.g., 1, 5, 10, 20, 30, 40, 50, 100, 200, 300, 400, 500, 1000, or 2000 centimeters) of each other, etc.In some embodiments, the first input is different from an input that requires updating the position of one or more objects within the three-dimensional environment (e.g., relative to the user's viewpoint), such as an input for manually moving an object within the three-dimensional environment.

[0151] In some embodiments, in response to receiving the first input (802b), in accordance with a determination that a first virtual object, such as objects 714a and 710a in FIG. 7B , satisfies a second set of one or more criteria (e.g., as described in more detail below, the second one or more criteria may include when the first virtual object was last placed or moved in the three-dimensional environment while the user's viewpoint was a viewpoint different from the first viewpoint, and / or a previous viewpoint from which the first virtual object was last placed or moved in the three-dimensional environment). When the point is greater than a threshold distance (e.g., 1, 3, 5, 10, 20, 30, 50, 100, 200, 500, or 1000 cm from the first viewpoint), the computer system (e.g., 101) displays a first virtual object in the three-dimensional environment having a second spatial arrangement that differs from the first spatial arrangement relative to the user's first viewpoint, where the second spatial arrangement of the first virtual object satisfies a first set of one or more criteria (802c), such as objects 714a and 710a in FIG. 7C . In some embodiments, displaying the first virtual object in the second spatial arrangement includes updating a location (e.g., and / or pose) of the first virtual object while maintaining the user's first viewpoint at a constant location within the three-dimensional environment. In some embodiments, in response to the first input, the computer system updates the position of the first virtual object from a location that is not necessarily oriented around the user's first viewpoint to a location that is oriented around the user's first viewpoint.

[0152] In some embodiments, in response to receiving the first input (802b), in accordance with a determination that the first virtual object, such as objects 706a and 708a in FIG. 7B , does not satisfy a second set of one or more criteria, the computer system (e.g., 101) maintains (802d) the first spatial arrangement of the first virtual object in the three-dimensional environment relative to the user's first viewpoint, as shown for objects 706a and 708a in FIG. 7C (e.g., does not change the location of the first virtual object in the three-dimensional environment). In some embodiments, the first virtual object is visible via the display generating components from the user's current viewpoint. In some embodiments, the first virtual object is invisible via the display generating components from the user's current viewpoint. In some embodiments, the computer system similarly changes (or does not change) the locations of other virtual objects in the three-dimensional environment in response to the first input. In some embodiments, the input described with reference to method 800 is or includes an air gesture input. Changing the location of some, but not all, objects within the three-dimensional environment in response to the first input reduces the number of inputs required to properly position the objects relative to the user's viewpoint in response to the first input.

[0153] In some embodiments, when a first input is detected, the three-dimensional environment includes a first virtual object and a second virtual object, such as objects 714a and 706a in FIG. 7B , respectively (e.g., having one or more properties of the first virtual object), and the second virtual object has a third spatial configuration relative to the user's first viewpoint (e.g., the second virtual object is at a distance from the user's current viewpoint and at an orientation relative to the user's current viewpoint) (804a).

[0154] In some embodiments, in response to receiving the first input, the first virtual object has a second spatial arrangement relative to the user's first viewpoint, and the second virtual object has a third spatial arrangement relative to the user (804b), as shown for objects 714a and 706a in FIG. 7C . In some embodiments, the first virtual object is recentered in response to the first input as described above, but the second virtual object is not recentered in response to the first input (e.g., remains in its current location and / or orientation relative to the user's first viewpoint). In some embodiments, the second virtual object is not recentered because its current location and / or orientation already meets a first set of one or more criteria. In some embodiments, the second virtual object is not recentered because it was last placed or positioned in the three-dimensional environment from the user's first viewpoint or was anchored to a physical object, both of which are described in more detail below. Changing the location of some but not all objects in the three-dimensional environment in response to the first input reduces the number of inputs required to properly position the objects relative to the user's viewpoint in response to the first input.

[0155] 7B (e.g., corresponding to the user's current physical position or orientation in the user's physical environment) was not met when the first virtual object, such as objects 706a and 708a, was last placed or moved into environment 702 from viewpoint 726a of FIG. 7B (e.g., corresponding to the user's current physical position or orientation in the user's physical environment) was last placed or moved into the three-dimensional environment from a viewpoint that satisfies a third set of one or more criteria for the user's first viewpoint (806). In some embodiments, the user's current viewpoint (e.g., the location and / or orientation of the current viewpoint) corresponds to the user's current location and / or orientation in the user's physical environment (e.g., the user's head or torso). In some embodiments, a virtual object last placed or positioned in the three-dimensional environment from the user's first viewpoint (e.g., within a threshold distance and / or within a threshold orientation of the user's current viewpoint, as described in more detail below) is not recentered in response to the first input, while a virtual object last placed or positioned in the three-dimensional environment from a viewpoint different from the user's first viewpoint (or with a location and / or orientation sufficiently different from the user's first viewpoint) is recentered in response to the first input. Changing the location of an object last placed or positioned in the three-dimensional environment from the user's previous viewpoint in response to the first input reduces the number of inputs required to properly position the object relative to the user's viewpoint in response to the first input.

[0156] In some embodiments, the third set of one or more criteria includes a criterion that is met when the viewpoint is within a threshold distance (e.g., 3, 5, 50, 100, 1000, 5000, or 10,000 cm) of the first viewpoint (808), such as when objects 706a and 708a were last placed or moved in environment 702 from a viewpoint within the threshold distance of viewpoint 726a in FIG. 7B . Thus, in some embodiments, the criterion is not met if the viewpoint from which the first virtual object was last placed or positioned in the three-dimensional environment is farther than the threshold distance from the user's current viewpoint, and the criterion is met if the viewpoint from which the first virtual object was last placed or positioned in the three-dimensional environment is closer than the threshold distance from the user's current viewpoint. Changing the location of the object last placed or positioned from a previous viewpoint of the user that is relatively far from the current viewpoint in response to the first input reduces the number of inputs required to properly position the object relative to the user's viewpoint in response to the first input.

[0157] In some embodiments, the third set of one or more criteria includes a criterion that is met when the viewpoint has an orientation in the three-dimensional environment that is within a threshold orientation (e.g., within 1, 3, 5, 10, 20, 30, 45, or 90 degrees) of the orientation of the first viewpoint (810) in the three-dimensional environment, such as when objects 706a and 708a were last placed or moved in environment 702 from a viewpoint within the threshold orientation of viewpoint 726a in FIG. 7B . Thus, in some embodiments, the criterion is not met if the orientation of the viewpoint at which the first virtual object was last placed or positioned in the three-dimensional environment is more than the threshold orientation away from the user's current viewpoint orientation, and the criterion is met if the orientation of the viewpoint at which the first virtual object was last placed or positioned in the three-dimensional environment is less than the threshold orientation away from the user's current viewpoint orientation. Changing the location of the object last placed or positioned from the user's previous viewpoint that is off-angle relative to the current viewpoint in the three-dimensional environment in response to the first input reduces the number of inputs required to properly position the object with respect to the user's viewpoint in response to the first input.

[0158] In some embodiments, the second set of one or more criteria includes a criterion that is not met when the first virtual object is anchored to a portion of the user's physical environment, such as object 712a being anchored to the back wall of the room in FIG. 7B (e.g., anchored to a surface of a physical object in the user's physical environment, such as a wall or table surface) (812). In some embodiments, the first virtual object is anchored to a portion (e.g., a surface) of a physical object in response to the computer system detecting an input to move the first virtual object within a threshold distance (e.g., 0.1, 0.3, 0.5, 1, 3, 5, 10, 20, 30, or 50 cm) of the portion of the physical object, which optionally causes the first virtual object to snap to a location and / or orientation of the portion of the physical object. An object anchored to a physical object in this manner is optionally not recentered in response to the first input. In some embodiments, the criterion is met when the first virtual object is not anchored to a physical object. Changing the location of an object that is not anchored to a physical object in the three-dimensional environment in response to the first input reduces the number of inputs required to properly position the object relative to a user's viewpoint in response to the first input.

[0159] In some embodiments, while displaying the first virtual object within the three-dimensional environment (814a), in accordance with a determination that the first virtual object is anchored to a portion of the user's physical environment, the computer system (e.g., 101) displays (814b) within the three-dimensional environment a visual indication that the first virtual object is anchored to a portion of the physical environment, such as virtual drop shadow 713 of FIGS. 7A-7B (e.g., a virtual drop shadow of the first virtual object displayed on the portion of the physical environment as if a drop shadow were cast on the portion of the physical environment by the first virtual object, and / or an icon (e.g., a pin icon) displayed in association with the first virtual object indicating that the first virtual object is anchored or pinned to the portion of the physical environment).

[0160] In some embodiments, while displaying the first virtual object within the three-dimensional environment (814a), in accordance with a determination that the first virtual object is not anchored to a portion of the user's physical environment, the computer system (e.g., 101) displays (814c) the first virtual object within the three-dimensional environment without displaying a visual indication (e.g., the drop shadow and / or icon is not displayed unless or until the first virtual object is anchored to a portion of the physical environment), such as displaying object 714a of Figures 7A-7B without the virtual drop shadow. Indicating the anchoring status of the first virtual object provides feedback regarding the state of the first virtual object.

[0161] In some embodiments, the first virtual object is part of a collection of multiple virtual objects in the three-dimensional environment that satisfy a second set of one or more criteria (e.g., the multiple virtual objects were last placed or positioned in the three-dimensional environment from the same previous viewpoint of the user), such as the collection of objects 710a and 714a in FIG. 7B (816a).

[0162] In some embodiments, the collection has a first individual spatial arrangement relative to a first viewpoint when the first input is received (816b), such as the spatial arrangement of the collection of objects 710a and 714a relative to viewpoint 726a in FIG. 7B.

[0163] In some embodiments, in response to receiving the first input, the collection is displayed in a second distinct spatial arrangement that differs from the first distinct spatial arrangement relative to the first perspective, such as the spatial arrangement of the collection of objects 710a and 714a relative to viewpoint 726a in FIG. 7C (e.g., the collection of the plurality of virtual objects is recentered (e.g., moved and / or reoriented) as a group in response to the first input), and the spatial arrangement of the plurality of virtual objects in the collection relative to the first perspective after the first input is received satisfies a first set of one or more criteria (e.g., the virtual objects in the collection are recentered to a position and / or orientation that satisfies the first set of one or more criteria) (816c). In some embodiments, the virtual objects are recentered within or based on groups in response to the recentering input. A group of virtual objects that was last placed or positioned in the three-dimensional environment from the same previous viewpoint of the user is optionally recentered together as a group to the first viewpoint (e.g., the virtual objects are moved together to their updated location and / or orientation). In some embodiments, the three-dimensional environment includes multiple different collections of virtual objects that were last placed or positioned within the three-dimensional environment from different shared, previous viewpoints of the user and are simultaneously recentered as a group of virtual objects in response to the first input. In some embodiments, the three-dimensional environment includes collections of virtual objects that were last placed or positioned within the three-dimensional environment from the user's first viewpoint and therefore are not recentered as a group in response to the first input. Re-centering the virtual objects as a group of objects reduces the number of inputs required to properly position the objects relative to the user's viewpoint in response to the first input.

[0164] In some embodiments, before receiving the first input, while the collection has a first distinct spatial arrangement relative to the first viewpoint, the virtual objects in the collection have distinct positional arrangements relative to one another, such as the positional arrangement between objects 710a and 714a in FIG. 7B (e.g., the virtual objects in the collection have particular positions relative to one another, such as four virtual objects arranged at the vertices of a square arrangement) (818a).

[0165] In some embodiments, after receiving the first input, the virtual objects in the collection have distinct spatial arrangements relative to one another (818b), such as the arrangement between objects 710a and 714a in FIG. 7C , while the collection has a second distinct spatial arrangement relative to the first viewpoint. For example, the relative positions of the virtual objects in the collection of virtual objects are maintained in response to the first input, even though the collection of virtual objects is repositioned and / or reoriented in the three-dimensional environment in response to the first input (e.g., the square arrangement has a different position and / or orientation in the three-dimensional environment, but the four virtual objects remain positioned at the vertices of the same square arrangement in response to the first input). Maintaining the spatial arrangements of the virtual objects in the collection reduces the number of inputs required to properly position the objects relative to the user's viewpoint in response to the first input.

[0166] In some embodiments, before receiving the first input, while the collection has a first distinct spatial arrangement relative to the first viewpoint, the virtual objects in the collection have distinct orientation arrangements relative to one another, such as the orientation arrangement between objects 710a and 714a in FIG. 7B (e.g., the virtual objects in the collection have particular orientations relative to one another, such as four virtual objects oriented such that the virtual objects are parallel to one another) (820a).

[0167] In some embodiments, after receiving the first input, the virtual objects in the collection have a distinct orientation arrangement relative to one another, such as the orientation arrangement between objects 710a and 714a in FIG. 7C (820b), while the collection has a second distinct spatial arrangement relative to the first viewpoint. For example, even though the collection of virtual objects is repositioned and / or reoriented within the three-dimensional environment in response to the first input, the relative orientations of the virtual objects in the collection of virtual objects are maintained in response to the first input (e.g., the virtual objects have new positions and / or orientations within the three-dimensional environment, but the four virtual objects remain parallel to one another). Maintaining the orientation arrangements of the virtual objects in the collection reduces the number of inputs required to properly position the objects relative to the user's viewpoint in response to the first input.

[0168] In some embodiments, the plurality of virtual objects in the collection were last placed or moved within the three-dimensional environment from a second perspective of the user that is different from the user's first perspective, such as perspective 726a of FIG. 7A or perspective 726b of FIG. 7B, before the first input was received (e.g., the second perspective is sufficiently different from the first perspective to result in the collection of virtual objects being recentered in response to the first input, as described above) (822a).

[0169] In some embodiments, the average orientation of the plurality of virtual objects with respect to the second viewpoint while the collection has a first individual spatial arrangement with respect to the first viewpoint is an individual orientation (822b), such as the average orientation of objects 714a and 710a with respect to viewpoint 726a in FIG. 7A . For example, the collection of virtual objects includes three virtual objects with their own respective orientations with respect to the user's second viewpoint (e.g., a first one of the objects was frontal and / or centered relative to the center of the second viewpoint, a second one of the objects was approximately 45 degrees to the right of the center of the second viewpoint, and a third one of the objects was approximately 60 degrees to the right of the center of the second viewpoint). The relative orientation of each virtual object, optionally, is with respect to and / or corresponds to the orientation of the user's shoulders, head, and / or chest when the user last placed or positioned the respective virtual object from the second viewpoint. In some embodiments, the average orientation is the average of the orientations of the three virtual objects described above.

[0170] In some embodiments, while the collection has a second, distinct spatial arrangement relative to the first viewpoint in response to receiving the first input, the collection has a distinct orientation relative to the user's first viewpoint (822c), such as the average orientation of objects 714a and 710a relative to viewpoint 726a in FIG. 7C . For example, the group or collection of virtual objects recentered to the first viewpoint in response to the first input is positioned within the three-dimensional environment at an orientation relative to the first viewpoint that corresponds to the average relative orientation of the virtual objects in the collection of virtual objects relative to the second viewpoint (e.g., when the objects were last placed or positioned within the three-dimensional environment). Thus, if the average orientation of the virtual objects relative to the second viewpoint was 30 degrees to the right of the centerline of the second viewpoint, the collection of virtual objects is optionally oriented / positioned 30 degrees to the right of the centerline of the first viewpoint (e.g., the relative positions and / or orientations of the virtual objects in the collection remain unchanged). Positioning the collection of virtual objects at an average orientation relative to the first viewpoint reduces the number of inputs required to properly position the objects relative to the user's viewpoint in response to the first input.

[0171] In some embodiments, the first virtual object was last placed or moved within the three-dimensional environment from a second perspective of the user that is different from the user's first perspective, such as perspective 726a of FIG. 7A or perspective 726b of FIG. 7B, before the first input was received (e.g., the second perspective is sufficiently different from the first perspective to result in the collection of virtual objects being recentered in response to the first input, as described above) (824a).

[0172] In some embodiments, the first virtual object has a first spatial arrangement relative to the user's first viewpoint, but the first virtual object is at a first distance from a second viewpoint (e.g., a different distance from the first viewpoint), such as the distance of object 714a from viewpoint 726a in FIG. 7A (824b).

[0173] In some embodiments, the first virtual object has a second spatial arrangement relative to the user's first viewpoint, but the first virtual object is at a first distance from the first viewpoint (e.g., a different distance from a second viewpoint), such as the distance of object 714a from viewpoint 726a in FIG. 7C (824c). Thus, in some embodiments, when the virtual objects are recentered, their distance(s) from the user's current viewpoint are based on (e.g., are the same as) their distance(s) from the user's previous viewpoint at which the virtual objects were last placed or positioned in the three-dimensional environment. Placing the recentered virtual object at a distance from a viewpoint corresponding to its previous distance from the user's previous viewpoint reduces the number of inputs required to properly position the object relative to the user's viewpoint in response to the first input.

[0174] In some embodiments, before the first input is received, the first virtual object is located at a first location in the three-dimensional environment, such as the location of object 714a in FIG. 7B , and the first virtual object remains at the first location in the three-dimensional environment until an input to reposition the first virtual object in the three-dimensional environment is received (826). In some embodiments, the first virtual object remains at its location in the three-dimensional environment (e.g., is not recentered) until an input to recenter is received or until an input to move the first virtual object in the three-dimensional environment (e.g., separate and distinct from the recentering input) is received. In some embodiments, other inputs, such as an input to change the user's viewpoint, do not cause the first virtual object to change its location in the three-dimensional environment. Maintaining the position and / or orientation of the first virtual object in the three-dimensional environment when a recentering input is not received reduces the number of inputs required to properly position the object relative to the user's viewpoint in response to the first input.

[0175] In some embodiments, prior to receiving the first input, a first virtual object, such as object 708a placed from viewpoint 726a in FIG. 7D , was last placed or moved 828a within the three-dimensional environment from a second viewpoint of the user that is different from the user's first viewpoint.

[0176] In some embodiments, prior to receiving the first input (828b), the computer system (e.g., 101) displays (828c) a simulated environment, such as simulated environment 703 of FIG. 7D , and a first virtual object via the display generation components while the three-dimensional environment was visible from the user's second perspective. For example, while the user's perspective was the second perspective, the user provided input to the computer system to display the simulated environment in the three-dimensional environment visible from the user's second perspective. In some embodiments, the simulated environment occupies a portion of the three-dimensional environment visible via the display generation components.

[0177] In some embodiments, prior to receiving the first input (828b), while displaying the simulated environment in the three-dimensional environment, the computer system (e.g., 101) detects (828d) a movement of the user's viewpoint from a second viewpoint to a first viewpoint, such as from FIG. 7D to FIG. 7E (e.g., a change in the user's movement and / or orientation in the user's physical environment corresponding to the movement of the user's viewpoint from the second viewpoint to the first viewpoint).

[0178] In some embodiments, prior to receiving the first input (828b), in response to detecting a movement of the user's viewpoint from the second viewpoint to the first viewpoint, the computer system (e.g., 101) maintains the first virtual object in the three-dimensional environment (e.g., maintains the location and / or orientation of the first virtual object in the three-dimensional environment), as shown in the overhead view of FIG. 7E , and ceases to include at least a portion (or all) of the simulated environment in the three-dimensional environment (828e) (e.g., the simulated environment is no longer present in the three-dimensional environment), as shown in the overhead view of FIG. 7E with the simulated environment 703 absent. In some embodiments, the change in viewpoint from the second viewpoint to the first viewpoint must be large enough (e.g., as described above with respect to the third set of one or more criteria) for the computer system to cease to include the simulated environment in the three-dimensional environment in response to the change in the user's viewpoint. In some embodiments, the simulated environment remains in the three-dimensional environment in response to the change in the user's viewpoint but is no longer visible via the display generation component (e.g., because the simulated environment is outside the user's field of view). Turning off the inclusion of the simulated environment causes the computer system to automatically reduce resource usage and clutter in the three-dimensional environment.

[0179] In some embodiments, in response to receiving a first input while the user's viewpoint is at a first viewpoint, as in FIG. 7E, the computer system (e.g., 101) displays (830) the simulated environment from a first viewpoint within the three-dimensional environment, as in FIG. 7F (e.g., optionally without changing the immersion level of the three-dimensional environment, as described below). In some embodiments, the simulated environment is redisplayed and / or recentered at the first viewpoint within the three-dimensional environment (e.g., the new location and / or orientation at which the simulated environment is displayed in the three-dimensional environment is different from the location and / or orientation within the three-dimensional environment at which the simulated environment was last displayed from the user's second viewpoint). For example, if the simulated environment was last displayed facing a first wall of the user's physical room and occupying a first portion of the three-dimensional environment, when the simulated environment is redisplayed from the first viewpoint, the simulated environment faces a second wall (different from the first wall) of the user's physical room and occupies a second portion (different from the first portion) of the three-dimensional environment. The simulated environment is optionally redisplayed to face the user's first viewpoint and centered on the user's first viewpoint. The simulated environment is optionally redisplayed and / or recentered with the recentering of the first virtual object, as described above. Redisplaying the simulated environment in response to the first input reduces the number of inputs required to view the simulated environment in a three-dimensional environment.

[0180] In some embodiments, while the user's viewpoint is at the first viewpoint and before receiving the first input, the computer system (e.g., 101) detects (832a) a second input via one or more input devices corresponding to a request to increase the level of immersion in the three-dimensional environment, such as receiving the immersion-increasing input in FIG. 7E. In some embodiments, the second input includes rotation of a rotatable mechanical input element integrated with and / or in communication with the computer system. In some embodiments, rotating the rotatable mechanical input element in a first direction is an input for increasing the level of immersion at which the three-dimensional environment is visible through the display generating components. In some embodiments, rotating the rotatable mechanical input element in an opposite direction is an input for decreasing the level of immersion at which the three-dimensional environment is visible through the display generating components.

[0181] In some embodiments, the immersion level includes the degree to which content visible by the computer system (e.g., simulated environment or virtual objects, also referred to as "virtual content") obscures background content (e.g., content other than the virtual content) around / behind the virtual content, and optionally includes the number of items of background content that are visible, and the visual characteristics (e.g., color, contrast, opacity) at which the background content is displayed, and / or the angular range of content that is visible through the display generating components (e.g., 60 degrees for content displayed at low immersion, 120 degrees for content displayed at medium immersion, 180 degrees for content displayed at high immersion), and / or the percentage of the field of view displayed through the display generating components that is occupied by the virtual content (e.g., 33% of the field of view occupied by the virtual content at low immersion, 66% of the field of view occupied by the virtual content at medium immersion, 100% of the field of view occupied by the virtual content at high immersion). In some embodiments, the background content is included in the background against which the virtual content is displayed. In some embodiments, background content includes user interfaces (e.g., user interfaces generated by the computer system corresponding to applications), virtual objects (e.g., files or representations of other users generated by the computer system), and / or real objects (e.g., pass-through objects corresponding to real objects in the physical environment around the user's viewpoint that are visible through the display generating components because the computer system does not obscure / block their visibility through the display generating components, and / or that are visible through transparent or translucent display generating components). In some embodiments, at a first (e.g., low) immersion level, background, virtual, and / or real objects are visible without being obscured. For example, a simulated environment at a low immersion level is optionally visible simultaneously with background content, which is optionally visible at full brightness, color, and / or translucency.In some embodiments, at a second (e.g., higher) immersion level, background, virtual, and / or real objects are visible in an obscured manner (e.g., dimmed, blurred, or removed from view). For example, a separate simulated environment having a high immersion level may be displayed (e.g., in full screen or fully immersive mode) without background content simultaneously being visible. As another example, a simulated environment displayed at an intermediate immersion level may be simultaneously visible with dimmed, blurred, or otherwise de-highlighted background content. In some embodiments, the visual characteristics of the background objects differ among the background objects. For example, at a particular immersion level, one or more first background objects may be visually less highlighted (e.g., dimmed, blurred, or visible with increased transparency) than one or more second background objects, and one or more third background objects may be invisible.

[0182] In some embodiments, in response to receiving the second input, the computer system (e.g., 101) displays the simulated environment from a first perspective within the three-dimensional environment (e.g., optionally displaying the three-dimensional environment at a higher level of immersion than before the second input was received) (832b), as shown in FIG. 7F. Thus, in some embodiments, in response to the second input, the simulated environment is redisplayed and / or re-centered to the user's first perspective in the same or similar manner as described above with respect to redisplaying and / or re-centering the simulated environment in response to the first input. Redisplaying the simulated environment in response to the second input reduces the number of inputs required to view the simulated environment in the three-dimensional environment.

[0183] In some embodiments, in response to receiving the second input, the electronic device maintains the first spatial arrangement of the first virtual object in the three-dimensional environment relative to the user's first viewpoint (834), such as if objects 706a and 708a of Figure 7F had instead remained in their locations in environment 702 of Figure 7E (e.g., the first virtual object is not moved or reoriented within the three-dimensional environment in response to the second input). Not recentering the first virtual object in response to the second input reduces the number of inputs required to properly position the virtual element in the three-dimensional environment.

[0184] In some embodiments, the three-dimensional environment includes a first set of one or more virtual objects whose spatial arrangement with respect to the first perspective is changed in response to receiving the first input, such as objects 710a and 714a of FIG. 7B (e.g., because these virtual objects were last placed or positioned in the three-dimensional environment from a previous perspective of the user that was sufficiently different from the user's first perspective, as described with reference to the third set of one or more criteria), and a second set of one or more virtual objects whose spatial arrangement with respect to the first perspective is not changed in response to receiving the first input, such as objects 706a and 708a of FIG. 7B (e.g., because these virtual objects were last placed or positioned in the three-dimensional environment from the first perspective or a previous perspective of the user that is not sufficiently different from the user's first perspective, as described with reference to the third set of one or more criteria) (836a).

[0185] In some embodiments, after receiving a first input (e.g., after recentering the first set of virtual objects in the manner described above, without recentering the second set of virtual objects, while the first and second sets of virtual objects are in their resulting locations and / or orientations resulting from the first input), the computer system (e.g., 101) detects (836b) a movement of the user's viewpoint (e.g., corresponding to a change in the user's orientation and / or position in the user's physical environment) from a first viewpoint in the three-dimensional environment to a second viewpoint that is different from the first viewpoint (e.g., the second viewpoint is, optionally, sufficiently different from the user's first viewpoint to enable recentering), and in response to detecting the movement of the user's viewpoint, the three-dimensional environment is viewable via the display generation component from the user's second viewpoint, and the position or orientation of the first and second sets of virtual objects in the three-dimensional environment is not changed, such as movement of viewpoint 726a away from the location of FIG. 7C after computer system 101 displays environment 702 as in FIG. 7C .

[0186] In some embodiments, while the three-dimensional environment is visible via the display generation component from the user's second viewpoint, the computer system (e.g., 101) receives (836c) via one or more input devices a second input corresponding to a request to update the spatial arrangement of one or more virtual objects relative to the user's second viewpoint to satisfy a first set of one or more criteria specifying a range of distances or a range of orientations of the one or more virtual objects relative to the user's second viewpoint, e.g., an input similar or identical to the input of FIG. 7B (e.g., a recentering input following the recentering input described above).

[0187] In some embodiments, in response to receiving the second input, the process modifies (836d) the position or orientation of the first and second sets of one or more virtual objects within the three-dimensional environment such that the updated position and orientation of the first and second sets of one or more virtual objects satisfy a first set of one or more criteria relative to the user's second viewpoint, such as by recentering 706a, 708a, 710a, and 714a in response to the second input (e.g., recentering both the first and second sets of virtual objects in response to the subsequent recentering input in one or more of the manners described above). Thus, although two different groups or collections of virtual objects (e.g., as described above) are optionally processed separately in response to the first recentering input (e.g., one collection is recentered but the second collection is not), in response to the first recentering input, the two collections are optionally combined and processed as a single collection going forward (e.g., according to the collection rules described above). Thus, in response to a subsequent recentering input, the virtual objects in the combined set of virtual objects are recentered together, optionally according to various conditions for recentering described above. Re-centering a group of virtual objects together in response to a further recentering input reduces the number of inputs required to properly position the virtual elements in the three-dimensional environment.

[0188] It should be understood that the particular order in which the operations in method 800 are described is merely exemplary and does not indicate that the described order is the only order in which the operations may be performed. Those skilled in the art will recognize various ways to reorder the operations described herein.

[0189] 9A-9C illustrate an example of a computer system that recenters one or more virtual objects in the presence of physical or virtual obstacles, according to some embodiments.

[0190] 9A illustrates a three-dimensional environment 902 viewable through a display generating component of computer system 101 (e.g., display generating component 120 of FIG. 1 ), where the three-dimensional environment 902 is viewable from a user's perspective 926a, shown in an overhead view (e.g., facing the left wall of the physical environment in which computer system 101 is located). As described above with reference to FIGS. 1-6 , computer system 101 optionally includes a display generating component (e.g., a touchscreen) and multiple image sensors (e.g., image sensor 314 of FIG. 3 ). The image sensors optionally include one or more of a visible light camera, an infrared camera, a depth sensor, or any other sensor that computer system 101 could use to capture one or more images of a user or a portion of a user (e.g., one or more of the user's hands) while the user interacts with computer system 101. In some embodiments, the user interfaces shown and described below may also be realized on a head-mounted display that includes display generating components that display the user interface or three-dimensional environment to the user, and sensors for detecting the physical environment and / or movement of the user's hands (e.g., external sensors facing outward from the user) and / or the user's line of sight (e.g., internal sensors facing inward toward the user's face).

[0191] 9A , computer system 101 captures one or more images of the physical environment surrounding computer system 101 (e.g., operating environment 100), including one or more objects within the physical environment surrounding computer system 101. In some embodiments, computer system 101 displays a representation of the physical environment within three-dimensional environment 902 and / or the physical environment is visible within three-dimensional environment 902 via display generating component 120. For example, three-dimensional environment 902 visible via display generating component 120 includes a representation of the physical floor and back and side walls of a room in which computer system 101 is located. Three-dimensional environment 902 also includes table 922a (corresponding to 922b in the overhead view) that is visible via display generating component 120 from viewpoint 926a in FIG. 9A , and sofa 924b (shown in the overhead view) that is not visible via display generating component 120 from user's viewpoint 926a in FIG. 9A .

[0192] 9A , three-dimensional environment 902 also includes virtual objects 906a (corresponding to object 906b in the overhead view), 908a (corresponding to object 908b in the overhead view), and 910a (corresponding to object 910b in the overhead view) that are visible from viewpoint 926a. Three-dimensional environment 902 also includes virtual objects 912b, 914b, 916b, 918b, and 920b (shown in the overhead view) that are not visible from user viewpoint 926a in FIG. 9A via display generation component 120. Virtual objects 912b, 914b, 916b, 918b, and 920b are, optionally, virtual objects last placed or positioned within three-dimensional environment 902 from viewpoint 926b (e.g., a previous viewpoint of the user), similar to those described with reference to FIGS. 7A-7F and / or method 800. 9A, objects 906a, 908a, 910a, 912b, 914b, 916b, 918b, and 920b are two-dimensional objects, although examples of the present disclosure optionally apply equally to three-dimensional objects. Virtual objects 906a, 908a, 910a, 912b, 914b, 916b, 918b, and 920b are optionally one or more of an application's user interface (e.g., a messaging user interface or a content browsing user interface), a three-dimensional object (e.g., a virtual clock, a virtual ball, or a virtual car), or any other element displayed by computer system 101 that is not included in computer system 101's physical environment.

[0193] 7A-7F and / or method 800, in some embodiments, virtual objects last placed or repositioned from a particular previous viewpoint (or multiple previous viewpoints) of a user may be recentered to the user's new, current viewpoint. However, in some situations, the location where those virtual objects would otherwise be recentered in the current viewpoint may already be occupied by other objects (virtual or physical) in the current viewpoint. Thus, computer system 101 may need to adjust or shift the location where those virtual objects are recentered, as described in more detail below with reference to method 1000.

[0194] 9A , computer system 101 detects a recentering input (e.g., as described in more detail with reference to method 1000). In some embodiments, in response to such a recentering input, computer system 101 displays an animation of the virtual objects being recentered moving to their initial target locations for recentering, and then, if those initial target locations are already occupied by objects, shifting from those initial target locations to their final target locations, as shown in FIGS. 9B-9C . In some embodiments, computer system 101 instead simply displays (an animation of) the virtual objects being recentered moving to their final target locations (e.g., as shown in FIG. 9C ) without displaying the virtual objects moving to their initial target locations (e.g., as shown in FIG. 9B ).

[0195] 9B , in some embodiments, computer system 101 moves and displays the virtual objects being recentered to their initial target locations in response to the recentering input of FIG. 9A . For example, virtual objects 912a, 914a, 916a, 918a, and 920a are shown in FIG. 9B at their initial locations (e.g., locations where the objects would be recentered if not already occupied by a virtual or physical object) and / or at final target locations for recentering. For example, virtual object 912a has, optionally, been animated to move from its location in FIG. 9A to its location in FIG. 9B in response to the recentering input of FIG. 9A . The location and / or orientation of virtual object 912a shown in FIG. 9B is, optionally, determined by computer system 101 in one or more of the manners described with reference to method 800. The location of virtual object 912a in FIG. 9B is, optionally, its final target location because the location is not occupied by another object, whether virtual or physical.

[0196] Virtual object 920a is optionally animated to move from the location in Figure 9A to the location in Figure 9B in response to the recentering input in Figure 9A. The location and / or orientation of virtual object 920a shown in Figure 9B is, optionally, determined by computer system 101 in one or more of the manners described with reference to method 800. The location of virtual object 920a in Figure 9B is, optionally, its final target location because that location is not occupied by another object, whether virtual or physical.

[0197] Virtual objects 914a, 916a, and 918a have optionally been animated to move from their locations in FIG. 9A to their locations in FIG. 9B in response to the recentering input in FIG. 9A . The locations and / or orientations of virtual objects 914a, 916a, and 918a shown in FIG. 9B are, optionally, determined by computer system 101 in one or more of the manners described with reference to method 800. The locations of virtual objects 914a, 916a, and 918a in FIG. 9B are, optionally, their initial target locations and not their final target locations because the locations are occupied by other objects, whether virtual or physical. For example, virtual object 914a has optionally been recentered in accordance with one or more features of method 800 to a location occupied by and / or within and / or behind the left wall of the physical environment of computer system 101. Virtual object 916a is optionally recentered to a location within and / or occupied by table 922a, in accordance with one or more features of method 800. Finally, virtual object 918a is optionally recentered to a location within and / or occupied by virtual object 910a, in accordance with one or more features of method 800.

[0198] Furthermore, in some embodiments, virtual objects last placed or repositioned in three-dimensional environment 902 from current viewpoint 926a that do not overlap and / or collide with other virtual objects are not moved within three-dimensional environment 902 in response to the recentering input, such as reflected by virtual object 910a, which does not move in response to the recentering input. However, in some embodiments, virtual objects last placed or repositioned in three-dimensional environment 902 from current viewpoint 926a that overlap and / or collide with other virtual objects are moved within three-dimensional environment 902 in response to the recentering input, such as reflected by virtual objects 906a and 908a. For example, in FIG. 9A , virtual object 908a obscured virtual object 906a from viewpoint 926a. Thus, in response to the recentering input, computer system 101 moved virtual objects 906a and 908b apart to reduce and / or eliminate the obstruction of virtual object 906a by virtual object 908a. Further details regarding how the computer system 101 shifts such overlapping or colliding virtual objects are provided with reference to the method 800.

[0199] In some embodiments, upon receiving the recentering input and / or during movement of the virtual objects in response to the recentering input, computer system 101 modifies the display of the virtual objects to indicate that the recentering is occurring, is occurring, and / or has occurred, as reflected by the crosshatch pattern of one or more virtual objects displayed by computer system 101 in FIG. 9B . For example, computer system 101 optionally decreases the opacity, decreases the brightness, decreases the color saturation, increases the blur, and / or otherwise decreases the visual prominence of one or more virtual objects displayed by computer system 101. In some embodiments, computer system 101 applies the above-described visual changes to all virtual objects displayed by computer system 101, regardless of whether those virtual objects are being moved in response to the recentering input. In some embodiments, computer system 101 applies the above-described visual changes to virtual objects being moved in response to the recentering input, regardless of whether those virtual objects were last placed or positioned in three-dimensional environment 902 from current viewpoint 926 a or previous viewpoint 926 b, but not to virtual objects that are not being moved in response to the recentering input. In some embodiments, the computer system 101 applies the above-described visual changes to virtual objects last placed or positioned in the three-dimensional environment 902 from the previous viewpoint 926b (e.g., virtual objects being recentered at viewpoint 926a), but not to virtual objects last placed or positioned in the three-dimensional environment 902 from the current viewpoint 926a (e.g., virtual objects 906a and / or 908a), even if such virtual objects are moving in response to the recentering input.

[0200] In some embodiments, as described above, computer system 101 shifts virtual objects that have been recentered at their initial target locations, including another object, to a final target location, as described in more detail with reference to method 1000, and eliminates and / or eliminates collision(s) between the recentered virtual objects and the objects occupying their initial target locations. Computer system 101 optionally shifts the recentered virtual object differently depending on the type of object with which the recentered virtual object is colliding. For example, the initial target location of virtual object 914a shown in FIG. 9B is occupied by a physical wall in the physical environment of computer system 101. Thus, computer system 101 optionally moves virtual object 914a toward viewpoint 926a (optionally rather than up, down, left, and / or right relative to viewpoint 926a) to its final target location away from the physical wall, as shown in FIG. 9C.

[0201] In contrast, the initial target location of virtual object 916a shown in Figure 9B is occupied by physical table 922a. Thus, computer system 101 optionally moves virtual object 916a up, down, left, and / or right relative to viewpoint 926a (optionally not towards viewpoint 926a) to a final target location away from physical table 922a, as shown in Figure 9C. In some embodiments, computer system 101 moves the virtual object in one or more of the above directions that minimizes the amount of virtual object movement required to avoid the colliding object. For example, in Figures 9B-9C, computer system 101 moves virtual object 916a to a final target location where virtual object 916a is no longer colliding with physical table 922a.

[0202] As a final example, the initial target location of virtual object 918a shown in Figure 9B is occupied by virtual object 910a. Accordingly, computer system 101 optionally moves virtual object 918a up, down, left, and / or right relative to viewpoint 926a, and / or toward or away from viewpoint 926a, to a final target location away from virtual object 910a, as shown in Figure 9C. In some embodiments, computer system 101 moves the virtual object in one or more of the above directions that minimizes the amount of virtual object movement required to avoid the colliding object. For example, in Figures 9B-9C, computer system 101 moves virtual object 918a to the left to a final target location where virtual object 918a is no longer colliding with virtual object 910a.

[0203] As described above, in Figures 9B-9C, virtual objects other than virtual objects 914a, 916a, and 918a are optionally not moved by computer system 101. Computer system 101 optionally at least partially or fully reverses the visual changes of a given virtual object described with reference to Figure 9B in response to the virtual object reaching its final target location. In some embodiments, computer system 101 at least partially or fully reverses the visual changes of the virtual objects described with reference to Figure 9B in response to each virtual object reaching its final target location. The partial or full reversal of the visual changes of the virtual objects described with reference to Figure 9B is, optionally, reflected in Figure 9C by the absence of a cross-hatch pattern in the displayed virtual object.

[0204] 10A-10G are flowcharts illustrating a method for recentering one or more virtual objects in the presence of physical or virtual obstacles, according to some embodiments. In some embodiments, method 1000 is performed on a computer system (e.g., computer system 101 of FIG. 1 , such as a tablet, smartphone, wearable computer, or head-mounted device) that includes a display generating component (e.g., display generating component 120 of FIGS. 1, 3, and 4) (e.g., a head-up display, a display, a touchscreen, or a projector) and one or more cameras (e.g., a camera pointing down the user's hand (e.g., a color sensor, an infrared sensor, and other depth-sensing camera) or a camera pointing forward from the user's head). In some embodiments, method 1000 is performed by instructions stored on 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 computer system 101 (e.g., controller 110 of FIG. 1A). Some operations of method 1000 are optionally combined and / or the order of some operations is optionally changed.

[0205] In some embodiments, method 1000 is performed in a computer system (e.g., 101) in communication with a display generation component and one or more input devices. In some embodiments, the computer system has one or more characteristics of the computer system of method 800. In some embodiments, the display generation component has one or more characteristics of the display generation component of method 800. In some embodiments, the one or more input devices have one or more characteristics of the one or more input devices of method 800.

[0206] In some embodiments, a three-dimensional environment (e.g., 902) (e.g., the three-dimensional environment optionally has one or more characteristics of the three-dimensional environment of method 800) is visible via the display generation component from a first viewpoint of the user (e.g., as described with reference to method 800), such as viewpoint 926a of FIG. 9A , while the three-dimensional environment includes a first virtual object at a first location within the three-dimensional environment, such as object 916a of FIG. 9A (e.g., the first virtual object optionally has one or more characteristics of the first virtual object in method 800). In some embodiments, the first virtual object is visible to the user via the display generation component from a first viewpoint of the user (e.g., as described with reference to method 800), such as viewpoint 926a of FIG. 9A . 9A (e.g., such as those described with reference to method 800), the computer system (e.g., 101) receives (1002a) via one or more input devices a first input corresponding to a request to update the spatial arrangement of a first virtual object relative to the user's first viewpoint to satisfy a first set of one or more criteria specifying a range of distances or a range of orientations of the virtual object relative to the user's first viewpoint, such as the input in FIG. 9A (e.g., such as those described with reference to method 800). The first input optionally has one or more characteristics of a first input (e.g., a recentering input) described with reference to methods 800 and / or 1400.

[0207] In some embodiments, in response to receiving 1002b a first input, following a determination that a second location within the three-dimensional environment that satisfies a first set of one or more criteria (e.g., a location to which the computer system would move the first virtual object if no object is already present at the second location, such as according to one or more aspects of method 800) is not occupied by an object such as the location illustrated with object 912a in FIG. 9B (e.g., does not include a distinct object, whether virtual or physical, does not include a distinct type of virtual or physical object, or does not include a virtual or physical object), the spatial arrangement of the second location relative to the user's first viewpoint satisfies the first set of one or more criteria (e.g., the distance and / or orientation of the second location relative to the user's first viewpoint satisfies the first one or more criteria), as described with reference to method 800. In some embodiments, the spatial arrangement of the second location relative to the first viewpoint corresponds to (e.g., is the same as) the spatial arrangement of the first location relative to the user's previous viewpoint where the first virtual object was last placed or moved, and the computer system (e.g., 101) displays the first virtual object (e.g., moves the first virtual object) at a second location within the three-dimensional environment, such as the location where object 912a is shown in Figure 9C (1002c). In some embodiments, the orientation of the first virtual object at the second location relative to the first viewpoint corresponds to (e.g., is the same as) the orientation of the first virtual object at the first location when the first input was received relative to the user's previous viewpoint where the first virtual object was last placed or moved.

[0208] In some embodiments, in response to receiving the first input (1002b), following a determination that a second location within the three-dimensional environment that satisfies a first set of one or more criteria is occupied (e.g., includes at least one distinct object, whether physical or virtual, or includes one or more virtual or physical objects of a distinct type), such as the location where object 916a is shown in Figure 9B, the computer system (e.g., 101) displays (1002d) the first virtual object (e.g., moves the first virtual object) at a third location within the three-dimensional environment that satisfies the first set of one or more criteria and is spaced apart from the second location within the three-dimensional environment, such as the location where object 916a is shown in Figure 9C. In some embodiments, the orientation of the first virtual object at the third location relative to the first viewpoint corresponds to (e.g., is the same as) the orientation of the first virtual object at the first location when the first input was received relative to the user's previous viewpoint where the first virtual object was last placed or moved. In some embodiments, the orientation of the first virtual object at the third location relative to the first viewpoint differs from the orientation of the first virtual object at the first location when the first input was received relative to the user's previous viewpoint where the first virtual object was last placed or moved. In some embodiments, the spatial arrangement of the third location relative to the first viewpoint differs from the spatial arrangement of the first location relative to the user's previous viewpoint where the first virtual object was last placed or moved. In some embodiments, the distance and / or orientation of the third location relative to the user's first viewpoint meets a first one or more criteria, as described with reference to method 800. In some embodiments, the computer system selects the third location to be sufficiently far from the second location such that the first virtual object at the third location does not occupy any volume of the three-dimensional environment that is also occupied by a distinct object at the second location, as described in more detail below.In some embodiments, the input described with reference to method 1000 is or includes an air gesture input. By shifting the location at which the virtual object is recentered, the computer system automatically avoids collisions between objects in the three-dimensional environment.

[0209] In some embodiments, the second location is determined to be occupied 1004 when object 918a includes a virtual object, such as the location shown in FIG. 9B , and is occupied by object 910a (e.g., other virtual objects described herein and / or a virtual object having one or more of the characteristics of methods 800, 1200, 1400, and / or 1600). In some embodiments, the second location is determined to be occupied if a first virtual object is displayed at the second location and collides with (any portion of) the virtual object. In some embodiments, the second location is determined to be occupied if a first virtual object is displayed at the second location and obscures (any portion of) the virtual object or is obscured (at least partially) by the virtual object, regardless of whether the first virtual object collides with the virtual object. Thus, in some embodiments, the recentered virtual object will be shifted to avoid a collision with an existing virtual object at the second location. By shifting the location at which the virtual objects are recentered, the computer system automatically avoids collisions between virtual objects in the three-dimensional environment.

[0210] In some embodiments, the second location is determined to be occupied when the second location corresponds to the location of a physical object in the user's physical environment, such as the location where object 916a is shown in FIG. 9B , and is occupied by table 922a (e.g., a wall or a table) (1006). In some embodiments, the second location is determined to be occupied if a first virtual object is displayed at the second location and collides with (any portion of) the physical object. The physical object is, optionally, visible via a display generating component at the second location, and / or a representation of the physical object is displayed via a display generating component at the second location. In some embodiments, the second location is determined to be occupied if the first virtual object is displayed at the second location and obscures (any portion of) the physical object or is obscured (at least partially) by the physical object, regardless of whether the first virtual object collides with the virtual object. Thus, in some embodiments, the recentered virtual object will be shifted to avoid a collision with an existing physical object at the second location. By shifting the location at which the virtual object is recentered, the computer system automatically avoids collisions between the virtual object and physical objects in the three-dimensional environment.

[0211] In some embodiments, following a determination that the second location corresponds to a location inside or behind a physical wall in the user's physical environment, such as the location where object 914a is shown in Figure 9B (e.g., when the first virtual object is displayed at the second location, the surface of the wall facing the user's viewpoint is closer to the user's viewpoint than the second location, such that the first virtual object is displayed inside or behind the physical wall in the three-dimensional environment), the third location is closer to the user's first viewpoint than the second location, and the third location is in front of the physical wall relative to the user's first viewpoint, such as the location where object 914a is shown in Figure 9C (1008). In some embodiments, if the recentered virtual object collides with and / or is behind a physical wall in the three-dimensional environment, the computer system avoids the collision by shifting the location of the recentered virtual object closer to the user's viewpoint (e.g., not shifting the location of the recentered virtual object laterally relative to the user's viewpoint). The computer system optionally additionally does the above in the case of other physical objects that are wall-like objects but are not walls (e.g., objects that are perpendicular relative to the user's viewpoint and have a size or area that exceeds a threshold size or area, such as 0.2, 0.5, 1, 3, 5, or 10 meters vertically and / or horizontally, and / or 0.04, 0.25, 1, 9, 25, or 100 square meters). Shifting the location at which the virtual object is recentered in the case of a wall toward the user's viewpoint reduces the number of inputs required to ensure visibility and / or interactability of the virtual object in the three-dimensional environment, since a lateral shift in the location of the virtual object likely will not resolve a collision between the virtual object and the wall.

[0212] In some embodiments, in response to the first input, in accordance with a determination that the second location corresponds to a distinct physical object other than a physical wall, such as the location where object 916a is shown in FIG. 9B and is occupied by table 922a (e.g., the first virtual object at the second location collides with a table, desk, chair, or other physical object other than a wall or wall-like physical object), a third location is the same distance from the user's first viewpoint as the second location, and the third location is laterally spaced apart from the second location relative to the first viewpoint, such as the location where object 916a is shown in FIG. 9C (1010). In some embodiments, if the recentered virtual object collides with a physical object other than a wall in the three-dimensional environment, the computer system avoids the collision by shifting the location of the recentered virtual object laterally (e.g., up, down, left, and / or right) relative to the user's viewpoint (e.g., by not shifting the location of the recentered virtual object toward or away from the user's viewpoint). For objects that are not walls, shifting the location at which the virtual object is recentered laterally relative to the user's viewpoint reduces the number of inputs required to ensure visibility and / or interactability of the virtual object within the three-dimensional environment.

[0213] In some embodiments, when the first input is received, the three-dimensional environment further includes a second virtual object that overlaps with the first virtual object, such as objects 906a and 908a in FIG. 9A (e.g., the first and second virtual objects at least partially collide with each other, and / or the first virtual object at least partially obscures the second virtual object from the first perspective, or the second virtual object at least partially obscures the first virtual object from the first perspective) (1012a).

[0214] In some embodiments, in response to receiving the first input, the computer system (e.g., 101) separates the first and second virtual objects from one another (e.g., laterally relative to the first viewpoint and / or toward or away from the first viewpoint) (1012b) to reduce or eliminate overlap between the first and second virtual objects, as shown in FIG. 9C for objects 906a and 908a. In some embodiments, both virtual objects are moved to achieve the separation. In some embodiments, only one of the virtual objects is moved to achieve the separation. In some embodiments, both the first and second virtual objects are recentered in response to the first input and, in the process, separated relative to one another to achieve the separation. Separating overlapping virtual objects reduces the number of inputs required to ensure visibility and / or interactability of the virtual objects within the three-dimensional environment.

[0215] In some embodiments, in response to the first input, and in accordance with a determination that the second location is occupied by a distinct object (e.g., a physical object, such as a wall or a non-wall object, or a virtual object) (1014a), in accordance with a determination that the amount of separation from the second location in a first direction required for the first virtual object to avoid the distinct object at the second location is less than the amount of separation from the second location in a second direction different from the first direction required for the first virtual object to avoid the distinct object at the second location, the separation being from the second location in the first direction (1014b), such as shifting object 916a upward rather than downward from the location shown in FIG. 9B. For example, if shifting the location of a first virtual object in a first direction (e.g., right, left, up, down, away from or towards the viewpoint, or any combination of these directions) to avoid a collision or overlap between the first virtual object and a distinct object requires a shift of a smaller magnitude than shifting the location of the first virtual object in a second direction (e.g., right, left, up, down, away from or towards the viewpoint, or any combination of these directions) to avoid a collision or overlap between the first virtual object and a distinct object, the computer system optionally shifts the location of the first virtual object in the first direction (e.g., by the smaller magnitude).

[0216] In some embodiments, in response to the first input, and in accordance with a determination that the second location is occupied by a distinct object (e.g., a physical object, such as a wall or non-wall object, or a virtual object) (1014a), in accordance with a determination that the amount of separation from the second location in the second direction required for the first virtual object to avoid the distinct object at the second location is less than the amount of separation from the second location in the first direction required for the first virtual object to avoid the distinct object at the second location, the third location is separated from the second location in the second direction, such as when object 916a is shifted downward rather than upward from the location shown in FIG. 9B, thereby moving object 916a less and avoiding table 922a (1014c). For example, if shifting the location of the first virtual object in the second direction to avoid a collision or overlap between the first virtual object and the individual object requires a smaller shift magnitude than shifting the location of the first virtual object in the first direction to avoid a collision or overlap between the first virtual object and the individual object, the computer system optionally shifts the location of the first virtual object in the second direction (e.g., by the smaller magnitude). Thus, in some embodiments, the computer system shifts the location of the first virtual object in a direction that requires a smaller (e.g., a minimum) amount of shift of the location of the first virtual object to avoid a collision or overlap between the first virtual object and the individual object. Shifting the first virtual object in a direction that requires a smaller shift automatically causes the computer system to appropriately position the first virtual object to avoid a collision while maintaining the first virtual object closer (e.g., as close as possible) to its initial target location.

[0217] In some embodiments, displaying the first virtual object at the third location includes displaying, via the display generation component, an animation of the object 916a moving to the location shown in Figure 9B, then an animation of a representation of the first virtual object moving to a second location, followed by an animation of the representation of the first virtual object moving from the second location to a third location, such as animation of the object 916a moving to the location shown in Figure 9C. In some embodiments, the computer system displays an animation of the first virtual object first moving to a second location within the three-dimensional environment in response to the first input (e.g., a faded, visually de-emphasized, darker, blurred, desaturated, and / or more translucent representation of the first virtual object), and then displays an animation of the first virtual object moving from the second location to a third location within the three-dimensional environment (e.g., a faded, visually de-emphasized, darker, blurred, desaturated, and / or more translucent representation of the first virtual object). In some embodiments, the first and second animations occur after the first input (e.g., in response to the first input) without further input being detected. In some embodiments, when the first virtual object reaches the third location, the computer system displays the first virtual object as not washed out, no longer visually de-emphasized, brighter, less blurred, more saturated, and / or less translucent (e.g., the visual appearance the first virtual object had when the first input was received). Displaying an animation of the first virtual object moving first to the second location and then to the third location provides feedback regarding the original recentered location of the first virtual object.

[0218] In some embodiments, the third location is separated from the second location by one or more of a distance from the user's first viewpoint, a horizontal distance relative to the user's first viewpoint, or a vertical distance relative to the user's first viewpoint (1018). For example, the computer system optionally shifts the location of the first virtual object from the second location in any direction, such as toward the user's viewpoint, away from the user's viewpoint, horizontally relative to the viewpoint or the user, vertically relative to the user's viewpoint, or any combination thereof. Shifting the location of the first virtual object in the above directions reduces the number of inputs required to properly place the first virtual object within the three-dimensional environment.

[0219] In some embodiments, the first virtual object was last placed or positioned (1020a) at a first location within the three-dimensional environment from a second perspective of the user that is different from the user's first perspective (e.g., from a perspective that is sufficiently different from the user's current perspective, as described in more detail with reference to method 800).

[0220] In some embodiments, following a determination that the spatial arrangement of the first location relative to the second perspective is the first spatial arrangement, the second location is a first individual location (1020b), such as object 920a in FIG. 9C . For example, if the location and / or orientation of the first virtual object relative to the second perspective (e.g., the perspective at which the first virtual object was last placed or positioned in the three-dimensional environment) was such that the first virtual object was oriented right and up relative to the second perspective, the computer system selects the second location such that the location and / or orientation of the first virtual object at the second location relative to the first perspective is also oriented right and up relative to the first perspective (e.g., the same relative location and / or orientation). In some embodiments, the magnitude of the relative location and / or orientation of the second location relative to the first perspective is maintained for the relative location and / or orientation of the first location relative to the second perspective.

[0221] In some embodiments, in accordance with determining that the spatial arrangement of the first location relative to the second viewpoint is a second spatial arrangement different from the first spatial arrangement, the second location is a second distinct location different from the first distinct location (1020c); for example, if object 920a had a different spatial arrangement relative to viewpoint 926b of FIG. 9A , object 920a, optionally, will have its different spatial arrangement relative to viewpoint 926a of FIG. 9C . For example, if the location and / or orientation of the first virtual object relative to the second viewpoint is such that the first virtual object is to the left and below the second viewpoint, the computer system selects the second location such that the location and / or orientation of the first virtual object at the second location relative to the first viewpoint is also to the left and below the first viewpoint (e.g., the same relative field location and / or orientation). In some embodiments, the magnitude of the location and / or orientation of the second location relative to the first viewpoint is also maintained relative to the relative location and / or orientation of the first location relative to the second viewpoint. Setting a target location for the recentered virtual object based on the location of the virtual object relative to the user's previous viewpoint when the virtual object was last positioned within the three-dimensional environment causes the computer system to automatically place the virtual object at the relative location previously provided for the virtual object.

[0222] In some embodiments, the first virtual object was last placed or positioned within the three-dimensional environment from a second perspective of the user that is different from the first perspective (e.g., from a perspective that is sufficiently different from the user's current perspective, as described in more detail with reference to method 800), and when the first input is received, the three-dimensional environment further includes a second virtual object and a third virtual object that were last placed or positioned within the three-dimensional environment from the user's first perspective (or a user's perspective that is not sufficiently different from the user's current perspective, as described in more detail with reference to method 800), and the second and third virtual objects have a first respective spatial arrangement relative to the first perspective, such as objects 906a, 908a, and / or 910a of FIG. 9A and their spatial arrangement relative to perspective 926a of FIG. 9A (1022a).

[0223] In some embodiments, in response to receiving 1022b the first input, following a determination that the second and third virtual objects overlap, such as objects 906a and 908a in FIG. 9A overlapping (e.g., at least partially colliding with each other in the three-dimensional environment and / or at least partially obscuring each other from the user's first perspective), the computer system (e.g., 101) updates 1022c the spatial arrangements of the second and third virtual objects to a second, distinct spatial arrangement relative to the first perspective to reduce or eliminate overlap between the second and third virtual objects (e.g., moving and / or reorienting the first, second, or both the first and second virtual objects such that the distance (e.g., horizontally, vertically, and / or in depth) between the objects relative to the first perspective is increased to reduce or eliminate collision between the two objects and / or obscuration of the two objects), as shown for objects 906a and 908a in FIGS. 9B and 9C .

[0224] In some embodiments, in response to receiving the first input (1022b), in accordance with a determination that the second and third virtual objects do not overlap, such as if objects 906a and 908a of Figure 9A did not overlap (e.g., do not at least partially collide with each other in the three-dimensional environment and / or do not at least partially obscure each other from the user's first perspective), the computer system (e.g., 101) maintains the second and third virtual objects having a first distinct spatial arrangement relative to the first perspective (1022d), such as by not moving objects 906a and / or 908a (e.g., not moving or changing the orientation of the first and second virtual objects in the three-dimensional environment) in response to the input of Figure 9A. Thus, in some embodiments, the virtual objects last placed or positioned in the three-dimensional environment from the user's current perspective do not respond to the first input unless they overlap in the three-dimensional environment. Shifting the first and / or second virtual objects only when the first and / or second virtual objects overlap reduces the number of inputs required to properly position the first and second virtual objects within the three-dimensional environment.

[0225] In some embodiments, in response to receiving the first input, the computer system (e.g., 101), via a display generation component, displays 1024 a visual indication that the first input has been received, such as a change in the visual appearance of objects 906a, 908a, and / or 910a from FIG. 9A to FIG. 9B. In some embodiments, the visual indication is displayed for a predetermined amount of time (e.g., 0.3, 0.5, 1, 2, 3, 5, or 10 seconds) after the first input is received. In some embodiments, the visual indication is displayed for the duration of movement of the virtual object(s) within the three-dimensional environment in response to the first input, and ceases displaying in response to the end of that movement. In some embodiments, the visual indication is or includes a change in the visual appearance of one or more elements contained in the three-dimensional environment when the first input was received (e.g., a change in the visual appearance of one or more of the virtual objects contained in the three-dimensional environment when the first input was received, as described in more detail below). In some embodiments, the visual indication is or includes a display of an element (e.g., a notification) that was not displayed or included in the three-dimensional environment when the first input was received. Displaying the indication of the first input provides feedback regarding the current status of the computer system in recentering one or more virtual objects in the three-dimensional environment.

[0226] In some embodiments, when the first input is received, the first virtual object has (e.g., is displayed with) visual characteristics having a first value (e.g., has a first brightness, has a first opacity, has a first blur, and / or has a first color saturation), and the visual indication that the first input was received includes temporarily updating (and / or displaying) the first virtual object to have visual characteristics having a second value different from the first value (e.g., a second brightness lower than the first brightness, a second opacity lower than the first opacity, a second blur higher than the first blur, and / or a second color saturation lower than the first color saturation), such as the visual appearance of object 916a in FIG. 9B , and then displaying the first virtual object with the visual characteristics having the first value (e.g., reverting the first virtual object to having its initial visual appearance), such as the visual appearance of object 916a in FIG. 9C (1026). In some embodiments, in response to the first input, the first virtual object is temporarily visually de-emphasized in the three-dimensional environment (e.g., relative to the rest of the three-dimensional environment and / or relative to portions of the three-dimensional environment that have not changed position and / or orientation in response to the first input). In some embodiments, the change in visual appearance of the first virtual object described above is maintained for the duration of movement of the virtual object(s) in the three-dimensional environment in response to the first input and is restored upon completion of the movement. In some embodiments, the change in visual appearance is additionally or alternatively applied to other virtual objects that are moved / reoriented in the three-dimensional environment in response to the first input. In some embodiments, the change in visual appearance is additionally or alternatively applied to virtual objects that are not moved / reoriented in the three-dimensional environment in response to the first input. In some embodiments, the virtual object whose visual appearance changes is partially or completely faded in the three-dimensional environment in response to the first input until the fading ceases as described above. Adjusting the visual appearance of the virtual object(s) in response to the first input provides feedback regarding the current status of the computer system in recentering one or more virtual objects in the three-dimensional environment.

[0227] In some embodiments, when the first input is received, the three-dimensional environment further includes a second virtual object at a fourth location within the three-dimensional environment (e.g., the second virtual object is an object that is recentered within the three-dimensional environment with the first virtual object in response to the first input), and the first virtual object and the second virtual object have a first distinct spatial arrangement relative to each other, such as objects 912a and 920a in FIG. 9A having a spatial arrangement relative to each other (1028a).

[0228] In some embodiments, in response to receiving the first input (1028b), and following a determination that the second location is not occupied by an object, the computer system (e.g., 101) displays the first virtual object at the second location and the second virtual object at a fifth location different from the fourth location, which satisfies a first set of one or more criteria (e.g., moving and / or reorienting both the first and second virtual objects within the three-dimensional environment in response to the first input, as described above and / or with reference to method 800), where the first virtual object and the second virtual object at the second and fifth locations have a first distinct spatial arrangement relative to each other (1028c), such as objects 912a and 920a having the same spatial arrangement relative to each other in FIG. 9C as in FIG. 9A (e.g., the relative orientation and / or position of the first and second virtual objects is maintained in response to the recentering of these virtual objects, as described in more detail with reference to method 800).

[0229] In some embodiments, in response to receiving the first input (1028b), following a determination that the second location is occupied, such as with respect to object 918a of FIG. 9B , the computer system (e.g., 101) displays the first virtual object at a third location and the second virtual object at a sixth location that is different from the fourth location (e.g., optionally the same as or different from the fifth location), which satisfy a first set of one or more criteria (e.g., as described above, the target location(s) of those object(s) are occupied by other objects, e.g., the locations of the first virtual object and optionally the second virtual object are occupied, as described above and / or with reference to method 800). (Moving and / or reorienting both the first and second virtual objects within the three-dimensional environment in response to the first input, except that their positions have been shifted by the computer system), the first virtual object and the second virtual object at the third and sixth locations have second individual spatial arrangements relative to each other that are different from their first individual spatial arrangements, such as objects 918a and 920a in FIG. 9C having different spatial arrangements relative to each other in FIG. 9C that are different from FIG. 9A (1028d) (e.g., if the target location(s) of the virtual object(s) are occupied when the first input is received, the virtual objects optionally do not maintain their relative orientation and / or position in response to re-entering those virtual objects). Maintaining the relative spatial arrangements of the recentered virtual objects, when possible, reduces the number of inputs required to properly position the objects relative to the user's viewpoint in response to the first input.

[0230] In some embodiments, when the first input is received, the three-dimensional environment includes a first distinct virtual object (e.g., the first virtual object or a different virtual object) at a first distinct location within the three-dimensional environment and a second distinct virtual object at a second distinct location within the three-dimensional environment (e.g., the first distinct virtual object has been recentered in response to the first input, and the second distinct virtual object has optionally been recentered in response to the first input or optionally has not been recentered in response to the first input) (1030a).

[0231] In some embodiments, in response to receiving the first input (1030b), the computer system (e.g., 101) displays (1030c) the second distinct virtual object at a third distinct location within the three-dimensional environment (e.g., different from the second distinct location if the second distinct virtual object is recentered in response to the first input, or the same as the second distinct location if the second distinct virtual object is not recentered in response to the first input).

[0232] In some embodiments, in response to receiving the first input (1030b), a determination is made that a difference in distance between the fourth distinct location and the third distinct location from the user's first viewpoint is greater than a threshold distance (e.g., a difference in distance of 0.1, 0.3, 0.5, 1, 3, 5, 10, 20, 50, 100, 500, 1000, or 5000 cm from the user's first viewpoint), indicating that the fourth distinct location is farther from the user's first viewpoint than the third distinct location and satisfies a first set of one or more criteria (e.g., the fourth distinct location is an initial target location for the first distinct virtual object in response to the first input as described above and / or with reference to method 800), and the computer system (e.g., 10 9B , the first and second virtual objects do not collide in the three-dimensional environment when displayed at the fourth and third discrete locations, respectively. (1030d) For example, the computer system recenters the first virtual object at the fourth discrete location even though the second discrete virtual object at least partially obscures the first virtual object at the fourth discrete location from the user's first perspective, such that object 918a is recentered to and remains at a location behind object 910a, obscured by object 910a in FIG. 9B , and the location behind object 910a is at least a threshold distance away from object 910a. (Optionally, the first and second virtual objects do not collide in the three-dimensional environment when displayed at the fourth and third discrete locations, respectively.) For example, the computer system recenters the first virtual object at the fourth discrete location even though the second discrete virtual object at least partially obscures the first virtual object from the user's first perspective. Thus, in some embodiments, the computer system shifts the target location of the virtual object in response to the first input if the virtual object collides with another virtual object, but does not shift the target location of the virtual object in response to the first input based on a virtual object obscuring (but not colliding with) the other virtual object from the user's viewpoint (or vice versa) if the two objects are sufficiently far from each other in depth relative to the user's viewpoint.

[0233] In some embodiments, in response to receiving the first input (1030b), in accordance with determining that a difference in distance between the fourth distinct location and the third distinct location from the user's first viewpoint is less than a threshold distance (e.g., a difference in distance of 0.1, 0.3, 0.5, 1, 3, 5, 10, 20, 50, 100, 500, 1000, or 5000 cm from the user's first viewpoint), the computer system (e.g., 101) displays the first distinct virtual object at a fifth distinct location that is different from the fourth distinct location, the fifth distinct location being farther from the user's first viewpoint than the third distinct location and satisfying a first set of one or more criteria (e.g., the fifth distinct location being further from the user's first viewpoint than the third distinct location), and / or the shift of the first distinct virtual object in response to the first input, with reference to methods described above and / or method 800. 9B to a location behind object 910a, but that location behind object 910a is not separated from object 910a by at least a threshold distance, such that computer system 101 changes the location of object 918a so that it is not obscured by object 910a, the second respective virtual object at the third distinct location does not at least partially obscure the first respective virtual object at the fifth distinct location from the user's first viewpoint (1030e) (and optionally, the first and second distinct virtual objects do not collide in the three-dimensional environment when displayed at the fifth distinct location and the third distinct location, respectively). For example, the computer system recenters the first respective virtual object at the fifth distinct location selected by the computer system such that the second respective virtual object does not even partially obscure the first respective virtual object from the user's viewpoint.Thus, in some embodiments, the computer system shifts the target location of the virtual object in response to the first input if the virtual object collides with another virtual object and / or obscures another virtual object from the user's viewpoint if the two objects are not sufficiently separated from each other in depth relative to the user's viewpoint (or vice versa). Shifting the recentering location based on the collision or line of sight obstruction in response to the separation (in depth) of the virtual objects in response to the recentering reduces the number of inputs required to properly position the object relative to the user's viewpoint in response to the first input.

[0234] It should be understood that the particular order in which the operations in method 1000 are described is merely exemplary and does not indicate that the described order is the only order in which the operations may be performed. Those skilled in the art will recognize various ways to reorder the operations described herein.

[0235] 11A-11E illustrate an example of a computer system that selectively and automatically recenters one or more virtual objects in response to a display generation component changing state, according to some embodiments.

[0236] 11A illustrates a three-dimensional environment 1102 that is visible through a display generating component of computer system 101 (e.g., display generating component 120 of FIG. 1 ), where the three-dimensional environment 1102 is not visible from a user's viewpoint 1126, shown in an overhead view (e.g., facing the left wall of a first room 1103 a in the physical environment in which computer system 101 is located). As described above with reference to FIGS. 1-6 , computer system 101 optionally includes a display generating component (e.g., a touchscreen) and multiple image sensors (e.g., image sensor 314 of FIG. 3 ). The image sensors optionally include one or more of a visible light camera, an infrared camera, a depth sensor, or any other sensor that computer system 101 could use to capture one or more images of a user or a part of a user (e.g., one or more of the user's hands) while the user interacts with computer system 101. In some embodiments, the user interfaces shown and described below may also be realized on a head-mounted display that includes display generating components that display the user interface or three-dimensional environment to the user, and sensors for detecting the physical environment and / or movement of the user's hands (e.g., external sensors facing outward from the user) and / or the user's line of sight (e.g., internal sensors facing inward toward the user's face).

[0237] 11A , computer system 101 captures one or more images of the physical environment surrounding computer system 101 (e.g., operating environment 100), including one or more objects within the physical environment surrounding computer system 101. In some embodiments, computer system 101 displays a representation of the physical environment within three-dimensional environment 1102 and / or the physical environment is viewable within three-dimensional environment 1102 via view generating component 120. For example, three-dimensional environment 1102 viewable via view generating component 120 includes a representation of the physical floor and back and side walls of room 1103 a in which computer system 101 is located. The three-dimensional environment 1102 also includes a table 1122a (corresponding to 1122b in the overhead view) that is visible via the display generation component 120 from the viewpoint 1126 in FIG. 11A, and a sofa 1124b (shown in the overhead view) in a second room 1103b in the physical environment that is not visible via the display generation component 120 from the user's viewpoint 1126 in FIG. 11A.

[0238] 11A , three-dimensional environment 1102 also includes virtual objects 1106a (corresponding to object 1106b in the overhead view), 1108a (corresponding to object 1108b in the overhead view), and 1110a (corresponding to object 1110b in the overhead view) that are visible from viewpoint 1126. Virtual objects 1106a, 1108a, and 1110a are, optionally, virtual objects last placed or positioned within three-dimensional environment 1102 from viewpoint 1126 of FIG. 11A , similar to those described with reference to FIGS. 7A-7F and / or method 800. In FIG. 11A , objects 1106a, 1108a, and 1110a are two-dimensional objects, although examples of the present disclosure, optionally, apply equally to three-dimensional objects. Virtual objects 1106a, 1108a, and 1110a are optionally one or more of an application's user interface (e.g., a messaging user interface or a content browsing user interface), a three-dimensional object (e.g., a virtual clock, a virtual ball, or a virtual car), or any other element displayed by computer system 101 that is not included in the physical environment of computer system 101.

[0239] As described with reference to Figures 7A-7F and / or method 800, in some embodiments, virtual objects last placed or repositioned from a particular previous viewpoint (or multiple previous viewpoints) of the user may be recentered to the user's new, current viewpoint. Thus, in some embodiments, if the user's viewpoint changes from that shown in Figure 11A and computer system 101 detects a recentering input, computer system 101 recenters virtual objects 1106a, 1108a, and 1110a to the changed viewpoint, as described with reference to Figures 7A-7F and / or method 800. However, in some embodiments, computer system 101 automatically recenters virtual objects 1106a, 1108a, and 1110a to the user's changed viewpoint if the user's changed viewpoint is sufficiently different (e.g., in location and / or orientation, as described in more detail with reference to method 1200) from the user's previous viewpoint. Further, in some embodiments, computer system 101 performs (or does not perform) such automatic recentering in response to display generating component 120 transitioning from a second state (e.g., a powered-off or off state in which three-dimensional environment 1102 is not visible via display generating component 120) to a first state (e.g., a powered-on or on state in which three-dimensional environment 1102 is visible via display generating component 120), as described in more detail below with reference to method 1200. In the case of a wearable device (e.g., a head-mounted device), the display generating component is optionally in the first state while the device is worn on the user's head, the display generating component optionally transitions to the second state in response to detecting that the device has been removed from the user's head, and the display generating component optionally returns to the first state (and optionally remains in the first state) in response to detecting that the device is placed on and worn on the user's head.

[0240] 11A to 11B, display generation component 120 has transitioned from a first state to a second state, and the user has moved to a new location (e.g., a new location and / or a new orientation) in the user's physical environment compared to FIG. 11A. For example, in FIG. 11B, the user has moved to a new location corresponding to a new viewpoint 1126 in a first room 1103a in the physical environment, facing the left rear wall of that room 1103a. Three-dimensional environment 1102 is not visible or viewable through computer system 101 because computer system 101 is optionally off and / or not worn on the user's head. Therefore, no virtual objects are shown in FIG. 11B.

[0241] 11B-11C, display generation component 120 transitions from the second state to the first state while the user is at the location in the physical environment shown in FIG. 11B (and FIG. 11C). As shown in FIG. 11C, three-dimensional environment 1102 is again visible through display generation component 120 of computer system 101. Furthermore, the user's viewpoint in three-dimensional environment 1102 corresponds to the user's updated location and / or orientation in the physical environment. In FIG. 11C, the user's updated location and / or orientation in the physical environment and / or the user's viewpoint in three-dimensional environment 1102 of FIGS. 11B and 11C are, optionally, not sufficiently different from those of FIG. 11A; therefore, computer system 101 has not automatically recentered virtual objects 1106a, 1108a, and 1110a to the user's updated viewpoint in response to display generation component 120 transitioning from the second state to the first state. For example, because the user remains in the same room 1103a in the physical environment as in Figure 11A, computer system 101, optionally, has not automatically recentered virtual objects 1106a, 1108a, and 1110a to the user's updated viewpoint. Additional or alternative criteria for automatically recentering virtual objects 1106a, 1108a, and 1110a to the user's updated viewpoint are described with reference to method 1200. As a result, in Figure 11C, three-dimensional environment 1102 is, optionally, only visible from a different viewpoint than in Figure 11A, rather than being recentered to the different viewpoint in Figure 11C.

[0242] In contrast to Figures 11B and 11C, in Figure 11D, display generation component 120 has transitioned from a first state to a second state, and the user has moved to a new location (e.g., a new location and / or a new orientation) in the user's physical environment compared to Figure 11A or 11C. For example, in Figure 11D, the user has moved to a new location corresponding to a new viewpoint 1126 in a second room 1103b in the physical environment, and is facing the back wall of that room 1103b. Three-dimensional environment 1102 is not visible or viewable through computer system 101 because computer system 101 is optionally off and / or not worn on the user's head. Therefore, no virtual objects are shown in Figure 11D.

[0243] 11D-11E, display generation component 120 transitions from the second state to the first state while the user is at the location in the physical environment shown in FIG. 11D (and FIG. 11E). As shown in FIG. 11E, three-dimensional environment 1102 is again visible through display generation component 120 of computer system 101. Furthermore, the user's viewpoint in three-dimensional environment 1102 corresponds to the user's updated location and / or orientation in the physical environment. In FIG. 11E, the user's updated location and / or orientation in the physical environment and / or the user's viewpoint in three-dimensional environment 1102 of FIGS. 11D-11E are, optionally, not sufficiently different from those in FIG. 11A (and / or FIG. 11C), and therefore, computer system 101 has not automatically recentered virtual objects 1106a, 1108a, and 1110a to the user's updated viewpoint in response to display generation component 120 transitioning from the second state to the first state. For example, because the user has moved to a second room 1103b in the physical environment, computer system 101 has, optionally, automatically recentered virtual objects 1106a, 1108a, and 1110a to the user's updated viewpoint, as shown in Figure 11E. Details about how virtual objects 1106a, 1108a, and 1110a are recentered to the user's updated viewpoint are provided with reference to methods 800 and / or 1000. Additional or alternative criteria for automatically recentering virtual objects 1106a, 1108a, and 1110a to the user's updated viewpoint are described with reference to method 1200. As a result, in Figure 11E, three-dimensional environment 1102 is, optionally, recentered to, and viewable from, a different viewpoint than in Figure 11A (and / or Figure 11C).

[0244] In some embodiments, computer system 101 does not automatically recenter the virtual objects and / or the three-dimensional environment to the user's updated viewpoint unless the display generating component transitions from the second state to the first state while the user is at the updated location and / or viewpoint (optionally after transitioning from the first state to the second state). For example, if the user moves from the location and / or viewpoint shown in FIG. 11A to the location and / or viewpoint shown in FIG. 11E while display generating component 120 remains in the first state, computer system 101 optionally does not automatically recenter virtual objects 1106a, 1108a, and 1110a to the user's updated viewpoint; instead, three-dimensional environment 1102 is optionally only visible from the user's updated viewpoint while virtual objects 1106a, 1108a, and 1110a remain at their locations within three-dimensional environment 1102 shown in FIG. 11A. Thus, in some embodiments, a required condition for automatically recentering the three-dimensional environment and / or virtual objects to the user's updated viewpoint is that the display generation component transitions from the second state to the first state while the user is in a location and / or viewpoint that meets the automatic recentering criteria (e.g., is sufficiently different from the user's previous viewpoint, as described in more detail with reference to method 1200).

[0245] 12A-12E are flowcharts illustrating a method for selectively and automatically recentering one or more virtual objects in response to a display generation component changing state, according to some embodiments. In some embodiments, method 1200 is performed on a computer system (e.g., computer system 101 of FIG. 1 , such as a tablet, smartphone, wearable computer, or head-mounted device) that includes a display generation component (e.g., display generation component 120 of FIGS. 1, 3, and 4) (e.g., a head-up display, a display, a touchscreen, or a projector) and one or more cameras (e.g., a camera pointing down the user's hand (e.g., a color sensor, an infrared sensor, and other depth-sensing camera) or a camera pointing forward from the user's head). In some embodiments, method 1200 is performed by instructions stored on 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 computer system 101 (e.g., controller 110 of FIG. 1A). Some operations of method 1200 are optionally combined and / or the order of some operations is optionally changed.

[0246] In some embodiments, method 1200 is performed in a computer system (e.g., 101) in communication with a display generation component and one or more input devices. In some embodiments, the computer system has one or more characteristics of the computer system of methods 800 and / or 1000. In some embodiments, the display generation component has one or more characteristics of the display generation component of methods 800 and / or 1000. In some embodiments, the one or more input devices have one or more characteristics of the one or more input devices of methods 800 and / or 1000.

[0247] In some embodiments, while the display generating component is operating in a first state (e.g., a state in which the display generating component is active and / or on), a three-dimensional environment (e.g., 1102) (e.g., the three-dimensional environment optionally has one or more characteristics of the three-dimensional environment of methods 800 and / or 1000 and, optionally, includes at least a portion of a physical environment of a user of the computer system. In some embodiments, (a portion of) the physical environment is displayed in the three-dimensional environment via the display generating component (e.g., a virtual pass-through or a video pass-through). In some embodiments, the (portion of) the physical environment is a view of (a portion of) the physical environment of the computer system that is visible through a transparent portion of the display generating component (e.g., a true or actual pass-through)) is visible from a first perspective of the user (e.g., a view of (a portion of) the physical environment of the computer system that is visible through a transparent portion of the display generating component ... 11A ), the user's first viewpoint is associated with the user's first distinct spatial arrangement with respect to the three-dimensional environment (e.g., the viewpoint from which the three-dimensional environment is displayed and / or visible corresponds to the user's location and / or orientation in the user's three-dimensional environment and / or physical environment, and as the user rotates their head and / or torso and / or moves in the three-dimensional environment and / or physical environment, corresponding different portions of the three-dimensional environment become displayed and / or visible via the display generation components), and the computer system (e.g., 101) displays (1202a) in the three-dimensional environment via the display generation components a first virtual object having a first spatial arrangement with respect to the user's first viewpoint and a second spatial arrangement with respect to the three-dimensional environment, such as objects 1106a, 1108a, and / or 1110a of FIG. 11A . The first virtual object optionally has one or more characteristics of the first virtual object in methods 800 and / or 1000. The first spatial arrangement optionally corresponds to a relative location and / or relative orientation (optionally including an orientation of the first virtual object itself) of the first virtual object with respect to a first viewpoint of the user within the three-dimensional environment (e.g., 10 feet from the first viewpoint, 30 degrees to the right of the centerline of the first viewpoint).The second spatial arrangement optionally corresponds to a relative location and / or orientation (optionally including an orientation of the first virtual object itself) of the first object with respect to a reference point in the user's three-dimensional environment and / or physical environment (e.g., the user's location in the physical environment, the orientation of the user's head and / or torso in the three-dimensional environment, the center of a room in which the user is located, or the location of the user's viewpoint in the three-dimensional environment) (e.g., 10 feet from the center of the room, 30 degrees to the right of a line from the center of the room to the back wall of the room, perpendicular to the back wall of the room). Thus, in some embodiments, a first virtual object that has a relative location in the three-dimensional environment with respect to the user's viewpoint also optionally has a relative location with respect to the physical environment, which is visible via the display generation component. In some embodiments, the first spatial arrangement satisfies one or more criteria of methods 800 and / or 1000 that specify a range of distances or a range of orientations of the virtual object with respect to the user's viewpoint. In some embodiments, the first spatial arrangement does not satisfy one or more criteria of methods 800 and / or 1000.

[0248] In some embodiments, while displaying a first virtual object in a first spatial arrangement relative to a first viewpoint of a user and a second spatial arrangement relative to the three-dimensional environment, the computer system (e.g., 101) detects a first event corresponding to a change in the state of the display generating component to a second state different from the first state (e.g., a state in which the display generating component is inactive or off), and while the display generating component is in the second state, the three-dimensional environment is not visible through the display generating component (1202b), such as by turning off the computer system 101 as in FIG. 11A to FIG. 11B. For example, the second state is optionally activated in response to an input (e.g., a first event) detected by the computer system to stop and / or terminate display of the three-dimensional environment (e.g., selection of a displayed selectable option or selection of a hardware button included in the computer system). In some embodiments, the display generating component is included in a head-mounted device worn on the user's head, and when worn on the user's head, the display generating component is in the first state and the user can see the three-dimensional environment visible through the display generating component. In some embodiments, in response to detecting a first event, for example, that the head-mounted device has been removed from the user's head (e.g., is no longer being worn by the user), the computer system transitions the display generation component to a second state.

[0249] In some embodiments, after a change in the state of the display generating component from a first state to a second state (e.g., after the change in state of the display generating component from the first state to the second state, after the user changes orientation and / or moves to a different location within the physical environment) (1202c), the computer system (e.g., 101) detects a second event corresponding to a change in the state of the display generating component from the second state to a first state in which the three-dimensional environment is visible via the display generating component, and while the display generating component is in the first state after detecting the second event, the three-dimensional environment is visible via the display generating component from a second perspective different from the user's first perspective (e.g., corresponding to the user's changed orientation and / or location within the physical environment), the second perspective being associated with a second, distinct spatial arrangement of the user with respect to the three-dimensional environment, such as perspective 1126 in FIG. 11C (1202d). For example, the second event is, optionally, an input (e.g., selection of a displayed selectable option or selection of a hardware button included in the computer system) detected by the computer system to redisplay and / or enter the three-dimensional environment. In some embodiments, the second event is detecting that the head-mounted device has been placed on the user's head (e.g., being put back on by the user), for example, where the computer system now displays the three-dimensional environment from the user's updated perspective (e.g., with an updated location and / or orientation in the three-dimensional environment corresponding to the user's new location and / or orientation in the user's physical environment).

[0250] In some embodiments, after a change in state of the display generating component from a first state to a second state (e.g., after the user changes orientation and / or moves to a different location in the physical environment after a change in state of the display generating component from the first state to the second state) (1202c), in response to detecting a second event, the computer system displays the first virtual object in the three-dimensional environment via the display generating component while the three-dimensional environment is visible from the second perspective (e.g., the computer system transitions the display generating component to the first state in response to detecting the second event). 11E ) in accordance with a determination that one or more criteria (e.g., one or more criteria for recentering the three-dimensional environment to the user's updated viewpoint, as described with reference to methods 800 and / or 1000 including the first virtual object; the one or more criteria are described in more detail below) are met, displaying (1202f) the first virtual object in the three-dimensional environment at a first spatial arrangement relative to the user's second viewpoint and at a third spatial arrangement that differs from the second spatial arrangement relative to the three-dimensional environment, such as objects 1106a, 1108a, and / or 1110a in FIG. 11E . For example, because the one or more criteria are met, the computer system displays the first virtual object at the same relative location and / or orientation relative to the second viewpoint as when the first virtual object was displayed relative to the first viewpoint at which the three-dimensional environment was last displayed (e.g., at a different location and / or different orientation in the three-dimensional environment than before). In some embodiments, because the user is now in a different orientation and / or location in the three-dimensional environment and / or physical environment (e.g., the second viewpoint corresponds to a different orientation and / or location), and because the first virtual object is displayed in the same first spatial arrangement relative to the second viewpoint as before, the first virtual object is now displayed in a different spatial arrangement relative to the previous three-dimensional environment and / or physical environment (e.g., the first virtual object is no longer displayed on a physical table in the physical environment, but is now displayed on a physical sofa in the physical environment).

[0251] In some embodiments, after a change in state of the display generating component from a first state to a second state (e.g., after the user changes orientation and / or moves to a different location in the physical environment after a change in state of the display generating component from the first state to the second state) (1202c), while the three-dimensional environment is visible from the second perspective (e.g., the computer system transitions the display generating component to the first state in response to detecting the second event), the computer system displays (1202e) the first virtual object within the three-dimensional environment via the display generating component, which includes displaying (1202g) the first virtual object within the three-dimensional environment in a fourth spatial arrangement different from the first spatial arrangement relative to the user's second perspective and in a second spatial arrangement relative to the three-dimensional environment, such as object 1110a in FIG. 11C , in accordance with a determination that one or more criteria are not satisfied. For example, because one or more criteria are not met, the computer system displays the first virtual object at a different relative location and / or orientation with respect to the second viewpoint than when the first virtual object was displayed with respect to the first viewpoint at which the three-dimensional environment was last displayed (e.g., at the same location and / or orientation in the three-dimensional environment as before). Therefore, because the first virtual object is not repositioned in the three-dimensional environment, the first virtual object is, optionally, displayed in the same second spatial arrangement with respect to the three-dimensional environment and / or the physical environment as before (e.g., the first virtual object is still displayed on a physical table in the physical environment). In some embodiments, the input described with reference to method 1200 is or includes an air gesture input. Selectively recentering objects based on the user's updated viewpoint reduces the number of inputs required to make the objects accessible to the user when beginning to display the three-dimensional environment.

[0252] In some embodiments, the one or more criteria are met when the duration between the first event and the second event, such as between Figures 11A and 11D / E, exceeds a time threshold (e.g., 5 minutes, 30 minutes, 1 hour, 3 hours, 6 hours, 12 hours, 24 hours, 48 ​​hours, 96 hours, or 192 hours), and are not met when the duration between the first event and the second event, such as between Figures 11A and 11B / C, is less than the time threshold (1204). For example, the computer system optionally does not automatically recenter the three-dimensional environment to the user's new viewpoint in response to detecting the second event if the time since detecting the first event is less than the time threshold, and optionally automatically recenters the three-dimensional environment to the user's new viewpoint in response to detecting the second event if the time since detecting the first event is greater than the time threshold. Selectively recentering objects to the user's updated viewpoint based on time allows recentering to be performed when appropriate without displaying additional controls.

[0253] In some embodiments, the one or more criteria are met when the user's second viewpoint is more than a threshold distance (e.g., 0.1, 0.5, 1, 3, 5, 10, 20, 50, 100, or 300 meters) from the user's first viewpoint within the three-dimensional environment, such as between FIG. 11A and FIG. 11D / E, and are not met when the user's second viewpoint is less than a threshold distance from the user's first viewpoint within the three-dimensional environment, such as between FIG. 11A and FIG. 11B / C (1206). For example, if a second event is detected when the user has moved more than a threshold distance away from a location in the user's physical environment where the first event was detected, the computer system, optionally, automatically recenters the three-dimensional environment to the user's new viewpoint in response to detecting the second event. On the other hand, if a second event is detected when the user has not moved more than a threshold distance away from a location in the user's physical environment where the first event was detected, the computer system, optionally, does not automatically recenters the three-dimensional environment to the user's new viewpoint in response to detecting the second event. Selectively recentering objects to a user's updated viewpoint based on distance allows recentering to be performed when appropriate without displaying additional controls.

[0254] In some embodiments, the one or more criteria are met when the difference in orientation between the user's first and second viewpoints in the three-dimensional environment, such as between Figure 11A and Figure 11D / E, is greater than a threshold (e.g., the orientation of the second viewpoint is rotated more than 5, 10, 20, 30, 45, 90, 120, or 150 degrees relative to the orientation of the first viewpoint), and are not met when the difference in orientation between the user's first and second viewpoints in the three-dimensional environment, such as between Figure 11A and Figure 11B / C, is less than a threshold (1208). For example, if a second event is detected when the user moves and / or reorients their head, body, shoulders, and / or torso beyond a threshold orientation from an orientation of the user (e.g., the user's head, body, shoulders, and / or torso) in the user's physical environment at which the first event was detected, the computer system, optionally, automatically recenters the three-dimensional environment to the user's new viewpoint in response to detecting the second event. On the other hand, if a second event is detected when the user has not moved and / or reoriented their head, body, shoulders, and / or torso by more than a threshold orientation from the orientation of the user (e.g., the user's head, body, shoulders, and / or torso) in the user's physical environment at which the first event was detected, the computer system optionally does not automatically recenter the three-dimensional environment to the user's new viewpoint in response to detecting the second event. Selectively recentering objects to the user's updated viewpoint based on orientation allows recentering to be performed when appropriate without displaying additional controls.

[0255] In some embodiments, the one or more criteria are met when the user's first viewpoint corresponds to a location in a first room in the three-dimensional environment and the user's second viewpoint corresponds to a location in a second room different from the first room in the three-dimensional environment (e.g., when the user's viewpoint was the first viewpoint, the user was located in a first room in the user's physical environment, and when the user's viewpoint was the second viewpoint, the user was located in a second room in the user's physical environment), such as between Figures 11A and 11D / E, but are not met when the user's first viewpoint and the user's second viewpoint correspond to locations in the same room in the three-dimensional environment (1210), such as between Figures 11A and 11B / C. In some embodiments, the one or more criteria are additionally or alternatively met when the user's location corresponding to the first viewpoint is separated from the user's location corresponding to the second viewpoint by at least one wall in the user's physical environment. For example, if the user moves to a room different from the room containing the location in the user's physical environment where the first event was detected and a second event is detected, the computer system, optionally, in response to detecting the second event, automatically recenters the three-dimensional environment to the user's new viewpoint. On the other hand, if the user does not move to a room different from the room containing the location in the user's physical environment where the first event was detected and a second event is detected, the computer system, optionally, does not automatically recenters the three-dimensional environment to the user's new viewpoint in response to detecting the second event. Selectively recentering objects to the user's updated viewpoint based on the user's movement to a different room allows recentering to be performed when appropriate without displaying additional controls.

[0256] In some embodiments, while displaying the first virtual object in a fourth spatial arrangement relative to the user's second viewpoint and in the second spatial arrangement relative to the three-dimensional environment, pursuant to a determination, via the display generation component, that one or more criteria have not been met (e.g., the three-dimensional environment was not automatically recentered on the user's second viewpoint in response to detecting the second event, as in FIG. 11C ), the computer system (e.g., 101) detects, via the one or more input devices, an input corresponding to a request to update the spatial arrangement of the first virtual object relative to the user's second viewpoint to satisfy a first set of one or more criteria specifying a range of distances or a range of orientations of the virtual object relative to the user's second viewpoint, such as the input detected in FIG. 11C (e.g., as described with reference to method 800) (1012a). The input optionally has one or more characteristics of a first input (e.g., a recentering input) described with reference to methods 800, 1000, and / or 1400.

[0257] In some embodiments, in response to detecting the input, the computer system (e.g., 101) displays (1012b) the first virtual object in the three-dimensional environment in a first spatial arrangement relative to the user's second viewpoint and a third spatial arrangement relative to the three-dimensional environment, such as when objects 1106a, 1108a, and / or 1110a are displayed in FIG. 11C in the spatial arrangement relative to viewpoint 1126 in FIG. 11C that they had relative to viewpoint 1126 in FIG. 11A. Thus, in some embodiments, even if the computer system does not automatically recenter the three-dimensional environment to the user's second viewpoint in response to detecting the second event, the user can subsequently manually recenter the three-dimensional environment by providing an input to do so. In some embodiments, the results of recentering in response to a second event and recentering in response to a user input are the same. Providing manual recentering provides an efficient method of placing a virtual object in an appropriate position within the three-dimensional environment.

[0258] In some embodiments, the input corresponding to the request to update the spatial placement of the first virtual object relative to the user's second viewpoint to satisfy a first set of one or more criteria includes the selection of a physical button on a computer system (1014), such as the input described with reference to FIG. 7B . In some embodiments, the display generation component is included in a device (e.g., a physical device) that includes a physically depressible button. In some embodiments, the button is also rotatable (e.g., to increase or decrease the level of immersion with which the computer system is displaying the three-dimensional environment, as described with reference to method 800). In some embodiments, the device is a head-mounted device such as a virtual or augmented reality headset. In some embodiments, the input is or includes a button press (but does not include button rotation). Providing manual recentering via physical button activation provides an efficient method of placing a virtual object in an appropriate position within a three-dimensional environment.

[0259] In some embodiments, the display generation component is included in a wearable device (e.g., a head-mounted device such as a virtual or augmented reality headset or glasses) that is wearable by a user, and detecting the first event includes detecting that the user is no longer wearing the wearable device (e.g., detecting that the user has removed the head-mounted device from their head and / or detecting that the head-mounted device is no longer on the user's head) (1016). Other wearable devices, such as smart watches, are also contemplated. In some embodiments, detecting the second event includes detecting that the user has placed the head-mounted device on their head and / or detecting that the head-mounted device has been put back on by the user. Transitioning the display generation component to the second state based on whether the user is wearing the device reduces the number of inputs required to transition to the second state.

[0260] In some embodiments, detecting the first event includes detecting 1018 an input corresponding to a request to cease visibility of the three-dimensional environment via the display generation component. For example, the input is an input to close a virtual or augmented reality experience being presented by the computer system. In some embodiments, the virtual or augmented reality experience is provided by an application being executed by the computer system, and the input is an input to close the application. In some embodiments, the input is an input to exit full-screen mode of the virtual or augmented reality experience. In some embodiments, the input is an input to decrease the immersion level at which the computer system is displaying the three-dimensional environment (e.g., by rotating the aforementioned physical button in a first direction), as described with reference to method 800. In some embodiments, the second event is an input to open or start the virtual or augmented reality experience. In some embodiments, the second event is an input to open or launch an application that provides the virtual or augmented reality experience. In some embodiments, the second event is an input that increases the immersion level (e.g., above a threshold immersion level) at which the computer system is displaying the three-dimensional environment (e.g., by rotating the aforementioned physical button in a second direction different from the first direction), as described with reference to method 800. Transitioning to the second state of the display generating component based on user input provides an efficient way of transitioning to the second state.

[0261] In some embodiments, detecting the first event includes detecting an input corresponding to a request to place the display generation component in a low power state (1020). For example, in some embodiments, the display generation component is included within a device (e.g., a head-mounted device), and the input is an input to turn off power to the device or to place the device in a sleep or low power mode. In some embodiments, the second event is an input to turn on power to the device or to place the device in a normal power mode (e.g., to exit a sleep or low power mode). Transitioning the display generation component to the second state based on whether the user is wearing the device reduces the number of inputs required to transition to the second state.

[0262] It should be understood that the particular order in which the operations in method 1200 are described is merely exemplary and does not indicate that the described order is the only order in which the operations may be performed. Those skilled in the art will recognize various ways to reorder the operations described herein.

[0263] 13A-13C illustrate an example of a computer system that selectively recenters content associated with a communication session between multiple users in response to input detected at the computer system, accor...

Claims

1. 1. A method comprising: A computer system in communication with a display generation component and one or more input devices, comprising: receiving, while the three-dimensional environment is viewable via the display generation component, a first input via the one or more input devices corresponding to a request to update the spatial arrangement of the one or more virtual objects relative to the first viewpoint of the user, the first input corresponding to a request to update the spatial arrangement of the one or more virtual objects relative to the first viewpoint of the user to satisfy a first set of one or more criteria specifying a range of distances or range of orientations of the one or more virtual objects relative to the first viewpoint of the user; In response to receiving the first input, displaying, in the three-dimensional environment, the first virtual object having a second spatial arrangement, relative to the first viewpoint of the user, that differs from the first spatial arrangement in accordance with a determination that the first virtual object satisfies a second set of one or more criteria, wherein the second spatial arrangement of the first virtual object satisfies the first set of one or more criteria; and maintaining the first spatial arrangement of the first virtual object within the three-dimensional environment relative to the first viewpoint of the user in accordance with a determination that the first virtual object does not satisfy the second set of one or more criteria.

2. when the first input is detected, the three-dimensional environment includes the first virtual object and a second virtual object, the second virtual object having a third spatial configuration relative to the first viewpoint of the user; 2. The method of claim 1 , wherein in response to receiving the first input, the first virtual object has the second spatial arrangement relative to the first viewpoint of the user and the second virtual object has the third spatial arrangement relative to the user.

3. 3. The method of claim 1 or 2, wherein the second set of one or more criteria includes criteria that were not met when the first virtual object was last placed or moved within the three-dimensional environment from a viewpoint that satisfies a third set of one or more criteria relative to the first viewpoint of the user.

4. The method of claim 3 , wherein the third set of one or more criteria includes a criterion that is met when the viewpoint is within a threshold distance of the first viewpoint.

5. 5. The method of claim 3 or 4, wherein the third set of one or more criteria includes a criterion that is met when the viewpoint has an orientation in the three-dimensional environment that is within a threshold orientation of an orientation of the first viewpoint in the three-dimensional environment.

6. The method of claim 1 , wherein the second set of one or more criteria includes a criterion that is not satisfied when the first virtual object is fixed to a portion of the user's physical environment.

7. while displaying the first virtual object in the three-dimensional environment; displaying, in the three dimensional environment, a visual indication that the first virtual object is anchored to the portion of the physical environment of the user in accordance with a determination that the first virtual object is anchored to the portion of the physical environment of the user; 7. The method of claim 6, further comprising: displaying the first virtual object in the three-dimensional environment without displaying the visual indication in accordance with a determination that the first virtual object is not anchored to the portion of the physical environment of the user.

8. the first virtual object is part of a collection of a plurality of virtual objects in the three-dimensional environment that satisfy the second set of one or more criteria; the collection having a first distinct spatial arrangement relative to the first viewpoint when the first input is received; 8. The method of claim 1, wherein in response to receiving the first input, the collection is displayed in a second distinct spatial arrangement, relative to the first viewpoint, that is different from the first distinct spatial arrangement, and wherein a spatial arrangement of the plurality of virtual objects in the collection, relative to the first viewpoint after the first input is received, satisfies the first set of one or more criteria.

9. prior to receiving the first input and while the collection has the first distinct spatial arrangement relative to the first viewpoint, the virtual objects in the collection have distinct positional arrangements relative to one another; 10. The method of claim 8, wherein after receiving the first input and while the collection has the second distinct spatial arrangement relative to the first viewpoint, the virtual objects in the collection have the distinct positional arrangement relative to one another.

10. prior to receiving the first input and while the collection has the first distinct spatial arrangement relative to the first viewpoint, the virtual objects in the collection have distinct orientation arrangements relative to one another; 10. The method of claim 8 or 9, wherein after receiving the first input and while the collection has the second distinct spatial arrangement with respect to the first viewpoint, the virtual objects in the collection have the distinct orientation arrangement with respect to one another.

11. the plurality of virtual objects in the collection were last placed or moved within the three-dimensional environment from a second perspective of the user that is different from the first perspective of the user before the first input was received; an average orientation of the plurality of virtual objects relative to the second viewpoint while the collection has the first distinct spatial arrangement relative to the first viewpoint is a distinct orientation; 11. The method of claim 8, wherein the collection has the respective orientation relative to the first viewpoint of the user, while the collection has the second respective spatial arrangement relative to the first viewpoint in response to receiving the first input.

12. the first virtual object was last placed or moved within the three-dimensional environment from a second perspective of the user that is different from the first perspective of the user before the first input was received; the first virtual object is at a first distance from the second viewpoint while the first virtual object has the first spatial arrangement relative to the first viewpoint of the user; 12. The method of claim 1, wherein the first virtual object is at the first distance from the first viewpoint of the user while the first virtual object has the second spatial arrangement relative to the first viewpoint.

13. 13. The method of claim 1, wherein the first virtual object is placed at a first location in the three-dimensional environment before the first input is received, and the first virtual object remains at the first location in the three-dimensional environment until an input to reposition the first virtual object within the three-dimensional environment is received.

14. Prior to receiving the first input, the first virtual object was last placed or moved within the three-dimensional environment from a second perspective of the user that is different from the first perspective of the user, and the method further comprises: prior to receiving the first input; displaying, via the display generating component, a simulated environment and the first virtual object while the three-dimensional environment was visible via the display generating component from the second viewpoint of the user; detecting a movement of the user's viewpoint from the second viewpoint to the first viewpoint while displaying the simulated environment in the three-dimensional environment; 14. The method of claim 1, further comprising: in response to detecting the movement of the user's viewpoint from the second viewpoint to the first viewpoint, maintaining the first virtual object within the three-dimensional environment and ceasing to include at least a portion of the simulated environment within the three-dimensional environment.

15. 15. The method of claim 14, further comprising: displaying the simulated environment from the first viewpoint within the three-dimensional environment in response to receiving the first input while the viewpoint of the user is at the first viewpoint.

16. detecting, while the viewpoint of the user is at the first viewpoint and prior to receiving the first input, a second input via the one or more input devices corresponding to a request to increase a level of immersion in the three-dimensional environment; 16. The method of claim 14 or 15, further comprising: in response to receiving the second input, displaying the simulated environment from the first viewpoint within the three-dimensional environment.

17. 17. The method of claim 16, further comprising, in response to receiving the second input, maintaining the first spatial arrangement of the first virtual object within the three-dimensional environment relative to the first viewpoint of the user.

18. the three-dimensional environment includes a first set of one or more virtual objects whose spatial arrangement with respect to the first viewpoint is altered in response to receiving the first input, and a second set of one or more virtual objects whose spatial arrangement with respect to the first viewpoint is not altered in response to receiving the first input, and the method further comprises: detecting, after receiving the first input, a movement of the user's viewpoint in the three dimensional environment from the first viewpoint to a second viewpoint different from the first viewpoint, wherein in response to detecting the movement of the user's viewpoint, the three dimensional environment is viewable through the display generation component from the second viewpoint of the user, and a position or orientation of the first and second sets of one or more virtual objects within the three dimensional environment is not changed; while the three-dimensional environment is viewable through the display generation component from the second viewpoint of the user, receiving a second input via the one or more input devices corresponding to the request to update the spatial arrangement of one or more virtual objects relative to the second viewpoint of the user to satisfy the first set of one or more criteria specifying the distance range or the orientation range of the one or more virtual objects relative to the second viewpoint of the user; 18. The method of claim 1, further comprising: in response to receiving the second input, modifying a position or orientation of the first and second sets of one or more virtual objects in the three-dimensional environment such that updated positions and orientations of the first and second sets of one or more virtual objects satisfy the first set of one or more criteria relative to the second viewpoint of the user.

19. 20. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs including instructions for performing the method of any one of claims 1 to 18.

20. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by said one or more processors, said one or more programs including instructions for performing the method of any one of claims 1 to 18.

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

22. 1. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs comprising: while the three-dimensional environment is visible via the display generation component, the three-dimensional environment including a first virtual object having a first spatial arrangement relative to a first viewpoint of a user of the three-dimensional environment, the first viewpoint being a current viewpoint of the user of the computer system, receiving, via the one or more input devices, a first input corresponding to a request to update the spatial arrangement of the one or more virtual objects relative to the first viewpoint of the user to satisfy a first set of one or more criteria specifying a range of distances or range of orientations of the one or more virtual objects relative to the first viewpoint of the user; In response to receiving the first input, displaying, in the three-dimensional environment, the first virtual object having a second spatial arrangement, relative to the first viewpoint of the user, that differs from the first spatial arrangement, according to a determination that the first virtual object satisfies a second set of one or more criteria, wherein the second spatial arrangement of the first virtual object satisfies the first set of one or more criteria; and maintaining the first spatial arrangement of the first virtual object within the three-dimensional environment relative to the first viewpoint of the user in accordance with a determination that the first virtual object does not satisfy the second set of one or more criteria.

23. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: while the three-dimensional environment is visible via the display generation component, the three-dimensional environment including a first virtual object having a first spatial arrangement relative to a first viewpoint of the user of the computer system, the first input corresponding to a request to update the spatial arrangement of the one or more virtual objects relative to the first viewpoint of the user to satisfy a first set of one or more criteria specifying a range of distances or range of orientations of the one or more virtual objects relative to the first viewpoint of the user; In response to receiving the first input, displaying, in the three-dimensional environment, the first virtual object having a second spatial arrangement, relative to the first viewpoint of the user, that differs from the first spatial arrangement, according to a determination that the first virtual object satisfies a second set of one or more criteria, wherein the second spatial arrangement of the first virtual object satisfies the first set of one or more criteria; maintain the first spatial arrangement of the first virtual object within the three-dimensional environment relative to the first viewpoint of the user in accordance with a determination that the first virtual object does not satisfy the second set of one or more criteria.

24. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: means for receiving, while the three dimensional environment is viewable via the display generation component, a first input via the one or more input devices corresponding to a request to update the spatial arrangement of the one or more virtual objects relative to the first viewpoint of the user to satisfy a first set of one or more criteria specifying a range of distances or range of orientations of the one or more virtual objects relative to the first viewpoint of the user; In response to receiving the first input, displaying, in the three-dimensional environment, the first virtual object having a second spatial arrangement, relative to the first viewpoint of the user, that differs from the first spatial arrangement, according to a determination that the first virtual object satisfies a second set of one or more criteria, wherein the second spatial arrangement of the first virtual object satisfies the first set of one or more criteria; and means for maintaining the first spatial arrangement of the first virtual object within the three-dimensional environment relative to the first viewpoint of the user according to a determination that the first virtual object does not satisfy the second set of one or more criteria.

25. 1. A method comprising: A computer system in communication with a display generation component and one or more input devices, comprising: receiving, while the three-dimensional environment is viewable through the display generation component from a first viewpoint of a user, via the one or more input devices, a first input corresponding to a request to update a spatial arrangement of the first virtual object relative to the first viewpoint of the user to satisfy a first set of one or more criteria specifying a range of distances or orientations of the virtual object relative to the first viewpoint of the user; In response to receiving the first input, displaying the first virtual object at a second location within the three-dimensional environment in accordance with a determination that the second location is not occupied by an object, the second location satisfying the first set of one or more criteria, wherein a spatial arrangement of the second location relative to the first viewpoint of the user satisfies the first set of one or more criteria; and displaying the first virtual object at a third location within the three-dimensional environment that satisfies the first set of one or more criteria, the third location being spaced apart from the second location within the three-dimensional environment in accordance with a determination that the second location within the three-dimensional environment that satisfies the first set of one or more criteria is occupied.

26. The method of claim 25 , wherein the second location is determined to be occupied when the second location includes a virtual object.

27. 27. The method of claim 25 or 26, wherein the second location is determined to be occupied when the second location corresponds to a location of a physical object in the user's physical environment.

28. In response to the first input, 28. The method of claim 27, wherein, in accordance with a determination that the second location corresponds to a location inside or behind a physical wall in the physical environment of the user, the third location is closer to the first viewpoint of the user than the second location, and the third location is in front of the physical wall relative to the first viewpoint of the user.

29. In response to the first input, 29. The method of claim 27 or 28, wherein, in accordance with a determination that the second location corresponds to a distinct physical object other than a physical wall, the third location is the same distance from the first viewpoint of the user as the second location, and the third location is laterally spaced from the second location relative to the first viewpoint.

30. When the first input is received, the three dimensional environment further includes a second virtual object overlapping the first virtual object, and the method further comprises:

30. The method of claim 25, comprising in response to receiving the first input, separating the first virtual object and the second virtual object from one another to reduce or eliminate the overlap between the first virtual object and the second virtual object.

31. in response to the first input and in accordance with a determination that the second location is occupied by a distinct object; in response to a determination that a separation amount from the second location in a first direction required for the first virtual object to avoid the individual objects at the second location is less than a separation amount from the second location in a second direction different from the first direction required for the first virtual object to avoid the individual objects at the second location, the third location being separated from the second location in the first direction; 31. The method of claim 25, wherein the third location is separated from the second location in the second direction in accordance with a determination that the amount of separation from the second location in the second direction required for the first virtual object to avoid the individual objects at the second location is less than the amount of separation from the second location in the first direction required for the first virtual object to avoid the individual objects at the second location.

32. Displaying the first virtual object at the third location includes:

32. The method of any one of claims 25 to 31, comprising displaying, via the display generation component, an animation of a representation of the first virtual object moving to the second location, followed by an animation of the representation of the first virtual object moving from the second location to the third location.

33. 33. The method of any one of claims 25 to 32, wherein the third location is separated from the second location by one or more of a distance from the first viewpoint of the user, a horizontal distance relative to the first viewpoint of the user, or a vertical distance relative to the first viewpoint of the user.

34. the first virtual object was last placed or positioned at the first location within the three-dimensional environment from a second perspective of the user that is different from the first perspective of the user; in response to a determination that a spatial arrangement of the first location relative to the second viewpoint is a first spatial arrangement, the second location is a first distinct location; 34. The method of claim 25, wherein, in accordance with a determination that the spatial arrangement of the first location relative to the second viewpoint is a second spatial arrangement that is different from the first spatial arrangement, the second location is a second distinct location that is different from the first distinct location.

35. the first virtual object was last placed or positioned within the three dimensional environment from a second perspective of the user, different from the first perspective, and when the first input is received, the three dimensional environment further includes a second virtual object and a third virtual object last placed or positioned within the three dimensional environment from the first perspective of the user, the second and third virtual objects having a first distinct spatial arrangement with respect to the first perspective, and the method further comprises: In response to receiving the first input, updating a spatial arrangement of the second and third virtual objects to be a second distinct spatial arrangement relative to the first viewpoint in accordance with a determination that the second and third virtual objects overlap to reduce or eliminate the overlap between the second virtual object and the third virtual object; 35. The method of claim 25, further comprising: maintaining the second and third virtual objects having the first distinct spatial arrangement relative to the first viewpoint in accordance with a determination that the second and third virtual objects do not overlap.

36. 36. The method of claim 25, further comprising, in response to receiving the first input, displaying, via the display generation component, a visual indication that the first input has been received.

37. 37. The method of claim 36, wherein when the first input is received, the first virtual object has a visual characteristic having a first value, and the visual indication that the first input has been received comprises temporarily updating the first virtual object to have the visual characteristic having a second value different from the first value, and then displaying the first virtual object with the visual characteristic having the first value.

38. When the first input is received, the three dimensional environment further includes a second virtual object at a fourth location within the three dimensional environment, the first virtual object and the second virtual object having a first distinct spatial arrangement relative to one another, and the method further includes: In response to receiving the first input, displaying the first virtual object at the second location in accordance with the determination that the second location is not occupied by an object and displaying the second virtual object at a fifth location, different from the fourth location, that satisfies the first set of one or more criteria, wherein the first virtual object and the second virtual object at the second and fifth locations, respectively, have the first distinct spatial arrangement relative to one another; 38. The method of claim 25, further comprising: displaying the first virtual object at the third location and the second virtual object at a sixth location, different from the fourth location, that satisfies the first set of one or more criteria, wherein the first virtual object and the second virtual object at the third and sixth locations, respectively, have a second individual spatial arrangement relative to one another that is different from the first individual spatial arrangement.

39. When the first input is received, the three dimensional environment includes a first distinct virtual object at a first distinct location within the three dimensional environment and a second distinct virtual object at a second distinct location within the three dimensional environment, and the method includes: In response to receiving the first input, displaying the second distinct virtual object at a third distinct location within the three-dimensional environment; and displaying the first individual virtual object at a fourth individual location from the first viewpoint of the user, the fourth individual location being farther from the first viewpoint of the user than the third individual location and satisfying the first set of one or more criteria in accordance with a determination that a difference in distance between the fourth individual location and the third individual location is greater than a threshold distance, the first individual virtual object at the fourth individual location, the second individual virtual object at the third individual location at least partially obscuring the first individual virtual object at the fourth individual location from the first viewpoint of the user; 39. The method of claim 25, further comprising: displaying, in accordance with a determination that the difference in distance between the fourth individual location and the third individual location from the first viewpoint of the user is less than the threshold distance, the first individual virtual object at a fifth individual location different from the fourth individual location and farther from the first viewpoint of the user than the third individual location, the first individual virtual object satisfying the first set of one or more criteria, and wherein the second individual virtual object at the third individual location does not at least partially obscure the first individual virtual object at the fifth individual location from the first viewpoint of the user.

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

41. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by said one or more processors, said one or more programs including instructions for performing the method of any one of claims 25 to 39.

42. A computer system in communication with a display generation component and one or more input devices, the computer system comprising:

40. A computer system comprising means for carrying out the method of any one of claims 25 to 39.

43. 1. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs comprising: a first input, while the three-dimensional environment is viewable through the display generation component from a first viewpoint of a user, corresponding to a request to update a spatial arrangement of the first virtual object relative to the first viewpoint of the user to satisfy a first set of one or more criteria specifying a range of distances or a range of orientations of the virtual object relative to the first viewpoint of the user; In response to receiving the first input, displaying the first virtual object at a second location within the three-dimensional environment in accordance with a determination that the second location is not occupied by an object, the second location satisfying the first set of one or more criteria, wherein a spatial arrangement of the second location relative to the first viewpoint of the user satisfies the first set of one or more criteria; 11. A non-transitory computer-readable storage medium comprising: instructions for, in accordance with a determination that the second location within the three-dimensional environment that satisfies the first set of one or more criteria is occupied, displaying the first virtual object at a third location within the three-dimensional environment that satisfies the first set of one or more criteria, the third location being spaced apart from the second location within the three-dimensional environment.

44. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: receiving, while the three-dimensional environment is viewable through the display generation component from a first viewpoint of a user, via the one or more input devices, a first input corresponding to a request to update a spatial arrangement of the first virtual object relative to the first viewpoint of the user to satisfy a first set of one or more criteria specifying a range of distances or orientations of the virtual object relative to the first viewpoint of the user; In response to receiving the first input, displaying the first virtual object at a second location within the three-dimensional environment in accordance with a determination that the second location is not occupied by an object, the second location satisfying the first set of one or more criteria, wherein a spatial arrangement of the second location relative to the first viewpoint of the user satisfies the first set of one or more criteria; and displaying the first virtual object at a third location within the three-dimensional environment that satisfies the first set of one or more criteria, the third location being spaced apart from the second location within the three-dimensional environment, in accordance with a determination that the second location within the three-dimensional environment that satisfies the first set of one or more criteria is occupied.

45. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: a first input, while the three-dimensional environment is viewable through the display generation component from a first viewpoint of a user, corresponding to a request to update a spatial arrangement of the first virtual object relative to the first viewpoint of the user to satisfy a first set of one or more criteria specifying a range of distances or orientations of the virtual object relative to the first viewpoint of the user; and In response to receiving the first input, displaying the first virtual object at a second location within the three-dimensional environment in accordance with a determination that the second location is not occupied by an object, the second location satisfying the first set of one or more criteria, wherein a spatial arrangement of the second location relative to the first viewpoint of the user satisfies the first set of one or more criteria; means for displaying the first virtual object at a third location within the three-dimensional environment that satisfies the first set of one or more criteria, the third location being spaced apart from the second location within the three-dimensional environment, in accordance with a determination that the second location within the three-dimensional environment that satisfies the first set of one or more criteria is occupied.

46. 1. A method comprising: A computer system in communication with a display generation component and one or more input devices, comprising: displaying, via the display generation component, a first virtual object in the three-dimensional environment having a first spatial arrangement relative to the first viewpoint of the user and a second spatial arrangement relative to the three-dimensional environment, while the display generation component is operating in a first state in which the three-dimensional environment is visible from a first viewpoint of a user, the first viewpoint of the user being associated with a first individual spatial arrangement of the user relative to the three-dimensional environment; while displaying the first virtual object in the first spatial arrangement relative to the first viewpoint of the user and in the second spatial arrangement relative to the three-dimensional environment, detecting a first event corresponding to a change in a state of the display generating component to a second state different from the first state, the three-dimensional environment being invisible through the display generating component while the display generating component is in the second state; after the change of state of the display generation component from the first state to the second state, detecting a second event corresponding to a change in a state of the display generation component from the second state to the first state in which the three-dimensional environment is visible through the display generation component, wherein while the display generation component is in the first state after detecting the second event, the three-dimensional environment is visible through the display generation component from a second perspective different from the first perspective of the user, the second perspective being associated with a second individual spatial arrangement of the user relative to the three-dimensional environment; and in response to detecting the second event, displaying, via the display generation component, the first virtual object within the three-dimensional environment while the three-dimensional environment is visible from the second perspective, wherein the displaying comprises: displaying, in the three-dimensional environment, the first virtual object having the first spatial arrangement relative to the second viewpoint of the user and a third spatial arrangement, relative to the three-dimensional environment, different from the second spatial arrangement, in accordance with a determination that one or more criteria are satisfied; and displaying, in the three-dimensional environment, the first virtual object having a fourth spatial arrangement that is different from the first spatial arrangement relative to the second viewpoint of the user and the second spatial arrangement relative to the three-dimensional environment in accordance with a determination that the one or more criteria are not satisfied.

47. 47. The method of claim 46, wherein the one or more criteria are met when a duration between the first event and the second event is greater than a time threshold and are not met when the duration between the first event and the second event is less than the time threshold.

48. 48. The method of claim 46 or 47, wherein the one or more criteria are met when the second viewpoint of the user is greater than a threshold distance from the first viewpoint of the user in the three-dimensional environment, and are not met when the second viewpoint of the user is less than the threshold distance from the first viewpoint of the user in the three-dimensional environment.

49. 49. The method of any one of claims 46 to 48, wherein the one or more criteria are met when an orientation difference between the first and second viewpoints of the user in the three-dimensional environment is greater than a threshold, and are not met when an orientation difference between the first and second viewpoints of the user in the three-dimensional environment is less than the threshold.

50. 50. The method of claim 46, wherein the one or more criteria are met when the first viewpoint of the user corresponds to a location in a first room in the three-dimensional environment and the second viewpoint of the user corresponds to a location in a second room different from the first room in the three-dimensional environment, and are not met when the first viewpoint of the user and the second viewpoint of the user correspond to locations in the same room in the three-dimensional environment.

51. while the three-dimensional environment is visible from the second viewpoint of the user and while displaying, via the display generation component, the first virtual object having the fourth spatial arrangement relative to the second viewpoint of the user and the second spatial arrangement relative to the three-dimensional environment in accordance with the determination that the one or more criteria are not satisfied, detecting, via the one or more input devices, input corresponding to a request to update the spatial arrangement of the first virtual object relative to the second viewpoint of the user to satisfy a first set of one or more criteria specifying a range of distances or a range of orientations of the virtual object relative to the second viewpoint of the user; 51. The method of any one of claims 46 to 50, further comprising: in response to detecting the input, displaying in the three-dimensional environment the first virtual object having the first spatial arrangement relative to the second viewpoint of the user and the third spatial arrangement relative to the three-dimensional environment.

52. 52. The method of claim 51 , wherein the input corresponding to the request to update the spatial arrangement of the first virtual object relative to the second viewpoint of the user to satisfy the first set of one or more criteria comprises selection of a physical button on the computer system.

53. 53. The method of any one of claims 46 to 52, wherein the display generation component is included in a wearable device wearable by the user, and detecting the first event includes detecting that the user is no longer wearing the wearable device.

54. 54. The method of any one of claims 46 to 53, wherein detecting the first event comprises detecting an input corresponding to a request to cease visibility of the three-dimensional environment via the display generation component.

55. 55. The method of any one of claims 46 to 54, wherein detecting the first event comprises detecting an input corresponding to a request to place the display generation component in a lower power state.

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

57. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by said one or more processors, said one or more programs including instructions for performing a method according to any one of claims 46 to 55.

58. A computer system in communication with a display generation component and one or more input devices, the computer system comprising:

56. A computer system comprising means for carrying out the method of any one of claims 46 to 55.

59. 1. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs comprising: while the display generation component is operating in a first state in which the three-dimensional environment is visible from a first viewpoint of a user, the first viewpoint of the user being associated with a first individual spatial arrangement of the user relative to the three-dimensional environment, displaying, via the display generation component, a first virtual object in the three-dimensional environment having a first spatial arrangement relative to the first viewpoint of the user and a second spatial arrangement relative to the three-dimensional environment; while displaying the first virtual object in the first spatial arrangement relative to the first viewpoint of the user and in the second spatial arrangement relative to the three-dimensional environment, detect a first event corresponding to a change in a state of the display generating component to a second state different from the first state, the three-dimensional environment being invisible through the display generating component while the display generating component is in the second state; after the change of state of the display generation component from the first state to the second state, detect a second event corresponding to a change in a state of the display generation component from the second state to the first state in which the three-dimensional environment is visible through the display generation component, wherein while the display generation component is in the first state after detecting the second event, the three-dimensional environment is visible through the display generation component from a second perspective different from the first perspective of the user, the second perspective being associated with a second individual spatial arrangement of the user relative to the three-dimensional environment; In response to detecting the second event, displaying, via the display generation component, the first virtual object within the three-dimensional environment while the three-dimensional environment is visible from the second perspective, wherein displaying includes instructions for: displaying, in the three-dimensional environment, the first virtual object having the first spatial arrangement relative to the second viewpoint of the user and a third spatial arrangement, relative to the three-dimensional environment, different from the second spatial arrangement, in accordance with a determination that one or more criteria are satisfied; and displaying, in the three-dimensional environment, the first virtual object having a fourth spatial arrangement that is different from the first spatial arrangement relative to the second viewpoint of the user and the second spatial arrangement relative to the three-dimensional environment in accordance with a determination that the one or more criteria are not satisfied.

60. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: while the display generation component is operating in a first state in which the three-dimensional environment is visible from a first viewpoint of a user, the first viewpoint of the user being associated with a first individual spatial arrangement of the user relative to the three-dimensional environment, displaying, via the display generation component, a first virtual object in the three-dimensional environment having a first spatial arrangement relative to the first viewpoint of the user and a second spatial arrangement relative to the three-dimensional environment; while displaying the first virtual object in the first spatial arrangement relative to the first viewpoint of the user and in the second spatial arrangement relative to the three-dimensional environment, detect a first event corresponding to a change in a state of the display generating component to a second state different from the first state, the three-dimensional environment being invisible through the display generating component while the display generating component is in the second state; after the change of state of the display generation component from the first state to the second state, detect a second event corresponding to a change in a state of the display generation component from the second state to the first state in which the three-dimensional environment is visible through the display generation component, wherein while the display generation component is in the first state after detecting the second event, the three-dimensional environment is visible through the display generation component from a second perspective different from the first perspective of the user, the second perspective being associated with a second individual spatial arrangement of the user relative to the three-dimensional environment; In response to detecting the second event, displaying, via the display generation component, the first virtual object within the three-dimensional environment while the three-dimensional environment is visible from the second perspective, wherein displaying includes instructions for: displaying, in the three-dimensional environment, the first virtual object having the first spatial arrangement relative to the second viewpoint of the user and a third spatial arrangement, relative to the three-dimensional environment, different from the second spatial arrangement, in accordance with a determination that one or more criteria are satisfied; and displaying, in the three-dimensional environment, the first virtual object having a fourth spatial arrangement that is different from the first spatial arrangement relative to the second viewpoint of the user and the second spatial arrangement relative to the three-dimensional environment in accordance with a determination that the one or more criteria are not satisfied.

61. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: means for displaying, via the display generation component, in the three dimensional environment, a first virtual object having a first spatial arrangement relative to the first viewpoint of the user and a second spatial arrangement relative to the three dimensional environment, while the display generation component is operating in a first state in which the three dimensional environment is visible from a first viewpoint of a user, the first viewpoint of the user being associated with a first individual spatial arrangement of the user relative to the three dimensional environment; means for detecting, while displaying the first virtual object in the first spatial arrangement relative to the first viewpoint of the user and in the second spatial arrangement relative to the three-dimensional environment, a first event corresponding to a change in a state of the display generating component to a second state different from the first state, the three-dimensional environment being invisible through the display generating component while the display generating component is in the second state; after the change of state of the display generation component from the first state to the second state, detect a second event corresponding to a change in a state of the display generation component from the second state to the first state in which the three-dimensional environment is visible through the display generation component, wherein while the display generation component is in the first state after detecting the second event, the three-dimensional environment is visible through the display generation component from a second perspective different from the first perspective of the user, the second perspective being associated with a second individual spatial arrangement of the user relative to the three-dimensional environment; and means for displaying, in response to detecting the second event, the first virtual object within the three-dimensional environment via the display generation component while the three-dimensional environment is visible from the second perspective, wherein the displaying includes: displaying, in the three-dimensional environment, the first virtual object having the first spatial arrangement relative to the second viewpoint of the user and a third spatial arrangement, relative to the three-dimensional environment, different from the second spatial arrangement, in accordance with a determination that one or more criteria are satisfied; and displaying, in the three-dimensional environment, the first virtual object having a fourth spatial arrangement different from the first spatial arrangement relative to the second viewpoint of the user and the second spatial arrangement relative to the three-dimensional environment in accordance with a determination that the one or more criteria are not satisfied.

62. 1. A method comprising: A first computer system having a display generating component and one or more input devices, a plurality of virtual objects in the three-dimensional environment including a first virtual object and a second virtual object, the plurality of virtual objects being displayed via the display generating component while a communication session between a first user of the first computer system and a second user of a second computer system is ongoing and the three-dimensional environment is viewable from a first perspective of the first user via the display generating component; the first virtual object of the plurality of virtual objects is accessible from the first computer system and the second computer system; The three-dimensional environment comprises: a representation of the second user of the second computer system at a first location within the three-dimensional environment; and a first virtual object accessible by the first computer system at a second location within the three-dimensional environment, the first virtual object accessible by the second computer system; and a second virtual object accessible by the first computer system at a third location within the three-dimensional environment, the second virtual object not accessible by the second computer system; the representation of the second user having a first spatial arrangement relative to the first virtual object; displaying a plurality of virtual objects, the second virtual object having a second spatial arrangement relative to the first virtual object and the representation of the second user; receiving, while displaying a plurality of virtual objects in the three-dimensional environment, a first input via the one or more input devices corresponding to a request to update a spatial arrangement of one or more virtual objects relative to a current viewpoint of the first user; In response to receiving the first input, moving the representation of the second user and content associated with the communication session between the first user and the second user relative to the three-dimensional environment; moving the second virtual object relative to the three-dimensional environment in accordance with a determination that at least a portion of the content associated with the communication session between the first user and the second user has been moved to a location in the three-dimensional environment that is within a threshold distance of the second virtual object; and maintaining a position of the second virtual object relative to the three-dimensional environment in accordance with a determination that the content associated with the communication session between the first user and the second user is not at a location in the three-dimensional environment that is within the threshold distance of the second virtual object.

63. In response to receiving the first input, moving the second virtual object relative to the three-dimensional environment in accordance with a determination that the second virtual object not accessible by the second computer system is within the threshold distance of a location corresponding to a physical object in the first user's physical environment; 63. The method of claim 62, further comprising: maintaining a position of the second virtual object relative to the three-dimensional environment in accordance with a determination that the second virtual object is not within the threshold distance of the location corresponding to the physical object.

64. In response to receiving the first input, 64. The method of claim 62 or 63, wherein moving the content relative to the three-dimensional environment is independent of whether the content is within the threshold distance of a location corresponding to a physical object in the first user's physical environment.

65. while the communication session between the first user of the first computer system and the second user of the second computer system is ongoing and the three-dimensional environment is viewable via the display generation component from a second perspective of the first user that is different from the first perspective, the three-dimensional environment including the plurality of virtual objects, receiving, via the one or more input devices, a second input corresponding to a request to update a spatial arrangement of one or more virtual objects relative to a current perspective of the first user to satisfy first one or more criteria specifying a distance range or an orientation range of the one or more virtual objects relative to the current perspective of the first user; 65. The method of any one of claims 62 to 64, further comprising: in response to receiving the second input, moving the second virtual object relative to the three-dimensional environment to a fourth location within the three-dimensional environment that satisfies the first one or more criteria.

66. 66. The method of any one of claims 62 to 65, wherein the first virtual object is movable relative to the three-dimensional environment based on movement input directed at the first virtual object by the second user at the second computer system.

67. 67. The method of any of claims 62 to 66, wherein the communication session is conducted between the first user, the second user, and a third user of a third computer system, and a representation of the third user and the representation of the second user are moved relative to the three-dimensional environment in response to receiving the first input.

68. 68. The method of any of claims 62 to 67, wherein the three-dimensional environment further includes a third virtual object accessible by the first computer system and the second computer system, and the content associated with the communication session that is moved in response to receiving the first input includes the first virtual object and the third virtual object.

69. 69. The method of any of claims 62 to 68, wherein the second computer system displays a second three-dimensional environment including a representation of the first user, and in response to the first computer system receiving the first input, the representation of the first user is moved relative to the second three-dimensional environment.

70. 70. A non-transitory computer readable storage medium storing one or more programs configured to be executed by one or more processors of a first computer system in communication with a display generating component and one or more input devices, the one or more programs including instructions for performing the method of any one of claims 62 to 69.

71. A first computer system in communication with a display generation component and one or more input devices, the first computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 62 to 69.

72. A first computer system in communication with a display generation component and one or more input devices, the first computer system comprising:

70. A first computer system comprising means for carrying out the method of any one of claims 62 to 69.

73. 1. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a first computer system in communication with a display generation component and one or more input devices, the one or more programs comprising: a plurality of virtual objects in the three-dimensional environment including a first virtual object and a second virtual object, the plurality of virtual objects being displayed via the display generating component while a communication session between a first user of the first computer system and a second user of a second computer system is ongoing and the three-dimensional environment is viewable from a first perspective of the first user via the display generating component; the first virtual object of the plurality of virtual objects is accessible from the first computer system and the second computer system; The three-dimensional environment comprises: a representation of the second user of the second computer system at a first location within the three-dimensional environment; and a first virtual object accessible by the first computer system at a second location within the three-dimensional environment, the first virtual object accessible by the second computer system; and a second virtual object accessible by the first computer system at a third location within the three-dimensional environment, the second virtual object not accessible by the second computer system; the representation of the second user having a first spatial arrangement relative to the first virtual object; the second virtual object displays a plurality of virtual objects having a second spatial arrangement relative to the first virtual object and the representation of the second user; receiving, while displaying a plurality of virtual objects in the three-dimensional environment, a first input via the one or more input devices corresponding to a request to update a spatial arrangement of one or more virtual objects relative to a current viewpoint of the first user; In response to receiving the first input, moving the representation of the second user and content associated with the communication session between the first user and the second user relative to the three-dimensional environment; moving the second virtual object relative to the three-dimensional environment in accordance with a determination that at least a portion of the content associated with the communication session between the first user and the second user has been moved to a location in the three-dimensional environment that is within a threshold distance of the second virtual object; and maintaining a position of the second virtual object relative to the three-dimensional environment in accordance with a determination that the content associated with the communication session between the first user and the second user is not at a location in the three-dimensional environment that is within the threshold distance of the second virtual object.

74. A first computer system in communication with a display generation component and one or more input devices, the first computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: a plurality of virtual objects in the three-dimensional environment including a first virtual object and a second virtual object, the plurality of virtual objects being displayed via the display generating component while a communication session between a first user of the first computer system and a second user of a second computer system is ongoing and the three-dimensional environment is viewable from a first perspective of the first user via the display generating component; the first virtual object of the plurality of virtual objects is accessible from the first computer system and the second computer system; The three-dimensional environment comprises: a representation of the second user of the second computer system at a first location within the three-dimensional environment; and a first virtual object accessible by the first computer system at a second location within the three-dimensional environment, the first virtual object accessible by the second computer system; and a second virtual object accessible by the first computer system at a third location within the three-dimensional environment, the second virtual object not accessible by the second computer system; the representation of the second user having a first spatial arrangement relative to the first virtual object; the second virtual object displays a plurality of virtual objects having a second spatial arrangement relative to the first virtual object and the representation of the second user; receiving, while displaying a plurality of virtual objects in the three-dimensional environment, a first input via the one or more input devices corresponding to a request to update a spatial arrangement of one or more virtual objects relative to a current viewpoint of the first user; In response to receiving the first input, moving the representation of the second user and content associated with the communication session between the first user and the second user relative to the three-dimensional environment; moving the second virtual object relative to the three-dimensional environment in accordance with a determination that at least a portion of the content associated with the communication session between the first user and the second user has been moved to a location in the three-dimensional environment that is within a threshold distance of the second virtual object; and maintaining a position of the second virtual object relative to the three-dimensional environment in accordance with a determination that the content associated with the communication session between the first user and the second user is not at a location in the three-dimensional environment that is within the threshold distance of the second virtual object.

75. A first computer system in communication with a display generation component and one or more input devices, the first computer system comprising: a plurality of virtual objects in the three-dimensional environment including a first virtual object and a second virtual object, the plurality of virtual objects being displayed via the display generating component while a communication session between a first user of the first computer system and a second user of a second computer system is ongoing and the three-dimensional environment is viewable from a first perspective of the first user via the display generating component; the first virtual object of the plurality of virtual objects is accessible from the first computer system and the second computer system; The three-dimensional environment comprises: a representation of the second user of the second computer system at a first location within the three-dimensional environment; and a first virtual object accessible by the first computer system at a second location within the three-dimensional environment, the first virtual object accessible by the second computer system; and a second virtual object accessible by the first computer system at a third location within the three-dimensional environment, the second virtual object not accessible by the second computer system; the representation of the second user having a first spatial arrangement relative to the first virtual object; means for displaying a plurality of virtual objects, the second virtual object having a second spatial arrangement relative to the first virtual object and the representation of the second user; means for receiving, while displaying a plurality of virtual objects in the three-dimensional environment, a first input via the one or more input devices corresponding to a request to update a spatial arrangement of one or more virtual objects relative to a current viewpoint of the first user; In response to receiving the first input, moving the representation of the second user and content associated with the communication session between the first user and the second user relative to the three-dimensional environment; moving the second virtual object relative to the three-dimensional environment in accordance with a determination that at least a portion of the content associated with the communication session between the first user and the second user has been moved to a location in the three-dimensional environment that is within a threshold distance of the second virtual object; and means for maintaining a position of the second virtual object relative to the three-dimensional environment in accordance with a determination that the content associated with the communication session between the first user and the second user is not at a location in the three-dimensional environment that is within the threshold distance of the second virtual object.

76. 1. A method comprising: A computer system in communication with a display generation component and one or more input devices, comprising: a first virtual object including first content from a first perspective of a user of the computer system, the first virtual object being displayed through the display generating component while a three-dimensional environment is visible through the display generating component from the first perspective of the user of the computer system; the first virtual object has a first size and a first shape relative to the three-dimensional environment; the first virtual object is visible from a first angle from the first viewpoint; displaying a first virtual object, while the first virtual object is viewed at the first angle from the first perspective, a distinct visual characteristic of the first content having a first value corresponding to a first visual salience level of the first content in the three-dimensional environment; detecting, while displaying, via the display generation component, the first virtual object in the three-dimensional environment from the first viewpoint, a movement of the user's current viewpoint from the first viewpoint to a second viewpoint different from the first viewpoint; in response to detecting the movement of the current viewpoint of the user from the first viewpoint to the second viewpoint, displaying, in the three-dimensional environment, the first virtual object from the second viewpoint while the three-dimensional environment is visible from the second viewpoint of the user; the first virtual object maintains the first size and the first shape relative to the three-dimensional environment; the first virtual object is visible from the second viewpoint to a second angle different from the first angle; The method of claim 1, wherein while the first virtual object is viewed at the second angle from the second perspective, the individual visual characteristics of the first content have a second value corresponding to a second visual salience level of the first content in the three-dimensional environment, the second visual salience level of the first content being different from the first visual salience level.

77. 77. The method of claim 76, wherein detecting the movement of the current viewpoint of the user from the first viewpoint to the second viewpoint comprises detecting movement of the user in the user's physical environment.

78. the three-dimensional environment is visible from the first perspective and the second perspective of the user during a communication session between the user of the computer system and a second user of a second computer system, and the first virtual object is accessible by the computer system and the second computer system; 78. The method of claim 76 or 77, wherein detecting the movement of the current viewpoint of the user from the first viewpoint to the second viewpoint comprises detecting movement of the first virtual object relative to the current viewpoint of the user.

79. detecting, while displaying the first virtual object from the second viewpoint, via the one or more input devices, a discrete input corresponding to a request to move the first virtual object relative to the second viewpoint of the user; 79. The method of any one of claims 76 to 78, further comprising: in response to detecting the distinct input, moving the first virtual object relative to the second viewpoint of the user in the three-dimensional environment in accordance with the distinct input, wherein while moving the first virtual object relative to the second viewpoint of the user, displaying the first virtual object in one or more second orientations relative to the second viewpoint of the user that are different from the first orientation with respect to the second viewpoint of the user, the one or more second orientations being based on a relative location of the first virtual object with respect to the second viewpoint of the user.

80. 80. The method of any one of claims 76 to 79, wherein the second visual salience level of the first content is less than the first visual salience level of the first content, and wherein reducing the visual salience of the first content from the first level to the second level comprises fading a display of the first content in the three-dimensional environment.

81. 81. The method of any one of claims 76 to 80, wherein the second visual salience level of the first content is less than the first visual salience level of the first content, and wherein reducing the visual salience of the first content from the first level to the second level comprises blurring the display of the first content in the three-dimensional environment.

82. 82. The method of any one of claims 76 to 81, wherein the second visual salience level of the first content is less than the first visual salience level of the first content, and wherein reducing the visual salience of the first content from the first level to the second level comprises reducing an opacity of the first content in the three-dimensional environment.

83. the first content is displayed on a first side of the first virtual object, the second angle is directed to a second side of the first virtual object different from the first side, and displaying the first virtual object from the second perspective; 83. The method of any one of claims 76 to 82, comprising displaying the first virtual object semi-transparently without displaying the first content.

84. displaying the first virtual object from the first viewpoint includes displaying the first virtual object in association with a user interface element for moving the first virtual object relative to the three-dimensional environment; 84. The method of any one of claims 76 to 83, wherein displaying the first virtual object from the second perspective includes displaying the first virtual object in association with the user interface element for moving the first virtual object relative to the three-dimensional environment.

85. detecting, via the one or more input devices, a discrete input corresponding to a request to move the first virtual object relative to the second viewpoint of the user while displaying the first virtual object from the second viewpoint and the first content having the discrete visual characteristic having the second value corresponding to a second visual saliency level of the first content in the three-dimensional environment that is less than the first visual saliency level of the first content; In response to detecting the individual input, moving the first virtual object in the three-dimensional environment relative to the second viewpoint of the user in accordance with the individual input; 85. The method of claim 76, further comprising: displaying the first content within the first virtual object with the individual visual characteristic having a third value corresponding to a third visual salience level of the first content that is greater than the second visual salience level of the first content.

86. Prior to detecting the distinct input, while displaying the first virtual object from the second viewpoint and the first content having the distinct visual characteristic with the second value corresponding to the second visual salience level of the first content in the three-dimensional environment, the first virtual object has a first orientation with respect to the second viewpoint of the user, the first orientation being oriented away from the second viewpoint, the method further comprising: In response to detecting the individual input, 86. The method of claim 85, further comprising displaying the first virtual object in the three-dimensional environment in a second orientation oriented toward the second viewpoint of the user that is different from the first orientation with respect to the second viewpoint.

87. Displaying the first virtual object includes: displaying the first virtual object with a first appearance while the first virtual object is visible from a first range of angles that includes the first angle; and displaying the first virtual object with a second appearance different from the first appearance while the first virtual object is visible from a second range of angles different from the first range of angles that includes the second angle.

88. Displaying the first virtual object includes:

90. The method of claim 87, comprising displaying the first virtual object in a third appearance different from the first appearance and the second appearance while the first virtual object is visible from a third range of angles different from the first range of angles and the second range of angles.

89. detecting, while displaying, via the display generation component, the first virtual object within the three-dimensional environment from the first viewpoint, a distinct visual characteristic of the first content having the first value corresponding to the first visual salience level of the first content within the three-dimensional environment, the first virtual object being a first distance from the first viewpoint that is less than a threshold distance, via the one or more input devices, a distinct input corresponding to a request to move the first virtual object to a location that is a second distance from the first viewpoint of the user, the second distance being different from the first distance; In response to receiving the individual input, moving the first virtual object to the location that is at the second distance from the first viewpoint of the user in accordance with the individual input; 89. The method of any one of claims 76 to 88, further comprising: displaying the first content within the first virtual object with the individual visual characteristic having a third value corresponding to a third visual saliency level of the first content in the three-dimensional environment in accordance with a determination that the second distance is greater than the threshold distance from the first viewpoint of the user, wherein the third visual saliency level of the first content is lower than the first visual saliency level of the first content.

90. while displaying, via the display generation component, the first virtual object in the three dimensional environment from the first perspective, displaying, in the three dimensional environment, a second virtual object including second content from the first perspective, wherein the distinct visual characteristic of the second content has a third value corresponding to a third visual salience level of the second content in the three dimensional environment; 90. The method of any one of claims 76 to 89, further comprising: displaying, via the display generation component, the second virtual object in the three dimensional environment from the second perspective while displaying the first virtual object in the three dimensional environment from the second perspective, wherein the distinct visual characteristic of the second content has a fourth value corresponding to a fourth visual saliency level of the second content in the three dimensional environment, the fourth visual saliency level being different from the third visual saliency level.

91. detecting, while the three-dimensional environment is visible through the display generation component from the first viewpoint of the user and the first virtual object has a first orientation relative to the first viewpoint of the user and a second orientation relative to the three-dimensional environment, a discrete input via the one or more input devices corresponding to a request to move the first virtual object from a first location to a second location relative to the three-dimensional environment, the first orientation being directed toward the first viewpoint of the user; 91. The method of any one of claims 76 to 90, further comprising: in response to the individual input, displaying, via the display generation component, the first virtual object at the second location in the three-dimensional environment, the first virtual object having the first orientation relative to the first viewpoint of the user and a third orientation relative to the three-dimensional environment that is different from the second orientation.

92. detecting an indication of an input via the one or more input devices selecting the first virtual object while the first virtual object is visible from the second perspective, the first virtual object being at a first position within the three-dimensional environment; 92. The method of any one of claims 76 to 91, further comprising: in response to the indication of the input selecting the first virtual object, in accordance with a determination that the first position of the first virtual object satisfies one or more criteria including a criterion that is satisfied when the first position is less than a threshold distance from the second viewpoint of the user, moving the first virtual object from the first position in the three dimensional environment to a second position in the three dimensional environment that is greater than the threshold distance from the second viewpoint of the user.

93. detecting an indication of an input via the one or more input devices selecting the first virtual object while the first virtual object is visible from the second perspective, the first virtual object being at a first position within the three-dimensional environment; 93. The method of claim 92, further comprising: in response to the indication of the input selecting the first virtual object, increasing salience of the first virtual object relative to the three-dimensional environment in accordance with a determination that the first position of the first virtual object satisfies one or more criteria including a criterion that is satisfied when the first position is greater than a threshold distance from the second viewpoint of the user.

94. 94. The method of claim 93, wherein increasing the conspicuousness of the first virtual object comprises increasing a size of the first virtual object in the three-dimensional environment.

95. 95. The method of claim 93 or 94, wherein increasing the salience of the first virtual object comprises moving the first virtual object to a second position in the three-dimensional environment that is less than the threshold distance from the second viewpoint of the user.

96. displaying the first virtual object from the first perspective includes displaying the user interface element with a second distinct visual characteristic having a third value corresponding to a third visual saliency level; 85. The method of claim 84, wherein displaying the first virtual object from the second perspective includes displaying the user interface element with the second distinct visual characteristic having a fourth value, different from the third value, corresponding to a fourth visual salience level, different from the third visual salience level.

97. In response to detecting the distinct input, displaying the first virtual object in the three dimensional environment having the second orientation relative to the second viewpoint of the user includes: displaying, in the three dimensional environment, an animation of the first virtual object rotating from the first orientation to the second orientation relative to the second viewpoint in accordance with a determination that the first orientation of the first virtual object relative to the second viewpoint is within a first range of orientations; and displaying, in the three dimensional environment, a cross-fade of the first virtual object from the first orientation to the second orientation relative to the second viewpoint in accordance with a determination that the first orientation of the first virtual object relative to the second viewpoint is within a second range of orientations that is different from the first range of orientations.

98. the third appearance includes displaying a distinct identifier of the first virtual object while the first virtual object is visible from the third angular range; 89. The method of claim 87 or 88, wherein the first appearance does not include display of the individual identifier of the first virtual object while the first visual object is visible from the first angular range.

99. detecting, while displaying the first virtual object in the three-dimensional environment, an indication of an input directed toward the first virtual object via the one or more input devices; in response to detecting the indication of the input directed at the first virtual object, pursuant to a determination that the first virtual object is at a third angle relative to the second viewpoint of the user, the third angle being different from the second angle from the second viewpoint, initiating one or more actions based on the indication of the input directed toward the first virtual object; 99. The method of any one of claims 76 to 98, further comprising: refraining from initiating the one or more actions based on the indication of the input directed toward the first virtual object in accordance with a determination that the first virtual object is at the second angle relative to the second viewpoint of the user, the second angle being different from the first angle.

100. detecting, while displaying, via the display generation component, the first virtual object in the three-dimensional environment from the first perspective, a movement of the current viewpoint of the user from the first perspective to a third perspective, where the movement of the current viewpoint from the first perspective to the third perspective corresponds to a transition from the first virtual object being visible from the first angle relative to a front surface of the first virtual object to the first virtual object being visible from a third angle greater than the first angle relative to a front surface of the first virtual object; In response to detecting a movement of the current viewpoint of the user from the first viewpoint to the third viewpoint, displaying the first virtual object with the respective visual characteristic of the first content having a third value corresponding to a third visual salience level of the first content in the three-dimensional environment that is lower than the first visual salience level in accordance with a determination that the third angle is greater than a first threshold angle; maintain display of the first virtual object at the distinct visual characteristic of the first content having the first value corresponding to the first visual salience level of the first content in the three dimensional environment according to a determination that the third angle is less than the first threshold angle; detecting, while displaying, via the display generation component, the first virtual object in the three-dimensional environment from the third perspective, a movement of the current viewpoint of the user from the third perspective to a fourth perspective, where the movement of the current viewpoint from the third perspective to the fourth perspective corresponds to a transition from the first virtual object being visible from the third angle relative to a front surface of the first virtual object to the first virtual object being visible from a fourth angle relative to a front surface of the first virtual object that is less than the third angle; in response to detecting the movement of the current viewpoint of the user from the third viewpoint to the fourth viewpoint; displaying the first virtual object at the respective visual characteristics of the first content having a fourth value corresponding to a fourth visual saliency level of the first content in the three-dimensional environment, the fourth visual saliency level being greater than the third visual saliency level, in accordance with a determination that the fourth angle is less than a second threshold angle; 100. The method of any one of claims 76 to 99, further comprising: maintaining a display of the first virtual object at the individual visual characteristic of the first content having the third value corresponding to the third visual salience level of the first content in the three dimensional environment in accordance with a determination that the fourth angle is greater than the second threshold angle.

101. detecting, while displaying the first virtual object, an input directed toward the first virtual object via the one or more input devices; In response to detecting the interaction input, performing one or more actions associated with the first virtual object in accordance with the input in accordance with a determination that the current viewpoint corresponds to the first viewpoint; 101. The method of claim 76, further comprising: refraining from initiating the one or more actions associated with the first virtual object in accordance with the input in accordance with a determination that the current viewpoint corresponds to the second viewpoint.

102. 102. The method of claim 76, wherein displaying the first virtual object with the second visual salience level comprises displaying one or more virtual elements simultaneously with the first virtual object.

103. 103. The method of claim 102, wherein the one or more virtual elements include a virtual boundary surrounding the first virtual object having a third visual salience level.

104. 103. The method of claim 102, wherein the one or more virtual elements include a fill pattern overlaid on top of the first virtual object.

105. displaying the first virtual object having the first visual salience level includes displaying a virtual shadow associated with the first virtual object having a third visual salience level; 105. The method of claim 76, wherein displaying the first virtual object having the second visual saliency level includes displaying the virtual shadow associated with the first virtual object having a fourth visual saliency level lower than the third visual saliency level.

106. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs including instructions for performing the method of any one of claims 76 to 105.

107. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by said one or more processors, said one or more programs including instructions for performing the method of any one of claims 76 to 105.

108. A computer system in communication with a display generation component and one or more input devices, the computer system comprising:

106. A computer system comprising means for carrying out the method of any one of claims 76 to 105.

109. 1. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs comprising: a first virtual object including first content from a first perspective of a user of the computer system, the first virtual object being displayed through the display generating component while a three-dimensional environment is visible through the display generating component from the first perspective of the user of the computer system; the first virtual object has a first size and a first shape relative to the three-dimensional environment; the first virtual object is visible from a first angle from the first viewpoint; displaying a first virtual object, wherein a distinct visual characteristic of the first content has a first value corresponding to a first visual salience level of the first content in the three-dimensional environment while the first virtual object is viewed at the first angle from the first perspective; detecting, while displaying, via the display generation component, the first virtual object in the three-dimensional environment from the first viewpoint, a movement of the user's current viewpoint from the first viewpoint to a second viewpoint different from the first viewpoint; in response to detecting the movement of the current viewpoint of the user from the first viewpoint to the second viewpoint, display, in the three dimensional environment, the first virtual object from the second viewpoint while the three dimensional environment is visible from the second viewpoint of the user; the first virtual object maintains the first size and the first shape relative to the three-dimensional environment; the first virtual object is visible from the second viewpoint to a second angle different from the first angle; a first virtual object viewing apparatus configured to view a first virtual object from a second perspective at a second angle; a second visual characteristic of the first content having a second value corresponding to a second visual salience level of the first content in the three-dimensional environment, the second visual salience level of the first content being different from the first visual salience level.

110. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: a first virtual object including first content from a first perspective of a user of the computer system, the first virtual object being displayed through the display generating component while a three-dimensional environment is visible through the display generating component from the first perspective of the user of the computer system; the first virtual object has a first size and a first shape relative to the three-dimensional environment; the first virtual object is visible from a first angle from the first viewpoint; displaying a first virtual object, wherein a distinct visual characteristic of the first content has a first value corresponding to a first visual salience level of the first content in the three-dimensional environment while the first virtual object is viewed at the first angle from the first perspective; detecting, while displaying, via the display generation component, the first virtual object in the three-dimensional environment from the first viewpoint, a movement of the user's current viewpoint from the first viewpoint to a second viewpoint different from the first viewpoint; in response to detecting the movement of the current viewpoint of the user from the first viewpoint to the second viewpoint, display, in the three dimensional environment, the first virtual object from the second viewpoint while the three dimensional environment is visible from the second viewpoint of the user; the first virtual object maintains the first size and the first shape relative to the three-dimensional environment; the first virtual object is visible from the second viewpoint to a second angle different from the first angle; While the first virtual object is viewed at the second angle from the second perspective, the individual visual characteristics of the first content have a second value corresponding to a second visual salience level of the first content in the three-dimensional environment, the second visual salience level of the first content being different from the first visual salience level.

111. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: a first virtual object including first content from a first perspective of a user of the computer system, the first virtual object being displayed through the display generating component while a three-dimensional environment is visible through the display generating component from the first perspective of the user of the computer system; the first virtual object has a first size and a first shape relative to the three-dimensional environment; the first virtual object is visible from a first angle from the first viewpoint; displaying a first virtual object, while the first virtual object is viewed at the first angle from the first perspective, a distinct visual characteristic of the first content having a first value corresponding to a first visual salience level of the first content in the three-dimensional environment; detecting, while displaying, via the display generation component, the first virtual object in the three-dimensional environment from the first viewpoint, a movement of the user's current viewpoint from the first viewpoint to a second viewpoint different from the first viewpoint; in response to detecting the movement of the current viewpoint of the user from the first viewpoint to the second viewpoint, displaying, in the three-dimensional environment, the first virtual object from the second viewpoint while the three-dimensional environment is visible from the second viewpoint of the user; the first virtual object maintains the first size and the first shape relative to the three-dimensional environment; the first virtual object is visible from the second viewpoint to a second angle different from the first angle; While the first virtual object is viewed at the second angle from the second perspective, the individual visual characteristics of the first content have a second value corresponding to a second visual salience level of the first content in the three-dimensional environment, the second visual salience level of the first content being different from the first visual salience level.

112. 1. A method comprising: A computer system in communication with a display generation component and one or more input devices, comprising: displaying, via the display generation component, a first virtual object in a three-dimensional environment and while the user's attention is directed to the first visual object, the first virtual object at a first visual salience level relative to the three-dimensional environment; detecting, while displaying the first virtual object having the first visual salience level via the display generation component, that the attention of the user of the computer system moves away from the first virtual object; in response to detecting that the attention of the user of the computer system moves away from the first virtual object, in response to a determination that the attention of the user is directed to a second virtual object while the second virtual object is currently displayed at a second visual salience level relative to the three-dimensional environment that is lower than the first visual salience level; displaying, via the display generation component, the second virtual object at a third visual saliency level higher than the second visual saliency level, while the first virtual object is displayed at a fourth visual saliency level lower than the first visual saliency level; A method comprising:

113. 113. The method of claim 112, further comprising: displaying, via the display generation component, the first virtual object at the second level of visual salience in accordance with the determination that the attention of the user is directed to the second virtual object while the second virtual object is currently displayed with respect to the three-dimensional environment at the second level of visual salience.

114. 114. The method of claim 112 or 113, wherein the first visual salience level corresponds to a first level of translucency and the second visual salience level corresponds to a second level of translucency that is greater than the first level of translucency.

115. Displaying the first virtual object at the first level of visual salience includes displaying, via the display generating components, a first portion of the first virtual object having a third level of translucency, and displaying, via the display generating components, a second portion of the first virtual object having a fourth level of translucency different from the third level of translucency; 115. The method of claim 114, wherein in response to detecting the attention of the user of the computer system moving away from the first virtual object, displaying the second virtual object having the third visual salience level comprises: changing a translucency of a first portion of the second virtual object by a first amount; and changing a translucency of a second portion of the second virtual object by a second amount different from the first amount.

116. 116. The method of any one of claims 112 to 115, wherein detecting that the user's attention moves away from the first virtual object comprises detecting the user's gaze directed toward a discrete position within the three-dimensional environment for a threshold amount of time.

117. Detecting that the attention of the user moves away from the first virtual object includes:

117. A method according to any one of claims 112 to 116, comprising: detecting a gaze of the user directed towards a discrete position within the three-dimensional environment; and detecting a gesture performed by a discrete portion of the user of the computer system while the gaze of the user is directed towards the discrete position within the three-dimensional environment.

118. Detecting that the attention of the user moves away from the first virtual object includes: Detecting a line of sight of the user directed to a discrete position within the three-dimensional environment; while the gaze of the user is directed to the distinct position within the three-dimensional environment and while the second virtual object is displayed with respect to the three-dimensional environment at the second visual salience level; displaying, via the display generation component, the second virtual object at the third visual salience level higher than the second visual salience level in accordance with a determination that one or more first criteria are met, including a criterion that is met when the gaze of the user is directed toward the second virtual object for a threshold amount of time without detecting a selection input from a discrete portion of the user; and displaying, via the display generation component, the second virtual object at the third visual salience level higher than the second visual salience level in accordance with a determination that one or more second criteria are met, the third visual salience level being higher than the second visual salience level, the third visual salience level being higher than the second visual salience level in accordance with a determination that one or more second criteria are met ...

119. 119. The method of claim 118, wherein in accordance with the determination that the one or more second criteria are met, distinct content included in the second virtual object is not selected in response to detecting the selection input from the distinct portion of the user.

120. detecting, while displaying the first virtual object having the first visual salience level via the display generation component and while the attention of the user of the computer system is directed to the first virtual object, the attention of the user moving within the first virtual object; 120. The method of any one of claims 112 to 119, further comprising: in response to detecting the attention of the user moving within the first virtual object, maintaining display of the first virtual object at the first visual salience level.

121. 121. The method of any one of claims 112 to 120, further comprising: in response to detecting that the attention of the user of the computer system moves away from the first virtual object, and in accordance with a determination that the attention of the user is directed to a position in the three-dimensional environment that does not correspond to a distinct virtual object, maintaining, via the display generation component, the display of the first virtual object at the first visual salience level relative to the three-dimensional environment.

122. 122. The method of any one of claims 112 to 121, further comprising: maintaining, via the display generation component, the display of the first virtual object at the first visual salience level relative to the three-dimensional environment in response to detecting that the attention of the user of the computer system moves away from the first virtual object in accordance with a determination that the attention of the user is directed to a non-interactable virtual object.

123. The first virtual object and the third virtual object are associated with a group of virtual objects, and the method further comprises:

123. The method of any one of claims 112 to 122, further comprising: in response to detecting that the attention of the user of the computer system moves away from the first virtual object, and in accordance with the determination that the attention of the user is directed to the third virtual object, maintaining, via the display generation component, the display of the first virtual object at the first visual salience level relative to the three-dimensional environment.

124. 124. The method of any one of claims 112 to 123, further comprising: in response to detecting that the attention of the user of the computer system moves away from the first virtual object, maintaining, via the display generation component, the display of the first virtual object at the first visual salience level relative to the three-dimensional environment in accordance with a determination that the user is currently interacting with the first virtual object.

125. and wherein the current interaction with the first virtual object includes moving the first virtual object, the method further comprising:

125. The method of claim 124, further comprising displaying, via the display generation component, a visual indication associated with the movement of the first virtual object while moving the first virtual object as part of the current interaction with the first virtual object.

126. 126. The method of claim 124 or 125, wherein the current interaction with the first virtual object includes selecting and moving first content from the first virtual object to a separate virtual object other than the first virtual object.

127. 127. The method of any one of claims 124 to 126, wherein the current interaction with the first virtual object includes moving first content within the first virtual object.

128. the second visual salience level corresponds to a second level of translucency that is greater than a first level of translucency corresponding to the first visual salience level; 128. The method of any one of claims 112 to 127, wherein the third visual salience level corresponds to a third level of translucency that is lower than the second level of translucency.

129. the second visual saliency level corresponds to a second degree of blurring that is greater than a first degree of blurring that corresponds to the first visual saliency level; 129. The method of any one of claims 112 to 128, wherein the third visual salience level corresponds to a third blur level that is lower than the second blur level.

130. 130. The method of any one of claims 112 to 129, wherein the first virtual object is displayed in front of a visual representation of the user's physical environment relative to the user's viewpoint.

131. 131. The method of any one of claims 112 to 130, wherein the first virtual object is displayed in front of a virtual environment relative to a viewpoint of the user.

132. 132. The method of any one of claims 112 to 131, wherein the first virtual object is associated with a first application and the second virtual object is associated with a second application that is different from the first application.

133. 133. The method of any one of claims 112 to 132, wherein the second virtual object is a control user interface associated with an operating system of the computer system.

134. while displaying, via the display generation component, the second virtual object at the second level of visual salience relative to the three-dimensional environment, displaying, via the display generation component, a separate selectable element associated with movement of the second virtual object at a fifth level of visual salience; receiving a first input directed at the individual selectable element via the one or more input devices while displaying the second virtual object at the second visual salience level and the individual selectable element at the fifth visual salience level; 134. The method of any one of claims 112 to 133, further comprising: in response to detecting the first input, moving the second virtual object within the three-dimensional environment in accordance with the first input.

135. displaying, via the display generation component, a respective selectable element associated with movement of the first virtual object while displaying, via the display generation component, the first virtual object at the fourth visual salience level; detecting an input directed at a respective element associated with the first virtual object while displaying, via the display generation component, the first virtual object and the respective selectable element associated with moving the first virtual object at the fourth visual salience level; in response to detecting the input directed at the discrete element associated with the first virtual object; upon determining that the respective element is the respective selectable element, starting a process of moving the first virtual object in response to the input; 135. The method of any one of claims 112 to 134, further comprising: in accordance with a determination that the distinct element corresponds to distinct content contained within the first virtual object, displaying, via the display generation component, the first virtual object at a fifth visual salience level higher than the fourth visual salience level without performing an action associated with the distinct content in accordance with the input.

136. the first virtual object currently playing media content, the method comprising:

136. The method of any one of claims 112 to 135, further comprising, in response to displaying, via the display generation component, the second virtual object relative to the three-dimensional environment at the third level of visual salience, maintaining playback of the media content contained within the first virtual object displayed at the fourth level of visual salience.

137. The first virtual object is an object of a first type, and the method further comprises: detecting, while displaying via the display generation component, a third virtual object in the three-dimensional environment at a fifth visual salience level relative to the three-dimensional environment, the third virtual object being a second type of object different from the first type of object, and the attention of the user being directed to the third virtual object, the third virtual object being moved away from the third virtual object of the computer system; 137. The method of any one of claims 112 to 136, further comprising: in response to detecting that the attention of the user of the computer system moves away from the third virtual object, maintaining the display of the third virtual object at the fifth visual salience level relative to the three-dimensional environment in accordance with a determination that the attention of the user is directed to a fourth virtual object within the three-dimensional environment.

138. 138. The method of claim 137, wherein the second type of object is a representation of an individual user associated with the computer system.

139. 139. A method according to claim 137 or 138, wherein the second type of object is a user interface of a media playing application.

140. 140. A method according to any one of claims 137 to 139, wherein the second type of object is a status user interface of the computer system.

141. 141. A method according to any one of claims 138 to 140, wherein the second type of object is a user interface of a communication application.

142. 142. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs including instructions for performing the method of any one of claims 112 to 141.

143. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 112 to 141.

144. A computer system in communication with a display generation component and one or more input devices, the computer system comprising:

142. A computer system comprising means for carrying out the method of any one of claims 112 to 141.

145. 1. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs comprising: displaying, via the display generation component, a first virtual object in the three-dimensional environment at a first visual salience level with respect to the three-dimensional environment while the user's attention is directed to the first virtual object; detecting, while displaying the first virtual object having the first visual salience level via the display generation component, that the attention of the user of the computer system moves away from the first virtual object; in response to detecting that the attention of the user of the computer system moves away from the first virtual object, in response to a determination that the attention of the user is directed to a second virtual object while the second virtual object is currently displayed at a second visual salience level relative to the three-dimensional environment that is lower than the first visual salience level; and displaying, via the display generation component, the second virtual object at a third visual saliency level that is higher than the second visual saliency level, and the first virtual object at a fourth visual saliency level that is lower than the first visual saliency level.

146. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: means for displaying a first virtual object in a three-dimensional environment via the display generation component and while the user's attention is directed to the first virtual object, at a first visual salience level relative to the three-dimensional environment; means for detecting, while displaying the first virtual object having the first visual salience level via the display generation component, that the attention of the user of the computer system moves away from the first virtual object; in response to detecting that the attention of the user of the computer system moves away from the first virtual object, in response to a determination that the attention of the user is directed to a second virtual object while the second virtual object is currently displayed at a second visual salience level relative to the three-dimensional environment that is lower than the first visual salience level; means for displaying, via the display generation component, the second virtual object at a third visual saliency level higher than the second visual saliency level, and the first virtual object is displayed at a fourth visual saliency level lower than the first visual saliency level.

147. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: displaying, via the display generation component, a first virtual object in the three-dimensional environment at a first visual salience level with respect to the three-dimensional environment while the user's attention is directed to the first virtual object; detecting, while displaying the first virtual object having the first visual salience level via the display generation component, that the attention of the user of the computer system moves away from the first virtual object; in response to detecting that the attention of the user of the computer system moves away from the first virtual object, in response to a determination that the attention of the user is directed to a second virtual object while the second virtual object is currently displayed at a second visual salience level relative to the three-dimensional environment that is lower than the first visual salience level; and instructions for displaying, via the display generation component, the second virtual object at a third visual salience level that is higher than the second visual salience level, and the first virtual object at a fourth visual salience level that is lower than the first visual salience level.

148. 1. A method comprising: A computer system in communication with a display generation component and one or more input devices, comprising: detecting a change in attention of the user of the computer system while displaying, via the display generation component, a first virtual object at a first position within a three-dimensional environment that is visible from a first perspective of a user of the computer system and a second virtual object at a second position within the three-dimensional environment, where at least a portion of the first virtual object at least partially obscures a distinct portion of a second virtual object from the first perspective of the user of the electronic device; in response to detecting the change in attention of the user of the computer system, while the first virtual object remains in the first position within the three dimensional environment and the second virtual object remains in the second position within the three dimensional environment; In response to a determination that the attention of the user is directed to the second virtual object, and reducing visual salience of the individual portions of the first virtual object such that the individual portions of the second virtual object are more visible from the first perspective of the user.

149. in response to detecting the change in attention of the user of the computer system, while the first virtual object is at the first position within the three dimensional environment and the second virtual object is at the second position within the three dimensional environment; 149. The method of claim 148, further comprising: maintaining the visual salience of the distinct portions of the first virtual object in accordance with a determination that the attention of the user is directed to the first virtual object, wherein the at least a portion of the first virtual object at least partially obscures the distinct portions of the second virtual object.

150. 150. The method of claim 148 or 149, wherein while the visual salience of the individual portions of the first virtual object is reduced such that the individual portions of the second virtual object are more visible from the first viewpoint of the user, a first area of ​​the individual portions of the first virtual object remains at least partially visible and overlaps with at least a portion of the second virtual object from the first viewpoint of the user.

151. 151. The method of claim 150, wherein the first region of the first virtual object includes a first edge of the first virtual object.

152. 152. The method of claim 150 or 151, wherein the first region of the individual portions of the first virtual object is displayed partially translucently while the visual salience of the individual portions of the first virtual object is reduced such that the individual portions of the second virtual object are more visible from the first viewpoint of the user.

153. 153. The method of any one of claims 150 to 152, wherein the visual salience of the individual portions of the first virtual object is reduced such that the individual portions of the second virtual object are more visible from the first viewpoint of the user, while the first regions of the individual portions of the first virtual object are displayed with a semi-transparent effect that varies in size in an individual direction relative to a dimension of the first virtual object.

154. 154. The method of any one of claims 150 to 153, wherein the first area of ​​the distinct portion of the first virtual object corresponds to a first portion of a field of view of the display generation component that corresponds to the first virtual object.

155. displaying, via the display generation component, the first virtual object at the first position within the three-dimensional environment and the second virtual object at the second position within the three-dimensional environment, and detecting a change in the user's viewpoint relative to the first virtual object and the second virtual object while the at least a portion of the first virtual object at least partially obscures the respective portion of the second virtual object from the first viewpoint of the user; In response to detecting the change in the viewpoint of the user, displaying, via the display generation component, the at least the portion of the first virtual object with a first parallax effect corresponding to the at least the portion of the first virtual object being in front of the respective portion of the second virtual object relative to the viewpoint of the user; 155. The method of any one of claims 150 to 154, further comprising displaying, via the display generation component, the respective portions of the second virtual object with a second parallax effect corresponding to the respective portions of the second virtual object being behind the at least a portion of the first virtual object relative to the viewpoint of the user.

156. detecting a second change in the user's attention away from the second virtual object while the first virtual object remains at the first position within the three-dimensional environment and the second virtual object remains at the second position within the three-dimensional environment, the attention of the user being directed to the second virtual object, and the discrete portions of the first virtual object are displayed with the reduced visual salience; 156. The method of any one of claims 148 to 155, further comprising: in response to detecting the second change in the user's attention, increasing the visual salience of the distinct portions of the first virtual object such that the distinct portions of the first virtual object are more visible from the first perspective of the user in accordance with a determination that the attention of the user is directed to the first virtual object while the first virtual object remains in the first position within the three-dimensional environment and the second virtual object remains in the second position within the three-dimensional environment.

157. 157. The method of any one of claims 148 to 156, further comprising: reducing visual salience of the first individual content included in the first individual virtual object in accordance with a determination that the attention of the user is not directed to a first individual virtual object including first individual content while displaying one or more respective virtual objects in the three-dimensional environment via the display generation component and while the three-dimensional environment is visible from the first viewpoint of the user of the computer system.

158. The first virtual object includes a first content, and the method further comprises: while displaying the first virtual object from a respective viewpoint of the user via the display generation component; displaying, via the display generation component, the first content included in the first virtual object at a first visual salience level relative to the three-dimensional environment in accordance with a determination that the individual viewpoint of the user is within a range of relative positions with respect to the first virtual object; 158. The method of any one of claims 148 to 157, further comprising: displaying, via the display generation component, the first content at a second visual saliency level relative to the three-dimensional environment that is lower than the first visual saliency level in accordance with a determination that the individual viewpoint of the user is outside of the range of the relative position relative to the first virtual object.

159. the display generation component displays the first virtual object at the first position within the three-dimensional environment and the second virtual object at the second position within the three-dimensional environment, and in accordance with the determination that the attention of the user is directed to the second virtual object, detects input via the one or more input devices being directed to a distinct region of the three-dimensional environment including the distinct portion of the first virtual object and the distinct portion of the second virtual object while the distinct portion of the first virtual object is displayed with the reduced visual salience; 159. The method of any one of claims 148 to 158, further comprising: in response to detecting the input directed toward the respective region within the three-dimensional environment, initiating one or more actions associated with the respective portion of the second virtual object in accordance with the input while maintaining the reduced visual salience of the respective portion of the first virtual object without initiating one or more actions associated with the respective portion of the first virtual object.

160. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs including instructions for performing the method of any one of claims 148 to 159.

161. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by said one or more processors, said one or more programs including instructions for performing a method according to any one of claims 148 to 159.

162. A computer system in communication with a display generation component and one or more input devices, the computer system comprising:

160. A computer system comprising means for carrying out the method of any one of claims 148 to 159.

163. 1. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs comprising: detect a change in attention of the user of the computer system while displaying, via the display generation component, a first virtual object at a first position within the three-dimensional environment and a second virtual object at a second position within the three-dimensional environment that is visible from a first perspective of the user of the computer system and where at least a portion of the first virtual object at least partially obscures a distinct portion of a second virtual object from the first perspective of the user of the electronic device; in response to detecting the change in attention of the user of the computer system, while the first virtual object remains in the first position within the three dimensional environment and the second virtual object remains in the second position within the three dimensional environment; In response to a determination that the attention of the user is directed to the second virtual object, 11. A non-transitory computer-readable storage medium comprising: instructions for reducing visual salience of distinct portions of the first virtual object such that the distinct portions of the second virtual object are more visible from the first perspective of the user.

164. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: means for detecting a change in attention of the user of the computer system while displaying, via the display generation component, a first virtual object at a first position within a three-dimensional environment that is visible from a first perspective of a user of the computer system and a second virtual object at a second position within the three-dimensional environment, where at least a portion of the first virtual object at least partially obscures a distinct portion of a second virtual object from the first perspective of the user of the electronic device; in response to detecting the change in attention of the user of the computer system, while the first virtual object remains in the first position within the three dimensional environment and the second virtual object remains in the second position within the three dimensional environment; In response to a determination that the attention of the user is directed to the second virtual object, and means for reducing visual salience of the individual portions of the first virtual object such that the individual portions of the second virtual object are more visible from the first perspective of the user.

165. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: detect a change in attention of the user of the computer system while displaying, via the display generation component, a first virtual object at a first position within a three-dimensional environment that is visible from a first perspective of a user of the computer system and a second virtual object at a second position within the three-dimensional environment, where at least a portion of the first virtual object at least partially obscures a distinct portion of a second virtual object from the first perspective of the user of the electronic device; in response to detecting the change in attention of the user of the computer system, while the first virtual object remains in the first position within the three dimensional environment and the second virtual object remains in the second position within the three dimensional environment; In response to a determination that the attention of the user is directed to the second virtual object, 11. A computer system comprising: instructions for reducing visual salience of the individual portions of the first virtual object such that the individual portions of the second virtual object are more visible from the first perspective of the user.

166. 1. A method comprising: A computer system in communication with one or more input devices and a display generating component, comprising: displaying, via the display generation component, the individualized content at a first position within the three-dimensional environment relative to a first viewpoint of a user of the computer system, the individualized content being displayed at a first visual salience level; detecting, while displaying, via the display generation component, the distinct content at the first position within the three-dimensional environment relative to the first viewpoint of the user, via the one or more input devices, a change in a current viewpoint of the user from the first viewpoint to a second viewpoint different from the first viewpoint; while detecting the change of the current viewpoint of the user to the second viewpoint via the one or more input devices. and displaying, via the display generation component, the individual content at a second visual saliency level different from the first visual saliency level, the second visual saliency level changing as the current viewpoint of the user changes, in accordance with a determination that the current viewpoint of the user satisfies one or more first criteria.

167. 167. The method of claim 166, wherein the size and shape of the distinct content is maintained relative to the three-dimensional environment as the user's current viewpoint changes while displaying the distinct content at the second level of visual salience.

168. 168. The method of claim 166 or 167, wherein the second visual saliency level changes based on a change in angle between the current viewpoint and the individual content and a change in distance between the current viewpoint and the individual content.

169. Displaying the distinct content at the second level of visual salience as the current viewpoint of the user changes 169. A method according to any one of claims 166 to 168, comprising modifying the second visual saliency level according to an angle between the current viewpoint and the individual content in accordance with a determination that the current viewpoint is within a first one or more regions of the three-dimensional environment relative to the individual content.

170. Displaying the distinct content at the second level of visual salience as the current viewpoint of the user changes 170. The method of claim 169, comprising modifying the second visual saliency level according to a distance between the current viewpoint and the individual content in accordance with a determination that the current viewpoint is within a second one or more regions of the three-dimensional environment for the individual content that is different from the first one or more regions.

171. Displaying the distinct content at the second level of visual salience as the current viewpoint of the user changes 171. The method of claim 170, comprising modifying the second visual saliency level in accordance with a change in the angle between the current viewpoint and the individual content and a change in the distance between the current viewpoint and the individual content in accordance with a determination that the current viewpoint is within a third one or more regions of the three-dimensional environment, different from the first one or more regions and the second one or more regions, relative to the individual content.

172. while detecting the change of the current viewpoint of the user to the second viewpoint via the one or more input devices.

172. The method of any one of claims 166 to 171, further comprising maintaining display of the individualized content at the first visual salience level when the current viewpoint of the user changes in accordance with a determination that the current viewpoint does not satisfy the one or more first criteria.

173. the one or more first criteria include a criterion that is met when the current viewpoint is within a respective one of one or more regions of the three-dimensional environment associated with the change in visual salience of the respective content; in response to a determination that the size of the individual content is a first size in the three-dimensional environment, the size of the individual region is a second size in the three-dimensional environment; 173. The method of any one of claims 166 to 172, wherein in accordance with a determination that the size of the individual content is a third size different from the first size, in the three-dimensional environment, the size of the individual area is a fourth size different from the second size.

174. the one or more first criteria include a criterion that is met when the current viewpoint is within a respective one of one or more regions of the three-dimensional environment associated with the change in visual salience of the respective content; in response to a determination that a distance of the individual content relative to the current viewpoint is a first distance, a size of the individual region is a second size relative to the three-dimensional environment; 174. The method of any one of claims 166 to 173, wherein in accordance with a determination that the distance of the individual content relative to the current viewpoint is a second distance different from the first distance, the size of the individual region is a third size relative to the three-dimensional environment different from the second size.

175. while displaying, via the display generation component, the individual piece of content at the first size at the first position within the three dimensional environment and while the distance of the individual piece of content is the first distance relative to the current viewpoint of the user, detecting, via the one or more input devices, an input including a request to move the individual piece of content to a second position within the three dimensional environment that is different from the first position, the individual piece of content while displayed at the second position being the second distance away from the current viewpoint of the user; in response to detecting the input including the request to move the individual piece of content to the second position within the three dimensional environment; 175. The method of claim 174, further comprising: displaying, via the display generating component, the individual content at the second position within the three-dimensional environment in a fourth size different from the first size, the second size, and the third size.

176. The one or more first criteria include a criterion that is met when the current viewpoint of the user is within a first region of the three-dimensional environment as the current viewpoint of the user changes from the first viewpoint to the second viewpoint, and the method further comprises: detecting, via the one or more input devices, a change in the current viewpoint of the user from the second viewpoint to the first viewpoint while the current viewpoint of the user is the second viewpoint and while the visual salience of the distinct content is at a third visual salience level; while detecting the change of the current viewpoint of the user to the first viewpoint via the one or more input devices.

176. The method of any one of claims 166 to 175, further comprising: displaying, via the display generation component, the individualized content at a fourth visual saliency level different from the third visual saliency level, the fourth visual saliency level changing as the current viewpoint of the user changes while the one or more second criteria are satisfied, in accordance with a determination that the current viewpoint of the user satisfies one or more second criteria different from the first criteria, the one or more second criteria including a criterion that is satisfied if the current viewpoint of the user is within a second region of the three-dimensional environment that is different from the first region when the current viewpoint of the user changes from the second viewpoint to the first viewpoint.

177. while displaying the distinct content at the first position within the three-dimensional environment via the display generation component and while the current viewpoint of the user satisfies the one or more first criteria, detecting a first input directed toward the distinct content via the one or more input devices, the first input corresponding to a first request to initiate one or more actions associated with the distinct content; in response to detecting the first input directed to the individual content, refraining from initiating the one or more actions associated with the respective piece of content in accordance with a determination that the current viewpoint satisfies one or more second criteria that are distinct from the one or more first criteria; 177. The method of any one of claims 166 to 176, further comprising: initiating the one or more actions associated with the respective content in accordance with a determination that the current viewpoint satisfies the one or more second criteria.

178. the one or more second criteria include a criterion that is met when the current viewpoint is oriented at an angle relative to the respective content that is greater than a first threshold angle, the first input is detected when the current viewpoint is oriented at a first angle relative to the respective content that is greater than the first threshold angle, and the first input is detected while visual saliency of the respective content is at a third visual saliency level, the method further comprising:

178. The method of claim 177, further comprising: decreasing the visual saliency of the individual content from the third visual saliency to a fourth visual saliency level lower than the third visual saliency level while the current viewpoint of the user satisfies the one or more second criteria and while the current viewpoint changes from being oriented at the first angle relative to the individual content to being oriented at a second angle relative to the individual content that is greater than the first angle.

179. The one or more second criteria include a criterion that is met when the current viewpoint is oriented at an angle relative to the respective content that is greater than a first threshold angle, and the first input is detected when the current viewpoint is oriented at a first angle relative to the respective content that is greater than the first threshold angle, the first angle being less than a second threshold angle relative to the respective content, and the method further comprising: detecting, via the one or more input devices, a second input different from the first input, the second input being detected while the current viewpoint is pointed at a second angle different from the first angle and less than the first threshold angle relative to the respective content; While detecting the second input, detecting, via the one or more input devices, a change in the current viewpoint to a third viewpoint different from the first viewpoint and the second viewpoint; In response to detecting the change in the current viewpoint, performing one or more actions in accordance with the second input in accordance with a determination that the current viewpoint satisfies the one or more second criteria; 179. The method of claim 178, further comprising: forgoing the performance of the one or more actions in accordance with the second input in accordance with a determination that the current viewpoint does not satisfy the one or more second criteria.

180. 180. The method of any one of claims 166 to 179, wherein displaying the individual content at the second visual salience level includes displaying, via the display generation component, one or more virtual elements associated with the individual content, the one or more virtual elements not being displayed when the individual content was displayed at the first visual salience level.

181. 181. The method of claim 180, wherein displaying the one or more virtual elements associated with the respective content includes changing a visual salience of each of the one or more virtual elements contemporaneously with the change in the second salience level as the viewpoint of the user changes.

182. 181. The method of claim 180, wherein displaying the individual content at the second level of visual salience includes displaying a virtual border surrounding one or more portions of the individual content at a third level of visual salience, and wherein displaying the individual content at the first level of visual salience does not include displaying the virtual border surrounding the one or more portions of the individual content at the third level of visual salience.

183. 181. The method of claim 180, wherein displaying the distinct content at the second level of visual salience comprises displaying the distinct content in a pattern fill.

184. 184. The method of any one of claims 166 to 183, wherein displaying the individual content at the first visual saliency level includes displaying a virtual shadow corresponding to the individual content at a third visual saliency level, and displaying the individual content at the second visual saliency level includes displaying the virtual shadow at a fourth visual saliency level different from the third visual saliency level, the fourth visual saliency level changing as the user's current viewpoint changes.

185. Displaying the distinct content at the first level of visual salience includes displaying, via the display generation component, one or more virtual elements contemporaneously with the distinct content, the one or more virtual elements being displayed at a third level of visual salience, the method comprising: while detecting the change of the current viewpoint of the user to the second viewpoint via the one or more input devices.

185. The method of any one of claims 166 to 184, further comprising: displaying, via the display generation component, the one or more virtual elements at a fourth visual saliency level different from the third visual saliency level, the fourth visual saliency level changing as the current viewpoint of the user changes, in accordance with a determination that the current viewpoint of the user satisfies the one or more first criteria.

186. while displaying the distinct content at the first position within the three-dimensional environment at the first visual salience level, displaying, via the display generation component, a second distinct content at a second position within the three-dimensional environment, the second distinct content being a first type of content, the second distinct content being a second type of content different from the first type of content; in response to detecting the change in the current viewpoint of the user from the first viewpoint to the second viewpoint, displaying the distinct content at the first position within the three-dimensional environment at a third level of visual salience different from the first level of visual salience; ceasing display of the second individual piece of content at the second position in the three-dimensional environment; and 186. The method of any one of claims 166 to 185, further comprising: displaying, via the display generation component, the second individual piece of content at a third position within the three-dimensional environment that is different from the first and second positions within the three-dimensional environment.

187. while detecting the change of the current viewpoint of the user to the second viewpoint via the one or more input devices.

187. The method of any one of claims 166 to 186, further comprising maintaining display of the individual content at the first visual salience level in accordance with a determination that the current viewpoint of the user does not satisfy the one or more first criteria.

188. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: displaying, via the display generation component, distinct content at a first position within a three-dimensional environment relative to a first viewpoint of a user of the computer system, the distinct content being displayed at a first visual salience level; while displaying, via the display generation component, the distinct content at the first position within the three-dimensional environment relative to the first viewpoint of the user, detecting, via the one or more input devices, a change in a current viewpoint of the user from the first viewpoint to a second viewpoint different from the first viewpoint; while detecting the change of the current viewpoint of the user to the second viewpoint via the one or more input devices. a computer system including instructions for displaying, via the display generation component, the individualized content at a second visual saliency level different from the first visual saliency level, the second visual saliency level changing as the current viewpoint of the user changes, in accordance with a determination that the current viewpoint of the user satisfies one or more first criteria.

189. 1. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs comprising: displaying, via the display generation component, distinct content at a first position within a three-dimensional environment relative to a first viewpoint of a user of the computer system, the distinct content being displayed at a first visual salience level; while displaying, via the display generation component, the distinct content at the first position within the three-dimensional environment relative to the first viewpoint of the user, detecting, via the one or more input devices, a change in a current viewpoint of the user from the first viewpoint to a second viewpoint different from the first viewpoint; while detecting the change of the current viewpoint of the user to the second viewpoint via the one or more input devices. a display generating component that displays the individual content at a second visual saliency level different from the first visual saliency level, the second visual saliency level changing as the current viewpoint of the user changes, in accordance with a determination that the current viewpoint of the user satisfies one or more first criteria;

190. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: means for displaying, via the display generation component, a first position of the individual content within the three-dimensional environment relative to a first viewpoint of a user of the computer system, the individual content being displayed at a first level of visual salience; means for detecting, via the one or more input devices, a change in a current viewpoint of the user from the first viewpoint to a second viewpoint different from the first viewpoint while displaying, via the display generation component, the distinct content at the first position within the three-dimensional environment relative to the first viewpoint of the user; while detecting the change of the current viewpoint of the user to the second viewpoint via the one or more input devices. and means for displaying, via the display generation component, the individualized content at a second visual saliency level different from the first visual saliency level, the second visual saliency level changing as the current viewpoint of the user changes, in accordance with a determination that the current viewpoint of the user satisfies one or more first criteria.

191. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 166 to 187.

192. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs including instructions for performing the method of any one of claims 166 to 187.

193. A computer system in communication with a display generation component and one or more input devices, the computer system comprising:

188. A computer system comprising means for carrying out the method of any one of claims 166 to 187.

194. 1. A method comprising: A computer system in communication with one or more input devices and a display generating component, comprising: displaying, via the display generation component, a first virtual object at a first position within a three-dimensional environment relative to a first viewpoint of a user of the computer system, the first virtual object being displayed at a first visual salience level relative to the three-dimensional environment, the first viewpoint of the user being within a distinct position range relative to a distinct portion of the first virtual object; while displaying, via the display generation component, the first virtual object at the first position within the three-dimensional environment relative to the first viewpoint of the user, detecting, via the one or more input devices, a change of the user's current viewpoint from the first viewpoint to a second viewpoint different from the first viewpoint, where the second viewpoint of the user is within the distinct position range relative to the distinct portion of the first virtual object; in response to detecting a change in the current viewpoint of the user from the first viewpoint to the second viewpoint via the one or more input devices, while the second viewpoint of the user is within the distinct position range for the distinct portion of the first virtual object. reducing a visual saliency level of the distinct portion of the first virtual object to a second visual saliency level lower than the first visual saliency level in accordance with a determination that the second viewpoint satisfies one or more first criteria, including a first criterion that is satisfied when the second viewpoint is within a threshold distance of the first virtual object; and forgoing the reducing of the visual salience of the discrete portion of the first virtual object to the second visual salience level in accordance with a determination that the second viewpoint does not satisfy the one or more first criteria because the second viewpoint is not within the threshold distance of the first virtual object.

195. 200. The method of claim 194, wherein the location of the user's current gaze point is based on a location of one or more eyes on the user's body.

196. 196. A method according to claim 194 or 195, wherein the location of the current gaze point of the user is based on a location of a discrete part of the user's head.

197. 200. The method of claim 196, wherein the distinct portions of the user's head correspond to one or more eyes of the user.

198. 200. The method of claim 196, wherein the location of the current viewpoint is further based on biometric information associated with the user.

199. 200. The method of claim 196, wherein the location of the current viewpoint is further based on one or more physical characteristics of the computer system.

200. 200. The method of claim 199, wherein the one or more characteristics include a size of a component that couples the computer system to the user's head.

201. 200. The method of claim 199, wherein the one or more characteristics include a size of a component configured to reduce an amount of outside light interfering with visibility of the display generating component.

202. detect, via the one or more input devices, a change in the current viewpoint of the user from the first viewpoint to a third viewpoint different from the first viewpoint and the second viewpoint, while displaying, via the display generation component, the first virtual object at the first position within the three-dimensional environment relative to the first viewpoint of the user, the first virtual object including content displayed at a third visual salience level; in response to detecting the change in the current viewpoint of the user from the first viewpoint to the third viewpoint, 202. The method of any one of claims 194 to 201, further comprising: displaying the first virtual object at the first position within the three-dimensional environment in accordance with a determination that the third viewpoint satisfies one or more second criteria different from the one or more criteria, the one or more second criteria including a criterion that is satisfied when the third viewpoint is greater than a threshold distance from the first virtual object, the one or more second criteria comprising displaying the content at a fourth visual saliency level lower than the third visual saliency level.

203. 203. The method of claim 202, wherein during detection of the change in the user's current viewpoint from the first viewpoint to the third viewpoint and in accordance with a determination that the one or more second criteria are satisfied, the display of the content from the third visual saliency level to the fourth visual saliency level is performed gradually in accordance with the change in the current viewpoint.

204. 204. The method of any one of claims 194 to 203, wherein the threshold distance is based on a depth of individual content contained in the first virtual object relative to the current viewpoint.

205. while displaying the first virtual object at the first position within the three-dimensional environment via the display generation component and while the current viewpoint of the user is the first viewpoint, detecting an input via the one or more input devices corresponding to a request to move the first virtual object toward the current viewpoint of the user within the three-dimensional environment; in response to detecting the input corresponding to the request to move the first virtual object, in accordance with a determination that the input moving the first virtual object toward the current viewpoint of the user corresponds to a request to move the first virtual object within a second threshold distance of the current viewpoint of the user, moving the first virtual object to a second position in the three dimensional environment that is outside the second threshold distance of the current viewpoint of the user; 205. The method of any one of claims 194 to 204, further comprising: moving the first virtual object to a third position in the three-dimensional environment that is outside the second threshold distance of the current viewpoint of the user in accordance with the input for moving the first virtual object in accordance with a determination that the input for moving the first virtual object toward the current viewpoint of the user corresponds to a request to move the first virtual object outside the second threshold distance of the current viewpoint of the user.

206. displaying, via the display generation component, a second virtual object distinct from the first virtual object at a second position within the three-dimensional environment distinct from the first position and at a third level of visual salience; while displaying the second virtual object at the second position within the three-dimensional environment at the third visual salience level via the display generation component, detecting, via the one or more input devices, a second change of the current viewpoint of the user of the computer system relative to the three-dimensional environment to a third viewpoint relative to the three-dimensional environment, where the third viewpoint of the user is within the discrete position range relative to a discrete portion of the second virtual object; in response to detecting a second change in the current viewpoint of the user of the computer system from the first viewpoint to the third viewpoint via the one or more input devices; 206. The method of any one of claims 194 to 205, further comprising: maintaining, via the display generation component, a display of the distinct portion of the second virtual object at the second position within the three-dimensional environment at the second visual salience level in accordance with a determination that the third viewpoint satisfies the one or more first criteria.

207. 207. The method of claim 206, wherein the first virtual object is associated with a first application associated with a first setting that is enabled, and a second virtual object is associated with a second application, different from the first application, associated with the first setting that is disabled.

208. 207. The method of claim 206, wherein the first virtual object is a two-dimensional virtual object and the second virtual object is a three-dimensional virtual object.

209. The first virtual object includes content, and displaying the first virtual object includes:

209. The method of any one of claims 194 to 208, comprising displaying the content with visual salience based on a respective angle and a respective distance of the user's current viewpoint relative to the virtual object.

210. displaying, via the display generation component, a second virtual object distinct from the first virtual object at a second position within the three-dimensional environment distinct from the first position and with a third visual salience level while the distinct portion of the first virtual object has the second visual salience level according to the determination that the second viewpoint satisfies the one or more first criteria and while the current viewpoint of the user is the second viewpoint; via the display generation component, while displaying the first virtual object at the first position within the three-dimensional environment, while displaying the second virtual object at the second position within the three-dimensional environment, and while the current viewpoint of the user is at the second viewpoint; Detecting the user's attention shifting towards the second virtual object; and 210. The method of any one of claims 194 to 209, further comprising: in response to detecting a shift in the user's attention toward the second virtual object, displaying, via the display generation component, the second virtual object at a fourth visual salience level higher than the third visual salience level.

211. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: displaying, via the display generation component, a first virtual object at a first position within a three-dimensional environment relative to a first viewpoint of a user of the computer system, the first virtual object being displayed at a first visual salience level relative to the three-dimensional environment, the first viewpoint of the user being within a distinct positional range relative to distinct portions of the first virtual object; while displaying, via the display generation component, the first virtual object at the first position within the three-dimensional environment relative to the first viewpoint of the user, detecting, via the one or more input devices, a change of the user's current viewpoint from the first viewpoint to a second viewpoint different from the first viewpoint, where the second viewpoint of the user is within the distinct position range relative to the distinct portion of the first virtual object; in response to detecting a change in the current viewpoint of the user from the first viewpoint to the second viewpoint via the one or more input devices, while the second viewpoint of the user is within the distinct position range for the distinct portion of the first virtual object. reducing a visual saliency level of the distinct portion of the first virtual object to a second visual saliency level lower than the first visual saliency level in accordance with a determination that the second viewpoint satisfies one or more first criteria, including a first criterion that is satisfied when the second viewpoint is within a threshold distance of the first virtual object; and instructions for forgoing the reducing of the visual salience of the discrete portion of the first virtual object to the second visual salience level in accordance with a determination that the second viewpoint does not satisfy the one or more first criteria because the second viewpoint is not within the threshold distance of the first virtual object.

212. 1. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs comprising: displaying, via the display generation component, a first virtual object at a first position within a three-dimensional environment relative to a first viewpoint of a user of the computer system, the first virtual object being displayed at a first visual salience level relative to the three-dimensional environment, the first viewpoint of the user being within a distinct positional range relative to distinct portions of the first virtual object; while displaying, via the display generation component, the first virtual object at the first position within the three-dimensional environment relative to the first viewpoint of the user, detecting, via the one or more input devices, a change of the user's current viewpoint from the first viewpoint to a second viewpoint different from the first viewpoint, where the second viewpoint of the user is within the distinct position range relative to the distinct portion of the first virtual object; in response to detecting a change in the current viewpoint of the user from the first viewpoint to the second viewpoint via the one or more input devices, while the second viewpoint of the user is within the distinct position range for the distinct portion of the first virtual object. reducing a visual saliency level of the distinct portion of the first virtual object to a second visual saliency level lower than the first visual saliency level in accordance with a determination that the second viewpoint satisfies one or more first criteria, including a first criterion that is satisfied when the second viewpoint is within a threshold distance of the first virtual object; and forgo the reducing of the visual salience of the discrete portion of the first virtual object to the second visual salience level in accordance with a determination that the second viewpoint does not satisfy the one or more first criteria because the second viewpoint is not within the threshold distance of the first virtual object.

213. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: means for displaying, via the display generation component, a first virtual object at a first position within a three-dimensional environment relative to a first viewpoint of a user of the computer system, the first virtual object being displayed at a first visual salience level relative to the three-dimensional environment, the first viewpoint of the user being within a distinct positional range relative to a distinct portion of the first virtual object; means for detecting, while displaying, via the display generation component, the first virtual object at the first position within the three-dimensional environment relative to the first viewpoint of the user, a change of the user's current viewpoint, via the one or more input devices, from the first viewpoint to a second viewpoint different from the first viewpoint, the second viewpoint of the user being within the distinct position range relative to the distinct portion of the first virtual object; in response to detecting a change in the current viewpoint of the user from the first viewpoint to the second viewpoint via the one or more input devices, while the second viewpoint of the user is within the distinct position range for the distinct portion of the first virtual object. means for reducing a visual saliency of the discrete portion of the first virtual object to a second visual saliency level lower than the first visual saliency level in accordance with a determination that the second viewpoint satisfies one or more first criteria, including a first criterion that is satisfied when the second viewpoint is within a threshold distance of the first virtual object; means for forgoing the reducing of the visual salience level of the discrete portion of the first virtual object to the second visual salience level in accordance with a determination that the second viewpoint does not satisfy the one or more first criteria because the second viewpoint is not within the threshold distance of the first virtual object.

214. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 194 to 210.

215. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs including instructions for performing the method of any one of claims 194 to 210.

216. A computer system in communication with a display generation component and one or more input devices, the computer system comprising:

211. A computer system comprising means for carrying out the method of any one of claims 194 to 210.

217. 1. A method comprising: A computer system in communication with one or more input devices and a display generating component, comprising: displaying, via the display generation component, a virtual object having a first visual appearance within a three-dimensional environment; detecting, while displaying the virtual object having the first visual appearance via the display generation component, an event corresponding to an interaction between a user of the computer system and the three-dimensional environment; in response to detecting the event corresponding to an interaction between the user and the three-dimensional environment, modifying a visual appearance of the virtual object based on the first type of user interaction with the three-dimensional environment in accordance with a determination that the event includes a first type of user interaction with the three-dimensional environment; modifying the visual appearance of the first virtual object based on the second type of user interaction with the three-dimensional environment in accordance with a determination that the event includes a second type of user interaction with the three-dimensional environment, the second type of user interaction with the three-dimensional environment being different from the first type of user interaction with the three-dimensional environment; and simultaneously modifying the first visual appearance of the virtual object based on both the first type of user interaction with the three-dimensional environment and the second type of user interaction with the three-dimensional environment in accordance with a determination that the event includes both the first type of user interaction with the three-dimensional environment and the second type of user interaction with the three-dimensional environment.

218. 218. The method of claim 217, wherein modifying the visual appearance of the virtual object based on the first type of user interaction with the three-dimensional environment includes modifying the visual appearance of the virtual object based on an angle between the user's current viewpoint relative to the virtual object or a distance between the user's current viewpoint and the virtual object.

219. 219. The method of claim 217 or 218, wherein altering the visual appearance of the virtual object based on the first type of user interaction with the three-dimensional environment comprises altering the visual appearance of the virtual object based on whether attention of the user of the computer system is directed to the virtual object.

220. 220. The method of any one of claims 217 to 219, wherein modifying the visual appearance of the virtual object based on the first type of user interaction with the three-dimensional environment comprises modifying the visual appearance of the virtual object based on a spatial collision between the virtual object and a second object different from the virtual object.

221. 221. The method of claim 220, wherein the second object is a physical object in a physical environment of the user of the computer system.

222. 221. The method of claim 220, wherein the second object is a separate virtual object displayed simultaneously with the virtual object in the three-dimensional environment.

223. 223. The method of any one of claims 217 to 222, wherein altering the visual appearance of the virtual object based on the first type of user interaction with the three-dimensional environment comprises altering the visual appearance of the virtual object based on a determination that the user's current viewpoint is within a threshold distance of the virtual object.

224. in response to detecting the event corresponding to an interaction between the user and the three-dimensional environment, 224. The method of any one of claims 217 to 223, further comprising: modifying the visual appearance of the virtual object based on the third type of user interaction with the three-dimensional environment in accordance with a determination that the event includes a third type of user interaction with the three-dimensional environment that is different from the first type of interaction and the second type of interaction with the three-dimensional environment.

225. in response to detecting the event corresponding to an interaction between the user and the three-dimensional environment, 225. The method of claim 224, further comprising: simultaneously modifying the first visual appearance of the virtual object based on both the first type of user interaction with the three-dimensional environment and the third type of user interaction with the three-dimensional environment in accordance with a determination that the event includes both the first type of user interaction with the three-dimensional environment and the third type of user interaction with the three-dimensional environment.

226. in response to detecting the event corresponding to an interaction between the user and the three-dimensional environment, 225. The method of claim 224, further comprising: simultaneously modifying the first visual appearance of the virtual object based on both the second type of user interaction with the three-dimensional environment and the third type of user interaction with the three-dimensional environment in accordance with a determination that the event includes both the second type of user interaction with the three-dimensional environment and the third type of user interaction with the three-dimensional environment.

227. in response to detecting the event corresponding to an interaction between the user and the three-dimensional environment, 225. The method of claim 224, further comprising: simultaneously modifying the first visual appearance of the virtual object based on the first type of user interaction with the three-dimensional environment, the second type of user interaction with the three-dimensional environment, and the third type of user interaction with the three-dimensional environment in accordance with a determination that the event includes a first type of user interaction with the three-dimensional environment, the second type of user interaction with the three-dimensional environment, and the third type of user interaction with the three-dimensional environment.

228. 228. The method of any one of claims 217 to 227, wherein both modifying the visual appearance of the virtual object based on the first type of user interaction and modifying the visual appearance of the virtual object based on the second type of user interaction comprise increasing visual salience of the virtual object relative to the three-dimensional environment.

229. 229. The method of any one of claims 217 to 228, wherein both modifying the visual appearance of the virtual object based on the first type of user interaction and modifying the visual appearance of the virtual object based on the second type of user interaction comprise reducing visual salience of the virtual object relative to the three-dimensional environment.

230. 230. The method of any one of claims 217 to 229, wherein altering the visual appearance of the virtual object based on the first type of user interaction comprises decreasing a visual prominence of the virtual object relative to the three-dimensional environment, and wherein altering the visual appearance of the virtual object based on the second type of user interaction comprises increasing the visual prominence of the virtual object relative to the three-dimensional environment.

231. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: detect a change in attention of the user of the computer system while displaying, via the display generation component, a first virtual object at a first position within a three-dimensional environment that is visible from a first perspective of a user of the computer system and a second virtual object at a second position within the three-dimensional environment, where at least a portion of the first virtual object at least partially obscures a distinct portion of a second virtual object from the first perspective of the user of the electronic device; in response to detecting the change in attention of the user of the computer system, while the first virtual object remains in the first position within the three dimensional environment and the second virtual object remains in the second position within the three dimensional environment; In response to a determination that the attention of the user is directed to the second virtual object, 11. A computer system comprising: instructions for reducing visual salience of the individual portions of the first virtual object such that the individual portions of the second virtual object are more visible from the first perspective of the user.

232. 1. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs comprising: detect a change in attention of the user of the computer system while displaying, via the display generation component, a first virtual object at a first position within a three-dimensional environment that is visible from a first perspective of a user of the computer system and a second virtual object at a second position within the three-dimensional environment, where at least a portion of the first virtual object at least partially obscures a distinct portion of a second virtual object from the first perspective of the user of the electronic device; in response to detecting the change in attention of the user of the computer system, while the first virtual object remains in the first position within the three dimensional environment and the second virtual object remains in the second position within the three dimensional environment; In response to a determination that the attention of the user is directed to the second virtual object, 11. A non-transitory computer-readable storage medium comprising: instructions for reducing visual salience of distinct portions of the first virtual object such that the distinct portions of the second virtual object are more visible from the first perspective of the user.

233. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: means for detecting a change in attention of the user of the computer system while displaying, via the display generation component, a first virtual object at a first position within a three-dimensional environment that is visible from a first perspective of a user of the computer system and a second virtual object at a second position within the three-dimensional environment, where at least a portion of the first virtual object at least partially obscures a distinct portion of a second virtual object from the first perspective of the user of the electronic device; in response to detecting the change in attention of the user of the computer system, while the first virtual object remains in the first position within the three dimensional environment and the second virtual object remains in the second position within the three dimensional environment; In response to a determination that the attention of the user is directed to the second virtual object, and means for reducing visual salience of the individual portions of the first virtual object such that the individual portions of the second virtual object are more visible from the first perspective of the user.

234. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 217 to 230.

235. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs including instructions for performing the method of any one of claims 217 to 230.

236. A computer system in communication with a display generation component and one or more input devices, the computer system comprising:

231. A computer system comprising means for carrying out the method of any one of claims 217 to 230.

237. 1. A method comprising: A computer system in communication with a display generation component and one or more input devices, comprising: via said display generation component, in a three-dimensional environment; A first virtual content; simultaneously displaying a first environmental effect having a first magnitude of visual impact on an appearance of the three-dimensional environment in which the first virtual content is displayed, the first virtual content and the first environmental effect being displayed while a user's attention is directed to the first virtual content displayed simultaneously with the first environmental effect; detecting, via the one or more input devices, that a user's attention has shifted away from the first virtual content in the three-dimensional environment while simultaneously displaying the first virtual content and the first environmental effect having the first magnitude of visual impact on the appearance of the three-dimensional environment in which the first virtual content is displayed; in response to detecting that the user's attention has shifted away from the first virtual content within the three dimensional environment; and modifying a first magnitude of a visual impact of the first environmental effect on the appearance of the three-dimensional environment in which the first virtual content is displayed by a first amount in accordance with a determination that the user's attention is directed to a first element that is visible in the three-dimensional environment; and modifying the first magnitude of the visual impact of the first environmental effect on the appearance of the three-dimensional environment in which the first virtual content is displayed by a second amount that is less than the first amount in accordance with a determination that the user's attention is directed to a second element that is different from the first element that is visible in the three-dimensional environment.

238. 238. The method of claim 237, wherein the first environmental effect includes a simulated lighting effect in which light associated with the first virtual content is virtually projected by the first virtual content onto representations of one or more virtual or physical objects.

239. 239. The method of any one of claims 237 to 238, wherein the first environmental effect comprises visually darkening the appearance of the three-dimensional environment in which the first virtual content is displayed.

240. in response to detecting that the user's attention has shifted away from the first virtual content within the three dimensional environment; changing the first magnitude of a visual impact of the first environmental effect on the appearance of the three-dimensional environment in which the first virtual content is displayed by the first amount at a first rate of change in accordance with a determination that the first element is a first type element; 240. The method of any one of claims 237 to 239, further comprising: in accordance with a determination that the first element is an element of a second type different from the first type element, changing the first magnitude of a visual impact of the first environmental effect on the appearance of the three-dimensional environment in which the first virtual content is displayed by the first amount and at a second rate of change different from the first rate of change.

241. 241. The method of any one of claims 237 to 240, wherein the first element is a background of the three-dimensional environment that is distinct from the first virtual content, and the first virtual content is displayed in front of the background.

242. 242. The method of claim 241, wherein the first virtual content is a first user interface of a first application and the second element is a second user interface of a second application that is different from the first application.

243. 243. The method of any of claims 237 to 242, wherein the first element is a user interface of a first application and the second element is a user interface of a second application that is different from the first application.

244. Displaying the first environmental effect having the first magnitude of visual impact on the appearance of the three-dimensional environment includes:

244. The method of any one of claims 237 to 243, comprising: displaying the first environmental effect with a visual characteristic having a first value defined by an operating system of the computer system in accordance with a determination that the first virtual content is a first type of content.

245. Displaying the first environmental effect having the first magnitude of visual impact on the appearance of the three-dimensional environment includes:

245. The method of claim 244, comprising: displaying the first environmental effect with the visual characteristic having a second value, different from the first value, defined by an application associated with the first virtual content, in accordance with a determination that the first virtual content is a second type of content different from the first type of content.

246. 246. The method of any one of claims 237 to 245, wherein altering the first magnitude of the visual impact of the first environmental effect on the appearance of the three-dimensional environment in which the first virtual content is displayed by the first amount or the second amount is done gradually over time in response to detecting that the user's attention has shifted away from the first virtual content in the three-dimensional environment.

247. detecting a shift of the user's attention away from the first virtual content in the three dimensional environment and then detecting a shift of the user's attention back to the first virtual content while gradually changing the first magnitude of a visual impact of the first environmental effect on the appearance of the three dimensional environment by the first amount or the second amount; 247. The method of claim 246, comprising: in response to detecting that the user's attention has returned to the first virtual content, changing the magnitude of the visual impact of the first environmental effect on the appearance of the three-dimensional environment in a direction opposite to a direction of the change in the first magnitude of the visual impact of the first environmental effect on the appearance of the three-dimensional environment that occurred in response to detecting that the user's attention has been directed to the first element.

248. varying the first magnitude of the visual impact of the first environmental effect on the appearance of the three-dimensional environment by the first amount or the second amount comprises decreasing the first magnitude of the visual impact of the first environmental effect on the appearance of the three-dimensional environment by the first amount or the second amount at a first rate of change; The method comprises: after detecting that the user's attention has shifted away from the first virtual content in the three dimensional environment, after detecting that the user's attention has shifted to the first element or the second element, and after performing at least a portion of the changing the first magnitude of a visual impact of the first environmental effect on the appearance of the three dimensional environment in which the first virtual content is displayed by the first amount or the second amount.

248. The method of any one of claims 237 to 247, comprising changing the magnitude of the visual impact of the first environmental effect on the appearance of the three-dimensional environment by a third amount in response to detecting a shift in the user's attention to the first virtual content or a third element, wherein changing the magnitude of the visual impact of the first environmental effect on the appearance of the three-dimensional environment by the third amount comprises increasing the magnitude of the visual impact of the first environmental effect on the appearance of the three-dimensional environment by a second rate of change having an absolute value greater than the first rate of change.

249. in response to detecting that the user's attention has shifted away from the first virtual content within the three dimensional environment and in accordance with the determination that the user's attention is directed to the first element; varying the first magnitude of a visual impact of the first environmental effect on the appearance of the three-dimensional environment by the first amount at a first rate of change in accordance with a determination that the first element is associated with a simultaneous display of a separate environmental effect with the first element while a user's attention is directed to the first element; 249. The method of any one of claims 237 to 248, comprising: changing the first magnitude of a visual impact of the first environmental effect on the appearance of the three-dimensional environment in which the first virtual content is displayed by the first amount at a second rate of change less than the first rate of change in accordance with a determination that the first element is not associated with simultaneous display of the individual environmental effect with the first element while a user's attention is directed to the first element.

250. While simultaneously displaying the first virtual content and the first environmental effect having the first magnitude of visual impact on the appearance of the three-dimensional environment, the first virtual content has a second magnitude of visual prominence in the three-dimensional environment, and the method includes:

250. The method of any one of claims 237 to 249, comprising reducing the second magnitude of visual salience of the first virtual content in the three dimensional environment by a third amount in response to detecting that the user's attention has shifted away from the first virtual content in the three dimensional environment.

251. in response to detecting that the user's attention has shifted away from the first virtual content within the three dimensional environment; varying the first magnitude of a visual impact of the first environmental effect on the appearance of the three-dimensional environment by a third amount in accordance with a determination that an angular distance between the user's attention and the first virtual content is a first angular distance; and altering the first magnitude of the visual impact of the first environmental effect on the appearance of the three-dimensional environment by a fourth amount greater than the third amount in accordance with a determination that the angular distance between the user's attention and the first virtual content is a second angular distance greater than the first angular distance.

252. in response to detecting that the user's attention has shifted away from the first virtual content within the three dimensional environment and in accordance with the determination that the user's attention is directed to the first element; varying the first magnitude of a visual impact of the first environmental effect on the appearance of the three-dimensional environment by the first amount at a first rate of change in accordance with a determination that an input other than a user's attention directed at the first element has been detected by the computer system; and changing the first magnitude of the visual impact of the first environmental effect on the appearance of the three-dimensional environment by the first amount at a second rate of change less than the first rate of change in accordance with a determination that no input other than a user's attention directed at the first element is detected by the computer system.

253. 253. The method of any one of claims 237 to 252, comprising, in response to detecting that the user's attention has shifted away from the first virtual content in the three-dimensional environment and in accordance with the determination that the user's attention is directed to the first element, modifying the visual appearance of the first virtual content and / or modifying the visual appearance of the first element in one or more manners different from modifying the first magnitude of the visual impact of the first environmental effect on the appearance of the three-dimensional environment by the first amount.

254. in response to detecting that the user's attention has shifted away from the first virtual content within the three dimensional environment; modifying the first magnitude of visual impact of the first environmental effect on the appearance of the three-dimensional environment in which the first virtual content is displayed by the first amount includes displaying the first environmental effect having a second magnitude of visual impact that is less than the first magnitude of visual impact on the appearance of the three-dimensional environment in which the first virtual content is displayed; 254. The method of any one of claims 237 to 253, wherein modifying the first magnitude of visual impact of the first environmental effect on the appearance of the three-dimensional environment in which the first virtual content is displayed by the second amount less than the first amount comprises displaying the first environmental effect having a third visual impact magnitude less than the first visual impact magnitude but greater than the second visual impact magnitude on the appearance of the three-dimensional environment in which the first virtual content is displayed.

255. in response to detecting that the user's attention has shifted away from the first virtual content within the three dimensional environment; modifying the first magnitude of the visual impact of the first environmental effect on the appearance of the three-dimensional environment in which the first virtual content is displayed by the first amount includes ceasing display of the first environmental effect; 55. The method of any one of claims 237 to 54, wherein modifying the first magnitude of a visual impact of the first environmental effect on the appearance of the three-dimensional environment in which the first virtual content is displayed by the second amount less than the first amount comprises displaying the first environmental effect having a second magnitude of visual impact on the appearance of the three-dimensional environment in which the first virtual content is displayed that is less than the visual impact of the first magnitude.

256. the first element is a virtual content; 256. The method of any one of claims 237 to 255, wherein the second element is a physical object in the user's physical environment that is visible in the three-dimensional environment.

257. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising: detect a change in attention of the user of the computer system while displaying, via the display generation component, a first virtual object at a first position within a three-dimensional environment that is visible from a first perspective of a user of the computer system and a second virtual object at a second position within the three-dimensional environment, where at least a portion of the first virtual object at least partially obscures a distinct portion of a second virtual object from the first perspective of the user of the electronic device; in response to detecting the change in attention of the user of the computer system, while the first virtual object remains in the first position within the three dimensional environment and the second virtual object remains in the second position within the three dimensional environment; In response to a determination that the attention of the user is directed to the second virtual object, 11. A computer system comprising: instructions for reducing visual salience of the individual portions of the first virtual object such that the individual portions of the second virtual object are more visible from the first perspective of the user.

258. 1. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs comprising: detect a change in attention of the user of the computer system while displaying, via the display generation component, a first virtual object at a first position within a three-dimensional environment that is visible from a first perspective of a user of the computer system and a second virtual object at a second position within the three-dimensional environment, where at least a portion of the first virtual object at least partially obscures a distinct portion of a second virtual object from the first perspective of the user of the electronic device; in response to detecting the change in attention of the user of the computer system, while the first virtual object remains in the first position within the three dimensional environment and the second virtual object remains in the second position within the three dimensional environment; In response to a determination that the attention of the user is directed to the second virtual object, 11. A non-transitory computer-readable storage medium comprising: instructions for reducing visual salience of distinct portions of the first virtual object such that the distinct portions of the second virtual object are more visible from the first perspective of the user.

259. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: means for detecting a change in attention of the user of the computer system while displaying, via the display generation component, a first virtual object at a first position within a three-dimensional environment that is visible from a first perspective of a user of the computer system and a second virtual object at a second position within the three-dimensional environment, where at least a portion of the first virtual object at least partially obscures a distinct portion of a second virtual object from the first perspective of the user of the electronic device; in response to detecting the change in attention of the user of the computer system, while the first virtual object remains in the first position within the three dimensional environment and the second virtual object remains in the second position within the three dimensional environment; In response to a determination that the attention of the user is directed to the second virtual object, and means for reducing visual salience of the individual portions of the first virtual object such that the individual portions of the second virtual object are more visible from the first perspective of the user.

260. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 237 to 259.

261. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, the one or more programs including instructions for performing the method of any one of claims 237 to 259.

262. A computer system in communication with a display generation component and one or more input devices, the computer system comprising:

260. A computer system comprising means for carrying out the method of any one of claims 237 to 259.

Citation Information

Patent Citations

  • Display device

    JP1996006708A

  • Display control device, display control method, and program

    JP2017126009A

  • Display control device, control method, program and storage media

    JP2018088118A

  • Gesture detection device and gesture detection method

    JP2020086913A

  • Position relative hologram interactions

    US20130326364A1