Method for manipulating objects in environment

By automatically updating the orientation of virtual objects within a three-dimensional environment based on the user's viewpoint, the system addresses the inefficiencies and complexities of existing augmented reality interfaces, improving interaction efficiency and reducing cognitive burden.

JP2025060590AActive Publication Date: 2025-04-10APPLE INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024201049
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2020-09-25
Filing Date
2024-11-18
Publication Date
2025-04-10
Estimated Expiration
2041-09-17

AI Technical Summary

Technical Problem

Existing computer systems for augmented reality environments are inefficient and complex, providing insufficient feedback and requiring multiple inputs to interact with virtual objects, which increases cognitive burden and energy consumption.

Method used

The system automatically updates the orientation of virtual objects within a three-dimensional environment based on the user's viewpoint, reducing the need for manual adjustments and enhancing interaction efficiency.

Benefits of technology

This approach simplifies user interaction by reducing the number and complexity of inputs required, enhancing the efficiency and naturalness of human-machine interaction in augmented reality environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025060590000001_ABST
    Figure 2025060590000001_ABST
Patent Text Reader

Abstract

To provide a method, an electronic device, and a program that make interaction with a computer system more efficient and intuitive for a user.SOLUTION: A method, in an electronic device, includes: displaying a three-dimensional environment including a representation of a first application displayed at a first location in the three-dimensional environment through a display generation component; receiving a movement input through one or more input devices; displaying the representation of the first application at a third location in the three-dimensional environment through the display generation component; updating the orientation of the representation of the first application from the first orientation to a second orientation different from the first orientation relative to the three-dimensional environment; and maintaining display of the representation of the first application at the first location in the three-dimensional environment without updating the orientation of the representation of the first application relative to the three-dimensional environment.SELECTED DRAWING: Figure 7A
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 Application No. 63 / 083,720, filed September 25, 2020, the contents of which are incorporated herein by reference in their entirety for all purposes.

[0002] (Technical field) It generally relates to a computer system having a display generating component and one or more input devices that present a graphical user interface, including but not limited to an electronic device that presents a three-dimensional environment through the display generating component, including virtual objects. [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 digital images, video, text, icons, and virtual objects such as buttons and other graphics.

[0004] However, methods and interfaces for interacting with environments (e.g., applications, augmented reality environments, mixed reality environments, and virtual reality environments) that include at least some virtual elements 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 energy. This latter consideration is particularly important in battery-operated devices. Summary of the Invention

[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 computer-generated 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 deficiencies and other problems associated with user interfaces for computer systems having a display generation component and one or more input devices 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 generation component, the output devices including one or more tactile output generators and 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 the touch-sensitive surface, the movement of the user's eyes and hands in space relative to the GUI or the user's body as captured by cameras and other movement sensors, and 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, spreadsheet creation, game playing, making phone calls, video conferencing, emailing, instant messaging, training support, digital photography, digital videography, web browsing, digital music playback, note taking, and / or digital video playback, and executable instructions to perform those functions are optionally contained on a 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 objects in a three-dimensional environment. Such methods and interfaces can complement or replace conventional methods for interacting with objects in 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.

[0008] In some embodiments, the electronic device automatically updates the orientation of the virtual object in the three-dimensional environment based on a user's viewpoint within the three-dimensional environment. In some embodiments, the electronic device automatically updates the orientation of the virtual object in the three-dimensional environment based on multiple users' viewpoints within the three-dimensional environment. In some embodiments, the electronic device modifies the appearance of real objects that are between the virtual object and the user's viewpoint within the three-dimensional environment. In some embodiments, the electronic device automatically selects a location for the user within the three-dimensional environment that includes one or more virtual objects and / or other users.

[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 a computer system operating environment for providing a CGR 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 CGR 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 a CGR 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] FIG. 1 illustrates an example of how an electronic device automatically updates the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint within the three-dimensional environment, according to some embodiments. [Figure 7B] FIG. 1 illustrates an example of how an electronic device automatically updates the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint within the three-dimensional environment, according to some embodiments. [Figure 7C] FIG. 1 illustrates an example of how an electronic device automatically updates the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint within the three-dimensional environment, according to some embodiments.

[0018] [Figure 8A] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint, according to some embodiments. [Figure 8B] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint, according to some embodiments. [Figure 8C] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint, according to some embodiments. [Figure 8D] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint, according to some embodiments. [Figure 8E]1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint, according to some embodiments. [Figure 8F] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint, according to some embodiments. [Figure 8G] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint, according to some embodiments. [Figure 8H] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint, according to some embodiments. [Figure 8I] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint, according to some embodiments. [Figure 8J] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint, according to some embodiments. [Figure 8K] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint, according to some embodiments. [Figure 8L] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint, according to some embodiments. [Figure 8M] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint, according to some embodiments. [Figure 8N] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint, according to some embodiments. [Figure 8O] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint, according to some embodiments. [Figure 8P] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint, according to some embodiments.

[0019] [Figure 9A] FIG. 1 illustrates an example of how an electronic device automatically updates the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 9B] FIG. 1 illustrates an example of how an electronic device automatically updates the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 9C] FIG. 1 illustrates an example of how an electronic device automatically updates the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 9D] FIG. 1 illustrates an example of how an electronic device automatically updates the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments.

[0020] [Figure 10A] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10B] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10C] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10D]1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10E] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10F] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10G] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10H] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10I] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10J] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10K] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10L] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10M]1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10N] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10O] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10P] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10Q] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10R] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10S] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments. [Figure 10T] 1 is a flowchart illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments.

[0021] [Figure 11A] FIG. 1 illustrates an example of how an electronic device may modify the appearance of real objects that are between a virtual object and a user's viewpoint in a three-dimensional environment, according to some embodiments. [Figure 11B]FIG. 1 illustrates an example of how an electronic device may modify the appearance of real objects that are between a virtual object and a user's viewpoint in a three-dimensional environment, according to some embodiments. [Figure 11C] FIG. 1 illustrates an example of how an electronic device may modify the appearance of real objects that are between a virtual object and a user's viewpoint in a three-dimensional environment, according to some embodiments.

[0022] [Figure 12A] 1 is a flowchart illustrating a method for modifying the appearance of real objects that lie between a virtual object and a user's viewpoint in a three-dimensional environment, according to some embodiments. [Figure 12B] 1 is a flowchart illustrating a method for modifying the appearance of real objects that lie between a virtual object and a user's viewpoint in a three-dimensional environment, according to some embodiments. [Figure 12C] 1 is a flowchart illustrating a method for modifying the appearance of real objects that lie between a virtual object and a user's viewpoint in a three-dimensional environment, according to some embodiments. [Figure 12D] 1 is a flowchart illustrating a method for modifying the appearance of real objects that lie between a virtual object and a user's viewpoint in a three-dimensional environment, according to some embodiments. [Figure 12E] 1 is a flowchart illustrating a method for modifying the appearance of real objects that lie between a virtual object and a user's viewpoint in a three-dimensional environment, according to some embodiments. [Figure 12F] 1 is a flowchart illustrating a method for modifying the appearance of real objects that lie between a virtual object and a user's viewpoint in a three-dimensional environment, according to some embodiments. [Figure 12G] 1 is a flowchart illustrating a method for modifying the appearance of real objects that lie between a virtual object and a user's viewpoint in a three-dimensional environment, according to some embodiments. [Figure 12H] 1 is a flowchart illustrating a method for modifying the appearance of real objects that lie between a virtual object and a user's viewpoint in a three-dimensional environment, according to some embodiments.

[0023] [Figure 13A] 1 illustrates an example of how an electronic device can automatically select a location for a user within a three-dimensional environment that includes one or more virtual objects and / or other users, according to some embodiments. [Figure 13B] 1 illustrates an example of how an electronic device can automatically select a location for a user within a three-dimensional environment that includes one or more virtual objects and / or other users, according to some embodiments. [Figure 13C] 1 illustrates an example of how an electronic device can automatically select a location for a user within a three-dimensional environment that includes one or more virtual objects and / or other users, according to some embodiments.

[0024] [Figure 14A] 1 is a flowchart illustrating a method for automatically selecting a location for a user within a three-dimensional environment that includes one or more virtual objects and / or other users, according to some embodiments. [Figure 14B] 1 is a flowchart illustrating a method for automatically selecting a location for a user within a three-dimensional environment that includes one or more virtual objects and / or other users, according to some embodiments. [Figure 14C] 1 is a flowchart illustrating a method for automatically selecting a location for a user within a three-dimensional environment that includes one or more virtual objects and / or other users, according to some embodiments. [Figure 14D] 1 is a flowchart illustrating a method for automatically selecting a location for a user within a three-dimensional environment that includes one or more virtual objects and / or other users, according to some embodiments. [Figure 14E] 1 is a flowchart illustrating a method for automatically selecting a location for a user within a three-dimensional environment that includes one or more virtual objects and / or other users, according to some embodiments. [Figure 14F]1 is a flowchart illustrating a method for automatically selecting a location for a user within a three-dimensional environment that includes one or more virtual objects and / or other users, according to some embodiments. [Figure 14G] 1 is a flowchart illustrating a method for automatically selecting a location for a user within a three-dimensional environment that includes one or more virtual objects and / or other users, according to some embodiments. [Figure 14H] 1 is a flowchart illustrating a method for automatically selecting a location for a user within a three-dimensional environment that includes one or more virtual objects and / or other users, according to some embodiments. [Figure 14I] 1 is a flowchart illustrating a method for automatically selecting a location for a user within a three-dimensional environment that includes one or more virtual objects and / or other users, according to some embodiments. [Figure 14J] 1 is a flowchart illustrating a method for automatically selecting a location for a user within a three-dimensional environment that includes one or more virtual objects and / or other users, according to some embodiments. [Figure 14K] 1 is a flowchart illustrating a method for automatically selecting a location for a user within a three-dimensional environment that includes one or more virtual objects and / or other users, according to some embodiments. [Figure 14L] 1 is a flowchart illustrating a method for automatically selecting a location for a user within a three-dimensional environment that includes one or more virtual objects and / or other users, according to some embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0025] The present disclosure relates to a user interface that provides a computer-generated reality (CGR) experience to a user, according to some embodiments.

[0026] The systems, methods, and GUIs described herein provide improved ways for electronic devices to interact with and manipulate objects in a three-dimensional environment, optionally including one or more virtual objects, one or more representations of real objects in the physical environment of the electronic device (e.g., displayed as photorealistic (e.g., "pass-through") representations of the real objects or visible to the user through transparent portions of a display generation component), and / or a representation of a user within the three-dimensional environment.

[0027] In some embodiments, the electronic device automatically updates the orientation of the virtual object in the three-dimensional environment based on the user's viewpoint within the three-dimensional environment. In some embodiments, the electronic device moves the virtual object according to user input and displays the object at the updated location upon completion of the user input. In some embodiments, the electronic device automatically updates the orientation of the virtual object at the updated location (e.g., and / or as the virtual object moves to the updated location) so that the virtual object is oriented toward the user's viewpoint within the three-dimensional environment (e.g., throughout and / or at the end of its movement). Automatically updating the orientation of a virtual object in a three-dimensional environment allows a user to view and interact with the virtual object more naturally and efficiently, without requiring the user to manually adjust the object's orientation.

[0028] In some embodiments, the electronic device automatically updates the orientation of the virtual object in the three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment. In some embodiments, the electronic device moves the virtual object according to user input and displays the object at the updated location upon completion of the user input. In some embodiments, the electronic device automatically updates the orientation of the virtual object at the updated location (e.g., and / or as the virtual object moves to the updated location) so that the virtual object is oriented toward the viewpoints of multiple users in the three-dimensional environment (e.g., throughout and / or at the end of its movement). Automatically updating the orientation of a virtual object in a three-dimensional environment allows a user to view and interact with the virtual object more naturally and efficiently, without requiring the user to manually adjust the orientation of the object.

[0029] In some embodiments, the electronic device modifies the appearance of real objects that are between the virtual object and the user's viewpoint in the three-dimensional environment. The electronic device optionally blurs, darkens, or otherwise modifies portions of real objects (e.g., displayed as photorealistic (e.g., "pass-through") representations of the real objects or visible to the user through transparent portions of the display generation components) that are between the user's viewpoint and the virtual object in the three-dimensional environment. In some embodiments, the electronic device modifies portions of the real object that are within a threshold distance (e.g., 5, 10, 30, 50, 100 centimeters, etc.) from the boundary of the virtual object without modifying portions of the real object that are greater than the threshold distance from the boundary of the virtual object. Modifying the appearance of the real object allows the user to view and interact with the virtual object more naturally and efficiently. Furthermore, modifying the appearance of the real object reduces cognitive burden on the user.

[0030] In some embodiments, the electronic device automatically selects a location for the user within a three-dimensional environment that includes one or more virtual objects and / or other users. In some embodiments, the user gains access to a three-dimensional environment that already includes one or more other users and one or more virtual objects. In some embodiments, the electronic device automatically selects a location to associate the user with (e.g., a location to place the user's viewpoint) based on the locations and orientations of the virtual objects and other users within the three-dimensional environment. In some embodiments, the electronic device selects the user's location to allow the user to view other users and virtual objects within the three-dimensional environment without obstructing the other users' views of the user and virtual objects. Automatically placing the user within the three-dimensional environment based on the locations and orientations of the virtual objects and other users within the three-dimensional environment allows the user to efficiently view and interact with virtual objects and other users within the three-dimensional environment without having to manually select locations within the three-dimensional environment with which the user should be associated.

[0031] 1-6 provide a description of an exemplary computer system for providing a CGR experience to a user (as described below with respect to methods 800, 1000, 1200, and 1400). In some embodiments, the CGR experience is provided to a user via an operating environment 100 that includes a computer system 101, as shown in FIG. The computer system 101 includes a controller 110 (e.g., a processor of a portable electronic device or a remote server), a display generation component 120 (e.g., a head-mounted device (HMD), a display, a projector, a touchscreen, etc.), one or more input devices 125 (e.g., an eye-tracking device 130, a hand-tracking device 140, other input devices 150), one or more output devices 155 (e.g., a speaker 160, a 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 touch sensor, an orientation sensor, a proximity sensor, a temperature sensor, a location sensor, a motion sensor, a speed sensor, etc.), and optionally one or more peripheral devices 195 (e.g., a home appliance, a wearable device, etc.). In some embodiments, one or more of the input device 125, the output device 155, the sensor 190, and the peripheral device 195 are integrated with the display generation component 120 (e.g., within a head-mounted or handheld device).

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

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

[0034] Computer-Generated Reality: In contrast, a computer-generated reality (CGR) environment refers to a wholly or partially mimicked environment that people sense and / or interact with via electronic systems. In a CGR, 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 CGR environment are adjusted accordingly to behave according to at least one law of physics. For example, a CGR 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 the property(ies) of a virtual object(s) in a CGR environment may be made in response to a representation of a body movement (e.g., a voice command). A person may sense and / or interact with a CGR 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 spatially expansive audio environment, providing the perception of a point sound source in 3D space. In another example, audio objects may enable audio transparency, selectively incorporating ambient sounds from the physical environment, with or without computer-generated audio. In some CGR environments, a person may sense and / or interact with only audio objects.

[0035] Examples of CGR include virtual reality and mixed reality.

[0036] Virtual Reality: A virtual reality (VR) environment refers to an emulated 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 movements in the computer-generated environment.

[0037] Mixed Reality: A mixed reality (MR) environment refers to a mimicked 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), as opposed to a VR environment designed to be based entirely on computer-generated sensory input. On the virtual continuum, a mixed reality environment is anywhere between, but not including, a fully physical environment at one end and a virtual reality environment at the other. In some MR environments, computer-generated sensory input 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 from the physical environment or their representations). For example, the system may account for movement so that a virtual tree appears stationary relative to the physical ground.

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

[0039] Augmented reality: An augmented reality (AR) environment refers to a simulated environment in which one or more virtual objects are superimposed on a physical environment or a representation 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, which are representations of the physical environment. The system composites the images or videos with virtual objects and presents the composite on the opaque display. A 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, videos of a physical environment shown on an opaque display are 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, so that a person using the system perceives the virtual objects superimposed on the physical environment. An augmented reality environment also refers to a simulated environment in which a representation of the physical environment is transformed by computer-generated sensory information. For example, 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 image sensor. As another example, the representation of the physical environment may be distorted by graphically altering (e.g., enlarging) a portion thereof, thereby rendering the altered portion 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 a portion thereof.

[0040] Augmented Virtual: An augmented virtual (AV) environment refers to a mimicking 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.

[0041] Hardware: There are many different types of electronic systems that enable a person to sense and / or interact with various CGR environments. Examples include head-mounted systems, projection-based systems, heads-up displays (HUDs), vehicle windshields with integrated display capabilities, windows with integrated display capabilities, displays formed as lenses designed to be placed over a person's eyes (e.g., similar to 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 eye. 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 as physical surfaces. In some embodiments, the controller 110 is configured to manage and coordinate the user's CGR experience.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, a central server, etc.) 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, a touchscreen, etc.) via one or more wired or wireless communication channels 144 (e.g., BLUETOOTH, IEEE 802.11x, IEEE 802.16x, IEEE 802.3x, etc.). In another example, the controller 110 is 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 generation 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.

[0042] In some embodiments, display generation component 120 is configured to provide a CGR experience (e.g., at least a visual component of the CGR 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, functionality of controller 110 is provided by and / or combined with display generation component 120.

[0043] According to some embodiments, the display generation component 120 provides a CGR experience to the user while the user is virtually and / or physically present within the scene 105.

[0044] In some embodiments, the display generation component is worn on a part of the user's body (e.g., on their head, their hand, etc.). Thus, display generation component 120 includes one or more CGR displays provided for displaying CGR content. For example, in various embodiments, display generation component 120 surrounds the user's field of view. In some embodiments, display generation component 120 is a handheld device (e.g., a smartphone or tablet) configured to present CGR 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 generation component 120 is a CGR chamber, housing, or room configured to present CGR content without the user wearing or holding display generation component 120. Many user interfaces described with reference to one type of hardware for displaying CGR content (e.g., a handheld device or a device on a tripod) may be implemented on another type of hardware for displaying CGR content (e.g., an HMD or other wearable computing device). For example, a user interface showing an interaction with CGR content triggered based on an interaction occurring in the space in front of a handheld or tripod-mounted device may be implemented similarly to an HMD where the interaction occurs in the space in front of the HMD and the CGR content response is displayed via the HMD. Similarly, a user interface showing an interaction with CGR content 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 hand)) may be implemented similarly to an HMD where the interaction is triggered 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 hand)).

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

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

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

[0048] 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 one or more processing units 202. Memory 220 includes a non-transitory computer-readable storage medium. In some embodiments, memory 220, or the non-transitory computer-readable storage medium of memory 220, stores the following programs, modules, and data structures, or a subset thereof, including optional operating system 230 and CGR experience module 240:

[0049] Operating system 230 includes instructions for handling various basic system services and for performing hardware-dependent tasks. In some embodiments, CGR experience module 240 is configured to manage and coordinate one or more CGR experiences for one or more users (e.g., a single CGR experience for one or more users, or multiple CGR experiences for respective groups of one or more users). To that end, in various embodiments, CGR experience module 240 includes a data acquisition unit 242, a tracking unit 244, an adjustment unit 246, and a data transmission unit 248.

[0050] In some embodiments, data acquisition unit 242 is configured to acquire data (e.g., presentation data, interaction data, sensor data, location data, etc.) from at least display generation component 120 of FIG. 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 242 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.

[0051] In some embodiments, tracking unit 244 is configured to map scene 105 and track the position / location of at least display generation component 120, and optionally one or more of input device 125, output device 155, sensor 190, and / or peripheral device 195, relative to scene 105 of FIG. 1 . To that end, in various embodiments, tracking unit 244 includes instructions and / or logic therefor, as well as heuristics and metadata therefor. In some embodiments, tracking unit 244 includes hand tracking unit 243 and / or eye tracking unit 245. In some embodiments, hand tracking unit 243 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 generation component 120, and / or relative to a coordinate system defined relative to the user's hand. Hand tracking unit 243 is described in more detail below with respect to FIG. 4 . In some embodiments, eye tracking unit 245 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 CGR content displayed via display generation component 120. Eye tracking unit 245 is described in more detail below with respect to FIG. 5.

[0052] In some embodiments, adjustment unit 246 is configured to manage and adjust the CGR 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, adjustment unit 246 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.

[0053] In some embodiments, data transmission unit 248 is configured to transmit data (e.g., presentation data, location data, etc.) 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 transmission unit 248 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.

[0054] Although the data acquisition unit 242, the tracking unit 244 (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 242, the tracking unit 244 (e.g., including the eye tracking unit 243 and the hand tracking unit 244), the adjustment unit 246, and the data transmission unit 248 may be located within separate computing devices.

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

[0056] 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 not to obscure more pertinent aspects of the embodiments disclosed herein. To that end, by way of non-limiting example, in some embodiments, the HMD 120 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 CGR 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.

[0057] In some embodiments, the one or more communication buses 304 include circuitry that interconnects and controls communication between the 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, a blood glucose sensor, etc.), 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.

[0058] In some embodiments, one or more CGR displays 312 are configured to provide a CGR experience to a user. In some embodiments, one or more CGR 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, one or more CGR displays 312 correspond to a waveguide display, such as a diffractive, reflective, polarized, holographic, etc. For example, the HMD 120 includes a single CGR display. In another example, the HMD 120 includes a CGR display for each eye of the user. In some embodiments, one or more CGR displays 312 are capable of presenting MR or VR content. In some embodiments, one or more CGR displays 312 are capable of presenting MR or VR content.

[0059] 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 viewed by the user when the HMD 120 is not present (and may be referred to as scene cameras). 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.

[0060] 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 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 a CGR presentation module 340:

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

[0062] In some embodiments, the data acquisition unit 342 is configured to acquire data (e.g., presentation data, interaction data, sensor data, location data, etc.) 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.

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

[0064] In some embodiments, the CGR map generation unit 346 is configured to generate a CGR 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) based on the media content data. To that end, in various embodiments, the CGR map generation unit 346 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.

[0065] In some embodiments, data transmission unit 348 is configured to transmit data (e.g., presentation data, location data, etc.) 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 transmission unit 348 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.

[0066] Although the data acquisition unit 342, the CGR presentation unit 344, the CGR map generation unit 346, and the data transmission 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 CGR presentation unit 344, the CGR map generation unit 346, and the data transmission unit 348 may be located within separate computing devices.

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

[0068] 4 is a schematic diagram of an example embodiment of hand tracking device 140. In some embodiments, hand tracking device 140 (FIG. 1) is controlled by hand tracking unit 243 (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 generation component 120, or relative to a portion of the user (e.g., the user's face, eyes, or head), and / or relative to the user's hand). In some embodiments, hand tracking device 140 is part of display generation component 120 (e.g., embedded in or attached to a head-mounted device). In some embodiments, hand tracking device 140 is separate from display generation component 120 (e.g., located in a separate housing or attached to a separate physical support structure).

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

[0070] 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 hand 408 and changing hand posture.

[0071] In some embodiments, the image sensor 404 projects a spot pattern onto a scene containing the hand 406 and captures an image of the projected pattern. In some embodiments, the controller 110 calculates the 3D coordinates of points in the scene (including points on the surface of the user's hand) by triangulation based on the lateral 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 set 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 hand tracking device 440 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.

[0072] 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 with patch descriptors stored in the database 408, based on a previous learning process, to estimate the pose of the hand in each frame. The pose typically includes the 3D locations of the user's wrist joints and fingertips.

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

[0074] 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 440, 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 hand tracking device 402, 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.

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

[0076] 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 skeleton 414 is superimposed 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, end of the hand where it connects to the wrist, etc.), and optionally the wrist or arm connected to the hand, are identified and placed 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.

[0077] FIG. 5 illustrates an exemplary embodiment of eye tracking device 130 (FIG. 1). In some embodiments, eye tracking device 130 is controlled by eye tracking unit 245 (FIG. 2) to track the position and movement of a user's gaze relative to scene 105 or relative to CGR 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 on a wearable frame, the head-mounted device includes both components for generating CGR content for viewing by the user and components for tracking the user's gaze relative to the CGR 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 a CGR chamber, eye tracking device 130 is optionally a device separate from the handheld device or the CGR 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 generation components. In some embodiments, eye tracking device 130 is not a head-mounted device, and is optionally used in conjunction with head-mounted display generation components. In some embodiments, eye tracking device 130 is not a head-mounted device, and is optionally part of non-head-mounted display generation components.

[0078] 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 a 3D virtual view to the user. For example, a 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.

[0079] As shown in FIG. 5 , in some embodiments, the eye tracking device 130 includes at least one eye tracking camera (e.g., an infrared (IR) 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. The eye tracking device 130 optionally captures images of the user's eyes (e.g., as a video stream captured at 60-120 frames per second (fps)), analyzes the images to generate eye tracking information, and communicates the eye tracking information to the 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 each eye-tracking camera and lighting source.

[0080] 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, central visual location, optical axis, visual axis, eye spacing, etc. According to some embodiments, once the device-specific and user-specific parameters for the eye tracking device 130 have been determined, 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.

[0081] As shown in FIG. 5, eye tracking device 130 (e.g., 130A or 130B) includes an eyepiece(s) 520 and an eye 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, a projector, etc.) 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 at the top of FIG. 5), or may be directed at the user's eye(s) 592 to receive reflected IR or NIR light from the user's eye(s) 592 (e.g., as shown at the bottom of FIG. 5).

[0082] 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 user's current looking direction.

[0083] 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 CGR 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.

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

[0085] In some embodiments, the display 510 emits light in the visible light range and not in the IR or NIR range, thereby not introducing noise into the eye-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.

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

[0087] Figure 6 shows a glint-assisted eye tracking pipeline, according to some embodiments. In some embodiments, the eye tracking pipeline is implemented by a glint-assisted eye tracking system (e.g., eye tracking device 130 as shown in Figures 1 and 5). The glint-assisted eye tracking system can maintain a tracking state. Initially, the tracking state is off or "no." When in the tracking state, the glint-assisted eye 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 eye 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.

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

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

[0090] At 640, proceeding from element 410, the current frame is analyzed to track pupils and glints based in part on prior 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" 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.

[0091] 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 a CGR experience according to various embodiments.

[0092] Accordingly, the description herein describes several embodiments of three-dimensional environments (e.g., CGR 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 electronic device, or passively via a transparent or translucent display of the electronic device). 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 device and displayed via a display generation component. As a mixed reality system, the device can optionally display portions and / or objects of the physical environment such that individual portions and / or objects of the physical environment appear to exist within the three-dimensional environment displayed by the electronic device. Similarly, the device can optionally display virtual objects within the three-dimensional environment such that the virtual objects appear to exist in the real world (e.g., the physical environment) by placing the virtual objects at individual locations within the three-dimensional environment that have corresponding locations in the real world. For example, the device optionally displays a vase in a manner that makes it appear as if the real vase were placed on a table in the physical environment. In some embodiments, each location in the three-dimensional environment has a corresponding location in the physical environment. Thus, when a device is described as displaying a virtual object at a distinct location relative to a physical object (e.g., a location at or near the user's hand, or a location at or near the physical table, etc.), the device displays the virtual object at a particular location in the three-dimensional environment in a manner that makes it appear as if the virtual object were 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).

[0093] In some embodiments, real-world objects present in the physical environment 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 may 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.

[0094] 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 device 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, the user's hands are visible through the display generation component by the ability to see the physical environment through the user interface due to transparency / semi-transparency of the user interface or a projection of the user interface onto a transparent / semi-transparent surface or a portion of the display generation component displaying the projection of the user interface into the user's eyes or field of view of the user's eyes. Thus, in some embodiments, the user's hands are displayed in 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, a user can move their hands to cause a representation of their hands in the three-dimensional environment to move in coordination with the movement of the user's hands.

[0095] In some of the embodiments described below, the device can optionally determine an “effective” distance between a physical object in the physical world and a virtual object in the three-dimensional environment, for example, to determine whether the physical object is interacting with the virtual object (e.g., whether a hand is touching, grabbing, or holding the virtual object, or within a threshold distance of the virtual object, etc.). For example, the device determines the distance between a user's hand and a virtual object when determining whether and / or how the user is interacting with the virtual object. In some embodiments, the device determines the distance between a user's hand and a virtual object by determining the distance between the location of the hand in the three-dimensional environment and the location of a virtual object of interest in the three-dimensional environment. For example, one or more of the user's hands are positioned at specific positions in the physical world, and the device optionally captures and displays them at specific corresponding positions in the three-dimensional environment (e.g., positions in the three-dimensional environment where the hand would be displayed if the hand were a virtual hand rather than a physical hand). The position of the hand in the three-dimensional environment is optionally compared to the position of a target virtual object in the three-dimensional environment to determine the distance between the user's one or more hands and the virtual object. In some embodiments, the device 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 a three-dimensional environment). For example, when determining the distance between one or more of a user's hands and a virtual object, the device 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 device optionally performs any of the techniques described above to map the location of the physical object to the three-dimensional environment and / or map the location of the virtual object to the physical world.

[0096] In some embodiments, the same or similar techniques are used to determine where a user's gaze is directed and / or where a physical stylus held by the user is pointed. For example, if a user's gaze is directed toward a particular position in the physical environment, the device optionally determines a corresponding position in the three-dimensional environment, and if a virtual object is located at that corresponding virtual position, the device optionally determines that the user's gaze is directed toward that virtual object. Similarly, the device may optionally determine where the physical stylus is pointing in the physical world based on the orientation of the stylus. In some embodiments, based on this determination, the device determines a corresponding virtual position in the three-dimensional environment that corresponds to the location in the physical world where the stylus is pointing, and optionally determines that the stylus is pointing to the corresponding virtual position in the three-dimensional environment.

[0097] Similarly, embodiments described herein may refer to the location of a user (e.g., a user of a device) and / or the location of a device within a three-dimensional environment. In some embodiments, a user of a device is holding, wearing, or otherwise located at or near the electronic device. Thus, in some embodiments, the location of the device is used as a proxy for the location of the user. In some embodiments, the location of the device and / or user within the physical environment corresponds to a distinct location within the three-dimensional environment. In some embodiments, the distinct location is a location from which a “camera” or “view” of the three-dimensional environment extends. For example, the location of the device is a location within the physical environment (and its corresponding location within the three-dimensional environment) from which, if a user stood at that location facing a distinct portion of the physical environment displayed by the display generation component, the user would see objects in the physical environment in the same position, orientation, and / or size (e.g., absolutely and / or relative to each other) as they are displayed by the display generation component of the device. Similarly, if the virtual objects displayed in the three-dimensional environment were physical objects in the physical environment (e.g., located in the same physical environment location and having the same physical environment size and orientation as in the three-dimensional environment), the location of the device and / or user is the position at which the user would view the virtual objects in the physical environment in the same position, orientation, and / or size as displayed by the display generation component of the device (e.g., absolutely and / or relative to each other and to real-world objects).

[0098] 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 an example is provided using interaction with a virtual environment and another example is provided using a mixed reality environment, it should be understood that each example may be compatible with, and optionally utilize, the method described with respect to the other example. Thus, the present 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.

[0099] 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 can be repeated in any particular order until the conditions are satisfied and are 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. User Interface and Related Processes

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

[0101] 7A-7C are diagrams illustrating examples of how an electronic device may automatically update the orientation of a virtual object in a three-dimensional environment based on a user's viewpoint within the three-dimensional environment, according to some embodiments.

[0102] FIG. 7A illustrates electronic device 101 displaying a three-dimensional environment 704 on a user interface via display generation component 120. As described above with reference to FIGS. 1-6 , electronic device 101 optionally includes display generation component 120 (e.g., a touchscreen) and multiple image sensors 314. The image sensors optionally include one or more of a visible light camera, an infrared camera, a depth sensor, or any other sensors that electronic device 101 can use to capture one or more images of a user or a portion of a user while the user interacts with electronic device 101. In some embodiments, display generation component 120 is a touchscreen capable of detecting the user's hand gestures and movements. In some embodiments, the user interfaces illustrated below may also be implemented on a head-mounted display that includes a display generation component that displays the user interface to a user and sensors for detecting the physical environment and / or the user's hand movements (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).

[0103] As shown in FIG. 7A , three-dimensional environment 704 includes a representation of app A 706, a representation of app B 708, and multiple virtual objects, including virtual object 710. In some embodiments, three-dimensional environment 704 is presented with respect to a fixed frame of reference (e.g., gravity, one or more objects in the physical environment of electronic device 101). In some embodiments, three-dimensional environment 704 is based on and / or includes representations of objects in the physical environment of electronic device 101, and the frame of reference in which three-dimensional environment 704 is presented is the physical environment of electronic device 101 or one or more objects in the physical environment. FIG. 7A includes a legend 712 illustrating a bird's-eye view of three-dimensional environment 704. Legend 712 indicates the position and orientation of representation of app A 706, representation of app B 708, virtual object 710, and user 714 within the three-dimensional environment. FIG. 7A also shows electronic device 101 displaying three-dimensional environment 704 from the perspective of a user within the three-dimensional environment.

[0104] As indicated by legend 712, app A representation 706 and app B representation 708 have an orientation within three-dimensional environment 704 that is tilted toward user 714. For example, app A representation 706 is to the left of user 714, and therefore the orientation of app A representation 706 is tilted to the right so that it is tilted toward user 714. As another example, app B representation 708 is to the right of user 714, and therefore the orientation of app B representation 708 is tilted to the left so that it is tilted toward user 714. Thus, app A representation 706 and app B representation 708 have different orientations from one another. In some embodiments, the representations of the applications include application content on one side of the representation. For example, the side of app A representation 706 facing user 714 in three-dimensional environment 704 includes app A's user interface content. Similarly, for example, the side of the representation 708 of app B that faces the user 714 in the three-dimensional environment 704 includes the content of app B's user interface.

[0105] In some embodiments, electronic device 101 automatically orients the representation of the application toward user 714 within three-dimensional environment 712 (e.g., in response to input to display a representation of the application, after moving the representation of the application in response to user input, etc.). In some embodiments, automatically orienting the representation of the application toward the user includes tilting the representation toward the user and positioning a side of the representation including the content of the representation toward the user. In some embodiments, electronic device 101 constructs and / or has access to a vector field superimposed on three-dimensional environment 704, the vectors pointing to the location of user 714 within three-dimensional environment 704, and orients virtual objects (e.g., representations of the application) according to the vector field. Consequences of such orientations are described below.

[0106] 7A , the electronic device 101 detects a user's gaze 716 on the representation 706 of app A (e.g., via the eye tracking device 314). In response to detecting the user's gaze on the representation 706 of app A, the electronic device 101 displays a user interface element 718 indicating that the user's gaze has been detected on the representation 706 of app A. While FIG. 7A illustrates the user interface element 718 as an outline around the representation 706 of app A, it should be understood that in some embodiments, the user interface element 718 has a different shape / appearance / location. For example, the electronic device 101 optionally displays a user interface element, such as a bar or line, along one edge of the representation 706 of app A in response to detecting the user's gaze on the representation 706 of app A.

[0107] While detecting the user's gaze 716 on the representation 706 of app A, the electronic device 101 detects (e.g., via a hand tracking device (e.g., one or more cameras, depth sensors, proximity sensors, touch sensors (e.g., a trackpad or touchscreen))) that the user is making a gesture with their hand 720. For example, the gesture is the user touching their thumb to another finger of the thumb's hand (e.g., index finger, middle finger, ring finger, pinky finger). In response to simultaneously detecting the user's gaze 716 on the representation 706 of app A while detecting the gesture being performed by the user's hand 720, the electronic device 101 begins a process of moving the representation 706 within the three-dimensional environment according to the movement of the user's hand 720 while the gesture is maintained. As shown in FIG. 7A , the user moves the user's hand 720 to the right, toward the user's body, while keeping the other finger touching the thumb.

[0108] In response to movement of the hand 720 shown in FIG. 7A, the electronic device moves the representation 706 of app A within the three-dimensional environment 704 according to the movement (e.g., to the right toward the user 714), as shown in FIG. 7B.

[0109] FIG. 7B shows a three-dimensional environment 704 including a representation 708 of app A in an updated position (e.g., closer to the user 714, here located between the object 710 and the representation 706 of app B, and slightly to the right of the user 704) according to the user input shown in FIG. 7A. In addition to updating the position of the representation 706 of app A according to the movement of the user's hand 720 in FIG. 7A, the electronic device 101 also updates the orientation of the representation 706 of app A. As described above and shown in FIG. 7A, the electronic device 101 detects a user input while the representation 706 of app A is tilted to the right so that it is facing the user. As shown in FIG. 7B, in response to moving the representation 706 of app A to a position slightly to the right of the user 714 within the three-dimensional environment 704, the electronic device 101 updates the orientation of the representation 706 of app A to tilt it slightly to the left so that it remains oriented toward the user 714 within the three-dimensional environment. Representation 706 of app A remains oriented such that the side of representation 706 facing user 714 within three dimensional environment 704 is the side of representation 706 that includes the content of app A's user interface. In some embodiments, the orientation of representation 706 of app A is defined by a vector field that points to user 714 within three dimensional environment 704. For example, the orientation of representation 706 of app A within three dimensional environment 704 of FIG. 7B is the direction of the vector field at the location of representation 706 of app A within three dimensional environment 704 of FIG. 7B. In some embodiments, the orientation of representation 706 of app A is continuously updated according to the vector field while representation 706 of app A is moved within three dimensional environment 704.

[0110] In addition to changing the orientation and position of the representation of app A 706, the electronic device 101 optionally also updates the size of the representation of app A 706 in response to user input that moves the representation of app A 706 within the three-dimensional environment. As shown in Figure 7A, while the electronic device 101 detects input that moves the representation of app A 706, the representation of app A 706 is at a discrete distance from the user 714 within the three-dimensional environment 704, as indicated by legend 712. As shown in legend 712 in Figure 7B, the updated location of the representation of app A 706 is closer to the user 714 within the three-dimensional environment 704 than the location of the representation of app A 706 before the electronic device 101 moved the representation of app A 706. Although representation 706 of app A appears to be displayed by electronic device 101 (e.g., via display generation component 120) at the same or similar size before and after an input that moves representation 706 of app A is detected, as shown in legend 712, the size of representation 706 optionally decreases in response to moving representation 706 closer to the user. Similarly, in some embodiments, electronic device 101 optionally increases the size of representation 706 as user 714 moves representation 706 of app A further away from user 714 within three-dimensional environment 704. In this way, electronic device 101 can maintain the amount of display area of ​​display generation component 120 used to display representation 706 as the distance from representation 706 to user 714 within three-dimensional environment 704 changes.

[0111] In some embodiments, as described in more detail below with reference to FIGS. 8A-13C, three-dimensional environment 704 includes multiple users. For example, three-dimensional environment 704 includes users in addition to user 714. In some embodiments, one or more objects (e.g., object 710, representation 706, representation 708) are accessible to only one of the users in three-dimensional environment 704 (e.g., user 714 or one of the other users). In some embodiments, an object accessible only to one user is displayed only by that user's electronic device 101, and only that user can provide user input directed to the object. For example, an object accessible only to user 714 is displayed by electronic device 101 shown in FIGS. 7A-7B but not by electronic device(s) of the other user(s). As another example, an object accessible only to other user(s) is not displayed by electronic device 101 shown in FIGS. 7A-7B.

[0112] In some embodiments, the orientation of a virtual object is updated based on the position of a user who has access to the object (e.g., when initially displayed in three-dimensional environment 704, in response to a request to move the object, etc.), rather than based on the positions of other users. For example, if three-dimensional environment 704 included an additional user who did not have access to representation 706 of app A, electronic device 101 would update the orientation of representation 706 of app A in the same manner as described above with reference to FIGS. 7A-7B. As another example, if three-dimensional environment 704 included another user who had access to representation 706 of app A, but user 714 did not have access to representation 706 of app A, the orientation of representation 706 of app A would be updated based on the location of the other user instead of the location of user 714 when the position of representation 706 of app A is updated.

[0113] 8A-9D , if an object is accessible to multiple (e.g., all) users in the three-dimensional environment 704, the electronic device 101 optionally updates the object's orientation based on the positions of multiple (e.g., all) users who have access to the object (e.g., when it is initially displayed in the three-dimensional environment 704, in response to a request to move the object, etc.). For example, if the three-dimensional environment 704 includes additional users, in response to an input that moves the representation 706 of app A, the electronic device 101 updates the orientation of the representation 706 of app A according to both the position of user A 714 and the positions of the other users. Thus, in this example, the orientation of the representation 706 of app A may differ from the orientation shown in FIG. 7B even if the representation 706 of app A is moved to the location shown in FIG. 7B. In some embodiments, an object that includes content on only one side of the object (e.g., a virtual television, an application's user interface, etc., representations 706, 708, and 724 in FIGS. 9A-9D) is oriented so that the side with the content faces multiple (e.g., all) users in three-dimensional environment 704. As another example, an object that includes content on multiple sides (e.g., a virtual object such as representation 922 in FIGS. 9A-9D, a virtual board game) is oriented between users, as described in more detail with reference to FIGS. 9A-10T.

[0114] In some embodiments, in response to an input that increases the number of users having access to a virtual object (e.g., updating the virtual object from being accessible to only one user to being accessible to multiple or all users in the three-dimensional environment), the electronic device makes the object accessible to the increased number of users and updates one or more of the object's orientation, size, and position according to the positions of the users with access to the object. For example, if three-dimensional environment 704 included multiple users with access to representation 706, the orientation and size of representation 706 would be updated based on the positions of the multiple users in FIG. 7B instead of based solely on the location of user 714. In some embodiments, the object's orientation is updated to be oriented toward the multiple users with access to the object (e.g., according to a vector field based on the positions of all users with access to the object). In some embodiments, the size of the object is updated based on the distance between the object and the users with access to the object to ensure that the object is legible to all users with access to the object (e.g., the size is at least a minimum size based on the distance from the user farthest from the object). In some embodiments, a position (e.g., an initial position in response to a request to begin displaying an object accessible to multiple users) is selected based on the locations of multiple users who have access to the object so that all users can see the object.

[0115] In some embodiments, electronic device 101 updates the orientation, size, and / or position of an object only after being prompted to do so by electronic device 101 (e.g., in response to a request to move the object, such as a request to move representation 706 shown in FIG. 7A ) and if the object is shared with other users. In some embodiments, electronic device 101 does not update the position, size, or orientation of the object in response to an increase in the number of users having access to the object. For example, if electronic device 101 receives an indication of an additional user joining three-dimensional environment 704 while electronic device 101 is displaying three-dimensional environment 704 shown in FIG. 7A , electronic device 101 continues to display app A representation 706 at the size, location, and orientation shown in FIG. 7A , even if additional users are accessing app A representation 706, until a request to move representation 706, such as the input shown in FIG. 7A , is received. In some embodiments, when an object is accessible to multiple users, in response to an input to move the object, such as a request to move representation 706 in FIG. 7A , electronic device 101 moves the object according to the input and updates the size and / or orientation of the object according to the positions of all users who have access to the object to maintain readability of the object for users who have access to the object.

[0116] 7A-7B, in some embodiments, electronic device 101 automatically updates the orientation and / or size of representation 706 of application in response to user input and updates the position of representation 706 of application within three-dimensional environment 704. In some embodiments, electronic device 101 similarly updates the orientation and / or size of representation 708 and object 710 in response to a request to move any of these virtual objects. In some embodiments, as described in further detail below with reference to FIG. 7C, electronic device 101 refrains from updating the orientation and / or size of the representation of application (e.g., and / or other virtual objects within three-dimensional environment 704) in response to a user 714 updating their position within three-dimensional environment 704.

[0117] 7C shows the three-dimensional environment 704 after the user 714 has updated their position within the three-dimensional environment 704 from the position of the user 714 in FIG. 7B . In some embodiments, the electronic device updates the position of the user 714 in response to detecting movement of the electronic device 101 in the electronic device's 101 physical environment (e.g., via one or more gyroscopes, accelerometers, cameras, depth sensors, etc.). For example, the electronic device 101 updates the position of the user 714 within the three-dimensional environment 704 by moving the user 714 in a direction in which movement of the electronic device 101 is detected. In some embodiments, the electronic device 101 updates the position of the user 714 in response to user input requesting a movement of the user's 714 position within the three-dimensional environment 704.

[0118] The position of the user 714 within the three-dimensional environment 704 in Figure 7C is closer to the representation 706 of app A and object 710 than the position within the three-dimensional environment 704 in Figure 7B, as indicated by legend 712. In response to detecting the change in the position of the user 714, the electronic device 101 updates the display of the three-dimensional environment 704. As shown in Figure 7C, the representation 706 of app A and the object 710 are displayed by the display 120 at a larger size in Figure 7C than in Figure 7B, and because the user is closer to the representation 706 of app A and the object 710, portions of each of the object 710 and the representation 706 of app A are outside the field of view of the electronic device 101. 7B and 7C, the sizes of representations 706 and 708 and object 710 within three-dimensional environment 704 remain constant in response to updates to the position of user 714 within three-dimensional environment 704. (In some embodiments, the size of the object remains the same within three-dimensional environment 704 while movement of user 714 is detected.) Additionally, as shown in FIG. 7C, representation 708 of app B is no longer visible to user 714 in the position shown in FIG.

[0119] 7A-7C thus show electronic device 101 updating the position, size, and / or orientation of representation 706 of app A in response to user input that moves representation 706 of app A, and forgoing updating the position, size, and / or orientation of representation 706 of app A, representation 708 of app B, and virtual object 710 in response to detecting a change in the position of user 714 within three-dimensional environment 704. In some embodiments, electronic device 101 also updates the position, size, and / or orientation of representation 708 or object 710 in response to user input that moves one of these objects.

[0120] In some embodiments, electronic device 101 begins displaying app A representation 706, app B representation 708, and / or object 710 in response to user input. The electronic device optionally initially displays the virtual objects at a legible and convenient distance for user 714 (e.g., close enough for the user to see and interact with the object, and far enough away to see other objects in three-dimensional environment 704). In some embodiments, if there are additional users other than user 714 in three-dimensional environment 704, electronic device 101 initially displays virtual objects accessible to both users in positions legible to both users. However, if only user 714 has access to the object, in some embodiments, electronic device 101 selects the initial position of the object based on the position of user 714, without based on the positions of the other users. In some embodiments, when initially displaying a virtual object within the three-dimensional environment 704 (e.g., in response to user input), if the user 714 is the only user within the three-dimensional environment 704, or if the user 714 is the only user within the three-dimensional environment 704 with access to the object, the electronic device 101 selects a position for the object to be a distance from the user 714 that is between a first threshold (e.g., 30, 40, 50, 100 centimeters, etc.) and a second threshold (e.g., 200, 300, 400, 500 centimeters, etc.). For example, if additional users were present in the three-dimensional environment 704 shown in FIG. 7A and the representation 706 of app A was accessible to user 714 but not to other users, the electronic device 101 would display the representation 706 of app A in a position, size, and orientation based on the position of user 714 within the three-dimensional environment 704 (e.g., to make the representation 706 easier for user 714 to read), rather than based on the positions of the other users (because the other users would not be able to see or interact with the representation 706).In some embodiments, if there are multiple users with access to an object in three-dimensional environment 704, electronic device 101 initially displays the object in a position that is at least a third threshold distance (e.g., 30, 40, 50, 100 centimeters, etc.) from all users and less than a fourth threshold distance (e.g., 200, 300, 400, 500 centimeters, etc.) from all users. For example, if additional users were present in three-dimensional environment 704 shown in FIG. 7A and representation 706 of app A was accessible to user 714 and other users, electronic device 101 initially displays representation 706 of app A in a position, size, and orientation that is based on the positions of user 714 and the additional users in three-dimensional environment 704 (e.g., to make representation 706 legible to user 714 and other users).

[0121] As described in more detail below with reference to FIGS. 13A-14L , in some embodiments, while three-dimensional environment 704 includes at least one user and at least one virtual object, electronic device 101 detects another user being added to three-dimensional environment 704. In some embodiments, in response to the new user being added to three-dimensional environment 704, electronic device 101 updates the orientation of virtual objects in three-dimensional environment 704 to be oriented based on the positions of all users in three-dimensional environment 704, including the user who just joined three-dimensional environment 704, to ensure that the virtual objects are legible by all users with access to the virtual objects. In some embodiments, the orientation of objects in the three-dimensional environment is updated in response to a user joining three-dimensional environment 704 without detecting an input that moves the virtual objects. In some embodiments, the orientation of objects in three-dimensional environment 704 is not updated until an input that moves the objects is detected. In some embodiments, one or more virtual objects that are accessible only to a subset of users (e.g., one user) in three-dimensional environment 704 and that are not accessible to the user just added to three-dimensional environment 704 do not change orientation in response to the new user being added to three-dimensional environment 704. In some embodiments, when a virtual object is not accessible to a user, the user can see an indication of the virtual object's position within three-dimensional environment 704, as described below with reference to FIG. 9A , but cannot see the object's content. In some embodiments, electronic device 101 does not display an indication of a virtual object that is not accessible to the user of the electronic device.

[0122] In some embodiments, electronic device 101 updates a virtual object from being accessible to multiple (or all) users in three-dimensional environment 704 to being accessible to fewer than multiple (or all) users in three-dimensional environment 704 (e.g., being accessible to one user in three-dimensional environment 704). For example, if three-dimensional environment 704 shown in FIG. 7A included an additional user and representation 706 of app A was accessible to the additional user and user 714, representation 706 of app A may be updated to be accessible to user 714 rather than the additional user. In some embodiments, electronic device 101 reduces the number of users having access to the object in response to an input that moves the object to a location between users in three-dimensional environment 704. 7A includes an additional user and app A's representation 706 is accessible to the additional user and user 714, in response to detecting an input to move app A's representation 706 to a location between user 714's location and the other user's location in three dimensional environment 704, electronic device 101 updates app A's representation 706 to be accessible to user 714 rather than the other users. As another example, electronic device 101 reduces the number of users that can access the object in response to an input that moves an object within a threshold distance (e.g., 0.5, 1, 2 meters, etc.) of user 714 in three dimensional environment 704. For example, if the three-dimensional environment 704 shown in FIG. 7A included an additional user and the representation of app A 706 was accessible to the additional user and to user 714, then in response to detecting an input that moves the representation of app A 706 to a location within a threshold distance of user 714 in the three-dimensional environment 704, the electronic device 101 updates the representation of app A 706 to be accessible to user 714 rather than to other users.In some embodiments, while the virtual object is accessible to a first user in the three-dimensional environment 704, the electronic device 101 detects input (e.g., from the first user) to move the virtual object to a location within a threshold distance (e.g., 0.5, 1, 2 meters, etc.) of a second user. In some embodiments, in response to the input, the electronic device 101 updates the virtual object from accessible to the first user to accessible to the second user. For example, if the three-dimensional environment 704 shown in FIG. 7A includes an additional user and the representation 706 of app A was accessible to user 714 but not to other users, then in response to detecting input to move the representation 706 of app A within the threshold of the other user's location in the three-dimensional environment 704, the electronic device 101 updates the representation 706 of app A to be accessible to the other users but not to user 714.

[0123] In some embodiments, as described in more detail below with reference to Figures 9A-10T, electronic device 101 updates a virtual object from being accessible to only one user to being accessible to multiple users in response to user input (e.g., user input to share a virtual object).

[0124] 8A-8P are flowcharts illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on 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 generation component (e.g., display generation component 120 of FIGS. 1, 3, and 4 ) (e.g., a head-up display, a display, a touchscreen, a projector, etc.) and one or more cameras (e.g., a camera pointing downward in a 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 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.

[0125] In some embodiments, such as in FIG. 7A , method 800 is performed in an electronic device in communication with a display generation component and one or more input devices (e.g., a mobile device (e.g., a tablet, smartphone, media player, or wearable device), or a computer). In some embodiments, the display generation component is a display (optionally a touchscreen display) integrated with the electronic device, an external display such as a monitor, projector, television, or a hardware component (optionally integrated or external) for projecting a user interface or making a user interface visible to one or more users, etc. In some embodiments, the one or more input devices include electronic devices or components capable of receiving user input (e.g., capturing user input, detecting user input, etc.) and transmitting information related to the user input to the electronic device. 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 electronic device), a handheld device (e.g., external), a controller (e.g., external), a camera, a depth sensor, an eye-tracking device and / or a motion sensor (e.g., hand tracking device, hand motion sensor), etc.

[0126] In some embodiments, such as in FIG. 7A , the electronic device 100 (e.g., 101), via a display generation component, displays (802) a three-dimensional environment (e.g., 704) including a representation (e.g., 706) of a first application displayed at a first location within the three-dimensional environment (e.g., 704). In some embodiments, the three-dimensional environment is generated, displayed, or otherwise made viewable by the device (e.g., the three-dimensional environment is a computer-generated reality (CGR) environment, such as a virtual reality (VR) environment, a mixed reality (MR) environment, or an augmented reality (AR) environment). In some embodiments, the perspective from which the electronic device views the environment corresponds to the location of the electronic device within a physical environment that corresponds to the three-dimensional environment. In some embodiments, the perspective from which the electronic device views the environment corresponds to a virtual location of a user of the electronic device within the three-dimensional environment.

[0127] 7A , a representation (e.g., 706) of a first application at a first location within the three-dimensional environment (e.g., 704) has a first orientation (804) within the three-dimensional environment (e.g., 704). In some embodiments, while the representation of the first application is displayed at the first location within the three-dimensional environment, the representation of the first application is displayed oriented toward a separate, fixed frame of reference within the three-dimensional environment. For example, in response to detecting an input to launch the first application, the electronic device displays the representation of the first application at the first location with an orientation toward a location associated with the user from which the input to launch the first application was received.

[0128] 7A , a second location within the three-dimensional environment (e.g., 704) is associated with a first user (e.g., 714) within the three-dimensional environment (e.g., 704) (806). In some embodiments, the electronic device displays the three-dimensional environment from a perspective located at the second location within the three-dimensional environment. In some embodiments, the second location within the three-dimensional environment corresponds to a physical location of the electronic device within the electronic device's physical environment. For example, the electronic device, via the display generation component, displays a virtual environment corresponding to the electronic device's physical environment from a perspective corresponding to the electronic device's physical location in the physical environment.

[0129] In some embodiments, such as in FIG. 7A , while displaying a three-dimensional environment (e.g., 704) including a representation of a first application (e.g., 706), an electronic device (e.g., 101) receives movement input (808) via one or more input devices. In some embodiments, receiving the movement input includes detecting movement of the electronic device from a first physical location to a second physical location corresponding to a second location within the three-dimensional environment via one or more sensors (e.g., accelerometer, gyroscope, camera, depth sensor, etc.) in communication with the electronic device. In some embodiments, receiving the movement input includes detecting movement of a user's gaze via an eye-tracking device (e.g., in conjunction with a selection input, such as detecting the user's hand performing a predetermined gesture via a hand-tracking device). In some embodiments, receiving the movement input includes detecting movement of the user's hand via a hand-tracking device, optionally in conjunction with detecting the performance of a predetermined gesture via the hand-tracking device. In some embodiments, the movement input is detected via an input device in communication with the electronic device, such as detecting activation of a key on a keyboard or virtual keyboard, movement of a mouse, movement of a contact on a touch-sensitive surface (e.g., a touchscreen, a trackpad, etc.), or another directional input.

[0130] 7B , in response to receiving (810) a movement input and, following a determination (812) that the movement input corresponds to a request to move (814) a representation of the first application (e.g., 706) within the three-dimensional environment (e.g., 704) from a first location to a third location different from the first location (e.g., without changing a location associated with the first user), the electronic device (e.g., 101) displays (814) the representation of the first application (e.g., 706) at the third location within the three-dimensional environment (e.g., 704) via the display generation component 120. In some embodiments, receiving the movement input corresponding to the request to move (814) a representation of the first application (e.g., 706) from the first location to the third location includes detecting a selection of a user interface element associated with the representation of the first application. In some embodiments, receiving the movement input corresponding to the request to move (814) a representation of the first application from the first location to the third location includes detecting a movement of the user's hand, optionally in conjunction with detecting a selection input, via a hand tracking device. In some embodiments, detecting the selection input includes detecting, via a hand tracking device, that a user performs a predetermined hand gesture. In some embodiments, detecting the selection input includes detecting, via an eye tracking device, that a user looks at a user interface element for a predetermined period of time (e.g., 0.1, 0.2, 0.3, 0.4, 0.5, 0.75, 1 second, etc.). In some embodiments, receiving a movement input corresponding to a request to move a representation of the first application from a first location to a third location includes detecting the input using an input device in communication with the electronic device, such as a keyboard, a trackpad, a mouse, or a touchscreen. In some embodiments, the third location is determined based on a directional input detected as part of detecting the movement input.Examples of detecting directional input include detecting movement of a user's hand in a discrete direction using a hand tracking device, detecting movement of a user's gaze in a discrete direction via an eye tracking device, detecting contact or movement of a hovering object via a touch-sensitive surface, detecting selection of a directional key (e.g., an arrow key or another key to which directional input is assigned) via a keyboard, and detecting movement of an input device such as a mouse. In some embodiments, the directional input includes a magnitude and a direction. In some embodiments, the distance that the electronic device moves the representation of the first application corresponds to the magnitude of the directional input. In some embodiments, the direction that the electronic device moves the representation of the first application corresponds to the direction of the directional input.

[0131] In some embodiments, such as FIG. 7B , in response to receiving the movement input (810), the electronic device (e.g., 101) determines (812) that the movement input corresponds to a request to move the representation of the first application (e.g., 706) from a first location to a third location different from the first location within the three-dimensional environment, and updates (816) the orientation of the representation of the first application (e.g., 706) with respect to the three-dimensional environment (e.g., 704) from a first orientation to a second orientation different from the first orientation based on the third location (and, optionally, based on a second location associated with the first user). In some embodiments, the orientation of the representation of the first application is relative to and updated with respect to a fixed frame of reference. In some embodiments, the orientation of the representation of the first application gradually changes as the representation of the first application is moved in response to the movement input so that the representation of the first application faces the user who provided the input to move the representation of the first application. For example, the representation of the first application is a virtual object having a respective face on which information related to the first application is displayed, and the electronic device, in response to moving the virtual object from the first location to a third location, rotates the representation of the first object so that the respective face is positioned toward the location associated with the first user. In some embodiments, the electronic device changes the orientation of the representation of the first application by receiving only an input to move the representation of the first application without receiving an input to change the orientation of the representation of the first application. In some embodiments, by moving the representation of the first application to a fourth location (different from the third location), the electronic device displays the representation of the first application at the fourth location with a third appearance (e.g., orientation) different from the second appearance (e.g., orientation) relative to a fixed frame of reference.

[0132] 7C , in response to receiving 810 the movement input, in accordance with determining that the movement input corresponds to a request to associate a fourth location, different from the second location, with the first user (e.g., 714) (e.g., without changing the location of the representation of the first application within the three-dimensional environment), the electronic (e.g., 101) device maintains 818 the display of the representation of the first application at the first location in the three-dimensional environment (e.g., 704) without updating the orientation of the representation of the first application relative to the three-dimensional environment (e.g., 704). In some embodiments, receiving the movement input corresponding to the request to associate the fourth location with the first user includes detecting, via one or more sensors (e.g., accelerometer, gyroscope, camera(s), distance sensor, etc.) in communication with the electronic device, movement of the electronic device from a distinct location in the electronic device's physical environment associated with the first location within the three-dimensional environment to a different distinct location in the electronic device's physical environment. In some embodiments, receiving movement input corresponding to the request to associate the fourth location with the first user includes detecting movement of the user's hand in a discrete direction using a hand tracking device, detecting movement of the user's gaze in a discrete direction via an eye tracking device, detecting movement of a contact or hovering object via the touch-sensitive surface, detecting selection of a directional key (e.g., an arrow key or another key assigned with a directional input) via a keyboard, and detecting movement of an input device such as a mouse. In some embodiments, the fourth location is selected based on the magnitude and direction of movement of the movement input. In some embodiments, moving the representation of the application changes the orientation of the application based on the representation of the application and the user's location, but changing the user's location does not change the orientation of the representation of the application.In some embodiments, when there are two or more users in the three-dimensional environment, in response to detecting movement of the representation of the application, the electronic device updates the orientation of the representation according to one or more steps of method 1000.

[0133] The above-described methods of moving a representation of a first application and updating the orientation of the representation of the first application or changing a location associated with a first user without updating the orientation of the representation of the first application provide an efficient way of orienting a representation of the application to a location associated with a user when moving the representation of the first application (e.g., by automatically changing the orientation of the representation of the first application) and an efficient way of updating the location associated with a user (e.g., by forgoing updating the orientation of the representation of the first application to save power), which further reduces power usage and improves battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently, while reducing usage errors.

[0134] In some embodiments, such as in FIG. 11A , the three-dimensional environment (e.g., 1104) includes a representation (820) of the physical environment of the electronic device (e.g., 101) displayed via the display generation component 120. In some embodiments, the physical environment includes pass-through video (e.g., a virtual representation of the physical environment of the electronic device). In some embodiments, the physical environment around the electronic device is captured by one or more visible light sensors (e.g., cameras) in communication with the electronic device and displayed via the display generation component as a photorealistic representation of the physical environment. In some embodiments, the physical environment around the electronic device is passively presented to the user, for example, via a transparent or translucent display generation component.

[0135] The above-described method of including a representation of the electronic device's physical environment in a three-dimensional environment provides an efficient way of orienting virtual content of the three-dimensional environment relative to physical content of the electronic device's physical environment, which further reduces power usage and improves battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently (e.g., by reducing conflicts between virtual objects and physical objects and the time it takes to resolve such conflicts, and by reducing user errors such as the user physically bumping into physical objects in the electronic device's environment), while reducing errors in use.

[0136] In some embodiments, such as in FIG. 7A , the three-dimensional environment (e.g., 704) includes a virtual environment (822) that is displayed via display generation component 120. In some embodiments, the virtual environment includes virtual objects that do not correspond to objects within the electronic device and / or the physical environment of the electronic device. For example, the virtual environment includes virtual objects that create a virtual setting in which a representation of the application is displayed.

[0137] The above-described method for adjusting the orientation of a representation of a first application within a virtual environment provides an efficient way to automatically orient a first application toward a location within a virtual environment associated with a user, which further reduces power usage and improves battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently, while reducing usage errors.

[0138] In some embodiments, such as FIG. 7A , the representation of the first application (e.g., 706) is displayed at a first location while the representation of the first application (e.g., 706) is displayed at a first size (824). In some embodiments, such as FIG. 7B , in response to receiving a movement input (826), in accordance with a determination that the movement input corresponds to a request to move the representation of the first application (e.g., 706) within the three-dimensional environment from the first location to a third location different from the first location, the electronic device (e.g., 101) updates the representation of the first application (e.g., 706) to be displayed at a second size different from the first size when the representation of the first application (e.g., 706) is displayed at the third location (828). In some embodiments, updating the size of the representation includes updating the amount of display area of ​​a display generation component occupied by the representation (e.g., displayed to the user in this manner). For example, in response to an input moving the representation to a location closer to the virtual location associated with the user, the electronic device increases the size of the representation to convey that the representation is closer to the virtual location associated with the user than before the input was received. In some embodiments, updating the size of the representation includes updating a virtual size of the representation (e.g., the size of the representation relative to the three-dimensional environment). For example, in response to an input that moves the representation to a virtual location closer to a location associated with the user, the electronic device refrains from modifying the display area in which the representation is displayed, or modifies the display area in which the representation is displayed by an amount different from an amount that corresponds to moving the representation a different virtual distance without changing the size of the representation. In some embodiments, while the representation is being moved from the first location to the third location, the electronic device displays an animation of the representation moving and gradually changing in size as the representation moves.

[0139] The above-described method of updating the size of a representation in response to an input corresponding to a request to move an object provides an efficient way of displaying the representation at a third location at an appropriate size (e.g., without a separate input to adjust the size of the representation), which further reduces power usage and improves the battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently, while reducing usage errors.

[0140] 9A , updating (830) the orientation of the representation (e.g., 908) of the first application includes updating (832) the orientation of the representation (e.g., 908) of the first application based on a second location associated with the first user (e.g., 914A) and not based on a fifth location associated with the second user (e.g., 914B) in accordance with a determination that the representation (e.g., 908) of the first application is accessible to the first user (e.g., 914A) but not to a second user 914B associated with a fifth location within the three-dimensional environment (e.g., 904). In some embodiments, the electronic device displays a representation of the second user at the fifth location within the three-dimensional environment, and the electronic device of the second user displays the virtual environment from the perspective of the fifth location. In some embodiments, one or more applications in the virtual environment are displayed in a private mode in which not all (e.g., one or more, but less than all) of the users in the virtual environment have the ability to interact with and / or view the application in private mode. For example, if a first application is displayed in private mode and accessible only to the first user, in response to an input that moves the first application, the electronic device updates the orientation of the representation of the first application to face the first user while the representation is being moved (e.g., regardless of the location of a second user within the three-dimensional environment). In some embodiments, the facing of the first application to the first user is independent of the location of the second user.9C , updating 830 the orientation of the representation (e.g., 906) of the first application includes updating 834 the orientation of the representation (e.g., 906) based on a second location associated with the first user (e.g., 914A) and a fifth location associated with the second user (e.g., 914B) in accordance with a determination that the representation (e.g., 906) of the first application is accessible to a first user (e.g., 914A) and a second user (e.g., 914B) associated with the fifth location within the three-dimensional environment. In some embodiments, one or more applications within the virtual environment are displayed in a public mode in which all users within the virtual environment have the ability to interact with and / or view the application in the public mode, or in a shared mode in which the first user and the second user (and potentially other users, but less than all users) have the ability to interact with and / or view the application in a shared mode accessible to the first user and the second user. For example, if a first application is displayed in a shared mode and is accessible to both a first and a second user, in response to an input that moves the first application, the electronic device updates the orientation of a representation of the first application to be oriented toward the shared viewpoint of the first and second users. In some embodiments, the orientation of the application is updated according to the locations of both users according to one or more steps of method 1000.

[0141] The above-described method of updating the orientation of an application's representation based on the location(s) of only the user(s) who can interact with the application provides an efficient way of orienting an application so that the application's representation can be easily viewed by all users who have access to the application, which further reduces power usage and improves the battery life of the electronic device by allowing users to use the electronic device more quickly and efficiently, while simultaneously reducing usage errors.

[0142] In some embodiments, the electronic device (e.g., 101) detects (836) a distinct input to display a representation of a second application in the three-dimensional environment (e.g., 704), where the representation of the second application was not displayed in the three-dimensional environment (e.g., 704) when the distinct input was detected. In some embodiments, the input is an input to launch an application that was not running on the electronic device when the input was received, an input to view a user interface that was hidden when the input was received, or an input to display an additional representation of an application that was running on the electronic device without displaying the additional representation when the input was received. In some embodiments, in response to detecting the distinct input, the electronic device (e.g., 101) displays (838) a representation of the second application at a corresponding location in the three-dimensional environment (e.g., 704) based on the number of users in the three-dimensional environment. In some embodiments, if there is one user in the three-dimensional environment, the electronic device displays the representation at a first distinct location based on a location associated with the user. In some embodiments, when there are two users in the three-dimensional environment, the electronic device displays the representation in a second distinct location different from the first distinct location based on locations associated with both of the two users (e.g., both users are oriented toward a location between both users on the same side of the representation, or the two users are positioned between two users on different sides of the representation). In some embodiments, the location in the three-dimensional environment where the representation is initially presented is based on the location(s) of the user(s) who will interact with and / or can see the representation. For example, when there are three users in the virtual environment and all users will interact with and / or can see the representation, the electronic device displays the representation in distinct locations in the three-dimensional environment based on locations associated with each of the three users. In some embodiments, the initial location of the representation is selected according to one or more steps of method 1000.

[0143] The above-described method of displaying a representation of a second application at a location within a three-dimensional environment based on the number of users within the three-dimensional environment further reduces power usage and improves battery life of the electronic device by allowing users to use the electronic device more quickly and efficiently (e.g., by reducing the number of inputs required to move the representation to a location suitable for all users within the three-dimensional environment), providing an efficient method of initially presenting the second representation in a location suitable for all relevant users within the virtual environment and reducing errors in use.

[0144] In some embodiments, such as FIG. 7A , following a determination that the three-dimensional environment (e.g., 704) includes a first user (e.g., 714) and no other users, the individual location is in front of the first user (e.g., 714) (840). In some embodiments, the user is associated with an individual location and orientation within the three-dimensional environment, and the representation is positioned at a location within the user's line of sight, oriented toward the location associated with the user. In some embodiments, such as FIG. 9A , following a determination that the three-dimensional environment (e.g., 904) includes a first user (e.g., 914A) and a second user (e.g., 914B), the individual location is positioned based on the locations of the first user (e.g., 914A) and the second user (e.g., 914B) (842). In some embodiments, the individual location is between the location of the first user and the location of the second user. In some embodiments, the individual location is equidistant from the locations of the first user and the second user. In some embodiments, the first user and the second user are each associated with a location within the three-dimensional environment, and the representation is presented at a location that is between the locations associated with the users (e.g., such that a first side of the representation is oriented toward the first user and / or away from the second user, and a second side of the representation is oriented toward the second user and / or away from the first user). In some embodiments, the electronic device presents the representation in a first orientation based on the location associated with the first user, and the electronic device of the second user presents the representation in a second orientation based on the location associated with the second user.

[0145] The above-described method of arranging applications differently when there is one user than when there are two users provides an efficient way to present representations in a manner that is easily viewable by users who have access to the representations, and further reduces power usage and improves battery life of the electronic device by allowing users to use the electronic device more quickly and efficiently (e.g., by reducing the number of inputs required to move the representation to a location that is easily viewable by the user(s)), while reducing usage errors.

[0146] In some embodiments, such as FIG. 7A , following a determination that the three-dimensional environment (e.g., 704) includes the first user (e.g., 714) and no other users, a representation of the second application is displayed toward the first user (844). In some embodiments, the users are associated with individual locations and orientations within the three-dimensional environment, and the representation is positioned at a location within the user's line of sight, oriented toward the location associated with the user. In some embodiments, such as FIG. 9A , following a determination that the three-dimensional environment (e.g., 904) includes the first user (e.g., 914A) and the second user (e.g., 914B), a representation of the second application is displayed toward a location between the first user and the second user (846). In some embodiments, the representation of the second application is displayed at a location that is not between the locations associated with the users. In some embodiments, the location and orientation of the representation of the second application are such that an individual face / side of the representation of the application is oriented toward a location associated with the user (e.g., a location between the users, such as a “shared” location). In some embodiments, both users are on the same side of the representation of the second application (e.g., both are in front of the representation of the second application). In some examples, the location of the representation of the second application is selected according to one or more steps of method 1000.

[0147] The above-described method of arranging applications differently when there is one user than when there are two users provides an efficient way to present representations in a manner that is easily viewable by users who have access to the representations, and further reduces power usage and improves battery life of the electronic device by allowing users to use the electronic device more quickly and efficiently (e.g., by reducing the number of inputs required to move the representation to a location that is easily viewable by the user(s)), while reducing usage errors.

[0148] In some embodiments, such as FIG. 7A , following a determination that the three-dimensional environment (e.g., 704) includes a first user (e.g., 714) and no other users, the individual location is a first distance from the first user (848). In some embodiments, the individual location is a first distance from a location in the three-dimensional environment associated with the user. In some embodiments, the first distance is determined based on the location associated with the user and the location(s) of one or more other objects (e.g., virtual objects, real objects) in the three-dimensional environment. In some embodiments, such as FIG. 9A , following a determination that the three-dimensional environment (e.g., 904) includes a first user (e.g., 914A) and a second user (e.g., 914B) (850), the individual location is a second distance different from the first user (e.g., 914A) (e.g., a third distance from the second user (e.g., a location in the three-dimensional environment associated with the second user)). In some embodiments, the individual location is a second distance away from a location in the three-dimensional environment associated with the first user. In some embodiments, the distance is selected such that both the first user and the second user can view the representation of the first application. The individual location, the second distance, and the third distance are, optionally, selected based on the locations associated with the first user and the second user and / or the locations of one or more other object(s) (e.g., virtual object, real object) in the three-dimensional environment. In some embodiments, the individual location is selected according to one or more steps of method 1000. In some embodiments, while one user is present in the three-dimensional environment, the electronic device displays the representation at a first distance from the user, and while two or more users are present in the three-dimensional environment, the electronic device displays the representation at a second distance (e.g., greater than the first distance) from a shared point of interest of the users (e.g., a location between all users, an area of ​​the environment including all users, etc.).

[0149] The above-described method of placing applications at different distances from the user when one user is present and when two users are present provides an efficient way of presenting representations in a manner that can be easily viewed by users who have access to the representations, which further reduces power usage and improves battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently (e.g., by reducing the number of inputs required to move the representation to a location that can be easily viewed by the user(s)), while reducing usage errors.

[0150] 13A , while displaying representation 1306 of a first application at a first location within three-dimensional environment 1304, electronic device (e.g., 101) detects that a second user has been added to three-dimensional environment 1304 (e.g., detects indication 1330a or 1330b), and the second user is associated with a fifth location within the three-dimensional environment (852). In some embodiments, the electronic device detects an input corresponding to a request to add the second user to the three-dimensional environment, or the electronic device receives an indication (e.g., via a network connection) that the second user has joined the three-dimensional environment. In some embodiments, the first user is the only user within the three-dimensional environment prior to detecting that the second user has been added to the three-dimensional environment. In some embodiments, such as in FIG. 13B , in response to detecting 854 that a second user 1314C has been added to the three-dimensional environment 1304, and in accordance with determining that the representation 1306 of the first application is accessible to the first user 1314A and the second user 1314C, the electronic device (e.g., 101) moves 856 the representation 1306 of the first application from the first location to a sixth location within the three-dimensional environment based on the second location and the fifth location (e.g., the electronic device (e.g., 101a) or (e.g., 101b) can move the representation 1306 in response to user C 1314C joining the three-dimensional environment 1304). In some embodiments, the sixth location is selected according to one or more steps of method 1000. In some embodiments, in response to detecting 854 that a second user has been added to the three-dimensional environment, the electronic device updates the representation of the first application to be displayed in a location and / or orientation that makes the representation visible to both users. For example, the representation includes a respective side on which the content is displayed, and the sixth location is a location where the electronic device can point the respective side of the representation toward locations associated with both users. In some embodiments, only the location of the representation of the first application changes.In some embodiments, only the orientation of the representation of the first application changes. In some embodiments, the location and orientation of the representation of the first application changes.

[0151] The above-described method of moving the representation of the first application based on the second location and the fifth location provides an efficient way of updating the three-dimensional environment so that both the first user and the second user can see the representation of the first application, further reducing power usage and improving battery life of the electronic device while reducing usage errors by allowing users to use the electronic device more quickly and efficiently (e.g., by reducing the input required to place the representation in a location where both users can see it).

[0152] 13A , the electronic device (e.g., 101) detects that a second user has been added to the three-dimensional environment 1304 (e.g., detects indication 1330a or 1330b) while displaying the representation 1306 of the first application at a first location within the three-dimensional environment 1304, and the second user is associated with a fifth location within the three-dimensional environment (858). In some embodiments, the electronic device detects an input corresponding to a request to add the second user to the three-dimensional environment, or the electronic device receives an indication (e.g., via a network connection) that the second user has joined the three-dimensional environment. In some embodiments, the first user is the only user within the three-dimensional environment prior to detecting that the second user has been added to the three-dimensional environment. In some embodiments, in response to detecting (860) that a second user has been added to the three-dimensional environment, and in accordance with a determination that the representation of the first application (e.g., 908) is accessible to the first user (e.g., 914A) but not to the second user (e.g., 914B), as in FIG. 9B, the electronic device (e.g., 101) maintains (862) a display of the representation of the first application (e.g., 908) at the first location, such that the representation of the first application is not visible to the second user (e.g., because the representation (e.g., 908) is accessible only to user A (e.g., 914A), the electronic device (e.g., 101a) maintains a display of the representation (e.g., 908) in response to an additional user joining the three-dimensional environment (e.g., 904)). In some embodiments, the representation of the first application is displayed in a private mode in which the first user can interact with and / or see the first application, but other users in the three-dimensional environment cannot interact with and / or see the first application. For example, the electronic device of a second user may refrain from displaying a representation of the first application because the second user does not have access to the first application.In some embodiments, after the second user joins the three-dimensional space, the electronic device continues to display the representation of the first application in the same location and orientation as the representation was displayed before the second user joined the three-dimensional space.

[0153] The above-described method of maintaining the display of a representation of an application that is not accessible to a second user after the second user is added to the three-dimensional space provides an efficient way of displaying a representation of an application that is not visible to other users within a three-dimensional environment, which further reduces power usage and improves battery life of an electronic device by forgoing calculating an updated location of the representation of the first application when the second user does not have access to the first application.

[0154] In some embodiments, such as in FIG. 9A , the three-dimensional environment includes a first user (e.g., 914A) at a second location within the three-dimensional environment and a second user (e.g., 914B) at a fifth location (e.g., 904) within the three-dimensional environment (864). In some embodiments, the electronic device displays a representation of the second user at the fifth location within the three-dimensional environment, and the second user's electronic device displays the three-dimensional environment with a viewpoint at the fifth location within the three-dimensional environment. In some embodiments, the electronic device (e.g., 101) detects a separate input to display a representation of a second application within the three-dimensional environment (866), and the representation of the second application is not displayed within the three-dimensional environment when the separate input is detected, and the representation of the second application is not accessible to multiple users within the three-dimensional environment, such as the representation (e.g., 908) of FIG. 9A that is accessible to user A (e.g., 914A) but not to user B (e.g., 914B). In some embodiments, the second application is in a private mode in which the first user who provided the input can access and / or view the second application, but other users in the three-dimensional environment cannot access and / or view the second application. In some embodiments, the distinct input corresponds to a request to launch the second application, a request to display a representation of the second application that was previously hidden, or a request to display an additional representation of the second application in addition to the representation of the second application already displayed by the electronic device. In some embodiments, in response to receiving the distinct input (868), and following a determination that the distinct input is associated with the first user (e.g., 914A) (e.g., the electronic device detecting the distinct input is provided by the first user), the electronic device (e.g., 101) displays (870) the representation of the second application (e.g., 908) at a sixth location within the three-dimensional environment (e.g., 904) based on the second location of the first user (e.g., 914A) rather than the fifth location of the second user (e.g., 914B), as in FIG. 9A .In some embodiments, when the first user provides an input corresponding to a request to display a representation of the second application, the electronic device displays the representation of the second application at a location and / or orientation based on a location associated with the first user. For example, the representation of the second application is displayed at a location proximate to and / or directed toward the second location. In some embodiments, the sixth location is selected independently from the location(s) of a user in the three-dimensional environment other than the first user. In some embodiments, in response to receiving the distinct input (868), following a determination that the distinct input is associated with the second user (e.g., the electronic device detecting the distinct input is provided by the second user), the electronic device (e.g., 101) displays (872) the representation of the second application at a seventh location in the three-dimensional environment based on the fifth location of the second user rather than the second location of the first user (e.g., if the representation (e.g., 908) was accessible to user B (e.g., 914B) rather than user A (e.g., 914A) in FIG. 9A ). In some embodiments, when the second user provides input corresponding to a request to display a representation of the second application, the electronic device displays the representation of the second application at a location and / or orientation based on a location associated with the second user. For example, the representation of the second application is displayed at a location proximate to and / or oriented toward the fifth location. In some embodiments, the sixth location is selected independently from the location(s) of users in the three-dimensional environment other than the second user.

[0155] The above-described method of placing a representation of a second application at a location based on a location associated with a user who provided input for displaying the representation of the second application provides an efficient method of placing an application at a location that is visible to the user who requested the application to be displayed, which further reduces power usage and improves battery life of the electronic device while reducing usage errors by allowing the user to use the electronic device more quickly and efficiently (e.g., by reducing the input required to place the application at a location that is easily visible to the user who requested the application to be displayed).

[0156] In some embodiments, such as in FIG. 9A , the three-dimensional environment (e.g., 904) includes a first user at a second location within the three-dimensional environment and a second user at a fifth location within the three-dimensional environment (874). In some embodiments, the electronic device displays a representation of the second user at the fifth location within the three-dimensional environment, and the second user's electronic device displays the three-dimensional environment from a viewpoint at the fifth location within the three-dimensional environment. In some embodiments, the electronic device (e.g., 101) detects a separate input to display a representation of the second application within the three-dimensional environment (876), where the representation of the second application was not displayed within the three-dimensional environment when the separate input was detected (e.g., receiving an input to display one of the representations (e.g., 906, 908, or 922) in the three-dimensional environment (e.g., 904) shown in FIG. 9A ). In some embodiments, the second application is in a private mode in which some but not all users within the three-dimensional environment can access and / or view the application. In some embodiments, the distinct input corresponds to a request to launch the second application, a request to display a representation of the second application that was previously hidden, or a request to display an additional representation of the second application in addition to the representation of the second application already displayed by the electronic device. In some embodiments, in response to receiving the distinct input, the electronic device (e.g., 101) displays (878) a representation of the second application (e.g., one of the representations (e.g., 906, 908, or 922) in the three-dimensional environment (e.g., 904) of FIG. 9A ) at a corresponding location within the three-dimensional environment (e.g., the three-dimensional environment (e.g., 904) of FIG. 9A ). In some embodiments, pursuant to a determination that the representation of the second application is not accessible to the first user (e.g., in a manner similar to how the representation (e.g., 908) is not accessible to user B (e.g., 914B) of FIG. 9A ), the distinct location is not based on the second location of the first user (880).In some embodiments, the second application is accessible to the second user and, optionally, to one or more additional users in the three-dimensional environment other than the first user. In some embodiments, if the second application is accessible only to the second user, the individual location is based on the fifth location. In some embodiments, if the second application is accessible to the second user and one or more additional users, the individual location is based on all of the locations of the users who have access to the application, and not on the locations of one or more users who do not have access to the application. In some embodiments, the electronic device arranges the representation of the second application according to the positions of the multiple users according to one or more steps of method 1000. In some embodiments, following a determination that the representation of the second application is not accessible to the second user (e.g., in a manner similar to how the representation (e.g., 908) is not accessible to user B (e.g., 914B) of FIG. 9A ), the individual location is not based on the fifth location of the second user (882). In some embodiments, the second application is accessible to the first user and, optionally, to one or more additional users in the three-dimensional environment other than the second user. In some embodiments, if the second application is accessible only to the first user, the individual location is based on the second location. In some embodiments, if the second application is accessible to the first user and one or more additional users, the individual location is based on all of the locations of users who have access to the application, and not on the locations of one or more users who do not have access to the application. In some embodiments, the electronic device arranges the representation of the second application according to the positions of the multiple users according to one or more steps of method 1000.

[0157] The above-described method of not basing the individual location of the second application on the location of users who do not have access to the second application provides an efficient way of setting criteria for placing a representation of the second application, which further reduces power usage and improves battery life of the electronic device by simplifying the complexity of determining the position of the second application while reducing errors in use.

[0158] In some embodiments, such as in FIG. 9A , following a determination that the representation (e.g., 908) of the second application is not accessible to the first user (e.g., 914B), a visual indication of the representation of the second application is visible to the first user (884) (e.g., a representation (e.g., 908) displayed by electronic device B (e.g., 101b) of FIG. 9A ) without the content of the representation of the second application being visible to the first user. In some embodiments, the visual indication is an object displayed at a location of the representation of the second application indicating that an object not accessible to the first user is being displayed. In some embodiments, the indication includes an indication that the object is an application user interface. In some embodiments, the indication does not include an indication that the object is an application user interface. In some embodiments, the indication includes an indication of the name of the second application. In some embodiments, the indication does not include an indication of the name of the second application. In some embodiments, the indication has the same size and / or shape as the representation of the second user interface. In some embodiments, the indication has a size and / or shape that is different from the size of the representation of the second user interface. In some embodiments, such as in FIG. 9A , following a determination that the representation of the second application (e.g., 908) is not accessible to the second user, a visual indication of the representation of the second application is visible to the second user (886) (e.g., the representation (e.g., 908) displayed by electronic device B (e.g., 101b) in FIG. 9A ) without the content of the representation of the second application being visible to the second user. In some embodiments, the visual indication is an object displayed at a location of the representation of the second application that indicates that an object that is not accessible to the second user is displayed.In some embodiments, the indication includes an indication that the object is an application user interface. In some embodiments, the indication does not include an indication that the object is an application user interface. In some embodiments, the indication includes an indication of the name of the second application. In some embodiments, the indication does not include an indication of the name of the second application. In some embodiments, the indication has the same dimensions and / or shape as the representation of the second user interface. In some embodiments, the indication has dimensions and / or shape that are different from the dimensions of the representation of the second user interface.

[0159] The above-described method of displaying a visual indication of a second application that does not include content of a representation of the second application provides an efficient way of preventing users who do not have access to the second application from placing virtual objects at the location of the second application, which further reduces power usage and improves battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently (e.g., by reducing the number of inputs required to avoid placing two objects at the same location in a three-dimensional environment, etc.), while reducing errors in use.

[0160] 9A , the three-dimensional environment (e.g., 904) includes a first user (e.g., 914A) at a second location within the three-dimensional environment and a second user (e.g., 914B) at a fifth location within the three-dimensional environment (888). In some embodiments, the electronic device displays a representation of the second user at the fifth location within the three-dimensional environment, and the second user's electronic device displays the three-dimensional environment from a viewpoint at the fifth location within the three-dimensional environment. In some embodiments, representations of the individual applications are accessible and / or viewable by the first user and the second user before movement input is received. In some embodiments, in response to receiving the movement input (890), in accordance with a determination that the movement input corresponds to a request to move a representation of the first application from a first location to a third location within the three-dimensional environment (892), and in accordance with a determination that the third location is between the first user's second location and the second user's fifth location, the electronic device (e.g., 101) updates (894) the representation of the first application to be accessible to the first user but inaccessible to the second user (e.g., the representation (e.g., 908) is accessible to user A (e.g., 914A) but not to user B (e.g., 914B) of FIG. 9A ). In some embodiments, the second user's electronic device stops displaying the representation and / or content of the respective application. In some embodiments, in response to the movement input, the respective application is no longer accessible to one or more other users within the three-dimensional environment other than the first user and the second user. In some embodiments, in response to movement input, individual applications are accessible only to the user who provided the movement input and are no longer accessible to any other users within the three-dimensional environment.In some embodiments, such as in FIG. 9C , in response to receiving a movement input (890), in accordance with a determination that the movement input corresponds to a request to move a representation of a first application (e.g., 906) from a first location to a third location within the three-dimensional environment (e.g., 904) (892), and in accordance with a determination that the third location is not between the first user's second location (e.g., 914A) and the second user's fifth location (e.g., 914B), the electronic device (e.g., 101) maintains the representation of the first application (e.g., 906) as accessible to the first user (e.g., 914A) and the second user (e.g., 914B) (896). In some embodiments, the second user's electronic device updates the display of the representation of the individual application to display the representation at the third location within the three-dimensional environment. In some embodiments, the individual application remains accessible to one or more other users within the three-dimensional environment in addition to the first user and the second user.

[0161] The above-described method of updating the representation of the first application so that it is no longer accessible to the second user pursuant to a determination that the third location is between the second location and the fifth location provides an efficient way of removing other users' access to the representation of the application, which further reduces power usage and improves the battery life of the electronic device by allowing users to use the electronic device more quickly and efficiently, while reducing usage errors.

[0162] In some embodiments, in response to receiving the movement input (898), in accordance with a determination that the movement input corresponds to a request to move a representation of the first application from a first location to a third location within the three-dimensional environment (897), and in accordance with a determination that the third location is within a threshold distance of the first user's second location, the electronic device (e.g., 101) updates the representation of the first application to be accessible to the first user but not to the second user within the three-dimensional environment (895) (e.g., similar to how user A (e.g., 914A) of FIG. 9A has access to the representation (e.g., 908) but not to user B (e.g., 914B)). In some embodiments, the electronic device of the second user stops displaying the representation and / or content of the respective application. In some embodiments, in response to the movement input, the respective application is no longer accessible to one or more other users within the three-dimensional environment other than the first user (e.g., the user who provided the movement input). In some embodiments, the electronic device updates the first application to be accessible only to one first user in accordance with a determination that (1) the third location is within a threshold distance of the second location and (2) the first user has provided a movement input. For example, if the second user moves a representation of the application to a location within a threshold distance of the second location, the electronic device continues to present the first application to the second user and the first user. In some embodiments, such as FIG. 9C , in response to receiving the movement input (898), in accordance with a determination that the movement input corresponds to a request to move a representation of the first application (e.g., 906) from a first location to a third location within the three-dimensional environment (897), and in accordance with a determination that the third location is not within a threshold distance of the second location of the first user (e.g., 914A), the electronic device (e.g., 101) refrains from updating (893) the representation of the first application to be accessible to the first user (e.g., 914A) but not to the second user (e.g., 914B).In some embodiments, the electronic device of the second user updates the display of the representation of the individual application to display the representation at a third location within the three-dimensional environment, hi some embodiments, the individual application remains accessible to one or more other users within the three-dimensional environment in addition to the first user and the second user.

[0163] The above-described method of updating the representation of the first application so that it is no longer accessible to the second user pursuant to a determination that the third location is within a predetermined threshold distance from the second location provides an efficient way of removing other users' access to the representation of the application, which further reduces power usage and improves battery life of the electronic device by allowing users to use the electronic device more quickly and efficiently, while reducing usage errors.

[0164] In some embodiments, in response to receiving the movement input (891), in accordance with a determination that the movement input corresponds to a request to move a representation of the first application from a first location to a third location within the three-dimensional environment (889), and in accordance with a determination that the third location is within a threshold distance of a fifth location associated with the second user, the electronic device (e.g., 101) updates the representation of the first application to be accessible to the second user rather than the first user within the three-dimensional environment (887) (e.g., in a manner similar to how the representation (e.g., 906) is accessible to user A (e.g., 914A) but not user B (e.g., 914B) in FIG. 9A ). In some embodiments, the electronic device of the first user stops displaying the representation of the second application, and the electronic device of the second user displays the representation of the second application at the third location within the three-dimensional environment. In some embodiments, the first application is accessible to the second user but not the first user, but the second user can view the first application, provide input to the first application, hear audio associated with the first application, move a representation of the first application within the three-dimensional environment, etc., and the first user cannot view the first application, provide input to the first application, hear audio associated with the first application, move a representation of the first application within the three-dimensional environment, etc. In some embodiments, the electronic device updates the first application to be accessible to the second user but not the first user if (1) the third location is within a fifth location threshold and (2) the second user provides movement input. In some embodiments, the electronic device updates the first application to be accessible to the second user but not the first user if the third location is within a fifth location threshold, regardless of which user provided the movement input.In some embodiments, the first application is accessible to the first user but not to the second user upon receiving movement input (e.g., from the first user). In some embodiments, in accordance with a determination that the third location is equidistant between the first user and the second user, the electronic device orients the representation of the first application toward whichever user provided the input to move the representation of the first application. In some embodiments, such as FIG. 9C , in response to receiving movement input (891), in accordance with a determination that the movement input corresponds to a request to move the representation of the first application (e.g., 906) from the first location to a third location within the three-dimensional environment (889), and in accordance with a determination that the third location is not within a threshold distance of a fifth location associated with the second user (e.g., 914B), the electronic device (e.g., 101) refrains from updating (885) the representation of the first application to be accessible to the second user (e.g., 914B) but not to the first user (e.g., 914A). In some embodiments, in accordance with a determination that the third location is not within a threshold distance of any location associated with the user in the three dimensional environment, the representation of the second application is accessible to all of the users in the three dimensional environment. In some embodiments, in accordance with a determination that the third location is within a threshold distance of the second user and a third individual user in the three dimensional environment other than the first user, the electronic device updates the representation of the second application to be accessible to the third individual user but not to the first user or the second user.

[0165] The above-described method of updating the representation of the first application to be accessible to the second user but not the first user pursuant to a determination that the third location is within a fifth threshold distance provides an efficient way of updating an application to be visible to only one user, which further reduces power usage and improves battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently, while reducing usage errors.

[0166] In some embodiments, such as in FIG. 7A , the electronic device (e.g., 101) simultaneously displays (883) within a three-dimensional environment (e.g., 704) a representation of a first application (e.g., 706) at a first location within the three-dimensional environment and a representation of a second application (e.g., 708) at a fifth location within the three-dimensional environment, where the representation of the first application (e.g., 706) is displayed in a first distinct orientation within the three-dimensional environment (e.g., 704) and the representation of the second application (e.g., 708) is displayed in a second distinct orientation within the three-dimensional environment (e.g., 704), different from the first distinct orientation. In some embodiments, when there are multiple representations of different applications within the three-dimensional environment, the orientations of the representations of the applications differ from one another. In some embodiments, the representations of the applications are oriented toward a second location associated with the user, and the representations of the applications are displayed at different locations such that none of the representations obstruct the user's view of another representation. In some embodiments, in this configuration, the orientations of the representations differ from one another.

[0167] The above-described method of displaying representations of a first and second application in different orientations provides an efficient way of presenting representations such that neither representation obstructs the user's view of another representation, further reducing power usage and improving battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently (e.g., by reducing the number of inputs required to view the various representations), while reducing errors in use.

[0168] In some embodiments, the first orientation of the representation (e.g., 706) of the first application, such as in FIG. 7A , and the second orientation of the representation (e.g., 706) of the first application, such as in FIG. 7B , are based on an orientation field associated with the first user (881). In some embodiments, the orientation field defines an orientation toward the location of the first user for all locations in the three-dimensional environment. In some embodiments, objects displayed at individual locations in the three-dimensional environment are displayed with an orientation corresponding to the orientation field at the individual locations. In some embodiments, the orientation field defines a direction normal to the surface of an individual object, including content, when the individual object is placed at the individual location within the orientation field. In some embodiments, the orientation field points toward a location associated with the user when there is one user in the three-dimensional environment. In some embodiments, when there are multiple users in the three-dimensional environment, the electronic device creates an orientation field that is based on (e.g., is a mathematical combination), such as a vector sum, of orientation fields associated with multiple users (e.g., each user) in the three-dimensional environment. In some embodiments, the orientation and placement of objects in a three-dimensional environment including multiple users are set according to one or more steps of method 1000. In some embodiments, in response to detecting an input that moves an object within the three-dimensional environment, the electronic device moves the object to a location corresponding to the movement input and updates the object's orientation according to the field of attention at the location corresponding to the movement input. In some embodiments, the field of attention is two-dimensional and based on the two-dimensional location(s) of the user(s) within the three-dimensional environment (e.g., the field of attention is the same for all vertical heights within the three-dimensional environment). In some embodiments, the field of attention is three-dimensional and based on the three-dimensional location(s) of the user(s) within the three-dimensional environment (e.g., the field of attention depends on the vertical location(s) of the user(s)).

[0169] The above-described method of orienting representations of a first application and a second application according to a field of attention provides an efficient way of calculating the representation orientations, which further reduces power usage and improves the battery life of the electronic device by reducing the computational complexity of updating the object orientation when the electronic device begins displaying the object or when the object is moved by the user.

[0170] In some embodiments, such as FIG. 7A , a three-dimensional environment (e.g., 904) includes a first user (e.g., 914A) and a second user (e.g., 914B), and a representation of a first application (e.g., 908) is accessible to the first user but not to the second user (879). In some embodiments, the first user's electronic device presents a representation of the first application, but the second user's electronic device does not present a representation of the first application. In some embodiments, the first user can see, hear, provide input to, and / or move around the representation of the first application while the first application is accessible to the first user. In some embodiments, the second user cannot see, hear, provide input to, and / or move around the representation of the first application while the first application is not accessible to the second user. 9B , while displaying the representation (e.g., 908) of the first application in a first appearance (e.g., a first size, a first position, and / or a first orientation), the electronic device (e.g., 101) detects (877) a respective input via one or more input devices corresponding to a request to update the representation (e.g., 908) of the first application to be accessible to a first user (e.g., 914A) and a second user (e.g., 914B). In some embodiments, the request is a request to share the first application with the respective second user and, optionally, any other users present within the three-dimensional environment. In some embodiments, once the first application is accessible to the second user, the second user's electronic device presents a representation of the first application, and the second user can, optionally, interact with the first application within the three-dimensional environment. In some embodiments, the first user and the second user may view a representation of, hear audio, provide input to, and / or navigate the first application while the first application is accessible to the first user and the second user.In some embodiments, such as in FIG. 9C , in response to detecting the distinct input (875), the electronic device (e.g., 101) updates (873) the representation (e.g., 908) of the first application to be accessible to the first user (e.g., 914A) and the second user (e.g., 914B). In some embodiments, the second user's electronic device begins displaying the representation of the first application, and the first user's electronic device continues displaying the representation of the first application. In some embodiments, in response to detecting (875) the distinct input, the electronic device (e.g., 101) displays (871) the representation of the first application in a second appearance that is different from the first appearance (e.g., where the appearance of the representation (e.g., 908) of FIG. 9C is different from the appearance of the representation (e.g., 908) of FIG. 9B). In some embodiments, the first user's electronic device updates the appearance of the representation of the first application in response to a request to make the first application accessible to the second user. For example, the electronic device updates the size, orientation, and / or position of the representation of the first application to face the representation of the first application toward both the first user and the second user. In some embodiments, the representation of the first application is moved toward the second user. In some embodiments, the representation of the first application is displayed at a larger size (e.g., so that both users can more easily view the content at a greater distance than before the first application was shared).

[0171] The above-described method of updating a representation of a first application in response to a request to make the first application accessible to a second user provides an efficient way of presenting a representation that has an appearance that is more easily viewed by both users, which further reduces power usage and improves battery life of the electronic device while reducing usage errors by allowing the users to use the electronic device more quickly and efficiently (e.g., by reducing the input required to update the appearance of the representation of the first application after the first application is shared).

[0172] In some embodiments, the separate input is associated with a suggestion to share a representation of the first application with the second user (869) (e.g., if the electronic device (e.g., 101a) presented an indication to share the representation (e.g., 908) before receiving the input to share the representation (e.g., 908) shown in FIG. 9B ). In some embodiments, the electronic device presents a prompt to share the first application, and an input corresponding to a request to make the first application accessible to the second user is directed to the prompt. In some embodiments, the prompt is displayed in response to the second user entering the three-dimensional environment. In some embodiments, the prompt is presented in response to initiation of a separate action of the first application other than a request to display the prompt (e.g., a request to present content within the application). In some embodiments, the prompt is presented in response to a request from the second user. In some embodiments, the prompt is presented because the first application is a content-presenting application and / or because the first user has previously shared access to the first application with the second user and / or other users. In some embodiments, such as in FIG. 9B , while displaying the representation (e.g., 908) of the first application having the first appearance, the electronic device detects (867) a second separate input via one or more input devices corresponding to a request to update the representation (e.g., 908) of the first application to be accessible to a first user (e.g., 914A) and a second user (e.g., 914B), where the second separate input is not associated with a suggestion to share the representation (e.g., 908) of the first application with the second user (e.g., 914B). In some embodiments, the request to update the representation to be accessible to the second user is initiated by the first user. For example, the electronic device detects a selection of an option to share the first application displayed within a menu presented in response to a request to present a menu, rather than a selection or acceptance of a prompt suggesting that the first application be shared.In some embodiments, the first user and the second user can see, hear, provide input to, and / or move a representation of the first application while the first application is accessible to the first user and the second user. In some embodiments, such as FIG. 9C , in response to detecting the respective inputs (865), the electronic device (e.g., 101) updates (863) the representation of the first application (e.g., 908) to be accessible to the first user (e.g., 914A) and the second user (e.g., 914B) while maintaining the representation of the first application (e.g., 908) having the first appearance. In some embodiments, both the first user's electronic device and the second user's electronic device display the representation having the first appearance. In some embodiments, the orientation of the representation of the first application within the three-dimensional environment does not change. In some embodiments, the position of the representation of the first application within the three-dimensional environment does not change. In some embodiments, the size of the representation of the first application within the three-dimensional environment does not change.

[0173] The above-described method of updating the appearance of a representation of a first application when a request to make the representation accessible to a second user is associated with a sharing proposal provides an efficient way of presenting a representation that has an appearance that is easily visible to both the first user and the second user in situations where sharing of an application is proposed, which further reduces power usage and improves battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently (e.g., by reducing the input required to update the appearance of the representation of the first application), while reducing usage errors.

[0174] In some embodiments, such as FIG. 9A , the three-dimensional environment (e.g., 904) includes a first user (e.g., 914A) and a second user (e.g., 914B), and a representation of a first application (e.g., 908) is accessible to the first user (e.g., 914A) but inaccessible to the second user (e.g., 914B) (861). In some embodiments, the electronic device of the second user refrains from presenting a representation of the first application. In some embodiments, such as FIG. 9B , while displaying the representation of the first application (e.g., 908) having a first appearance, the electronic device (e.g., 101) detects (859), via one or more input devices, a separate input corresponding to a request to update the representation of the first application (e.g., 908) so that it is accessible to the first user (e.g., 914A) and the second user (e.g., 914B). In some embodiments, such as in FIG. 9C , in response to detecting the respective inputs (857), the electronic device (e.g., 101) updates the representation (e.g., 908) of the first application to be accessible to the first user (e.g., 914A) and the second user (e.g., 914B) while maintaining the representation (e.g., 908) of the first application having the first appearance (855). In some embodiments, the electronic devices of both the first user and the second user display the representation of the first application having the first appearance. In some embodiments, the first appearance includes a respective size, location, and / or orientation relative to a fixed frame of reference in three-dimensional space. In some embodiments, the orientation of the representation of the first application within the three-dimensional environment does not change. In some embodiments, the position of the representation of the first application within the three-dimensional environment does not change. In some embodiments, the size of the representation of the first application within the three-dimensional environment does not change. In some embodiments, the electronic devices of the first user and the second user display the three-dimensional space from different perspectives and / or viewpoints.In some embodiments, the first user and the second user may view a representation of, hear audio, provide input to, and / or navigate the first application while the first application is accessible to the first user and the second user.

[0175] The above-described method of maintaining a first appearance of a representation of a first application in response to a request to make the representation accessible to a second user provides an efficient way of sharing the representation without computing an updated appearance of the representation, which further reduces power usage by reducing the complexity of the operations for sharing the representation with the second user, improving battery life of the electronic device while reducing errors in use.

[0176] In some embodiments, such as in FIG. 7A , the three-dimensional environment (e.g., 704) includes a representation (e.g., 706) of a first individual object of a first type at a fifth location within the three-dimensional environment, and the three-dimensional environment (e.g., 704) includes a representation (e.g., 710) of a second individual object of a second type different from the first type (e.g., an object of a type that does not dynamically scale as it moves around the three-dimensional environment (e.g., 704)) at a sixth location within the three-dimensional environment (e.g., 704), where the fifth location is a first distance from a second location associated with the first user (e.g., 714A), and the sixth location is a second distance from the second location associated with the first user (e.g., 714A) (853). In some embodiments, the first and second objects are representations of applications, items of content, files, or other virtual objects. In some embodiments, the first type of object is a type of object that has a dynamic virtual size based on the distance between the object and the user(s) in the three-dimensional environment. In some embodiments, the second type of object is a type of object that has a fixed virtual size that is independent of the distance between the object and the user(s) in the virtual environment. In some embodiments, such as FIG. 7A , the electronic device (e.g., 101) receives (851) a first individual input via one or more input devices corresponding to a request to move a representation of the first individual object (e.g., 706) from a first distance from a second location to a third distance different from the first distance from the second location. In some embodiments, such as FIG. 7B , in response to receiving (849) the first individual input, the electronic device (e.g., 101) moves (847) the representation of the first individual object (e.g., 706) to a third distance from the second location (e.g., 714A) of the first user. In some embodiments, the electronic device updates the orientation of the first individual object in response to the first individual input, as described herein in method 800 and / or method 1000.In some embodiments, such as in FIG. 7B , in response to receiving the first individual input (849), the electronic device (e.g., 101) resizes the representation (e.g., 706) of the first individual object based on the third distance (e.g., relative to the size of the representation while the representation was displayed at the fifth location) (845). In some embodiments, the electronic device resizes the virtual size of the first individual object in response to the input that moves the first individual object. For example, if the first individual object is moved a greater distance from the second location, the electronic device increases the virtual size of the first individual object to maintain visibility of the first individual object (e.g., the display area of ​​the first object remains the same, increases, or decreases). As another example, if the first individual object is moved a closer distance to the second location, the electronic device decreases the virtual size of the first individual object to conserve space in the display area for other objects (e.g., the display area of ​​the first object remains the same, increases, or decreases). In some embodiments, the electronic device receives, via one or more input devices, a second individual input corresponding to a request to move a representation of a second individual object from a second distance from the second location to a fourth distance different from the second distance from the second location (e.g., receiving a request to move the object (e.g., 710) of FIG. 7A ) (843). In some embodiments, in response to receiving the second individual input (841), the electronic device (e.g., 101) moves the representation of the second individual object from the second location to the fourth distance (839) while maintaining a size of the representation of the second individual object (e.g., relative to the size of the representation while the representation was displayed at the fifth location) (e.g., while maintaining a size of the object (e.g., 710) in the three-dimensional environment (e.g., 704) in FIG. 7A ) in response to moving the object (e.g., 710) to a different distance from the user (e.g., 714) within the three-dimensional environment (e.g., 704) of FIG. 7A ).In some embodiments, in response to the second individual input, the electronic device moves the second individual object and continues to display the second individual object at a fixed virtual size. In some embodiments, maintaining a fixed virtual size of the individual second object includes updating a display area used to display the second individual object. For example, if the second individual object is moved further away from the user in the three-dimensional environment, the display generation component uses less display area to display the second individual object. As another example, if the second individual object is moved closer to the user in the three-dimensional environment, the display generation component uses more display area to display the second individual object. In some embodiments, a user interface element associated with the second virtual object (e.g., a menu bar, an option that, when selected and / or interacted with, initiates a process to move the second virtual object, as described with reference to method 1000) is displayed with a variable virtual size that depends on the distance between the user and the second individual object in the three-dimensional environment, as described with reference to method 1000.

[0177] The above-described method of changing the size of a first individual object and maintaining the size of a second individual object provides an efficient method of scaling the size of objects to improve visibility and a method of displaying realistic virtual objects with a fixed virtual size, which further reduces power usage and improves the battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently, while reducing errors in use.

[0178] 9A-9D are diagrams illustrating examples of how electronic devices 101a and / or 101b automatically update the orientation of virtual objects in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, according to some embodiments.

[0179] 9A illustrates electronic devices 101a and 101b displaying a three-dimensional environment 904 on a user interface via display generation components 120a and 120b. As described above with reference to FIGS. 1-6, electronic devices 101a and 101b optionally include display generation components 120a and 120b (e.g., touchscreens) and multiple image sensors 314a and 314b. The image sensors optionally include one or more of a visible light camera, an infrared camera, a depth sensor, or any other sensor that electronic devices 101a and 101b can use to capture one or more images of a user or a portion of a user while the user interacts with electronic devices 101a and 101b. In some embodiments, display generation components 120a and 120b are touchscreens capable of detecting user hand gestures and movements. In some embodiments, the user interfaces shown below may also be implemented on a head-mounted display that includes a display generation component that displays the user interface 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).

[0180] In some embodiments, the three-dimensional environment 904 is accessible to multiple users. In Figure 9A, electronic device A 101a displays the three-dimensional environment 904 for user A (e.g., from user A's perspective), and electronic device B 101b displays the three-dimensional environment 904 for user B (e.g., from user B's perspective). The three-dimensional environment 904 includes a representation 914A of user A, a representation 914B of user B, a representation 908 of app B, a representation 906 of app A, a representation 922 of app C, and a representation 924 of app D. In Figure 9A, the representation 906 of app A, the representation 908 of app B, and the representation 924 of app D include content on one side of the representation, while the representation 922 of app C includes content that is visible from multiple sides. For example, apps A, B, and D may be content applications (e.g., video players, music players, photo galleries) or other applications including two-dimensional user interfaces (e.g., web browsers, email applications, word processing applications, two-dimensional games), while app C may be a virtual board game or other virtual content (e.g., three-dimensional content) that is viewable from multiple sides. In the example shown in FIG. 9A , app A representation 906, app C representation 922, and app D representation 924 are accessible to user A 914A and user B 914B, and app B representation 908 is accessible to user A 914A but not user B 914B. Thus, user A 914A and user B 914B can both see and interact with app A representation 906, app C representation 922, and app D representation 924, but only user A 914A can see and interact with app B representation 908.

[0181] Legend 912 indicates the positions and orientations of objects and users within three-dimensional environment 904, including user A 914A's field of view 928a and user B 914B's field of view 928b. Thus, electronic device A 101a displays a portion of three-dimensional environment 904 within user A 914A's field of view 928a, and electronic device B 101b displays a portion of three-dimensional environment 904 within user B 914B's field of view 928b. Electronic device A 101a displays a representation of app A 906 and a representation of app B 908. Electronic device B 101b displays a representation of user A 914A (e.g., an avatar for user A 914A) and a representation of app C 922. In some embodiments, electronic device B 101b displays an indication of app B's representation 908 (e.g., its size and / or location) without displaying the content of app B's representation 908 because user B 914B does not have access to app B's representation 908. In some embodiments, electronic device B 101b refrains from displaying the indication of app B's representation 908.

[0182] In some embodiments, the positions and / or orientations of the virtual objects within the three-dimensional environment 904 are automatically selected based on the positions of users 914A and / or 914B within the three-dimensional environment 904 (e.g., in response to an input to move one of the objects, in response to an input to begin displaying the object, etc.). For example, electronic devices 101a and / or 101b select / update the orientation, size, and / or position of a single-sided object, such as representations 906 and 908 of app A and app B, such that the sides having the content of representations 906 and 908 are oriented toward user A 914A and user B 914B in the three-dimensional environment 904. As another example, electronic devices 101a and / or 101b select / update the orientation, size, and / or position of a multi-sided object, such as representation 922 of app C, that is between user A 914A and user B 914B. In some embodiments, electronic devices 101a and 101b construct and / or have access to a vector field superimposed on three dimensional environment 904, with vectors pointing to a shared point of interest for users 914A and 914B. In some embodiments, the vector field is three dimensional. In some embodiments, the vector field is the result of a vector sum of a vector field pointing to the position of user A 914A in three dimensional environment 904 and a vector field pointing to the position of user B 914B in three dimensional environment 904 (or, more generally, a sum of vector fields each pointing to one of multiple users in the three dimensional environment, including a vector field for each user in three dimensional environment 904). Thus, if a virtual object (e.g., a representation of an application) is placed at a height above the eye level of one or more users, electronic devices 101a and 101b orient the virtual object so that the virtual object is pointing downward toward the user's viewpoint. The users' shared point of interest is optionally a location in the three-dimensional environment 904 between the users to which a virtual object is aimed so that the virtual object is visible to both users in the three-dimensional environment 904.

[0183] In some embodiments, electronic devices 101a and / or 101b prioritize users closer to an individual virtual object over users farther from the virtual object when determining the object's orientation. For example, because app D's representation 924 is closer to user B 914B in three-dimensional environment 904, the orientation of app D's representation 924 is oriented toward user B 914B rather than toward user A 914A. In some embodiments, when a first user of an individual virtual object is occluded (e.g., by another user or another virtual object), the orientation of the individual virtual object is based on the locations of other users (whose views of the individual object are not occluded) in three-dimensional environment 904, rather than based on the location of the first user (or any other users whose views of the individual virtual object are occluded). For example, if a virtual object was present between user A 914A and app A representation 906 in the three-dimensional environment 904 of FIG. 9A , the orientation and / or size of app A representation 905 would be based on the location of user B 914B, rather than the location of user A 914A. In some embodiments, when a first user cannot see an individual virtual object because the distance between the first user and the individual virtual object exceeds a threshold (e.g., 4, 5, 10 meters, etc.), the orientation of the individual virtual object would be based on the location of another user (within a threshold distance of the individual virtual object) in the three-dimensional environment 904, rather than based on the location of the first user (or any other user farther than the threshold distance from the individual virtual object). For example, if the three-dimensional environment 904 shown in FIG. 9A included an additional object that was within the threshold distance of user A 914A but farther than the threshold distance from user B 914B, the orientation and / or size of the additional object would be based on the location of user A 914A, rather than based on the location of user B 914B.

[0184] In some embodiments, constructing a vector field corresponding to the automatic orientation of virtual objects includes establishing a region of the three-dimensional environment 904 in which virtual objects have an orientation based on a boundary of the region rather than based on the location of a user within the three-dimensional environment. For example, in FIG. 9A , user A 914A and user B 914B are located within the region, and the orientation of any virtual object within the region of the three-dimensional environment 904 (e.g., a representation of app C 922) is based on the position of one or more users, as described above and below. In this example, outside the region, electronic devices 101a and 101b orient the virtual object to face the location of the region's boundary that is closest to the location of the virtual object. Thus, in some embodiments, an object outside the region at a location closest to a discrete point along the region's boundary will have the same discrete orientation, regardless of the object's distance from the region's boundary. In some embodiments, within the region, changing the object's distance from a discrete point along the region's boundary changes the object's orientation, even if the object remains closest to the discrete point along the region's boundary. In some embodiments, objects outside a region that are within a threshold distance (e.g., 0.2, 0.5, 0.7, 1 meter, etc.) of the region's boundary are oriented according to the user's location within three-dimensional environment 904 (e.g., the reference used to orient objects within the region) and the region's boundary (e.g., the reference used to orient objects outside the region). Thus, in some embodiments, electronic device 101a and / or 101b can "blend" different algorithms used inside and outside a region when placing objects outside and within the region's threshold distance.

[0185] In some embodiments, electronic device 101a and / or 101b automatically updates the orientation of the virtual object in response to a user request to move the object within three-dimensional environment 904 and / or when initially displaying the virtual object within three-dimensional environment 904, as described above with reference to FIGS. 9A-10T. For example, the orientation of representation 906 of app A in FIG. 9A is automatically selected based on the positions of user A 914A and user B 914B in three-dimensional environment 904. In some embodiments, in response to a request to display a virtual object within three-dimensional environment 904, electronic device 101a and / or 101b selects the initial position of the virtual object and selects the orientation based on the locations of users 914A and 914B and other objects within three-dimensional environment 904. In some embodiments, the initial position of the virtual object is not based on the orientations of users 914A and 914B (e.g., users' fields of view 928a and 928b). For example, the initial position of app A's representation 906 is the position shown in Figure 9A regardless of which direction user A 914A and user B 914B are facing within the three-dimensional environment 904 while in the positions shown in Figure 9A. Thus, in some embodiments, the initial placement of virtual objects within the three-dimensional environment is based on the positions of the users within the three-dimensional environment. For example, app A's representation 906 and app D's representation 924 are placed in locations where both users 914A and 914B can see the side of the representation that includes the content of the representation, and app C's representation 922 is placed between users 914A and 914B (e.g., for a virtual board game) so that the users can see different sides of the representation.

[0186] Figure 9B shows another example of the three-dimensional environment 904 described above with reference to Figure 9A. In Figure 9B, the positions of users 914A and 914B and other objects within the three-dimensional environment 904 are different from their positions in Figure 9A. In some embodiments, the initial positions and orientations of app A representation 906, app D representation 924, app C representation 922, and app B representation 908 are different in Figure 9B from Figure 9A because the initial positions and orientations of these objects are based on the positions of users 914A and 914B within the three-dimensional environment, and the positions of users 914A and 914B are different in Figure 9B from Figure 9A.

[0187] 9A and 9B illustrate the initial positions and orientations of objects within the three-dimensional environment 904, or the orientations of objects automatically selected in response to user input that moves the objects. In some embodiments, electronic devices 101a and / or 101b do not update the orientations and / or positions of virtual objects in response to one or more users updating their positions within the three-dimensional environment 904. In response to detecting that one or more of users 914A or 914B have changed their positions within the three-dimensional environment 904, electronic devices 101a and 101b refrain from updating the positions and orientations of virtual objects, but update the vector fields used to determine the initial positions and orientations of new objects added to the three-dimensional environment 904, as well as the orientations of objects moved around the three-dimensional environment 904.

[0188] 9B illustrates a field of view 928a of user A 914a and a field of view 928b of user B 914B in the three-dimensional environment 904. Electronic device 101a displays the three-dimensional environment 904 from the perspective of user A 914a, including a representation 906 of app A and a representation 908 of app B. Electronic device 101b displays the three-dimensional environment 904 from the perspective of user B 914b, including a representation 906 of app A, a representation 922 of app C, and a representation (e.g., an avatar) of user A 914A. User B 914B's field of view 928b includes the representation 908 of app B as shown in legend 912, but electronic device B 101b does not display the representation 908 of app B because the representation 908 is not accessible to user B.

[0189] Furthermore, because user B 914B does not have access to representation 908 of app B, in some embodiments the orientation of representation 908 of app B is based on the location of user A 914A rather than on the location of user B 914B in three dimensional environment 904. For example, representation 908 of app A and representation 924 of app D are oriented toward both user A 914A and user B 914B, but representation 908 of app B is oriented toward user A 914A and is at an angle that makes it difficult for user B 914B to view the content of representation 908 if user B 914B were to access representation 908.

[0190] In some embodiments, electronic devices 101a and / or 101b initially display the representation of the application in a private mode in which the user requesting the display can access the representation of the application without other users in three-dimensional environment 904 having access to the representation. For example, electronic device A 101a, in response to detecting a request from user A 914A to display representation 908, displays representation 908 of app B in a private mode such that user A 914A has access to representation 908 without user B 914B having access to representation 908 until a request is received from user A 914A to make representation 908 accessible to user B 914B. In some embodiments, if there are additional users in the three-dimensional environment 904 other than user A 914A and user B 914B, the request to make the representation 908 of app B accessible to user B 914B is either a request to make the representation 908 accessible to all users in the three-dimensional environment 914, or a request to make the representation 908 accessible to user B 914B but not to other users (e.g., with or without maintaining user A 914A's ability to access the representation 908).

[0191] 9B shows electronic device A 101a detecting an input to make the representation 908 of app B accessible to user B 914b, and electronic device B 101b detecting an input to move the representation 906 of app A. For example, electronic device A 101a detects user A 914A's gaze 916a directed toward an option 926 for sharing the representation 908 of app B while detecting user A 914A making a gesture with his or her hand 920a. Electronic device B 101b detects user B 914B's gaze 916b directed toward the representation 906 of app A while detecting user B 914B performing a gesture with hand 920b and moving hand 920b while maintaining the gesture with hand 920b. In some embodiments, the gesture detected by the electronic device is a user touching their thumb to another finger (e.g., index finger, middle finger, ring finger, pinky finger) of the same hand as the thumb.

[0192] In some embodiments, electronic device A 101a displays an indication 918 around the representation 908 of app B indicating that the user's gaze 916a is on the representation 908. In some embodiments, the indication 918 is displayed in response to detecting the user's gaze 916a on the representation 908 of app B. In some embodiments, in response to detecting user A 914A's gaze on the indication 918, electronic device A 101a displays options 926 for making the representation 908 of app B accessible to user B 914B. In some embodiments, electronic device A 101a displays additional options (e.g., an option to move the representation 908, an option to stop displaying the representation 908, etc.) in response to detecting the user's gaze on the indication 918. While the indication 918 is shown in FIG. 9B as surrounding the representation 908, in some embodiments, the indication 918 is displayed adjacent to one edge of the representation 908 (e.g., the indication 918 is a bar along the bottom or another edge of the representation 908). The electronic device A 101a detects the gaze 916a of the user A 914a on the option 926 to share the representation 908 of the app B while detecting that the user A 914a is performing a gesture with their hand 920a (e.g., touching their thumb to another finger (e.g., index finger, middle finger, ring finger, pinky finger) of the same hand). In response, the electronic device A 101a makes the representation 908 of the app B accessible to the user B 914B, as described in more detail below with reference to FIG. 9C.

[0193] 9B , electronic device B 101b displays an indication 918 around representation 906 of app A indicating that a user's gaze 916b is on representation 906. In some embodiments, indication 918 is displayed in response to detecting a user's gaze 916b on representation 906 of app A. While indication 918 is shown in FIG. 9B as surrounding representation 906, in some embodiments, indication 918 is displayed adjacent to one edge of representation 906 (e.g., indication 918 is a bar along the bottom or another edge of representation 906). Electronic device B 101b detects user B 914b's gaze 916b on indication 918 around representation 906 while detecting that user B 914b is performing a gesture with their hand 920b (e.g., touching their thumb to another finger of the same hand (e.g., index finger, middle finger, ring finger, pinky finger)). In response, electronic device A 101b begins a process of moving representation 906 of app A within three-dimensional environment 904 according to the movement of hand 920b (e.g., or the arm of hand 920b), as described in more detail below with reference to FIG. 9C. In some embodiments, any user with access to individual virtual objects within three-dimensional environment 904 can similarly move virtual objects within three-dimensional environment 904. For example, user A 914A can move representation 906 of app A in a manner similar to how user B 914B moves representation 906 of app A.

[0194] 9C shows the three-dimensional environment 904 after receiving a request from user A 914A to make a representation of app B 906 accessible to user B 914B and a request from user B 914B to move the representation of app A 908 shown in FIG. 9B. In response to user A 914A's request to make the representation of app B 908 accessible to user B 914B, electronic device B 101b displays the representation of app B 908 in the three-dimensional environment 904. In response to user B 914B's request to move the representation of app A 906, electronic devices 101a and 101b update the location, orientation, and size of the representation of app A 906 within the three-dimensional environment 904.

[0195] In some embodiments, the electronic device resists placing virtual objects within a threshold distance (e.g., 0.1, 0.2, 0.3, 0.4, 0.5 meters, etc.) of the user within the three-dimensional environment 904. For example, the electronic device avoids placing objects within the user's personal space so as not to obstruct the user's view of the rest of the three-dimensional environment. The movement of user B 914B's hand 920b shown in FIG. 9B may correspond to moving the representation of app A 906 to a location within the threshold distance of user A 914A, whereas the electronic device displays the representation of app A 906A at a location within the three-dimensional environment that is the threshold distance away from user A 914A within the three-dimensional environment 904 in response to the request to move the representation of app A provided by user B 914b in FIG. 9B. In some embodiments, before detecting the end of the movement input (e.g., detecting that user B 914b has stopped performing a predetermined gesture associated with the movement input (e.g., touching the thumb to another finger of the same hand (e.g., index finger, middle finger, ring finger, pinky finger)), electronic device 101a and / or 101b moves representation 906 of app A according to the movement of user B's hand 920b, including displaying representation 906 of app A at a location within a threshold distance of user A 914A. In some embodiments, in response to detecting the end of the movement input, electronic device 101a and / or 101b displays an animation of representation 906 of app A moving from a location within the threshold distance of user A 914A to a location at least the threshold distance away from user A 914A. In some embodiments, while the movement input is provided, electronic device 101a and / or 101b does not display representation 906 of app A at a location within the threshold distance of user A 914A, and displays representation 906 the threshold distance away from user A 914A in response to the movement input corresponding to moving representation 906 to a location within the threshold distance of user A 914A.

[0196] In some embodiments, electronic devices 101a and / or 101b do not allow users 914A and 914B to place virtual objects in locations where both users 914A and 914B cannot see the contents of the virtual object. For example, electronic devices 101a and / or 101b also resist placing one-way representations of applications (e.g., representations 906, 908, and 924 of app A, app B, and app D, respectively, with content on one side) between two users (e.g., user A 914A and user B 914B) in three-dimensional environment 904 because when the one-way representation is between the users, the side of the representation with the content cannot face both users. In some embodiments, in response to a movement input corresponding to moving a unidirectional representation of the application to a location between user A 914A and user B 914B (e.g., an input to move representation 906 or 908 to the location of representation 922 (e.g., while representation 922 is not displayed at the location shown in FIG. 9B )), electronic device 101a and / or 101b displays the representation at a location that is at least a threshold distance (e.g., 5, 10, 15, 20 centimeters, etc.) from a straight line between the two users 914A and 914B. In some embodiments, electronic device 101a and / or 101b displays the representation in accordance with the movement input (e.g., including displaying the representation between the two users 914A and 914B) while the movement input is provided, and, in response to detecting an end of the movement input, moves the representation to a location that is at least a threshold distance (e.g., 5, 10, 15, 20 centimeters, etc.) from a straight line between the two users 914A and 914B. In some embodiments, while the movement input is provided, the electronic devices 101a and / or 101b display the representation at least a threshold distance (e.g., 5, 10, 15, 20 centimeters, etc.) from a straight line between the two users 914A and 914B while the movement input is provided in accordance with an amount of movement corresponding to moving the representation to a location between the two users 914A and 914B.In some embodiments, the electronic devices 101a and / or 101b move the representation in response to detecting a movement input corresponding to moving the representation from one side of the line between the two users 914A and 914B to the other side of the line between the two users 914A and 914B directly past the line between the two users.

[0197] In some embodiments, electronic devices 101a and / or 101b resize representation 906 of app A based on the locations of user A 914A and user B 914B in response to updating the location of representation 906 of app A in response to movement input, such as input provided by user B 914B in Figure 9B. Because representation 906 of app A is closer to both users in Figure 9C than in Figure 9B, the size of representation 906 of app A in three-dimensional environment 904 is smaller in Figure 9C than in Figure 9B, as shown by legend 912 in both figures. Similarly, in response to input that moves the representation of the application farther away from users 914A and 914B within three-dimensional environment 904, electronic devices 101a and / or 101b increase the size of the representation in three-dimensional environment 904. In some embodiments, electronic device 101a and / or 101b displays representation 906 of app A at a size large enough to be readable by a user (e.g., user B 914B) who is further away from the updated location of representation 906 of app A. For example, in FIG. 9C , the size of representation 906 of app A is selected to be large enough to be readable by user B 914B because user B 914B is further away from representation 906 than user A 914A is from representation 906. In some embodiments, electronic device 101a and / or 101b does not update the size of some objects in response to changes in the distance between the object and the user. In some embodiments, even if electronic device 101a and / or 101b maintains the size of the object in response to changes in the distance between the object and users 914A and 914B, the size at which indication 918 is displayed is updated in response to detecting the user's gaze at the object (e.g., smaller when closer to the user and larger when farther away from the user).

[0198] Thus, in some embodiments, as described with reference to FIGS. 9B and 9C, when a representation of an application is accessible to multiple users 914A and 914B in the three-dimensional environment 904, the orientation and / or sizing of the representation is updated according to the positions of the multiple users 914A and 914B in the three-dimensional environment 904. In some embodiments, when a representation of an application is accessible to only one user in the three-dimensional environment 904, the orientation and / or size of the representation is updated according to the position of the user having access to the representation, in a manner similar to that described above with reference to FIGS. 7A-8P. In some embodiments, the orientation and / or location of the representation of the application remains the same in response to an input to share the representation (e.g., an input provided by user A 914A in FIG. 9B) and is not automatically updated until the representation is repositioned while the representation is accessible to multiple users. For example, the position, orientation, and / or size of representation 908 of app B is the same in FIG. 9C in response to sharing as it was in FIG. 9B before an input to share representation 908 was received by electronic device A 101a. In some embodiments, when one of users 914A or 914B moves representation 908, electronic device 101a and / or 101b moves representation 908 according to the input and automatically updates the size and orientation of representation 906 according to the positions of representation 906, user A 914A, and user B 914B so that representation 908 is viewable after (and optionally during) receiving the movement input.

[0199] 9A-9C, in some embodiments, electronic devices 101a and / or 101b automatically update the orientation and / or size of virtual objects according to the locations of user A 914A and user B 914B in three dimensional environment 904 (e.g., in response to a request to move a virtual object when initially displaying the virtual object). Thus, in some embodiments, if the number of users in three dimensional environment 904 changes (e.g., by adding or removing users), the automatic orientation of individual objects at individual positions in three dimensional environment 904 also changes.

[0200] 9D shows a display of a three-dimensional environment 904 on each of electronic device A 101a, electronic device B 101b, and electronic device C 101c. Electronic device A 101a shows a portion of the three-dimensional environment 904 in a field of view 928a of user A 914A, including a representation of app A 906 and a representation of app B 908. Electronic device B 101b shows a portion of the three-dimensional environment 904 in a field of view 928b of user B 914B, including a representation of app A 906, a representation of app B 908, a representation of app C 922, and a representation of user A 914A. Electronic device C 101c shows a portion of the three-dimensional environment 904 in a field of view 928c of user C 914C, including a representation of app A 906, a representation of app B 908, a representation of app C 922, and a representation of user A 914A.

[0201] In some embodiments, in response to user C 914C joining the three-dimensional environment 904, electronic device 101a, 101b, and / or 101c automatically selects an initial position for user C 914C in the three-dimensional environment 904. Exemplary methods by which electronic devices select a user's initial position within a three-dimensional environment are described in more detail below with reference to FIGS. 13A-14L. In some embodiments, the electronic device automatically selects a user's position in response to the user joining the three-dimensional environment or in response to receiving a user input to reset the user's view of the three-dimensional environment. For example, in response to detecting a request to reset the three-dimensional environment, the electronic device positions the user according to one or more rules (e.g., one or more of the rules described below with reference to FIGS. 13A-14L). In this manner, the electronic device can update the display of objects and other users in the three-dimensional environment for the user without updating the positions and / or orientations of other users and objects in the three-dimensional environment.

[0202] Figure 9D illustrates the addition of user C 914C to the three-dimensional environment 904 described above with reference to Figure 9C. Figure 9D illustrates representations 906, 908, 922, and 924 of apps A, B, C, and D, respectively, displayed at locations within the three-dimensional environment 904 that are the same as the locations of these objects in Figure 9C. The orientations of the representations 906, 908, 922, and 924 of apps A, B, C, and D, respectively, are different between Figures 9C and 9D because the user configurations present in the three-dimensional environment 904 are different between Figures 9C and 9D (e.g., with the addition of user C 914C). In some embodiments, electronic devices 101a, 101b, and / or 101c do not update the orientations of representations 906, 908, 922, and 924 of apps A, B, C, and D, respectively, in response to the addition of user C 914C to the three-dimensional environment 904. Rather, Figure 9D optionally illustrates the automatic orientation of representations 906, 908, 922, and 924 of applications A, B, C, and D, respectively, when these objects are moved to the locations shown in Figure 9D. In some embodiments, the orientation and / or size of representations 906, 908, 922, and 924 of apps A, B, C, and D, respectively, are updated as shown in Figure 9D in response to user C 914C joining the three-dimensional environment 904.

[0203] For example, representations 908 and 906 of apps B and A, respectively, are tilted more to the right in FIG. 9D than in FIG. 9C because user C 914C is to the right of these objects, and representations 908 and 906 are at least partially visible to user C 914C (e.g., via electronic device C 101c). As another example, representation 922 of app C is rotated counterclockwise so that one of the faces of representation 922 faces both user B 914B and user C 914C, such that user C 914C can see at least a portion of representation 922 of app C. In FIG. 9D, user A 914A can still see another face of representation 922 of app C because representation 922 of app C includes content on multiple sides (e.g., the side facing the user, all sides, etc.).

[0204] 10A-10T are flowcharts illustrating a method for automatically updating the orientation of a virtual object in a three-dimensional environment based on the viewpoints of multiple users in the three-dimensional environment, 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 generation component (e.g., display generation component 120 of FIGS. 1, 3, and 4 ) (e.g., a head-up display, a display, a touchscreen, a projector, etc.) and one or more cameras (e.g., a camera pointing downward in a 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., control unit 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 an electronic device in communication with a display generation component and one or more input devices (e.g., a mobile device (e.g., a tablet, smartphone, media player, or wearable device), or a computer). In some embodiments, the display generation component is a display (optionally a touchscreen display) integrated with the electronic device, an external display such as a monitor, projector, television, or a hardware component (optionally integrated or external) for projecting a user interface or making a user interface visible to one or more users, etc. In some embodiments, the one or more input devices include electronic devices or components capable of receiving user input (e.g., capturing user input, detecting user input, etc.) and transmitting information related to the user input to the electronic device. 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 electronic device), a handheld device (e.g., external), a controller (e.g., external), a camera, a depth sensor, an eye-tracking device and / or a motion sensor (e.g., hand tracking device, hand motion sensor), etc.

[0206] In some embodiments, such as in FIG. 9A , an electronic device (e.g., 101) displays (1002) a three-dimensional environment (e.g., 904) shared by a first user (e.g., 914A) and a second user (e.g., 914B) via display generation component 120. In some embodiments, the three-dimensional environment is generated, displayed, or otherwise made viewable by the device (e.g., the three-dimensional environment is a computer-generated reality (CGR) environment, such as a virtual reality (VR) environment, a mixed reality (MR) environment, or an augmented reality (AR) environment). In some embodiments, an electronic device associated with a first user displays the three-dimensional environment from a viewpoint corresponding to the first user's position and orientation within the three-dimensional environment. In some embodiments, another electronic device (e.g., different from the electronic device) associated with a second user displays the three-dimensional environment from a viewpoint corresponding to the second user's position and orientation within the three-dimensional environment. In some embodiments, the three-dimensional environment includes virtual objects representing physical objects in the environment in which the first user is located and / or virtual objects representing physical objects in the environment in which the second user is located. In some embodiments, the location in the three-dimensional environment corresponding to the first user is a location corresponding to a physical location of an electronic device associated with the first user within the physical environment of the electronic device associated with the first user. In some embodiments, the location in the three-dimensional environment corresponding to the second user is a location corresponding to a physical location of another electronic device associated with the second user within the physical environment of the other electronic device associated with the second user. In some embodiments, the electronic device displays an avatar of the first user at a location in the three-dimensional environment associated with the first user and / or displays an avatar of the second user at a location in the three-dimensional environment corresponding to the second user.

[0207] In some embodiments, the electronic device (e.g., 101) receives (1004) input via one or more input devices corresponding to a request to display a separate representation of a separate application within a three-dimensional environment (e.g., receiving an input requesting to display one of the representations (e.g., 906), (e.g., 908), or (e.g., 922) of FIG. 9A before displaying one of the representations (e.g., 906), (e.g., 908), or (e.g., 922)). In some embodiments, the input includes input associated with a request to launch a separate application and / or a request to display an additional representation of a separate application already running on the electronic device. In some embodiments, the separate representation of the separate application is a user interface of the separate application. In some embodiments, the separate representation of the separate application is a virtual object associated with the separate application.

[0208] In some embodiments, in response to receiving 1006 an input corresponding to a request to display a separate representation of a separate application, in accordance with determining that a viewpoint of a first user (e.g., 914A) and a viewpoint of a second user (e.g., 914B) are in a first arrangement (e.g., spatial arrangement) including viewpoints at a first plurality of positions within a three-dimensional environment (e.g., 904) such as in FIG. 9A (e.g., the viewpoint of the first user and the viewpoint of the second user are at a first plurality of positions (e.g., and orientations) within the three-dimensional environment), the electronic device (e.g., 101) displays 1008 the separate representation of the separate application (e.g., 906) at a first position within the three-dimensional environment (e.g., 904) based on the first arrangement of the viewpoint of the first user (e.g., 914A) and the viewpoint of the second user (e.g., 914B). In some embodiments, the first position is a position that satisfies one or more arrangement criteria. In some embodiments, the one or more placement criteria include criteria that are met based at least in part on the location and optionally orientation of the first and second users within the three-dimensional environment. In some embodiments, the one or more placement criteria include criteria that are met when both users can see the respective representations of the respective applications from their viewpoints within the three-dimensional environment. In some embodiments, the placement criteria include criteria that are met when the orientation of the respective representations is such that the content of the respective representations faces the positions of the first and second users within the three-dimensional environment.

[0209] In some embodiments, in response to receiving 1006 an input corresponding to a request to display a separate representation of the separate application, in accordance with a determination that the viewpoint of the first user (e.g., 914A) and the viewpoint of the second user (e.g., 914B) are in a second arrangement (e.g., spatial arrangement) including viewpoints at a second plurality of positions in the three-dimensional environment (e.g., 904) that are different from the first plurality of positions in the three-dimensional environment (e.g., 904) as in FIG. 9B (e.g., the viewpoint of the first user and the viewpoint of the second user are at a second plurality of positions (e.g., and orientations) within the three-dimensional environment), the electronic device (e.g., 101) displays 1010 the separate representation of the separate application (e.g., 906) at a second position within the three-dimensional environment (e.g., 904) based on the second arrangement of the viewpoint of the first user (e.g., 914A) and the viewpoint of the second user (e.g., 914B). In some embodiments, the difference between the first and second plurality of positions is a difference in the viewpoint position of one of the users, and the viewpoint position of one or more other users is the same. In some embodiments, if the viewpoint positions of the first and second users are swapped, the position at which the individual representations are displayed is the same. In some embodiments, the position at which the individual representations are displayed depends on the user's viewpoint position, regardless of the orientation of the user's viewpoint. In some embodiments, the position at which the individual representations are displayed depends on the user's viewpoint position and orientation. In some embodiments, the electronic device displays the individual representations of the individual applications in different locations depending on the viewpoint positions of the first and second users within the three-dimensional environment. In some embodiments, the representations of the individual applications are interactive representations intended to be viewed by the first and second users from opposite sides of the individual representation of the individual application. For example, the individual representation is a virtual board game, and the electronic device is configured to display the individual representation in a position between the viewpoint locations of the first and second users.As an example, if a first user's position is to the right of a second user's position relative to the coordinate system, the electronic device displays the respective representations to the right of the second user and to the left of the first user relative to the coordinate system. In this example, if the first user is to the left of the second user relative to the frame of reference, the electronic device displays the respective representations to the left of the second user and to the left of the first user relative to the frame of reference.

[0210] The above-described method of displaying individual representations of individual applications at locations that depend on the position of the user's viewpoint within a three-dimensional environment provides an efficient way of displaying individual representations at locations that are convenient for the user, which allows the user to use the electronic device more quickly and efficiently, thereby further reducing power usage and improving the battery life of the electronic device while reducing usage errors.

[0211] 9B , while displaying the individual representations (e.g., 906) of the individual applications at a first position within the three-dimensional environment (e.g., 904), the individual representations (e.g., 906) of the individual applications are displayed at a first orientation with respect to the three-dimensional environment (e.g., 904) based on a first arrangement of a viewpoint of a first user (e.g., 914A) and a viewpoint of a second user (e.g., 914B), the electronic device (e.g., 101) receives individual input (1012) via one or more input devices to move each representation (e.g., 906) of the individual applications to a third position within the three-dimensional environment (e.g., 904). In some embodiments, the input includes a selection of an option that, when selected, causes the electronic device to begin a process of moving the individual representations. In some embodiments, detecting the input includes detecting via a hand tracking device (e.g., one or more cameras, depth sensors, proximity sensors, touch sensors (e.g., touchscreen, trackpad)) that a user performs a gesture (e.g., tapping the thumb on a finger (e.g., index finger, middle finger, ring finger, pinky finger) of the same hand as the thumb), moving the hand while performing the gesture, and releasing the gesture. In some embodiments, the electronic device moves the representation according to the movement of the user's hand. In some embodiments, such as FIG. 9C , in response to receiving the respective input (1014), the electronic device (e.g., 101) displays (1016) a respective representation (e.g., 906) of the respective application in a third position within the three-dimensional environment (e.g., 904). In some embodiments, such as FIG. 9C , in response to receiving the respective input (1014), the electronic device (e.g., 101) updates (1018) the respective representation (e.g., 906) of the respective application to be displayed in a second orientation different from the first orientation based on the third position and first arrangement of the viewpoint of the first user (e.g., 914A) and the viewpoint of the second user (e.g., 914B).In some embodiments, while the electronic device is moving the individual representation according to the individual input, the electronic device displays an animation of the individual representation moving and changing orientation as the individual representation moves from the first position to the third position. In some embodiments, the second orientation is an orientation facing the viewpoints of the first and second users while the individual representation is in the third position. In some embodiments, the individual representation is updated according to one or more steps of methods 800 and / or 1200.

[0212] The above-described method of updating the position of the individual representations according to the third position and first disposition of the viewpoints of the first and second users provides an efficient method of displaying the individual representations in an orientation visible to the first and second users, further reducing power usage and improving the battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently (e.g., by reducing the input required to adjust the orientation of the representations according to changes in the position of the representations), while reducing errors in use.

[0213] In some embodiments, while displaying a separate representation (e.g., 906) of a separate application in a first position in a three-dimensional environment (e.g., 904) as in FIG. 9C , the separate representation (e.g., 906) of the separate application is displayed at a first orientation with respect to the three-dimensional environment (e.g., 904) based on a first positioning of a viewpoint of a first user (e.g., 914A) and a viewpoint of a second user (e.g., 914B), and the electronic device (e.g., 101) displays the separate representation (e.g., 906) of the separate application in a first position in a three-dimensional environment (e.g., 904) based on a first positioning of a viewpoint of a first user (e.g., 914A) and a viewpoint of a second user (e.g., 914B). A change 1020 of a first arrangement of a user's (e.g., 914B) viewpoint to a third arrangement of a first user's (e.g., 914A) viewpoint and a second user's (e.g., 914B) viewpoint is detected, where the third arrangement includes viewpoints at a third plurality of positions in the three-dimensional environment (e.g., 904) that are different from the first plurality of positions in the three-dimensional environment (e.g., when user A (e.g., 914A) and / or user B (e.g., 914B) of FIG. 9C change positions in the three-dimensional environment (e.g., 904)). In some embodiments, the position of the viewpoint of one or more of the first user and the second user has changed. For example, one or more of the users change positions in the three-dimensional environment. In some embodiments, the electronic device detects an input corresponding to a request to change the position of the first user of the electronic device. In some embodiments, the request to change the position of the first user of the electronic device is movement of the electronic device within the electronic device's physical environment detected via one or more accelerometers, gyroscopes, distance sensors, cameras, etc. In some embodiments, in response to detecting a change in the first arrangement of the first user's viewpoint and the second user's viewpoint, the electronic device (e.g., 101) maintains (1022) the individual representations (e.g., 906) of the individual applications in a first position having a first orientation relative to the three-dimensional environment (e.g., 904), as in Figure 9C. In some embodiments, the electronic device does not change the orientation or position of the individual representations in response to detecting a change in the position of one or more of the users within the three-dimensional environment.In some embodiments, the electronic device updates the three-dimensional environment from the perspective of a user who has moved according to one or more steps of method 800.

[0214] The above-described method of maintaining the individual representations in a first position and a first orientation within a three-dimensional environment when the arrangement of the first and second users' viewpoints changes provides an efficient way of updating the arrangement of the first and second users' viewpoints without calculating a new position or orientation to update the individual representations, which further reduces the computational complexity of the electronic device, thereby reducing power usage and improving battery life of the electronic device.

[0215] In some embodiments, such as in FIG. 9B , while displaying a respective representation (e.g., 906) of a respective application in a first position at a first orientation relative to the three-dimensional environment (e.g., 904), the electronic device (e.g., 101) detects (1024) a respective input for moving the respective representation (e.g., 906) of the respective application away from the first position within the three-dimensional environment (e.g., 904). In some embodiments, the electronic device detects a selection of an option that, when selected, causes the electronic device to begin a process of moving the respective representation within the three-dimensional environment. In some embodiments, detecting the input includes detecting, via a hand tracking device (e.g., one or more cameras, depth sensors, proximity sensors, touch sensors (e.g., touchscreen, trackpad)), that a user performs a gesture (e.g., tapping the thumb on a finger (e.g., index finger, middle finger, ring finger, pinky finger) of the same hand as the thumb), moving the hand while performing the gesture, and releasing the gesture. In some embodiments, the electronic device moves the representation according to the movement of the user's hand. In some embodiments, such as in FIG. 9C , in response to detecting the individual input, the electronic device (e.g., 101) moves the individual representation (e.g., 906) of the individual application away from the first position in accordance with the individual input and updates the individual representation (e.g., 906) to have a second orientation in the three-dimensional environment (e.g., 906) that is different from the first orientation based on a third configuration of a viewpoint of a first user (e.g., 914A) and a viewpoint of a second user (e.g., 914B) (1026). In some embodiments, the electronic device updates the orientation of the representation according to the configuration of the user's viewpoint while the input to move the individual representation is being received. For example, the representation is initially displayed in a first position and orientation, but the user's viewpoint is in the first configuration, the configuration of the viewpoint changes to an updated configuration, and the input to move the individual representation is received. In this example, the orientation of the individual representation changes based on the updated configuration of the user's viewpoint and the updated position of the individual representation in response to the input to move the individual representation (e.g., not before detecting the input to move the individual representation).In some embodiments, the second orientation of the individual representation based on the third arrangement of the first user's viewpoint and the second user's viewpoint is an orientation facing the viewpoint of the user at the current location of the individual representation. In some embodiments, the individual representation is updated according to one or more steps of methods 800 and / or 1200.

[0216] The above-described method of updating the orientation of the individual representations based on a third arrangement of the viewpoints of the first and second users provides an efficient way of displaying representations in an orientation that is visible to the user as the representations are moved, which further enables the user to use the electronic device more quickly and efficiently (e.g., by reducing the input required to adjust the orientation of the individual representations), reducing errors in use while reducing power usage and improving battery life of the electronic device.

[0217] In some embodiments, such as in FIG. 9B , the individual representation (e.g., 906) of the individual application is displayed (1028) along with the individual user interface element (e.g., 918). In some embodiments, the electronic device (e.g., 101) detects (1030) an input corresponding to a selection of the individual user interface element (e.g., 918) via one or more input devices (e.g., in FIG. 9B , when the user's gaze (e.g., 916b) was on the user interface element (e.g., 918) while the user was performing a gesture with their hand (e.g., 920b). In some embodiments, in response to the input corresponding to a selection of the individual user interface element (e.g., 918), the electronic device (e.g., 101) initiates (1032) a process to move the individual representation (e.g., 906) of the individual application within the three-dimensional environment (e.g., 904). In some embodiments, in response to a second input directed at the individual user interface element, the electronic device updates the individual user interface element to include a plurality of selectable options, including a selectable option that, when selected, causes the electronic device to initiate a process to move the individual representation. In some embodiments, the individual user interface element is a system object that is displayed in relation to each of the other application representations and other objects in the user interface. In some embodiments, the individual user interface element is displayed in response to detecting, via an eye-tracking device, that a user's gaze is directed toward the individual representation of the individual application. In some embodiments, the electronic device moves the representation in response to detecting, via a hand-tracking device (e.g., one or more cameras, depth sensors, proximity sensors, touch sensors (e.g., touchscreen, trackpad)), that a user performs a gesture while looking at the individual user interface element (e.g., tapping the thumb on the fingers (e.g., index finger, middle finger, ring finger, pinky finger) of the same hand as the thumb), moving the hand while performing the gesture, and releasing the gesture. In some embodiments, the electronic device moves the representation according to the movement of the user's hand.In some embodiments, the respective user interface elements are displayed adjacent to an edge (eg, the bottom edge) of the representation of the respective application.

[0218] The above-described method of displaying individual representations using individual user interface elements that can be interacted with to move the individual representations within a three-dimensional environment provides an efficient way to initiate the process of moving the individual representations, which in turn allows users to use their electronic devices more quickly and efficiently, thereby reducing power usage and improving the battery life of the electronic devices while reducing usage errors.

[0219] 9B , while displaying a separate representation (e.g., 906) of a separate application in a three-dimensional environment (e.g., 904) at a first distance from a viewpoint of a first user 614A, the electronic device (e.g., 101) detects (1034) a separate input for moving (1036) the separate representation (e.g., 906) of the separate application to a second distance from the viewpoint of the first user (e.g., 914A), the second distance being greater than the first distance. In some embodiments, such as FIG. 9C , in response to detecting (1036) the separate input, the electronic device (e.g., 101) moves (1038) the separate representation (e.g., 906) of the separate application to a second distance from the viewpoint of the first user (e.g., 914A) (e.g., displaying the separate representation (e.g., 906) in an updated position in the three-dimensional environment that is the second distance from the viewpoint of the first user). In some embodiments, such as in FIG. 9C , in response to detecting 1036 the individual input, the electronic device (e.g., 101) displays 1040 the individual representation (e.g., 906) of the individual application at a second size larger than the first size from the perspective of the first user (e.g., 914A). In some embodiments, the display generation component uses the same display area to display the individual representation at the second distance and the first distance, thereby making the virtual size of the individual representation larger. In some embodiments, the display generation component displays the individual representation at the second distance using more display area compared to the display area used to display the individual representation at the first distance. In some embodiments, the size at which the individual representation is displayed from the perspective of the second user is updated according to an updated distance between the individual representation and the second user's perspective. In some embodiments, the size of the individual representation is the same from the perspective of the first user and the perspective of the second user, and the size of the individual representation is updated according to the distance of the individual representation relative to the perspective of the first user and the distance of the individual representation relative to the perspective of the second user.In some embodiments, in accordance with a determination that the individual representation has been moved to a position closer to the first user's viewpoint and / or the second user's viewpoint, the electronic device updates the individual representation to be displayed at a smaller size.

[0220] The above-described method of increasing the size of an individual representation in response to detecting that the individual representation has been moved further from the first user's viewpoint provides an efficient way of maintaining the readability of the individual representation, which further reduces power usage and improves the battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently (e.g., by reducing the input required to adjust the size of the individual representation), while reducing errors in use.

[0221] In some embodiments, such as FIG. 9B , while displaying an individual representation (e.g., 906) of an individual application at a first distance from a perspective of a first user (e.g., 914A) within a three-dimensional environment (e.g., 904), an individual user interface element (e.g., 918) is displayed at a second size from the perspective of the first user (e.g., 914A) (e.g., the individual representation of the individual application is displayed at a first size from the perspective of the first user), and the electronic device (e.g., 101) detects an individual input (1042) to move the individual representation (e.g., 906) of the individual application to a second distance farther than the first distance from the perspective of the first user (e.g., 914A). In some embodiments, in response to detecting the individual input (1044), the electronic device (e.g., 101) moves the individual representation (e.g., 906) of the individual application to a second distance from the perspective of the first user (e.g., 914A) (e.g., displaying the individual representation of the individual application at an updated position in the three-dimensional environment that is the second distance from the perspective of the first user) (1046), as in FIG. 9C . In some embodiments, in response to detecting the individual input (1044), the electronic device (e.g., 101) displays the individual user interface element at a third size that is larger than the second size from the perspective of the first user (e.g., updating the size of the user interface element (e.g., 918) according to a change in the distance of the representation (e.g., 906) from User A (e.g., 914A)) (1048). In some embodiments, the display generation component uses the same display area to display the individual user interface element at the second distance and the first distance, thereby making the virtual size of the individual user interface element larger. In some embodiments, the display generation component displays the individual user interface elements at the second distance using a larger display area compared to the display area used to display the individual user interface elements at the first distance. In some embodiments, the size at which the individual user interface elements are displayed from the perspective of the second user is updated according to the updated distance between the individual user interface elements and the perspective of the second user.In some embodiments, the size of the individual user interface elements is the same from the first user's perspective and the second user's perspective, and the size of the individual user interface elements is updated according to the individual user interface element's distance to the first user's perspective and the individual user interface element's distance to the second user's perspective. In some embodiments, in accordance with determining that the individual user interface element has been moved to a position closer to the first user's perspective and / or the second user's perspective, the electronic device updates the individual user interface element to be displayed at a smaller size. Thus, in some embodiments, the electronic device updates the size of the individual user interface element even though the size of the object remains the same. In some embodiments, the electronic device displays the individual representation of the individual application at a first size from the first user's perspective that is a second distance from the user's perspective. In some embodiments, the display generation component uses less display area to display the individual representation of the individual application after the individual representation is moved further from the first user's perspective to maintain the virtual size of the individual representation. In some embodiments, the electronic device maintains the size of the individual representation from the second user's perspective as the individual representation is moved within the three-dimensional environment. In some embodiments, the electronic device maintains the size of the individual representation from the first user's perspective and / or the second user's perspective regardless of the distance between the individual representation and the first user's perspective and / or the second user's perspective. In some embodiments, in response to an input that moves the individual representation closer to the first user's perspective and / or the second user's perspective, the electronic device maintains the size of the individual representation. In some embodiments, in response to an input that moves the individual representation closer to the first user's perspective and / or the second user's perspective, the electronic device increases the display area used to present the individual representation to maintain the virtual size of the individual representation at a closer distance from the first user's perspective and / or the second user's perspective.

[0222] The above-described method of displaying individual representations at the same size and individual user interface elements at different sizes in response to detecting a change in distance between a first user's viewpoint and the individual representations and individual user interface elements provides an efficient way of maintaining readability of individual user interface elements displayed along with virtual objects having a constant size, which further reduces power usage and improves battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently, while reducing usage errors.

[0223] In some embodiments, such as FIG. 9B , while displaying a respective representation (e.g., 906) of a respective application in a first position within a three-dimensional environment (e.g., 904), the electronic device (e.g., 101) detects (1050) a respective input for moving the respective representation (e.g., 906) of the respective application within the three-dimensional environment (e.g., 904) via a hand tracking device in communication with the electronic device, the respective input including a gesture performed by a hand (e.g., 920b) of a user (e.g., 914B) of the electronic device 101b, followed by movement of the hand (e.g., 920b) while maintaining the gesture performed by the hand (e.g., 920b). In some embodiments, the gesture is a user touching their thumb to one of their other fingers (e.g., index finger, middle finger, ring finger, pinky finger) while the user is looking at a selectable individual user interface element (e.g., detected via an eye-tracking device) to move the individual representation, and the electronic device detects the movement of the hand while the thumb is touching the other fingers (e.g., using a hand-tracking device). In some embodiments, such as FIG. 9C , in response to receiving the individual input, the electronic device (e.g., 101) moves (1052) the individual representation (e.g., 906) of the individual application within the three-dimensional environment (e.g., 904) according to the movement of the hand (e.g., 920b). In some embodiments, the electronic device moves the individual representation of the individual application according to the movement of the hand in response to detecting the user's gaze toward the individual representation while the gesture is detected. In some embodiments, the individual representation is updated according to one or more steps of methods 800 and / or 1200.

[0224] The above-described method of moving an individual representation according to hand movement in response to detecting gestures performed by a user's hand provides an efficient way of controlling the position of the individual representation, which further reduces power usage by allowing the user to use the electronic device more quickly and efficiently, improving the battery life of the electronic device while reducing usage errors.

[0225] In some embodiments, such as in FIG. 9B , the electronic device (e.g., 101) detects (1054) a discrete input for moving the discrete representation (e.g., 906) of the discrete application within the three-dimensional environment (e.g., 904) while displaying the discrete representation (e.g., 906) of the discrete application at a first position within the three-dimensional environment (e.g., 904). In some embodiments, the discrete input includes a selection of an option that, when selected, causes the electronic device to initiate a process for moving the discrete representation. In some embodiments, the process for moving the discrete representation includes detecting, via a hand tracking device, that a user's hand is performing a gesture and moving the discrete representation in accordance with the hand movement. In some embodiments, in response to receiving (1056) the discrete input and determining that the discrete input is associated with a first user (e.g., 914A), the electronic device (e.g., 101) moves (1058) the discrete representation (e.g., 906) of the discrete application within the three-dimensional environment (e.g., 904) in accordance with the discrete input, as in FIG. 9C . In some embodiments, the electronic device of the first user detects a respective input for moving the respective representation of the respective application. In some embodiments, the electronic device of the first user and the electronic device of the second user display the movement of the respective representation in response to the electronic device of the first user detecting the respective input. In some embodiments, in response to receiving the respective input (1056), and in accordance with determining that the respective input is associated with a second user (e.g., 914B), the electronic device (e.g., 101) moves (1060) the respective representation of the respective application (e.g., 906) within the three-dimensional environment (e.g., 904) in accordance with the respective input, as in FIG. 9C . In some embodiments, the electronic device of the second user detects the respective input for moving the respective representation of the respective application. In some embodiments, the electronic device of the first user and the electronic device of the second user display the movement of the respective representation in response to the electronic device of the second user detecting the respective input.In some embodiments, the individual representations are updated according to one or more steps of methods 800 and / or 1200.

[0226] The above-described method of moving individual representations of individual applications in response to individual inputs, regardless of whether the individual inputs are associated with a first user or a second user, provides an efficient way of moving individual representations of individual applications, allowing users to use the electronic device more quickly and efficiently (e.g., by allowing either user to move the representation, thus saving time compared to one user moving the representation to the other), while reducing errors in use, further reducing power usage and improving battery life of the electronic device.

[0227] In some embodiments, while displaying the individual representation (e.g., 922) of the individual application in a first position within the three-dimensional environment (e.g., 904), the individual representation (e.g., 922) of the individual application is displayed in a first orientation relative to the three-dimensional environment (e.g., 904), a second orientation and first individual position relative to a viewpoint of a first user (e.g., 914A), and a third orientation and second individual position relative to a viewpoint of a second user (e.g., 914B), as in FIG. 9A , the electronic device (e.g., 101) receives (1062), via one or more input devices, an individual input corresponding to a request to automatically change the viewpoint of the first user (e.g., 914A) within the three-dimensional environment (e.g., 904), where the individual input does not indicate how to change the viewpoint of the first user (e.g., 914A) within the three-dimensional environment (e.g., 904). In some embodiments, the input corresponds to a request to reset the three-dimensional environment from the viewpoint of the first user. In some embodiments, the input is a selection of an option displayed within the three-dimensional environment that is displayed in accordance with a determination that a location associated with the first user is at least a threshold distance from the object and other user(s) within the three-dimensional environment. In some embodiments, in response to receiving the respective input, the electronic device (e.g., 101) updates (1064) the viewpoint of the first user (e.g., 914A) within the three-dimensional environment (e.g., 904) based on the viewpoint of the second user (e.g., 914B) and the respective representation (e.g., 922) of the respective application at the first position within the three-dimensional environment (e.g., 904). In some embodiments, the electronic device of the second user continues to display the respective representation of the respective application having a third orientation and a second respective position relative to the second user's viewpoint. In some embodiments, in response to the respective input, the electronic device automatically updates the position and orientation of the first user's viewpoint according to one or more criteria based on the positions of the viewpoints of the other users within the three-dimensional environment, the representation of the application within the three-dimensional environment, and / or other objects within the three-dimensional environment, according to one or more steps of method 1400.For example, the position of the first user is automatically updated based on the user and virtual object placement rules.

[0228] The above-described method of automatically updating a first user's viewpoint within a three-dimensional environment in response to individual inputs provides an efficient way of presenting a three-dimensional environment according to one or more criteria from a first user's viewpoint without requiring manual repositioning of objects within the three-dimensional environment or manual selection of an updated location for the first user, which further allows users to use their electronic devices more quickly and efficiently, thereby reducing power usage and improving the battery life of the electronic device and simultaneously reducing usage errors.

[0229] In some embodiments, after updating the first user's viewpoint within the three-dimensional environment, the individual representation of the individual application (e.g., 922) (1066) is displayed (1068) in a first position and a first orientation relative to the three-dimensional environment (e.g., 904), as in FIG. 9A . In some embodiments, the position of the individual representation of the individual application within the three-dimensional environment and the orientation of the individual representation relative to a fixed frame of reference within the three-dimensional environment do not change in response to the individual input. In some embodiments, other users see the first user update the position of the representation in response to the input (e.g., the first user's representation "jumps" from a first individual location to a second individual location within the three-dimensional environment). In some embodiments, the system maintains the three-dimensional environment including location information of virtual objects (e.g., representations of users, applications, and virtual objects), and each user has a view of the three-dimensional environment from their own viewpoint. In some embodiments, each user's viewpoint includes representations of physical objects in the environment of the first user's electronic device (e.g., pass-through video of a photorealistic representation of the electronic device's environment). For example, a first user's electronic device presents a three-dimensional environment having one or more physical objects within the physical environment of the first user's electronic device, and a second user's electronic device presents a three-dimensional environment having one or more physical objects within the physical environment of the second user. In some embodiments, the three-dimensional environment further includes virtual objects in addition to the physical objects. In some embodiments, after updating (1066) the viewpoint of the first user (e.g., 914A) within the three-dimensional environment (e.g., 904), a separate representation (e.g., 922) of the separate application is displayed (1070) in a fourth orientation and a third separate position relative to the updated viewpoint of the first user (e.g., 914A). In some embodiments, as the first user's viewpoint changes, the orientation and position of the separate representation of the separate application changes relative to the first user's viewpoint.In some embodiments, after updating (1066) the viewpoint of the first user (e.g., 914A) within the three-dimensional environment (e.g., 904), the individual representation (e.g., 922) of the individual application is displayed (1072) in a third orientation and a second individual position relative to the viewpoint of the second user (e.g., 914B), as in FIG. 9A . In some embodiments, the orientation and position of the individual representation of the individual application relative to the viewpoint of the second user do not change in response to the individual input. In some embodiments, the location of the first user within the three-dimensional environment and the location of the first user relative to the viewpoint of the second user change in response to the individual input. In some embodiments, the electronic device of the second user displays movement of the representation of the first user from one location to another within the three-dimensional environment (e.g., to a “reset” location automatically determined by the electronic device) in response to the individual input.

[0230] The above-described method of maintaining the position of an individual representation within a three-dimensional environment after a first user's viewpoint changes provides an efficient way of automatically positioning the first user, which is more efficient than manually repositioning the first user and / or one or more objects or other users within the three-dimensional environment, and further reduces power usage and improves battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently (e.g., by reducing the input required to return the second user's viewpoint), while reducing errors in use.

[0231] In some embodiments, while displaying a separate representation (e.g., 906) of a separate application in a separate position with a first separate orientation within the three-dimensional environment (e.g., 904), as in FIG. 9C, the electronic device (e.g., 101) detects (1074) a change in the number of users with whom the three-dimensional environment (e.g., 904) is shared (e.g., a first or second user leaves the three-dimensional environment and / or one or more additional users join the three-dimensional environment). In some embodiments, the electronic device (e.g., 101), in response to detecting a change in the number of users with whom the three-dimensional environment is shared, determines that one or more criteria are met (e.g., after the number of users changes, the individual representations of the individual applications are moved away from and back to the first individual position, or the representations of the applications can change orientation based on users leaving or joining without the need for movement), and displays (1076) the individual representations (e.g., 906) in individual positions with a second individual orientation different from the first individual orientation based on the arrangement of the viewpoints of the changed number of users with whom the three-dimensional environment (e.g., 904) is shared. In some embodiments, the orientation of the individual representations of the individual applications is based on the arrangement of the viewpoints of one or more or all of the users within the three-dimensional environment, such that a change in the number of users within the three-dimensional environment changes the arrangement of the viewpoints, and thus the orientation of the individual representations also changes in response to moving the individual representations to first positions within the three-dimensional environment. For example, while two users are present in the three-dimensional environment, in response to an input that moves the individual representation to a first individual position within the three-dimensional environment, the electronic device displays the individual representation at the first individual position within the three-dimensional environment in a first orientation. As another example, while three users are present in the three-dimensional environment, in response to an input that moves the individual representation to a first individual position within the three-dimensional environment, the electronic device displays the individual representation at the first individual position within the three-dimensional environment in a second orientation that is different from the first orientation. In some embodiments, the electronic device does not update the orientation of the individual representation in response to a change in the number of users in the three-dimensional environment.In some embodiments, the electronic device updates the orientation of the individual representations in response to a change in the number of users in the three-dimensional environment (e.g., orienting the individual representations toward one or more or all of the users in the three-dimensional environment).

[0232] The above-described method of displaying individual representations in individual positions at a second orientation in response to detecting a change in the number of users in a three-dimensional environment provides an efficient way of directing individual representations towards one or more or all of the users in a three-dimensional environment, which further reduces power usage and improves battery life of the electronic device by allowing users to use the electronic device more quickly and efficiently, while reducing usage errors.

[0233] 9A , the electronic device (e.g., 101) displays (1078) a distinct representation (e.g., 906) of a distinct application at a first position within the three-dimensional environment (e.g., 904) based on a first arrangement of a perspective of a first user (e.g., 914A) and a perspective of a second user (e.g., 914B). In some embodiments, such as in FIG. 9A , in accordance with a determination that the distinct representation (e.g., 906) of the distinct application is visible from a single direction (e.g., an object (e.g., a virtual television) including virtual content such as video content on o...

Claims

1. 1. A method comprising: An electronic device in communication with a display generation component and one or more input devices, comprising: a representation of a first application displayed at a first location within a three-dimensional environment via the display generation component, the representation of the first application at the first location within the three-dimensional environment has a first orientation within the three-dimensional environment; displaying the three dimensional environment including a representation of a first application displayed at a first location within the three dimensional environment, a second location within the three dimensional environment being associated with a first user within the three dimensional environment; receiving movement input via the one or more input devices while displaying the three-dimensional environment including the representation of the first application; In response to receiving the movement input, in response to determining that the movement input corresponds to a request to move the representation of the first application from the first location to a third location within the three dimensional environment different from the first location; displaying, via the display generation component, the representation of the first application at the third location within the three-dimensional environment; and updating the orientation of the representation of the first application relative to the three-dimensional environment from the first orientation to a second orientation different from the first orientation based on the third location; maintain a display of the representation of the first application at the first location within the three-dimensional environment without updating the orientation of the representation of the first application relative to the three-dimensional environment in accordance with a determination that the movement input corresponds to a request to associate a fourth location with the first user, the fourth location being different from the second location; A method comprising:

2. The method of claim 1 , wherein the three-dimensional environment comprises a representation of a physical environment of the electronic device displayed via the display generation component.

3. The method of claim 1 or 2, wherein the three-dimensional environment comprises a virtual environment that is displayed via the display generation component.

4. The representation of the first application is displayed at a first size while the representation of the first application is displayed at the first location, the method comprising: In response to receiving the movement input, updating the representation of the first application such that, when the representation of the first application is displayed at the third location, the representation is displayed at a second size, the second size being different from the first size, in accordance with the determination that the movement input corresponds to the request to move the representation of the first application from the first location to the third location, different from the first location, within the three dimensional environment; The method of claim 1 , further comprising:

5. Updating the orientation of the representation of the first application comprises: updating the orientation of the first application based on the second location of the first user and not based on the fifth location of the second user in accordance with a determination that the representation of the first application is accessible to the first user but not to a second user associated with a fifth location within the three-dimensional environment; updating the orientation of the first application based on the second location associated with the first user and the fifth location associated with the second user in accordance with a determination that the representation of the first application is accessible to the first user and to the second user associated with the fifth location within the three-dimensional environment; The method of any one of claims 1 to 4, comprising:

6. detecting a distinct input for displaying a representation of a second application in the three dimensional environment, the representation of the second application not being displayed in the three dimensional environment when the distinct input was detected; responsive to detecting the distinct input, displaying the representation of the second application at distinct locations within the three dimensional environment based on a number of users within the three dimensional environment; The method of claim 1 , further comprising:

7. pursuant to determining that the three-dimensional environment includes the first user and does not include other users, the distinct location is in front of the first user; pursuant to determining that the three-dimensional environment includes the first user and a second user, the individual location is positioned based on locations of the first user and the second user. The method according to claim 6.

8. pursuant to a determination that the three-dimensional environment includes the first user and does not include other users, the representation of the second application is displayed oriented toward the first user; pursuant to a determination that the three-dimensional environment includes the first user and a second user, the representation of the second application is displayed oriented toward a location between the first user and the second user. The method according to claim 6 or 7.

9. pursuant to determining that the three-dimensional environment includes the first user and does not include other users, the distinct location is a first distance from the first user; pursuant to determining that the three-dimensional environment includes the first user and a second user, the individual location is a second distance from the first user, the second distance being different than the first distance.

9. The method according to any one of claims 6 to 8.

10. detecting, while displaying the representation of the first application at the first location within the three dimensional environment, that a second user has been added to the three dimensional environment, the second user being associated with a fifth location within the three dimensional environment; in response to detecting that the second user has been added to the three-dimensional environment; moving the representation of the first application from the first location to a sixth location within the three-dimensional environment based on the second location and the fifth location in accordance with a determination that the representation of the first application is accessible to the first user and the second user; The method of claim 1 , further comprising:

11. detecting, while displaying the representation of the first application at the first location within the three dimensional environment, that a second user has been added to the three dimensional environment, the second user being associated with a fifth location within the three dimensional environment; in response to detecting that the second user has been added to the three-dimensional environment; maintaining a display of the representation of the first application at the first location in accordance with a determination that the representation of the first application is accessible to the first user but not to the second user, wherein the representation of the first application is not visible to the second user; The method of claim 1 , further comprising:

12. The three dimensional environment includes the first user at the second location within the three dimensional environment and a second user at a fifth location within the three dimensional environment, and the method further comprises: detecting a separate input for displaying within the three dimensional environment a representation of a second application, the representation of the second application not being displayed within the three dimensional environment when the separate input is detected, and the representation of the second application not being accessible to multiple users within the three dimensional environment; In response to receiving the individual input, displaying the representation of the second application at a sixth location within the three dimensional environment based on the second location of the first user rather than the fifth location of the second user in accordance with a determination that the distinct input is associated with the first user; and displaying the representation of the second application at a seventh location within the three dimensional environment based on the fifth location of the second user rather than the second location of the first user in accordance with a determination that the distinct input is associated with the second user; and The method of claim 1 , further comprising:

13. The three dimensional environment includes the first user at the second location within the three dimensional environment and a second user at a fifth location within the three dimensional environment, and the method further comprises: detecting a distinct input for displaying a representation of a second application in the three dimensional environment, the representation of the second application not being displayed in the three dimensional environment when the distinct input was detected; in response to receiving the individual input, a distinct location within the three dimensional environment; pursuant to a determination that the representation of the second application is not accessible to the first user, the individual location is not based on the second location of the first user; displaying the representation of the second application at a separate location, the separate location not based on the fifth location of the second user, in accordance with a determination that the representation of the second application is not accessible to the second user; and The method of claim 1 , further comprising:

14. in accordance with the determination that the representation of the second application is not accessible to the first user, a visual indication of the representation of the second application is visible to the first user without content of the representation of the second application being visible to the first user; pursuant to the determination that the representation of the second application is not accessible to the second user, the visual indication of the representation of the second application is visible to the second user without the content of the representation of the second application being visible to the second user. The method of claim 13.

15. The three dimensional environment includes the first user at the second location within the three dimensional environment and a second user at a fifth location within the three dimensional environment, and the method further comprises: In response to receiving the movement input, in response to the determination that the movement input corresponds to the request to move the representation of the first application from the first location to the third location within the three dimensional environment; updating the representation of the first application to be accessible to the first user but not to the second user in accordance with a determination that the third location is between the second location of the first user and the fifth location of the second user; maintaining the representation of the first application accessible to the first user and the second user in accordance with a determination that the third location is not between the second location of the first user and the fifth location of the second user; 15. The method of claim 1, further comprising:

16. In response to receiving the movement input, in response to the determination that the movement input corresponds to the request to move the representation of the first application from the first location to the third location within the three dimensional environment; updating the representation of the first application to be accessible to the first user but not accessible to a second user within the three dimensional environment in accordance with a determination that the third location is within a threshold distance of the second location of the first user; in accordance with determining that the third location is not within the threshold distance of the second location of the first user, refraining from updating the representation of the first application to be accessible to the first user but not to the second user; 16. The method of claim 1, further comprising:

17. In response to receiving the movement input, in response to the determination that the movement input corresponds to the request to move the representation of the first application from the first location to the third location within the three dimensional environment; updating the representation of the first application to be accessible to the second user but not to the first user within the three dimensional environment in accordance with a determination that the third location is within a threshold distance of a fifth location associated with the second user; in response to a determination that the third location is not within the threshold distance of the fifth location associated with the second user, refraining from updating the representation of the first application to be accessible to the second user but not to the first user; The method of claim 16 further comprising:

18. simultaneously displaying, within the three dimensional environment, the representation of the first application at the first location within the three dimensional environment, where the representation of the first application is displayed in a first individual orientation within the three dimensional environment, and a representation of a second application at a fifth location within the three dimensional environment, where the representation of the second application is displayed in a second individual orientation within the three dimensional environment, different from the first individual orientation; 18. The method of claim 1, further comprising:

19. 19. The method of claim 1, wherein the first orientation of the representation of the first application and the second orientation of the representation of the first application are based on an orientation field associated with the first user.

20. The three dimensional environment includes the first user and a second user, the representation of the first application being accessible to the first user but not to the second user, and the method further comprising: detecting, while displaying the representation of the first application in a first appearance, a separate input via the one or more input devices corresponding to a request to update the representation of the first application to be accessible to the first user and the second user; In response to detecting the individual input, updating the representation of the first application to be accessible to the first user and the second user; displaying the representation of the first application in a second appearance different from the first appearance; 20. The method of any one of claims 1 to 19, further comprising:

21. The individual input is associated with a suggestion to share the representation of the first application with the second user, the method comprising: detecting, while displaying the representation of the first application in the first appearance, a second separate input via the one or more input devices corresponding to a request to update the representation of the first application to be accessible to the first user and the second user, the second separate input not associated with a suggestion to share the representation of the first application with the second user; In response to detecting the individual input, updating the representation of the first application to be accessible to the first user and the second user while maintaining the representation of the first application having the first appearance; 21. The method of claim 20, further comprising:

22. The three dimensional environment includes the first user and a second user, the representation of the first application being accessible to the first user but not to the second user, and the method further comprising: detecting, while displaying the representation of the first application in a first appearance, a separate input via the one or more input devices corresponding to a request to update the representation of the first application to be accessible to the first user and the second user; In response to detecting the individual input, updating the representation of the first application to be accessible to the first user and the second user while maintaining the representation of the first application having the first appearance; 20. The method of any one of claims 1 to 19, further comprising:

23. the three dimensional environment includes a representation of a first individual object of a first type at a fifth location within the three dimensional environment, the three dimensional environment includes a representation of a second individual object of a second type different from the first type at a sixth location within the three dimensional environment, the fifth location being a first distance from the second location associated with the first user, and the sixth location being a second distance from the second location associated with the first user, the method comprising: receiving, via the one or more input devices, a first individual input corresponding to a request to move the representation of the first individual object from the first distance from the second location to a third distance different from the first distance from the second location; In response to receiving the first individual input, moving the representation of the first distinct object from the second location to the third distance; resizing the representation of the first distinct object based on the third distance; and receiving, via the one or more input devices, a second separate input corresponding to a request to move the representation of the second separate object from the second distance from the second location to a fourth distance different from the second distance from the second location; In response to receiving the second separate input, moving the representation of the second distinct object from the second location to the fourth distance while maintaining a size of the representation of the second distinct object; 23. The method of any one of claims 1 to 22, further comprising:

24. 1. An electronic device comprising: one or more processors; Memory, one or more programs stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising: a representation of a first application displayed at a first location within a three-dimensional environment via the display generation component, the representation of the first application at the first location within the three-dimensional environment has a first orientation within the three-dimensional environment; displaying the three dimensional environment including a representation of a first application displayed at a first location within the three dimensional environment, a second location within the three dimensional environment being associated with a first user within the three dimensional environment; receiving movement input via the one or more input devices while displaying the three-dimensional environment including the representation of the first application; In response to receiving the movement input, in response to determining that the movement input corresponds to a request to move the representation of the first application from the first location to a third location within the three dimensional environment different from the first location; displaying, via the display generation component, the representation of the first application at the third location within the three-dimensional environment; updating the orientation of the representation of the first application relative to the three-dimensional environment from the first orientation to a second orientation different from the first orientation based on the third location; one or more programs including instructions for maintaining a display of the representation of the first application at the first location within the three dimensional environment without updating the orientation of the representation of the first application relative to the three dimensional environment in accordance with a determination that the movement input corresponds to a request to associate a fourth location with the first user, the fourth location being different from the second location; An electronic device comprising:

25. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs including instructions that, when executed by one or more processors of an electronic device, cause the electronic device to: a representation of a first application displayed at a first location within a three-dimensional environment via the display generation component, the representation of the first application at the first location within the three-dimensional environment has a first orientation within the three-dimensional environment; displaying the three dimensional environment including a representation of a first application displayed at a first location within the three dimensional environment, a second location within the three dimensional environment being associated with a first user within the three dimensional environment; receiving movement input via the one or more input devices while displaying the three-dimensional environment including the representation of the first application; In response to receiving the movement input, in response to determining that the movement input corresponds to a request to move the representation of the first application from the first location to a third location within the three dimensional environment different from the first location; displaying, via the display generation component, the representation of the first application at the third location within the three-dimensional environment; updating the orientation of the representation of the first application from the first orientation to a second orientation different from the first orientation, relative to the three-dimensional environment, based on the third location; A non-transitory computer-readable storage medium that, in accordance with a determination that the movement input corresponds to a request to associate a fourth location, different from the second location, with the first user, maintains a display of the representation of the first application at the first location within the three-dimensional environment without updating the orientation of the representation of the first application relative to the three-dimensional environment.

26. 1. An electronic device comprising: one or more processors; Memory, a representation of a first application displayed at a first location within a three-dimensional environment via the display generation component, the representation of the first application at the first location within the three-dimensional environment has a first orientation within the three-dimensional environment; means for displaying the three dimensional environment including a representation of a first application displayed at a first location within the three dimensional environment, a second location within the three dimensional environment being associated with a first user within the three dimensional environment; means for receiving movement input via the one or more input devices while displaying the three-dimensional environment including the representation of the first application; In response to receiving the movement input, in response to determining that the movement input corresponds to a request to move the representation of the first application from the first location to a third location within the three dimensional environment different from the first location; displaying, via the display generation component, the representation of the first application at the third location within the three-dimensional environment; updating the orientation of the representation of the first application relative to the three-dimensional environment from the first orientation to a second orientation different from the first orientation based on the third location; means for maintaining a display of the representation of the first application at the first location within the three dimensional environment without updating the orientation of the representation of the first application relative to the three dimensional environment in accordance with a determination that the movement input corresponds to a request to associate a fourth location, different from the second location, with the first user; An electronic device comprising:

27. 1. An information processing apparatus for use in an electronic device, comprising: a representation of a first application displayed at a first location within a three-dimensional environment via the display generation component, the representation of the first application at the first location within the three-dimensional environment has a first orientation within the three-dimensional environment; means for displaying the three dimensional environment including a representation of a first application displayed at a first location within the three dimensional environment, a second location within the three dimensional environment being associated with a first user within the three dimensional environment; means for receiving movement input via the one or more input devices while displaying the three-dimensional environment including the representation of the first application; In response to receiving the movement input, in response to determining that the movement input corresponds to a request to move the representation of the first application from the first location to a third location within the three dimensional environment different from the first location; displaying, via the display generation component, the representation of the first application at the third location within the three-dimensional environment; updating the orientation of the representation of the first application relative to the three-dimensional environment from the first orientation to a second orientation different from the first orientation based on the third location; means for maintaining a display of the representation of the first application at the first location within the three dimensional environment without updating the orientation of the representation of the first application relative to the three dimensional environment in accordance with a determination that the movement input corresponds to a request to associate a fourth location, different from the second location, with the first user; An information processing device comprising:

28. 1. An electronic device comprising: one or more processors; Memory, one or more programs stored in the memory and 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 1 to 23; and An electronic device comprising:

29. 24. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs including instructions that, when executed by one or more processors of an electronic device, cause the electronic device to perform the method of any one of claims 1 to 23.

30. 1. An electronic device comprising: one or more processors; Memory, Means for carrying out the method according to any one of claims 1 to 23; An electronic device comprising:

31. 1. An information processing apparatus for use in an electronic device, comprising: Means for carrying out the method according to any one of claims 1 to 23, An information processing device comprising:

32. 1. A method comprising: An electronic device in communication with a display generation component and one or more input devices, comprising: displaying, via the display generation component, a three-dimensional environment shared by a first user and a second user; receiving input via the one or more input devices corresponding to a request to display a respective representation of a respective application within the three-dimensional environment; in response to receiving the input corresponding to the request to display the respective representation of the respective application; displaying the respective representations of the respective applications at a first position within the three-dimensional environment based on the first arrangement of the viewpoint of the first user and the viewpoint of the second user in accordance with a determination that the viewpoint of the first user and the viewpoint of the second user are in a first arrangement that includes viewpoints at a first plurality of positions within the three-dimensional environment; displaying the individual representation of the individual application at a second position within the three dimensional environment based on the second arrangement of the viewpoint of the first user and the viewpoint of the second user in accordance with a determination that the viewpoint of the first user and the viewpoint of the second user are in a second arrangement that includes viewpoints at a second plurality of positions within the three dimensional environment that are different from the first plurality of positions within the three dimensional environment; A method comprising:

33. receiving, while displaying the individual representation of the individual application at the first position within the three-dimensional environment, via the one or more input devices, an individual input for moving the individual representation of the individual application to a third position within the three-dimensional environment such that the individual representation of the individual application is displayed at a first orientation with respect to the three-dimensional environment based on the first arrangement of the viewpoint of the first user and the viewpoint of the second user; In response to receiving the individual input, displaying the individual representation of the individual application at the third position within the three-dimensional environment; and updating the respective representations of the respective applications to be displayed in a second orientation different from the first orientation based on the third position and the first disposition of the viewpoint of the first user and the viewpoint of the second user; 33. The method of claim 32, further comprising:

34. detecting, while displaying the individual representations of the individual applications at the first positions within the three-dimensional environment, the individual representations of the individual applications being displayed at a first orientation with respect to the three-dimensional environment based on the first arrangement of the viewpoint of the first user and the viewpoint of the second user, that the first arrangement of the viewpoint of the first user and the viewpoint of the second user has changed to a third arrangement of the viewpoint of the first user and the viewpoint of the second user, the third arrangement including viewpoints at a third plurality of positions within the three-dimensional environment that are different from the first plurality of positions within the three-dimensional environment; maintaining the respective representations of the respective applications in the first positions having the first orientation relative to the three-dimensional environment in response to detecting that the first disposition of the viewpoint of the first user and the viewpoint of the second user has changed; 34. The method of claim 32 or 33, further comprising:

35. detecting a discrete input for moving the discrete representation of the discrete application away from the first position within the three-dimensional environment while displaying the discrete representation of the discrete application at the first position and at the first orientation relative to the three-dimensional environment; in response to detecting the individual input, moving the individual representation of the individual application away from the first position in accordance with the individual input and updating the individual representation to have a second orientation within the three-dimensional environment, different from the first orientation, based on the third configuration of the viewpoint of the first user and the viewpoint of the second user; 35. The method of claim 34, further comprising:

36. The distinct representations of the distinct applications are displayed with distinct user interface elements, the method comprising: detecting an input via the one or more input devices corresponding to a selection of the respective user interface element; initiating a process of moving the respective representation of the respective application within the three-dimensional environment in response to the input corresponding to a selection of the respective user interface element; 36. The method of any one of claims 32 to 35, further comprising:

37. detecting a separate input for moving the separate representation of the separate application to a second distance from the viewpoint of the first user that is greater than the first distance while displaying the separate representation of the separate application within the three dimensional environment at a first distance from the viewpoint of the first user such that the separate representation of the separate application is displayed at a first size from the viewpoint of the first user; In response to detecting the individual input, moving the respective representation of the respective application at the second distance from the viewpoint of the first user; displaying the respective representations of the respective applications from the viewpoint of the first user at a second size, the second size being larger than the first size; 37. The method of any one of claims 32 to 36, further comprising:

38. detecting a respective input for moving the respective representation of the respective application to a second distance from the viewpoint of the first user that is greater than the first distance while displaying the respective representation of the respective application within the three dimensional environment at a first distance from the viewpoint of the first user such that the respective user interface element is displayed at a second size from the viewpoint of the first user; In response to detecting the individual input, moving the respective representation of the respective application at the second distance from the viewpoint of the first user; displaying the individual user interface elements at a third size, the third size being larger than the second size, from the viewpoint of the first user; 38. The method of claim 36 or 37, further comprising:

39. detecting, via a hand tracking device in communication with the electronic device, a discrete input for moving the discrete representation of the discrete application within the three-dimensional environment while displaying the discrete representation of the discrete application at the first position within the three-dimensional environment, the discrete input comprising a gesture performed by a hand of a user of the electronic device followed by a movement of the hand while maintaining the gesture performed by the hand; in response to receiving the individual input, moving the individual representation of the individual application within the three-dimensional environment according to the movement of the hand; 39. The method of any one of claims 32 to 38, further comprising:

40. detecting a respective input for moving the respective representation of the respective application within the three dimensional environment while displaying the respective representation of the respective application in the first position within the three dimensional environment; In response to receiving the individual input, in accordance with a determination that the individual input is associated with the first user, moving the individual representation of the individual application within the three-dimensional environment in accordance with the individual input; in accordance with a determination that the individual input is associated with the second user, moving the individual representation of the individual application within the three-dimensional environment in accordance with the individual input; 40. The method of any one of claims 32 to 39, further comprising:

41. receiving, while displaying the individual representation of the individual application in the first position within the three dimensional environment, the individual representation of the individual application being displayed in a first orientation relative to the three dimensional environment, a second orientation and first individual position relative to the viewpoint of the first user, and a third orientation and second individual position relative to the viewpoint of the second user, an individual input via the one or more input devices corresponding to a request to automatically change the viewpoint of the first user within the three dimensional environment, the individual input not indicating how to change the viewpoint of the first user within the three dimensional environment; responsive to receiving the individual input, updating the viewpoint of the first user within the three dimensional environment based on the viewpoint of the second user and the individual representation of the individual application at the first position within the three dimensional environment; 41. The method of any one of claims 32 to 40, further comprising:

42. After updating the viewpoint of the first user within the three-dimensional environment, the respective representations of the respective applications are at the first position and at the first orientation relative to the three-dimensional environment; in a third distinct position at a fourth orientation relative to the updated viewpoint of the first user; and at the second individual position at the third orientation relative to the viewpoint of the second user; The method of claim 41, wherein the

43. detecting a change in a number of users with whom the three-dimensional environment is shared while displaying the respective representations of the respective applications at respective positions at a first respective orientation within the three-dimensional environment; In response to detecting the change in the number of users with whom the three-dimensional environment is shared, displaying the individual representations at the individual positions in a second individual orientation different from the first individual orientation based on an arrangement of viewpoints of the changed number of users with whom the three-dimensional environment is shared in accordance with a determination that one or more criteria are satisfied; 43. The method of any one of claims 32 to 42, further comprising:

44. Displaying the respective representations of the respective applications at a first position within the three dimensional environment based on the first arrangement of the viewpoint of the first user and the viewpoint of the second user includes: pursuant to determining that the respective representations of the respective applications are viewable from a single direction, the first position within the three dimensional environment is a first respective position within the three dimensional environment such that the respective representations of the respective applications are viewable from the single direction from the perspective of the first user and the perspective of the second user; pursuant to determining that the respective representations of the respective applications are viewable from a first orientation and a second orientation different from the first orientation, the first position within the three dimensional environment being a second respective position different from the first respective position within the three dimensional environment such that the respective representations of the respective applications are viewable from the first orientation from the viewpoint of the first user and viewable from the second orientation from the viewpoint of the second user.

44. The method of any one of claims 32 to 43, comprising:

45. while displaying the individual representations of the individual applications within the three-dimensional environment at a first distance from the viewpoint of the first user and at a second distance from the viewpoint of the second user, wherein the individual representations of the individual applications are displayed at a first size from the viewpoint of the first user and at a second size from the viewpoint of the second user, detecting individual inputs to move the individual representations of the individual applications to a third distance and a fourth distance from the viewpoint of the first user and the viewpoint of the second user, respectively, wherein the third distance is different from the first distance and the fourth distance is different from the second distance; In response to detecting the individual input, moving the respective representation of the respective application at the third distance from the viewpoint of the first user; displaying the respective representations of the respective applications at a third size different from the first size from the viewpoint of the first user and at a fourth size different from the second size from the viewpoint of the second user based on the third distance and the fourth distance; 45. The method of any one of claims 32 to 44, further comprising:

46. Displaying the respective representations of the respective applications at a third size includes: in accordance with a determination that the third distance is greater than the fourth distance, the third size and the fourth size are selected such that the third size is greater than a minimum size associated with the third distance; in accordance with a determination that the fourth distance is greater than the third distance, the third size and the fourth size are selected such that the fourth size is greater than a minimum size associated with the fourth distance.

46. ​​The method of claim 45, comprising:

47. while displaying the respective representations of the respective applications at the first position within the three-dimensional environment, receiving, via the one or more input devices, respective inputs corresponding to a request to move the respective representations of the respective applications to a third position within the three-dimensional environment consistent with the viewpoint of the second user; in response to receiving the respective input, moving the respective representation of the respective application to a fourth position within the three-dimensional environment that is different from the third position, the fourth position not coinciding with the viewpoint of the second user; 47. The method of any one of claims 32 to 46, further comprising:

48. receiving, while displaying the respective representations of the respective applications at the first position within the three dimensional environment, a respective input via the one or more input devices for moving the respective representations of the respective applications to a third position within the three dimensional environment; In response to receiving the individual input, displaying the individual representation of the individual application at the third position within the three-dimensional environment; and displaying the respective representation of the respective application in a first orientation relative to the viewpoint of the first user, the first orientation being oriented toward the viewpoint of the first user at a first degree in accordance with a determination that the third position is a first distance from the viewpoint of the first user; displaying the respective representation of the respective application in a second orientation relative to the viewpoint of the first user, the second orientation being oriented toward the viewpoint of the first user at a second degree less than the first degree, in accordance with a determination that the third position is a second distance from the viewpoint of the first user that is greater than the first distance; 48. The method of any one of claims 32 to 47, further comprising:

49. receiving, while displaying the respective representations of the respective applications at the first position within the three dimensional environment, a respective input via the one or more input devices for moving the respective representations of the respective applications to a third position within the three dimensional environment; In response to receiving the individual input, displaying the individual representation of the individual application at the third position within the three-dimensional environment; and displaying the respective representations of the respective applications at respective orientations with respect to the three-dimensional environment based on a relative position of the viewpoint of the first user and the third position in three dimensions with respect to the first arrangement of the viewpoint of the second user; 49. The method of any one of claims 32 to 48, further comprising:

50. receiving, while displaying the respective representations of the respective applications at the first position within the three dimensional environment, a respective input via the one or more input devices for moving the respective representations of the respective applications to a third position within the three dimensional environment; In response to receiving the individual input, displaying the individual representation of the individual application at the third position within the three-dimensional environment; and displaying the respective representations of the respective applications at a first orientation relative to the three-dimensional environment based on the third position and the first disposition of the viewpoint of the first user and the viewpoint of the second user in accordance with a determination that the third position is within a first region of the three-dimensional environment; displaying the respective representations of the respective applications in a second orientation with respect to the three-dimensional environment, the second orientation being different from the first orientation, based on a relative position of the third position with respect to a boundary of the first region, in accordance with a determination that the third position is within a second region of the three-dimensional environment, the second orientation being different from the first orientation; 50. The method of any one of claims 32 to 49, further comprising:

51. In response to receiving the individual input, pursuant to a determination that the third position is within a third region between the first region and the second region within the three dimensional environment, displaying the respective representations of the respective applications in a third orientation with respect to the three dimensional environment different from the first and second orientations based on the third position, the first disposition of the viewpoint of the first user and the viewpoint of the second user, and a relative position of the third position with respect to a boundary of the first region; 51. The method of claim 50, further comprising:

52. while displaying the respective representation of the respective application at the first position within the three dimensional environment, receiving, via the one or more input devices, a respective input corresponding to a request to move the respective representation of the respective application to a third position within the three dimensional environment between the viewpoint of the first user and the viewpoint of the second user; In response to receiving the individual input, moving the individual representation of the individual application to a fourth position within the three dimensional environment different from the third position, the fourth position being not between the viewpoint of the first user and the viewpoint of the second user, in accordance with a determination that the individual representation of the individual application is viewable from a single direction; 52. The method of any one of claims 32 to 51, further comprising:

53. the fourth position is on a first side of a discrete area between the viewpoint of the first user and the viewpoint of the second user within the three dimensional environment, and the method further comprises: receiving, while displaying the respective representation of the respective application at the fourth position within the three-dimensional environment, an additional movement input via the one or more input devices corresponding to a request to move the respective representation towards the respective area, the additional movement input being associated with a first movement amount; In response to receiving the additional movement input, continuing to display the respective representation of the respective application on the first side of the respective region between the viewpoint of the first user and the viewpoint of the second user in accordance with a determination that the first amount of movement is less than a threshold amount of movement; displaying the respective representations of the respective applications on a second side of the respective area between the viewpoint of the first user and the viewpoint of the second user, the second side being different from the first side in accordance with a determination that the first amount of movement is greater than the threshold amount of movement; 53. The method of claim 52, further comprising:

54. 54. The method of claim 32, wherein displaying the individual representation of the individual application at the first position within the three-dimensional environment in response to receiving the input to display the individual representation of the individual application is based on the first arrangement of the viewpoint of the first user and the viewpoint of the second user, and is not based on an orientation of the viewpoint of the first user relative to the three-dimensional environment or an orientation of the viewpoint of the second user relative to the three-dimensional environment.

55. receiving, via the one or more input devices, a respective input corresponding to a request to display within the three-dimensional environment a respective representation of a second respective application; In response to receiving the individual input, the distinct representation of the second distinct application within the three dimensional environment; pursuant to determining that the individual input is associated with the first user, the individual representation of the second individual application is viewable by the first user but not viewable by the second user; displaying the personalized representation of the second personalized application in response to determining that the personalized input is associated with the second user, the personalized representation of the second personalized application being viewable by the second user but not viewable by the first user; 55. The method of any one of claims 32 to 54, further comprising:

56. receiving, via the one or more input devices, an input corresponding to a request to make the separate representation of the second separate application viewable by the first user and the second user, while displaying the separate representation of the second separate application that is viewable by the first user but not by the second user, the separate representation of the second separate application being displayed with a first appearance relative to the viewpoint of the first user; in response to receiving the input corresponding to the request to make the respective representations of the second respective application viewable by the first user and the second user; updating the respective representation of the second respective application for viewing by the first user and the second user, the respective representation including displaying the respective representation of the second respective application in a second appearance, different from the first appearance, relative to the viewpoint of the first user; 56. The method of claim 55, further comprising:

57. receiving, via the one or more input devices, an input corresponding to a request to make the separate representation of the second separate application viewable by the first user and the second user, while displaying the separate representation of the second separate application that is viewable by the first user but not by the second user, the separate representation of the second separate application being displayed with a first appearance relative to the viewpoint of the first user; in response to receiving the input corresponding to the request to make the respective representations of the second respective application viewable by the first user and the second user; updating the representation of the second individual application for viewing by the first user and the second user while maintaining a display of the representation of the second individual application having the first appearance to the viewpoint of the first user; 57. The method of claim 56, further comprising:

58. 1. An electronic device comprising: one or more processors; Memory, one or more programs stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising: displaying, via the display generation component, a three-dimensional environment shared by a first user and a second user; receiving input via the one or more input devices corresponding to a request to display a respective representation of a respective application within the three-dimensional environment; in response to receiving the input corresponding to the request to display the respective representation of the respective application; displaying the respective representations of the respective applications at a first position within the three-dimensional environment based on the first arrangement of the viewpoints of the first and second users according to a determination that a viewpoint of the first and second users is in a first arrangement that includes viewpoints at a first plurality of positions within the three-dimensional environment; one or more programs including instructions for, in response to a determination that the viewpoint of the first user and the viewpoint of the second user are in a second arrangement that includes viewpoints at a second plurality of positions in the three dimensional space that are different from the first plurality of positions in the three dimensional environment, displaying the respective representation of the respective application at a second position within the three dimensional environment based on the second arrangement of the viewpoint of the first user and the viewpoint of the second user; An electronic device comprising:

59. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs including instructions that, when executed by one or more processors of an electronic device, cause the electronic device to: displaying, via the display generation component, a three-dimensional environment shared by a first user and a second user; receiving input via the one or more input devices corresponding to a request to display a respective representation of a respective application within the three-dimensional environment; in response to receiving the input corresponding to the request to display the respective representation of the respective application; responsive to a determination that a viewpoint of the first user and a viewpoint of the second user are in a first arrangement that includes viewpoints at a first plurality of positions within the three dimensional environment, displaying the respective representation of the respective application at a first position within the three dimensional environment based on the first arrangement of the viewpoint of the first user and the viewpoint of the second user; and, in accordance with a determination that the viewpoint of the first user and the viewpoint of the second user are in a second arrangement that includes viewpoints at a second plurality of positions in the three-dimensional space that are different from the first plurality of positions in the three-dimensional environment, causing the individual representation of the individual application to be displayed at a second position within the three-dimensional environment based on the second arrangement of the viewpoint of the first user and the viewpoint of the second user.

60. 1. An electronic device comprising: one or more processors; Memory, means for displaying a three-dimensional environment shared by a first user and a second user via said display generation component; means for receiving, via the one or more input devices, an input corresponding to a request to display a respective representation of a respective application within the three-dimensional environment; in response to receiving the input corresponding to the request to display the respective representation of the respective application; displaying the respective representations of the respective applications at a first position within the three-dimensional environment based on the first arrangement of the viewpoints of the first and second users according to a determination that a viewpoint of the first and second users is in a first arrangement that includes viewpoints at a first plurality of positions within the three-dimensional environment; means for displaying the individual representation of the individual application at a second position within the three dimensional environment based on the second arrangement of the viewpoint of the first user and the viewpoint of the second user in accordance with a determination that the viewpoint of the first user and the viewpoint of the second user are in a second arrangement that includes viewpoints at a second plurality of positions within the three dimensional environment that are different from the first plurality of positions within the three dimensional environment; An electronic device comprising:

61. 1. An information processing apparatus for use in an electronic device, comprising: means for displaying a three-dimensional environment shared by a first user and a second user via said display generation component; means for receiving, via the one or more input devices, an input corresponding to a request to display a respective representation of a respective application within the three-dimensional environment; in response to receiving the input corresponding to the request to display the respective representation of the respective application; displaying the respective representations of the respective applications at a first position within the three-dimensional environment based on the first arrangement of the viewpoints of the first and second users according to a determination that a viewpoint of the first and second users is in a first arrangement that includes viewpoints at a first plurality of positions within the three-dimensional environment; means for displaying the individual representation of the individual application at a second position within the three dimensional environment based on the second arrangement of the viewpoint of the first user and the viewpoint of the second user in accordance with a determination that the viewpoint of the first user and the viewpoint of the second user are in a second arrangement that includes viewpoints at a second plurality of positions within the three dimensional environment that are different from the first plurality of positions within the three dimensional environment; An information processing device comprising:

62. 1. An electronic device comprising: one or more processors; Memory, one or more programs stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing a method according to any one of claims 32 to 57; and An electronic device comprising:

63. 58. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs including instructions that, when executed by one or more processors of an electronic device, cause the electronic device to perform a method according to any one of claims 32 to 57.

64. 1. An electronic device comprising: one or more processors; Memory, Means for carrying out the method according to any one of claims 32 to 57; An electronic device comprising:

65. 1. An information processing apparatus for use in an electronic device, comprising: Means for carrying out the method according to any one of claims 32 to 57, An information processing device comprising:

66. 1. A method comprising: An electronic device in communication with a display generation component and one or more input devices, comprising: displaying, via said display generation component, a three-dimensional environment including representations of respective real objects and respective virtual objects; receiving, while displaying the three-dimensional environment, input via the one or more input devices corresponding to a request to move the individual virtual object within the three-dimensional environment; in response to receiving the input corresponding to the request to move the respective virtual object within the three dimensional environment, moving the distinct virtual object within the three-dimensional environment according to the input; modifying a display of a second portion of the representation of the individual real object that surrounds the first portion of the representation of the individual real object in accordance with a determination that the movement of the individual virtual object causes at least a portion of the individual virtual object to occupy a portion of the three-dimensional environment that corresponds to a first portion of the representation of the individual real object in the three-dimensional environment; A method comprising:

67. in response to receiving the input corresponding to the request to move the object to the distinct position within the three dimensional environment, maintaining the display of the representation of the real object without modifying the display of the portion of the representation of the individual real object in accordance with a determination that the movement of the individual virtual object does not cause any portion of the individual virtual object to occupy a portion of the three-dimensional environment corresponding to the representation of the individual real object; 67. The method of claim 66, further comprising:

68. modifying a display of a second portion of the representation of the individual real object that surrounds the first portion of the individual virtual object in accordance with a determination that the movement of the individual virtual object causes a location corresponding to a first portion of the representation of the individual real object to be located between the individual virtual object and a location of a user within the three-dimensional environment; 68. The method of claim 66 or 67, further comprising:

69. 69. The method of any one of claims 66 to 68, wherein the input corresponding to the request to move the respective virtual object comprises a first gesture performed by a user's hand, followed by a movement of the hand while maintaining the first gesture performed by the hand.

70. a physical environment of the electronic device including a first real object at a location corresponding to a distinct portion of the three-dimensional environment, the method comprising: detecting that the electronic device is moving towards the location of the first real object in the physical environment while displaying the respective portion of the three-dimensional environment via the view generation component such that a representation of the first real object is not visible via the view generation component; in response to detecting that the electronic device is moving towards the location of the first real object, displaying a representation of the first real object within the three dimensional environment in accordance with a determination that one or more criteria are satisfied; 70. The method of any one of claims 66 to 69, further comprising:

71. in response to receiving the input corresponding to the request to move the respective virtual object to the respective position within the three dimensional environment, moving the individual virtual object to a location in the three-dimensional environment that corresponds to the representation of the individual real object in accordance with a determination that one or more criteria are satisfied, including an individual criterion that is satisfied when a current position of the individual virtual object is within a threshold distance of the representation of the individual real object; refraining from moving the individual virtual object to the location that corresponds to the representation of the individual real object within the three-dimensional environment in accordance with the determination that the one or more criteria are not satisfied; 71. The method of any one of claims 66 to 70, further comprising:

72. in response to receiving the input corresponding to the request to move the respective virtual object to the respective position within the three dimensional environment, pursuant to a determination that the individual criteria are satisfied, displaying, via the display generation component, a visual indication indicating that the individual virtual object moves to the location corresponding to the representation of the individual real object in the three-dimensional environment when the one or more criteria are satisfied; 72. The method of claim 71, further comprising:

73. in response to receiving the input corresponding to the request to move the respective virtual object to the respective position within the three dimensional environment, displaying the individual virtual object based on the individual real object at a first orientation relative to the three-dimensional environment in accordance with the determination that the one or more criteria are satisfied; displaying the individual virtual object in a second orientation, different from the first orientation, relative to the three-dimensional environment based on a location of the user within the three-dimensional environment in accordance with the determination that the one or more criteria are not satisfied; 73. The method of claim 71 or 72, further comprising:

74. prior to receiving the input corresponding to the request to move the individual virtual object within the three dimensional environment, the individual virtual object is at a first distance from a user within the three dimensional environment and the individual virtual object is displayed at a first size; after receiving the input corresponding to the request to move the individual virtual object within the three-dimensional environment, the individual virtual object is at a second distance from the user within the three-dimensional environment that is different from the first distance, and the individual virtual object is displayed at a second size that is different from the first size.

74. The method of any one of claims 66 to 73.

75. in response to receiving the input corresponding to the request to move the respective virtual object within the three dimensional environment, displaying the individual virtual object at a second individual location in the three dimensional environment that is different from the individual location in the three dimensional environment in accordance with a determination that the input corresponding to the request to move the individual virtual object in the three dimensional environment is to an individual location in the three dimensional environment that corresponds to a location associated with a user in the three dimensional environment and that the input corresponding to the request to move the individual virtual object in the three dimensional environment has ended; 75. The method of any one of claims 66 to 74, further comprising:

76. in response to receiving the input corresponding to the request to move the respective virtual object within the three dimensional environment, displaying the individual virtual object at the individual location within the three dimensional environment in accordance with the determination that the input corresponding to the request to move the individual virtual object is a request to move the virtual object to the individual location within the three dimensional environment that corresponds to the location associated with the user within the three dimensional environment; detecting the termination of the input corresponding to the request to move the individual virtual object within the three-dimensional environment while displaying the individual virtual object at the individual location within the three-dimensional environment; in response to detecting the end of the input corresponding to the request to move the distinct virtual object within the three dimensional environment, moving the distinct virtual object to the second distinct location within the three dimensional environment; 76. The method of claim 75, further comprising:

77. in response to receiving the input corresponding to the request to move the respective virtual object within the three dimensional environment, displaying the individual virtual object at the second individual location in the three dimensional environment that is different from the individual location in the three dimensional environment in accordance with the determination that the input corresponding to the request to move the individual virtual object is a request to move the virtual object to the individual location in the three dimensional environment that is within a threshold distance of the location associated with the user in the three dimensional environment.

77. The method of claim 76, further comprising:

78. While displaying the three-dimensional environment, displaying, via the display generation component, a visual indication of the representation of the second user on the representation of the individual real object in accordance with a determination that the representation of the individual real object is between a location of the first user of the electronic device and a representation of a second user within the three-dimensional environment; 78. The method of any one of claims 66 to 77, further comprising:

79. receiving, while the at least a portion of the individual virtual object occupies the portion of the three-dimensional environment corresponding to the first portion of the representation of the individual real object in the three-dimensional environment, and while the display of the second portion of the representation of the individual real object is being modified, an additional input via the one or more input devices corresponding to a request to further move the individual virtual object within the three-dimensional environment; In response to receiving the additional input, further moving the distinct virtual object within the three-dimensional environment according to the additional input; and modifying a display of a fourth portion of the representation of the individual real object, different from the second portion, surrounding the third portion of the representation of the individual real object, according to a determination that the further movement of the individual virtual object causes at least a second portion of the individual virtual object to occupy a second portion of the three-dimensional environment corresponding to a third portion of the representation of the individual real object in the three-dimensional environment, different from the first portion; 79. The method of any one of claims 66 to 78, further comprising:

80. 80. The method of any one of claims 66 to 79, wherein the second portion of the representation of the individual real object includes one or more portions of the representation of the individual real object that are within a threshold distance of a boundary of the individual virtual object and does not include one or more portions of the representation of the individual real object that are beyond the threshold distance of the boundary of the individual virtual object.

81. 1. An electronic device comprising: one or more processors; Memory, one or more programs stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising: displaying, via said display generation component, a three-dimensional environment including representations of respective real objects and respective virtual objects; receiving, while displaying the three-dimensional environment, an input via the one or more input devices corresponding to a request to move the distinct virtual object within the three-dimensional environment; in response to receiving the input corresponding to the request to move the respective virtual object within the three dimensional environment, moving the distinct virtual object within the three-dimensional environment in accordance with the input; one or more programs, the one or more programs including instructions for modifying a display of a second portion of the representation of the individual real object that surrounds the first portion of the representation of the individual real object in accordance with a determination that the movement of the individual virtual object causes at least a portion of the individual virtual object to occupy a portion of the three-dimensional environment that corresponds to a first portion of the representation of the individual real object in the three-dimensional environment; An electronic device comprising:

82. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs including instructions that, when executed by one or more processors of an electronic device, cause the electronic device to: displaying, via said display generation component, a three-dimensional environment including representations of respective real objects and respective virtual objects; receiving, while displaying the three-dimensional environment, input via the one or more input devices corresponding to a request to move the distinct virtual object within the three-dimensional environment; in response to receiving the input corresponding to the request to move the respective virtual object within the three dimensional environment, moving the distinct virtual object within the three-dimensional environment in accordance with the input; and, in accordance with a determination that the movement of the individual virtual object causes at least a portion of the individual virtual object to occupy a portion of the three-dimensional environment that corresponds to a first portion of the representation of the individual real object in the three-dimensional environment, the display of a second portion of the representation of the individual real object that surrounds the first portion of the representation of the individual real object is modified.

83. 1. An electronic device comprising: one or more processors; Memory, means for displaying, via said display generation component, a three-dimensional environment including representations of individual real objects and individual virtual objects; means for receiving, while displaying the three-dimensional environment, an input via the one or more input devices corresponding to a request to move the individual virtual object within the three-dimensional environment; in response to receiving the input corresponding to the request to move the respective virtual object within the three dimensional environment, moving the distinct virtual object within the three-dimensional environment in accordance with the input; means for modifying a display of a second portion of the representation of the individual real object that surrounds the first portion of the representation of the individual real object in accordance with a determination that the movement of the individual virtual object causes at least a portion of the individual virtual object to occupy a portion of the three-dimensional environment that corresponds to a first portion of the representation of the individual real object in the three-dimensional environment; An electronic device comprising:

84. 1. An information processing apparatus for use in an electronic device, comprising: means for displaying, via said display generation component, a three-dimensional environment including representations of individual real objects and individual virtual objects; means for receiving, while displaying the three-dimensional environment, an input via the one or more input devices corresponding to a request to move the individual virtual object within the three-dimensional environment; in response to receiving the input corresponding to the request to move the respective virtual object within the three dimensional environment, moving the distinct virtual object within the three-dimensional environment in accordance with the input; means for modifying a display of a second portion of the representation of the individual real object that surrounds the first portion of the representation of the individual real object in accordance with a determination that the movement of the individual virtual object causes at least a portion of the individual virtual object to occupy a portion of the three-dimensional environment that corresponds to a first portion of the representation of the individual real object in the three-dimensional environment; An information processing device comprising:

85. 1. An electronic device comprising: one or more processors; Memory, one or more programs stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing a method according to any one of claims 66 to 80; and An electronic device comprising:

86. 81. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs including instructions that, when executed by one or more processors of an electronic device, cause the electronic device to perform a method according to any one of claims 66 to 80.

87. 1. An electronic device comprising: one or more processors; Memory, Means for carrying out the method according to any one of claims 66 to 80; An electronic device comprising:

88. 1. An information processing apparatus for use in an electronic device, comprising: Means for carrying out the method according to any one of claims 66 to 80, An information processing device comprising:

89. 1. A method comprising: An electronic device in communication with a display generation component and one or more input devices, comprising: displaying, via the display generation component, a three-dimensional environment including one or more first locations associated with one or more users and one or more objects at one or more second locations; detecting, while displaying the three-dimensional environment, an input corresponding to a request to add an additional user to the three-dimensional environment; in response to detecting the input corresponding to the request to add the additional user to the three dimensional environment, updating the three dimensional environment to include a representation of the additional user at a distinct location within the three dimensional environment, the distinct location being based on the one or more first locations associated with the one or more users and the one or more objects at the one or more second locations; A method comprising:

90. 90. The method of claim 89, wherein updating the three-dimensional environment to include the representation of the additional user at the individual location within the three-dimensional environment is performed without modifying the one or more first locations associated with the one or more users.

91. 91. The method of claim 89 or 90, wherein the one or more objects include a first object at a first location within the three-dimensional environment, the first object being associated with a first user of the one or more users, and updating the three-dimensional environment to include the representation of the additional user at the individual location within the three-dimensional environment is performed without changing the first location of the first object within the three-dimensional environment.

92. 92. The method of any one of claims 89 to 91, wherein the representation of the one or more users is visible from the perspective of the additional users at their respective locations within the three-dimensional environment.

93. the three-dimensional environment includes a first region and a second region different from the first region; In response to a determination that the one or more first locations associated with the one or more users are within the first region and not within the second region, the individual locations associated with the additional users are selected to be within the first region; pursuant to a determination that the one or more first locations associated with the one or more users are within the second region and not within the first region, the individual locations associated with the additional users are selected to be within the second region.

93. The method of any one of claims 89 to 92.

94. the one or more objects include a first object; pursuant to determining that the first object is at a first location within the three-dimensional environment, the distinct location is selected to be within a threshold distance of the first location; pursuant to determining that the first object is at a second location within the three-dimensional environment, the distinct location is selected to be within the threshold distance of the second location.

94. The method of any one of claims 89 to 93.

95. the one or more users including a first user who is a host of the three-dimensional environment; In response to a determination that the first user is associated with a first location within the three-dimensional environment, the individual location is selected to be within a threshold distance of the first location; pursuant to a determination that the first user is associated with a second location within the three-dimensional environment, the individual location is selected to be within the threshold distance of the second location.

95. The method of any one of claims 89 to 94.

96. prior to adding the representation of the additional user to the three-dimensional environment, the one or more objects are visible from a viewpoint of the one or more users at the one or more first locations; after adding the representation of the additional user to the three-dimensional environment, the one or more objects are visible from the viewpoint of the one or more users at the one or more first locations.

96. The method of any one of claims 89 to 95.

97. the one or more users including a first user associated with a first distinct location within the three dimensional environment and a second user associated with a second distinct location within the three dimensional environment; prior to adding the representation of the additional user to the three-dimensional environment; the representation of the first user is visible from a perspective of the second user at the second distinct location within the three-dimensional environment; the representation of the second user is visible from a perspective of the first user at the first distinct location within the three-dimensional environment; After adding the representation of the additional user to the three-dimensional environment, the representation of the first user is visible from the viewpoint of the second user at the second distinct location within the three-dimensional environment; the representation of the second user is visible from the viewpoint of the first user at the first discrete location within the three-dimensional environment.

97. The method of any one of claims 89 to 96, wherein the object is added to the three-dimensional environment at a location selected such that the object is in a predetermined position.

98. the one or more objects include a first object; the one or more first locations associated with the one or more users are on a first side of the first object within the three-dimensional environment; the individual location associated with the additional user is on the first side of the first object within the three-dimensional environment; 98. The method of any one of claims 89 to 97.

99. the distinct location within the three-dimensional environment satisfies a first subset of a plurality of user placement criteria; a second distinct location within the three-dimensional environment satisfies a second subset of the plurality of user placement criteria; the representation of the additional user is placed at the individual location rather than the second individual location in accordance with a determination that the first subset of the plurality of user placement criteria takes precedence over the second subset of the plurality of user placement criteria.

99. The method of any one of claims 89 to 98.

100. detecting, while displaying the three dimensional environment, an input corresponding to a request to add a second additional user to the three dimensional environment; in response to detecting the input corresponding to the request to add the second additional user to the three dimensional environment; updating the three-dimensional environment to include a representation of the second additional user at a second distinct location within the three-dimensional environment in accordance with a determination that one or more criteria are satisfied, the second distinct location being based on the one or more first locations associated with the one or more users and the one or more objects at the one or more second locations; updating the three-dimensional environment to include the representation of the second additional user at a predetermined location within the three-dimensional environment in accordance with a determination that the one or more criteria are not satisfied; 100. The method of any one of claims 89 to 99, further comprising:

101. the one or more objects include a first object; the one or more users include a first user; prior to adding the representation of the additional user to the three-dimensional environment, a first portion of the first object has a first orientation with respect to a viewpoint of the first user within the three-dimensional environment; after adding the representation of the additional user to the three-dimensional environment, the first portion of the first object has the first orientation relative to the viewpoint of the first user and a viewpoint of the additional user within the three-dimensional environment.

101. The method of any one of claims 89 to 100.

102. 102. The method of any one of claims 89 to 101, wherein the individual locations associated with the additional users are selected to be more than a threshold distance away from the one or more first locations associated with the one or more users.

103. The electronic device is associated with a first user of the one or more users, and the method includes: receiving, via the one or more input devices, a discrete input corresponding to a request to move the first user within the three-dimensional environment; in response to receiving the individual input corresponding to the request to move the first user within the three dimensional environment; moving the first user within the three-dimensional environment according to the individual inputs; pursuant to a determination that the first user has moved to a location that is greater than a threshold distance from other ones of the one or more users in the three dimensional environment and greater than the threshold distance from the one or more objects in the three dimensional environment, displaying, via the display generation component, respective selectable options that can be selected to initiate a process of moving the first user to a location within the three dimensional environment based on one or more locations associated with the other ones of the one or more users and the one or more objects at the one or more second locations; 103. The method of any one of claims 89 to 102, further comprising:

104. In response to a determination that the three-dimensional environment includes a distinct object having a plurality of positions along the distinct object that may include a representation of a user, pursuant to a determination that one or more first criteria are satisfied, the individual location associated with the additional user is a first position of the plurality of positions along the individual object; pursuant to a determination that one or more second criteria are satisfied, the individual location associated with the additional user is a second position of the plurality of positions along the individual object that is different from the first position.

104. The method of any one of claims 89 to 103.

105. 1. An electronic device comprising: one or more processors; Memory, one or more programs stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising: displaying, via the display generation component, a three-dimensional environment including one or more first locations associated with one or more users and one or more objects at one or more second locations; detecting, while displaying the three-dimensional environment, an input corresponding to a request to add an additional user to the three-dimensional environment; one or more programs, the programs including instructions, in response to detecting the input corresponding to the request to add the additional user to the three dimensional environment, to update the three dimensional environment to include a representation of the additional user at a distinct location within the three dimensional environment, the distinct location based on the one or more first locations associated with the one or more users and the one or more objects at the one or more second locations; An electronic device comprising:

106. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs including instructions that, when executed by one or more processors of an electronic device, cause the electronic device to: displaying, via the display generation component, a three-dimensional environment including one or more first locations associated with one or more users and one or more objects at one or more second locations; detecting, while displaying the three-dimensional environment, an input corresponding to a request to add an additional user to the three-dimensional environment; A non-transitory computer-readable storage medium that, in response to detecting the input corresponding to the request to add the additional user to the three-dimensional environment, updates the three-dimensional environment to include a representation of the additional user at a distinct location within the three-dimensional environment, the distinct location being based on the one or more first locations associated with the one or more users and the one or more objects at the one or more second locations.

107. 1. An electronic device comprising: one or more processors; Memory, means for displaying, via the display generation component, a three-dimensional environment including one or more first locations associated with one or more users and one or more objects at one or more second locations; means for detecting, while displaying said three dimensional environment, an input corresponding to a request to add an additional user to said three dimensional environment; means for updating the three dimensional environment to include a representation of the additional user at a distinct location within the three dimensional environment, the distinct location being based on the one or more first locations associated with the one or more users and the one or more objects at the one or more second locations, in response to detecting the input corresponding to the request to add the additional user to the three dimensional environment; An electronic device comprising:

108. 1. An information processing apparatus for use in an electronic device, comprising: means for displaying, via the display generation component, a three-dimensional environment including one or more first locations associated with one or more users and one or more objects at one or more second locations; means for detecting, while displaying said three dimensional environment, an input corresponding to a request to add an additional user to said three dimensional environment; means for updating the three dimensional environment to include a representation of the additional user at a distinct location within the three dimensional environment, the distinct location being based on the one or more first locations associated with the one or more users and the one or more objects at the one or more second locations, in response to detecting the input corresponding to the request to add the additional user to the three dimensional environment; An information processing device comprising:

109. 1. An electronic device comprising: one or more processors; Memory, one or more programs stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing a method according to any one of claims 89 to 104; and An electronic device comprising:

110. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs including instructions that, when executed by one or more processors of an electronic device, cause the electronic device to perform a method according to any one of claims 89 to 104.

111. 1. An electronic device comprising: one or more processors; Memory, Means for carrying out the method according to any one of claims 89 to 104, An electronic device comprising:

112. 1. An information processing apparatus for use in an electronic device, comprising: Means for carrying out the method according to any one of claims 89 to 104; An information processing device comprising:

Citation Information

Patent Citations

  • Display system, display control device, and program

    JP2019155062A