Method for relative manipulation of three-dimensional environment
By using improved user interfaces and interaction methods in virtual/augmented reality environments, and utilizing technologies such as display generation components and tracking units, the problems of interaction complexity and low efficiency in the existing technology are solved, and a more intuitive and effective user experience is achieved. Interaction and more efficient energy use.
Patent Information
- Application Number
- CN202380046546.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-04-11
- Filing Date
- 2023-04-11
- Publication Date
- 2025-01-24
AI Technical Summary
In the prior art, the methods and interfaces used to interact with virtual/augmented reality environments have problems such as insufficient feedback, complex operations, cumbersome and error-prone, resulting in a large cognitive burden on users and low interaction efficiency.
By providing improved user interfaces and interactive methods, technologies such as displaying production components, hand tracking units, and eye tracking units are used to reduce the number and complexity of the user input and improve the efficiency of the human -machine interface.
It achieves more intuitive and effective user interaction, reduces operating errors, improves the experience of virtual/augmented reality environments, saves computer system energy, and especially extends battery life in battery-driven devices.
Smart Images

Figure CN119365840A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of U.S. Provisional Application No. 63 / 362,816, filed April 11, 2022, the contents of which are incorporated herein by reference in their entirety for all purposes. Technical Field
[0003] The present invention generally relates to computer systems that provide computer-generated experiences, including but not limited to electronic devices that provide virtual reality and mixed reality experiences via display generation components. Background Art
[0004] In recent years, the development of computer systems for augmented reality has increased significantly. Example augmented reality environments include at least some virtual elements that replace or enhance the physical world. Input devices for computer systems and other electronic computing devices (such as cameras, controllers, joysticks, touch-sensitive surfaces, and touchscreen displays) are used to interact with virtual / augmented reality environments. Exemplary virtual elements include virtual objects such as digital images, videos, text, icons, and control elements (such as buttons and other graphics). Summary of the Invention
[0005] Some methods and interfaces for interacting with environments that include at least some virtual elements (e.g., applications, augmented reality environments, mixed reality environments, and virtual reality environments) are cumbersome, inefficient, and limited. For example, systems that provide insufficient feedback for performing actions associated with virtual objects, systems that require a series of inputs to achieve desired results in an augmented reality environment, and systems where virtual object manipulation is complex, cumbersome, and error-prone can place a significant cognitive burden on users and detract from the experience of the virtual / augmented reality environment. Furthermore, these methods take longer than necessary, wasting the computer system's energy. This latter consideration is particularly important in battery-powered devices.
[0006] Therefore, there is a need for computer systems with improved methods and interfaces for providing computer-generated experiences to users, thereby making user interactions with computer systems more efficient and intuitive for the users. Such methods and interfaces optionally supplement or replace conventional methods for providing extended reality experiences to users. Such methods and interfaces reduce the amount, extent, and / or nature of inputs from users by helping users understand the connection between the inputs provided and the device's responses to those inputs, thereby forming a more effective human-computer interface.
[0007] The above-mentioned defects and other problems associated with the user interface of the computer system are reduced or eliminated by the disclosed system. In some embodiments, the computer system is a desktop computer with an associated display. In some embodiments, the computer system is a portable device (e.g., a notebook computer, a tablet computer, or a handheld device). In some embodiments, the computer system is a personal electronic device (e.g., a wearable electronic device, such as a watch or a head-mounted device). In some embodiments, the computer system has a touch pad. In some embodiments, the computer system has one or more cameras. In some embodiments, the computer system has a touch-sensitive display (also referred to as a "touch screen" or "touch screen display"). In some embodiments, the computer system has one or more eye tracking components. In some embodiments, the computer system has one or more hand tracking components. In some embodiments, in addition to the display generation component, the computer system also has one or more output devices, which include one or more tactile output generators and / or one or more audio output devices. In some embodiments, the computer system has a graphical user interface (GUI), one or more processors, a memory, and one or more modules, a program or instruction set stored in the memory for performing multiple functions. In some embodiments, the user interacts with the GUI through contacts and gestures of a stylus and / or fingers on a touch-sensitive surface, movement of the user's eyes and hands in space relative to the GUI (and / or computer system) or the user's body (as captured by a camera and other motion sensors), and / or voice input (as captured by one or more audio input devices). In some embodiments, the functions performed by interaction optionally include image editing, drawing, presentations, word processing, spreadsheet creation, playing games, making and receiving calls, video conferencing, sending and receiving emails, instant messaging, test support, digital photography, digital video recording, web browsing, digital music playback, note-taking, and / or digital video playback. Executable instructions for performing these functions are optionally included in a transient and / or non-transient computer-readable storage medium or other computer program product configured for execution by one or more processors.
[0008] There is a need for electronic devices with improved methods and interfaces for interacting with content in a three-dimensional environment. Such methods and interfaces can supplement or replace conventional methods for interacting with content in a three-dimensional environment. Such methods and interfaces reduce the amount, extent, and / or nature of input from a user and produce a more efficient human-computer interface. For battery-powered computing devices, such methods and interfaces conserve power and increase the time between battery charges.
[0009] In some embodiments, a computer system facilitates manipulation of a three-dimensional environment relative to a viewpoint of a user of the computer system. In some embodiments, a computer system facilitates manipulation of a virtual object within a virtual environment. In some embodiments, a computer system facilitates manipulation of a three-dimensional environment relative to a reference point determined based on the attention of a user of the computer system.
[0010] It should be noted that the various embodiments described above can be combined with any other embodiment described herein. The features and advantages described in this specification are not comprehensive. In particular, many additional features and advantages will be apparent to those skilled in the art from the drawings, the specification, and the claims. In addition, it should be noted that the language used in this specification has been selected in principle for readability and instructional purposes, and may not be selected to describe or define the subject matter of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] For a better understanding of the various described embodiments, reference should be made to the following detailed description taken in conjunction with the following drawings, wherein like reference numerals designate corresponding parts throughout the several views.
[0012] Figure 1 is a block diagram illustrating an operating environment for a computer system for providing an XR experience according to some embodiments.
[0013] Figure 2 is a block diagram illustrating a controller of a computer system configured to manage and coordinate a user's XR experience according to some embodiments.
[0014] Figure 3 is a block diagram illustrating display generation components of a computer system configured to provide a visual component of an XR experience to a user, according to some embodiments.
[0015] Figure 4 is a block diagram illustrating a hand tracking unit of a computer system configured to capture gesture input from a user according to some embodiments.
[0016] Figure 5 is a block diagram illustrating an eye tracking unit of a computer system configured to capture gaze input from a user according to some embodiments.
[0017] Figure 6 is a flowchart illustrating a flash-assisted gaze tracking pipeline according to some embodiments.
[0018] 7A to 7I An example of a computer system that facilitates interaction with multiple objects in a three-dimensional environment is shown, according to some embodiments.
[0019] Figures 8A to 8Iis a flow chart illustrating an exemplary method of facilitating interaction with multiple objects in a three-dimensional environment, according to some embodiments.
[0020] 9A to 9I An example of a computer system that facilitates manipulation of virtual objects in a virtual environment is shown in accordance with some embodiments.
[0021] Figures 10A to 10H is a flow chart illustrating a method of facilitating manipulation of a virtual object in a virtual environment, according to some embodiments.
[0022] Figures 11A to 11G An example of a computer system that facilitates interaction with multiple objects relative to a reference point in a three-dimensional environment is shown in accordance with some embodiments.
[0023] Figures 12A to 12J is a flow chart illustrating an exemplary method of facilitating interaction with multiple objects relative to a reference point in a three-dimensional environment, according to some embodiments.
[0024] Figures 13A to 13G An example of a computer system that facilitates manipulation of virtual objects in a virtual environment is shown in accordance with some embodiments.
[0025] Figures 14A to 14K is a flow chart illustrating a method of facilitating manipulation of a virtual object in a virtual environment, according to some embodiments. DETAILED DESCRIPTION
[0026] According to some embodiments, the present disclosure relates to a user interface for providing a computer-generated (CGR) experience to a user.
[0027] The systems, methods, and GUIs described herein provide improved ways for electronic devices to facilitate interaction with and manipulation of objects in a three-dimensional environment.
[0028] In some embodiments, a computer system displays a three-dimensional environment including a plurality of objects. In some embodiments, in response to detecting a first interaction input directed toward the three-dimensional environment provided by a first predefined portion of a user of the computer system, based on a determination that a second predefined portion of the user is providing a second interaction input when the first interaction input is detected, the computer system manipulates the three-dimensional environment, including repositioning a plurality of objects in the three-dimensional environment relative to the user's viewpoint based on the first interaction input. In some embodiments, based on a determination that a second predefined portion of the user is not providing the second interaction input when the first interaction input is detected, the computer system performs an operation different from manipulating the three-dimensional environment relative to the user's viewpoint based on the first interaction input. In some embodiments, the computer system moves a single object of the plurality of objects in the three-dimensional environment relative to the user's viewpoint based on the first interaction input. In some embodiments, the computer system activates a selectable option in the three-dimensional environment in response to detecting the first interaction input.
[0029] In some embodiments, a computer system facilitates manipulation of a virtual object in a virtual environment. For example, in response to detecting an interactive input provided by a user, the computer system manipulates a virtual object in the environment based on the input. In some embodiments, in response to detecting a first movement pattern included in the interactive input, the computer system manipulates the virtual object in a first manner, and in response to detecting a second movement pattern included in the interactive input, the computer system manipulates the virtual object in a second manner. In some embodiments, the computer system manipulates the virtual object in a direction and amount corresponding to the direction and amount of movement included in the interactive input.
[0030] In some embodiments, a computer system displays a three-dimensional environment including a plurality of objects. In some embodiments, in response to detecting an interactive input provided by a predefined portion of a user of the computer system that is directed toward the three-dimensional environment, based on a determination that the user's attention was directed toward a first object of the plurality of objects upon detecting a first interactive input, the computer system manipulates the three-dimensional environment, including repositioning the plurality of objects in the three-dimensional environment relative to a first reference point based on a location associated with the first object based on the first interactive input. In some embodiments, based on a determination that the user's attention was directed toward a second object upon detecting the first interactive input, the computer system manipulates the three-dimensional environment, including repositioning the plurality of objects in the three-dimensional environment relative to a second reference point based on a location associated with the second object based on the first interactive input.
[0031] In some embodiments, a computer system facilitates manipulation of virtual objects in a virtual environment. In some embodiments, in response to detecting an interactive input corresponding to a request to manipulate a virtual object in the virtual environment while a user's attention is directed to a portion of the environment where no virtual objects are manipulable, the computer system manipulates the object relative to a reference point based on the position of one or more virtual objects displayed in the environment. In some embodiments, if no objects are displayed in the environment, the computer system displays and manipulates a reference object in response to the interactive input and manipulates one or more virtual objects in the environment that are not displayed in the environment.
[0032] Figures 1 to 6 A description of an exemplary computer system for providing an XR experience to a user (such as described below with respect to methods 800 , 1000 , 1200 , and / or 1400 ) is provided. 7A to 7I Example techniques for facilitating interaction with multiple objects in a three-dimensional environment are shown, according to some embodiments. Figures 8A to 8I is a flow chart of a method of facilitating interaction with multiple objects in a three-dimensional environment, according to some embodiments. 7A to 7I The user interface in Figures 8A to 8I in the process. 9A to 9I Example techniques for facilitating manipulation of virtual objects in a virtual environment are shown, according to some embodiments. Figures 10A to 10H is a flow chart of a method of facilitating manipulation of a virtual object in a virtual environment, according to various embodiments. 9A to 9I The user interface in Figures 10A to 10H in the process. Figures 11A to 11G Example techniques for facilitating interaction with multiple objects relative to a reference point in a three-dimensional environment are shown, according to some embodiments. Figures 12A to 12J is a flow chart of a method of facilitating interaction with multiple objects relative to a reference point in a three-dimensional environment, according to some embodiments. Figures 11A to 11G The user interface in Figures 12A to 12J in the process. Figures 13A to 13G Example techniques for facilitating manipulation of virtual objects in a virtual environment are shown, according to some embodiments. Figures 14A to 14K is a flow chart of a method of facilitating manipulation of a virtual object in a virtual environment, according to some embodiments. Figures 13A to 13G The user interface in Figures 14A to 14K in the process.
[0033] The processes described below enhance the operability of the device and make the user-device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device) through various techniques, including providing improved visual feedback to the user, reducing the number of inputs required to perform an operation, providing additional control options without cluttering the user interface with additional display controls, performing an operation without further user input when a set of conditions have been met, improving privacy and / or security, providing a more diverse, detailed, and / or realistic user experience while saving storage space, and / or additional technologies. These techniques also reduce power usage and extend the battery life of the device by enabling the user to use the device faster and more efficiently. Saving battery power, and therefore weight, improves the ergonomics of the device. These techniques also enable real-time communication, allow the use of fewer and / or less accurate sensors, resulting in a more compact, lighter, and cheaper device, and enable the device to be used in a variety of lighting conditions. These techniques reduce energy usage and thereby reduce the heat emitted by the device, which is particularly important for wearable devices where if the device generates too much heat well within the operating parameters of the device components, it may become uncomfortable for the user to wear the device.
[0034] In addition, in the method described herein where one or more steps depend on having met one or more conditions, it should be understood that the method can be repeated in multiple repetitions so that in the process of repetition, all conditions of the steps in the method of determining the method have been met in different repetitions of the method. For example, if the method needs to perform the first step (if the condition is met), and perform the second step (if the condition is not met), then those of ordinary skill will know that the steps stated are repeated until both the condition is met and the condition is not met (in no particular order). Therefore, the method described as having one or more steps depending on having met one or more conditions can be rewritten as a method of repeating until each condition described in the method is met. However, this does not require a system or computer-readable medium to declare that the system or computer-readable medium includes instructions for performing a contingent operation based on the satisfaction of the corresponding one or more conditions, and is therefore able to determine whether a possible situation has been met without explicitly repeating the steps of the method until all conditions of the steps in the method of determining the method have been met. Those of ordinary skill in the art will also understand that, similar to the method with a contingent step, a system or computer-readable storage medium can repeat the steps of the method as needed multiple times to ensure that all contingent steps have been performed.
[0035] In some embodiments, as Figure 1As shown in , an XR experience is provided to a user via an operating environment 100 including a computer system 101. The computer system 101 includes a controller 110 (e.g., a processor of a portable electronic device or a remote server), a display generation component 120 (e.g., a head-mounted device (HMD), a display, a projector, and / or a touch screen), one or more input devices 125 (e.g., an eye tracking device 130, a hand tracking device 140, other input devices 150), one or more output devices 155 (e.g., a speaker 160, a tactile output generator 170, and other output devices 180), one or more sensors 190 (e.g., an image sensor, a light sensor, a depth sensor, a tactile sensor, an orientation sensor, a proximity sensor, a temperature sensor, a position sensor, a motion sensor, and / or a speed sensor), and optionally one or more peripheral devices 195 (e.g., a household appliance, a wearable device). In some embodiments, one or more of the input device 125, the output device 155, the sensor 190, and the peripheral device 195 are integrated with the display generation component 120 (e.g., in a head-mounted device or a handheld device).
[0036] When describing an XR experience, various terms are used to distinctly refer to several related but distinct environments that a user can sense and / or with which the user can interact (e.g., using inputs detected by the computer system 101 generating the XR experience, which inputs cause the computer system generating the XR experience to generate audio, visual, and / or haptic feedback corresponding to the various inputs provided to the computer system 101). The following is a subset of these terms:
[0037] Physical Environment: The physical environment refers to the physical world that people can sense and / or interact with without the aid of electronic systems. A physical environment, such as a physical park, includes physical objects, such as physical trees, physical buildings, and physical people. People can directly sense and / or interact with the physical environment, such as through sight, touch, hearing, taste, and smell.
[0038] Extended Reality: In contrast, an extended reality (XR) environment refers to a fully or partially simulated environment that people sense and / or interact with via electronic systems. In XR, a subset of a person's physical movements, or representations thereof, is tracked, and in response, one or more properties of one or more virtual objects simulated in the XR environment are adjusted in a manner consistent with at least one law of physics. For example, an XR system can detect a person's head rotation and, in response, adjust the graphical content and sound field presented to the person in a manner similar to how such views and sounds change in a physical environment. In some cases (e.g., for accessibility reasons), adjustments to the properties of virtual objects in the XR environment can be made in response to representations of physical movement (e.g., voice commands). People can sense and / or interact with XR objects using any of their senses, including vision, hearing, touch, taste, and smell. For example, people can sense and / or interact with audio objects, which create a 3D or spatial audio environment that provides the perception of a point audio source in 3D space. As another example, audio objects can enable audio transparency, which selectively introduces ambient sounds from the physical environment with or without computer-generated audio. In some XR environments, people can sense and / or interact only with audio objects.
[0039] Examples of XR include virtual reality and mixed reality.
[0040] Virtual Reality: A virtual reality (VR) environment is a simulated environment designed to be based entirely on computer-generated sensory input to one or more senses. A VR environment includes multiple virtual objects that a person can sense and / or interact with. For example, trees, buildings, and computer-generated images representing human avatars are examples of virtual objects. A person can sense and / or interact with virtual objects in a VR environment through the simulation of the person's presence within the computer-generated environment and / or through the simulation of a subset of the person's physical movement within the computer-generated environment.
[0041] Mixed Reality: In contrast to VR environments, which are designed to be based entirely on computer-generated sensory input, a mixed reality (MR) environment refers to a simulated environment that is designed to include sensory input from the physical environment, or representations thereof, in addition to computer-generated sensory input (e.g., virtual objects). On the virtuality continuum, a mixed reality environment is anything between, but not including, a fully physical environment at one end and a virtual reality environment at the other. In some MR environments, computer-generated sensory input can respond to changes in sensory input from the physical environment. In addition, some electronic systems used to render MR environments can track position and / or orientation relative to the physical environment to enable virtual objects to interact with real objects (i.e., physical items from the physical environment, or representations thereof). For example, the system can cause motion so that virtual trees appear stationary relative to the physical ground.
[0042] Examples of mixed reality include augmented reality and augmented virtuality.
[0043] Augmented Reality: An augmented reality (AR) environment refers to a simulated environment in which one or more virtual objects are superimposed on a physical environment or a representation of a physical environment. For example, an electronic system for presenting an AR environment may have a transparent or translucent display through which a person can directly view the physical environment. The system can be configured to present virtual objects on a transparent or translucent display so that a person uses the system to perceive the virtual objects superimposed on the physical environment. Alternatively, the system may have an opaque display and one or more imaging sensors that capture images or videos of the physical environment, which are representations of the physical environment. The system combines the images or videos with the virtual objects and presents the combination on the opaque display. A person uses the system to indirectly view the physical environment via the images or videos of the physical environment and perceives the virtual objects superimposed on the physical environment. As used herein, a video of the physical environment displayed on an opaque display is referred to as "transparent video," meaning that the system uses one or more image sensors to capture images of the physical environment and uses those images when presenting the AR environment on the opaque display. Further alternatively, the system may have a projection system that projects virtual objects into a physical environment, such as as holograms or on a physical surface, so that a person using the system perceives virtual objects superimposed on the physical environment. An augmented reality environment also refers to a simulated environment in which a representation of a physical environment is transformed by computer-generated sensory information. For example, in providing a pass-through video, the system may transform one or more sensor images to apply a selected perspective (e.g., a viewpoint) that is different from the perspective captured by the imaging sensor. For another example, the representation of the physical environment may be transformed by graphically modifying (e.g., enlarging) a portion thereof so that the modified portion may be a representative but not real version of the original captured image. For another example, the representation of the physical environment may be transformed by graphically eliminating a portion thereof or blurring a portion thereof.
[0044] Augmented Virtual: An augmented virtual (AV) environment is a simulated environment in which a virtual or computer-generated environment incorporates one or more sensory inputs from the physical environment. The sensory input can be a representation of one or more characteristics of the physical environment. For example, an AV park can have virtual trees and virtual buildings, but people's faces are realistically reproduced from images taken of physical people. In another example, a virtual object can adopt the shape or color of a physical object imaged by one or more imaging sensors. In another example, a virtual object can adopt a shadow that conforms to the position of the sun in the physical environment.
[0045] In an augmented reality, mixed reality, or virtual reality environment, a view of a three-dimensional environment is visible to a user. The view of the three-dimensional environment is typically visible to the user through a virtual viewport via one or more display generation components (e.g., a display or a pair of display modules that provide stereoscopic content to different eyes of the same user), and the virtual viewport has a viewport boundary that defines the range of the three-dimensional environment visible to the user via the one or more display generation components. In some embodiments, the area defined by the viewport boundary is smaller than the user's visual range in one or more dimensions (e.g., based on the user's visual range, the size, optical properties, or other physical properties of the one or more display generation components, and / or the position and / or orientation of the one or more display generation components relative to the user's eyes). In some embodiments, the area defined by the viewport boundary is larger than the user's visual range in one or more dimensions (e.g., based on the user's visual range, the size, optical properties, or other physical properties of the one or more display generation components, and / or the position and / or orientation of the one or more display generation components relative to the user's eyes). The viewport and viewport boundary typically move with the movement of one or more display generation components (e.g., with the user's head for a head-mounted device, or with the user's hand for a handheld device such as a tablet or smart phone). The user's viewpoint determines what is visible in the viewport. The viewpoint typically specifies a position and orientation relative to the three-dimensional environment, and as the viewpoint moves, the view of the three-dimensional environment will also move in the viewport. For head-mounted devices, the viewpoint is typically based on the position and orientation of the user's head, face, and / or eyes to provide a view of the three-dimensional environment that is perceptually accurate and provides an immersive experience when the user is using the head-mounted device. For handheld or fixed devices, the viewpoint moves as the handheld or fixed device moves and / or as the user's positioning relative to the handheld or fixed device changes (e.g., the user moves toward, away from, up, down, right, and / or left). For devices that include display generation components with virtual pass-through, portions of the physical environment that are visible (e.g., displayed and / or projected) via one or more display generation components are based on the field of view of one or more cameras in communication with the display generation components, which typically move with movement of the display generation components (e.g., with movement of the user's head for a head-mounted device, or with movement of the user's hands for a handheld device such as a tablet or smartphone) as the user's viewpoint moves with movement of the field of view of the one or more cameras (and the appearance of one or more virtual objects displayed via the one or more display generation components is updated based on the user's viewpoint (e.g., the display position and pose of the virtual objects are updated based on movement of the user's viewpoint)).For display generation components with optical transmittance, portions of the physical environment that are visible via one or more display generation components (e.g., optically visible through one or more partially or fully transparent portions of the display generation components) are based on the user's field of view through the partially or fully transparent portions of the display generation components (e.g., moves as the user's head moves for a head-mounted device, or moves as the user's hands move for a handheld device such as a tablet or smartphone) because the user's viewpoint moves as the user moves through the field of view of the partially or fully transparent portions of the display generation components (and the appearance of one or more virtual objects is updated based on the user's viewpoint).
[0046] Viewpoint-locked virtual objects: When a computer system displays a virtual object at the same position and / or location in a user's viewpoint, even if the user's viewpoint shifts (e.g., changes), the virtual object is viewpoint-locked. In embodiments where the computer system is a head-mounted device, the user's viewpoint is locked to the forward direction of the user's head (e.g., when the user is looking straight ahead, the user's viewpoint is at least a portion of the user's field of view); thus, without moving the user's head, the user's viewpoint remains fixed even when the user's gaze shifts. In embodiments where the computer system has a display generation component (e.g., a display screen) that is repositionable relative to the user's head, the user's viewpoint is the augmented reality view presented to the user on the display generation component of the computer system. For example, a viewpoint-locked virtual object that is displayed in the upper left corner of the user's viewpoint when the user's viewpoint is in a first orientation (e.g., the user's head is facing north) continues to be displayed in the upper left corner of the user's viewpoint even when the user's viewpoint changes to a second orientation (e.g., the user's head is facing west). In other words, the position and / or location of the viewpoint-locked virtual object displayed in the user's viewpoint is independent of the user's position and / or orientation in the physical environment. In embodiments where the computer system is a head-mounted device, the user's viewpoint is locked to the orientation of the user's head, such that the virtual object is also referred to as a "head-locked virtual object."
[0047] Environment-locked visual objects: A virtual object is environment-locked (alternatively, "world-locked") when a computer system displays it at a location and / or position in a user's viewpoint that is based on (e.g., selected with reference to and / or anchored to) a location and / or object in a three-dimensional environment (e.g., a physical environment or a virtual environment). As the user's viewpoint moves, the location and / or objects in the environment change relative to the user's viewpoint, which causes the environment-locked virtual object to be displayed at a different location and / or position in the user's viewpoint. For example, an environment-locked virtual object locked to a tree immediately in front of the user is displayed at the center of the user's viewpoint. When the user's viewpoint shifts to the right (e.g., the user's head turns to the right) such that the tree is now to the left of center in the user's viewpoint (e.g., the tree's position in the user's viewpoint shifts), the environment-locked virtual object locked to the tree is displayed to the left of center in the user's viewpoint. In other words, the position and / or location at which an environment-locked virtual object is displayed in the user's viewpoint depends on the position and / or orientation of the object in the environment to which the virtual object is locked. In some embodiments, the computer system uses a stationary reference frame (e.g., a coordinate system anchored to fixed locations and / or objects in the physical environment) to determine the location at which an environment-locked virtual object is displayed in the user's viewpoint. An environment-locked virtual object can be locked to a stationary portion of the environment (e.g., a floor, wall, table, or other stationary object), or can be locked to a movable portion of the environment (e.g., a vehicle, animal, person, or even a representation of a part of the user's body that moves independently of the user's viewpoint, such as a hand, wrist, arm, or foot of the user) so that the virtual object moves as the viewpoint or that portion of the environment moves to maintain a fixed relationship between the virtual object and that portion of the environment.
[0048] In some embodiments, an environment-locked or viewpoint-locked virtual object exhibits an inertial following behavior that reduces or delays the movement of the environment-locked or viewpoint-locked virtual object relative to the movement of a reference point that the virtual object follows. In some embodiments, when exhibiting inertial following behavior, the computer system intentionally delays the movement of the virtual object when movement of a reference point that the virtual object is following (e.g., a portion of the environment, a viewpoint, or a point fixed relative to the viewpoint, such as a point between 5 cm and 300 cm from the viewpoint) is detected. For example, when the reference point (e.g., the portion of the environment or the viewpoint) moves at a first speed, the virtual object is moved by the device to remain locked to the reference point, but at a second speed that is slower than the first speed (e.g., until the reference point stops moving or slows down, at which point the virtual object begins to catch up with the reference point). In some embodiments, when the virtual object exhibits inertial following behavior, the device ignores small amounts of movement of the reference point (e.g., ignoring movements of the reference point below a threshold movement amount, such as movement of 0 to 5 degrees or movement of 0 to 50 cm). For example, when the reference point (e.g., the portion of the environment or viewpoint to which the virtual object is locked) moves a first amount, the distance between the reference point and the virtual object increases (e.g., because the virtual object is being displayed so as to maintain a fixed or substantially fixed position relative to a viewpoint or portion of the environment that is different from the reference point to which the virtual object is locked), and when the reference point (e.g., the portion of the environment or viewpoint to which the virtual object is locked) moves a second amount greater than the first amount, the distance between the reference point and the virtual object initially increases (e.g., because the virtual object is being displayed so as to maintain a fixed or substantially fixed position relative to a viewpoint or portion of the environment that is different from the reference point to which the virtual object is locked), and then decreases as the amount of movement of the reference point increases above a threshold (e.g., a “lazy follow” threshold) because the virtual object is moved by the computer system to maintain a fixed or substantially fixed position relative to the reference point. In some embodiments, maintaining a substantially fixed position of the virtual object relative to the reference point includes displaying the virtual object within a threshold distance (e.g., 1 cm, 2 cm, 3 cm, 5 cm, 15 cm, 20 cm, 50 cm) of the reference point in one or more dimensions (e.g., up / down, left / right, and / or forward / backward relative to the position of the reference point).
[0049] Hardware: There are many different types of electronic systems that enable people to sense and / or interact with various XR environments. Examples include head-mounted systems, projection-based systems, heads-up displays (HUDs), vehicle windshields with integrated display capabilities, windows with integrated display capabilities, displays formed as lenses designed to be placed on a person's eyes (e.g., similar to contact lenses), headphones / earpieces, speaker arrays, input systems (e.g., wearable or handheld controllers with or without haptic feedback), smartphones, tablet devices, and desktop / laptop computers. A head-mounted system can have one or more speakers and an integrated opaque display. Alternatively, a head-mounted system can be configured to accept an external opaque display (e.g., a smartphone). A head-mounted system can incorporate one or more imaging sensors for capturing images or video of the physical environment and / or one or more microphones for capturing audio of the physical environment. Instead of an opaque display, a head-mounted system can have a transparent or translucent display. A transparent or translucent display can have a medium through which light representing the image is directed to the person's eyes. The display can utilize digital light projection, OLED, LED, uLED, liquid crystal on silicon, laser scanning light source, or any combination of these technologies. The medium can be an optical waveguide, a holographic medium, an optical combiner, an optical reflector, or any combination thereof. In one embodiment, the transparent or translucent display can be configured to become selectively opaque. The projection-based system can employ retinal projection technology that projects graphic images onto a person's retina. The projection system can also be configured to project virtual objects into the physical environment, for example as holograms or on a physical surface. In some embodiments, the controller 110 is configured to manage and coordinate the user's XR experience. In some embodiments, the controller 110 includes a suitable combination of software, firmware, and / or hardware. Reference is made below to Figure 2Controller 110 is described in more detail. In some embodiments, controller 110 is a computing device that is located locally or remotely relative to scene 105 (e.g., physical environment). For example, controller 110 is a local server located within scene 105. In another example, controller 110 is a remote server (e.g., a cloud server and / or a central server) located outside of scene 105. In some embodiments, controller 110 is communicatively coupled to display generation component 120 (e.g., HMD, display, projector, and / or touch screen) via one or more wired or wireless communication channels 144 (e.g., Bluetooth, IEEE 802.11x, IEEE 802.16x, and / or IEEE 802.3x). For example, the controller 110 is included within a housing (e.g., a physical housing) of the display generating component 120 (e.g., an HMD or a portable electronic device including a display and one or more processors), one or more input devices among the input devices 125, one or more output devices among the output devices 155, one or more sensors among the sensors 190, and / or one or more peripheral devices among the peripheral devices 195, or shares the same physical housing or support structure with one or more of the above devices.
[0050] In some embodiments, the display generation component 120 is configured to provide an XR experience (e.g., at least the visual component of the XR experience) to the user. In some embodiments, the display generation component 120 includes a suitable combination of software, firmware, and / or hardware. Figure 3 Display generation component 120 is described in further detail. In some embodiments, the functionality of controller 110 is provided by and / or combined with display generation component 120.
[0051] According to some embodiments, display generation component 120 provides an XR experience to the user when the user is virtually and / or physically present within scene 105.
[0052] In some embodiments, the display generation component is worn on a part of the user's body (e.g., on his / her head and / or on his / her hands). In this way, the display generation component 120 includes one or more XR displays provided for displaying XR content. For example, in various embodiments, the display generation component 120 surrounds the user's field of view. In some embodiments, the display generation component 120 is a handheld device (such as a smart phone or tablet device) configured to present XR content, and the user holds a device with a display facing the user's field of view and a camera facing the scene 105. In some embodiments, the handheld device is optionally placed in a housing worn on the user's head. In some embodiments, the handheld device is optionally placed on a support (e.g., a tripod) in front of the user. In some embodiments, the display generation component 120 is an XR room, housing, or room configured to present XR content, wherein the user does not wear or hold the display generation component 120. Many user interfaces described with reference to one type of hardware for displaying XR content (e.g., a handheld device or a device on a tripod) can be implemented on another type of hardware for displaying XR content (e.g., an HMD or other wearable computing device). For example, a user interface showing interactions with XR content that are triggered based on interactions occurring in the space in front of a handheld device or a tripod-mounted device can similarly be implemented with an HMD, where the interactions occur in the space in front of the HMD and the responses to the XR content are displayed via the HMD. Similarly, a user interface showing interactions with XR content that are triggered based on movement of a handheld device or a tripod-mounted device relative to a physical environment (e.g., scene 105 or a part of a user's body (e.g., the user's eyes, head, or hands)) can similarly be implemented with an HMD, where the movement is caused by movement of the HMD relative to the physical environment (e.g., scene 105 or a part of a user's body (e.g., the user's eyes, head, or hands)).
[0053] Despite Figure 1 Relevant features of the operating environment 100 are shown, but those skilled in the art will recognize from this disclosure that various other features are not shown for the sake of brevity and so as not to obscure more relevant aspects of the exemplary embodiments disclosed herein.
[0054] Figure 2is a block diagram of an example of a controller 110 according to some embodiments. While some specific features are shown, those skilled in the art will recognize from this disclosure that various other features are not shown for the sake of brevity and so as not to obscure more relevant aspects of the embodiments disclosed herein. To this end, as a non-limiting example, in some embodiments, the controller 110 includes one or more processing units 202 (e.g., a microprocessor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a graphics processing unit (GPU), a central processing unit (CPU), a processing core, etc.), one or more input / output (I / O) devices 206, one or more communication interfaces 208 (e.g., a universal serial bus (USB), FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Global Positioning System (GPS), infrared (IR), Bluetooth, ZIGBEE, and / or similar types of interfaces), one or more programming (e.g., I / O) interfaces 210, a memory 220, and one or more communication buses 204 for interconnecting these components and various other components.
[0055] In some embodiments, the one or more communication buses 204 include circuits that interconnect and control communications between system components. In some embodiments, the one or more I / O devices 206 include at least one of a keyboard, a mouse, a touchpad, a joystick, one or more microphones, one or more speakers, one or more image sensors, one or more displays, and the like.
[0056] Memory 220 includes high-speed random access memory, such as dynamic random access memory (DRAM), static random access memory (SRAM), double data rate random access memory (DDR RAM), or other random access solid-state memory devices. In some embodiments, memory 220 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 220 optionally includes one or more storage devices located away from one or more processing units 202. Memory 220 includes non-transitory computer-readable storage media. In some embodiments, memory 220 or a non-transitory computer-readable storage medium of memory 220 stores the following programs, modules, and data structures, or a subset thereof, including an optional operating system 230 and an XR experience module 240.
[0057] The operating system 230 includes instructions for handling various basic system services and for performing hardware-related tasks. In some embodiments, the XR experience module 240 is configured to manage and coordinate single or multiple XR experiences for one or more users (e.g., a single XR experience for one or more users, or multiple XR experiences for corresponding groups of one or more users). To this end, in various embodiments, the XR experience module 240 includes a data acquisition unit 241, a tracking unit 242, a coordination unit 246, and a data transmission unit 248.
[0058] In some embodiments, the data acquisition unit 241 is configured to Figure 1 1 and / or peripherals 195. The data acquisition unit 241 may be configured to obtain data (e.g., presentation data, interaction data, sensor data, and / or position data) from at least the display generation component 120 and optionally from one or more of the input device 125, the output device 155, the sensor 190, and / or the peripheral device 195. To this end, in various embodiments, the data acquisition unit 241 includes instructions and / or logic for the instructions, as well as heuristics and metadata for the heuristics.
[0059] In some embodiments, the tracking unit 242 is configured to map the scene 105 and track at least the display generation component 120 relative to the scene 105. Figure 1 105, and optionally relative to the position / location of one or more of the tracked input device 125, the output device 155, the sensor 190, and / or the peripheral device 195. To this end, in various embodiments, the tracking unit 242 includes instructions and / or logic for the instructions and heuristics and metadata for the heuristics. In some embodiments, the tracking unit 242 includes a hand tracking unit 244 and / or an eye tracking unit 243. In some embodiments, the hand tracking unit 244 is configured to track the position / location of one or more parts of the user's hand and / or the position / location of one or more parts of the user's hand relative to the user's scene 105. Figure 1 The movement of the scene 105 relative to the display generation component 120 and / or relative to the coordinate system (the coordinate system is defined relative to the user's hand). Figure 4 The hand tracking unit 244 is described in more detail. In some embodiments, the eye tracking unit 243 is configured to track the position or movement of the user's gaze (or more broadly, the user's eyes, face, or head) relative to the scene 105 (e.g., relative to the physical environment and / or relative to the user (e.g., the user's hands)) or relative to the XR content displayed via the display generation component 120. Figure 5 The eye tracking unit 243 is described in more detail.
[0060] In some embodiments, the coordination unit 246 is configured to manage and coordinate the XR experience presented to the user by the display generation component 120, and optionally by one or more of the output device 155 and / or peripheral devices 195. To this end, in various embodiments, the coordination unit 246 includes instructions and / or logic for the instructions, as well as heuristics and metadata for the heuristics.
[0061] In some embodiments, the data sending unit 248 is configured to send data (e.g., presentation data and / or position data) to at least the display generation component 120, and optionally to one or more of the input device 125, the output device 155, the sensor 190, and / or the peripheral device 195. To this end, in various embodiments, the data sending unit 248 includes instructions and / or logic for the instructions, as well as heuristics and metadata for the heuristics.
[0062] Although the data acquisition unit 241, the tracking unit 242 (e.g., including the eye tracking unit 243 and the hand tracking unit 244), the coordination unit 246, and the data sending unit 248 are shown as residing on a single device (e.g., the controller 110), it should be understood that in other embodiments, any combination of the data acquisition unit 241, the tracking unit 242 (e.g., including the eye tracking unit 243 and the hand tracking unit 244), the coordination unit 246, and the data sending unit 248 may be located in separate computing devices.
[0063] also, Figure 2 It serves more as a functional description of various features that may be present in a particular implementation, rather than as a structural diagram of the embodiments described herein. As one of ordinary skill in the art will recognize, items shown separately may be combined, and some items may be separated. For example, Figure 2 Some functional modules shown separately in the figure may be implemented in a single module, and the various functions of a single functional block may be implemented by one or more functional blocks in various embodiments. The actual number of modules and the division of specific functions and how features are distributed among them will vary depending on the specific implementation and, in some embodiments, will depend in part on the specific combination of hardware, software, and / or firmware selected for a particular implementation.
[0064] Figure 3is a block diagram of an example of a display generation component 120 according to some embodiments. While some specific features are shown, those skilled in the art will recognize from this disclosure that various other features are not shown for the sake of brevity and so as not to obscure more relevant aspects of the embodiments disclosed herein. For this purpose, as a non-limiting example, in some embodiments, the display generation component 120 (e.g., an HMD) includes one or more processing units 302 (e.g., a microprocessor, an ASIC, an FPGA, a GPU, a CPU, a processing core, etc.), one or more input / output (I / O) devices and sensors 306, one or more communication interfaces 308 (e.g., USB, FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE802.11x, IEEE 802.16x, GSM, CDMA, TDMA, GPS, IR, Bluetooth, ZIGBEE, and / or similar types of interfaces), one or more programming (e.g., I / O) interfaces 310, one or more XR displays 312, one or more optional internal-facing and / or external-facing image sensors 314, memory 320, and one or more communication buses 304 for interconnecting these and various other components.
[0065] In some embodiments, the one or more communication buses 304 include circuits for interconnecting and controlling communications between various system components. In some embodiments, the one or more I / O devices and sensors 306 include 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, and / or a blood glucose sensor), one or more microphones, one or more speakers, a haptic engine, and / or one or more depth sensors (e.g., structured light, time of flight, etc.), etc.
[0066] In some embodiments, one or more XR displays 312 are configured to provide an XR experience to the user. In some embodiments, one or more XR displays 312 correspond to holographic, digital light processing (DLP), liquid crystal display (LCD), liquid crystal on silicon (LCoS), organic light-emitting field effect transistor (OLET), organic light-emitting diode (OLED), surface conduction electron emission display (SED), field emission display (FED), quantum dot light-emitting diode (QD-LED), microelectromechanical system (MEMS) and / or similar display types. In some embodiments, one or more XR displays 312 correspond to diffraction waveguide displays, reflective waveguide displays, polarization waveguide displays and / or holographic waveguide displays. For example, the display generation component 120 (e.g., HMD) includes a single XR display. In another example, the display generation component 120 includes an XR display for each eye of the user. In some embodiments, one or more XR displays 312 are capable of presenting MR and VR content. In some embodiments, one or more XR displays 312 are capable of presenting MR or VR content.
[0067] In some embodiments, the one or more image sensors 314 are configured to obtain image data corresponding to at least a portion of the user's face, including the user's eyes (and may be referred to as an eye-tracking camera). In some embodiments, the one or more image sensors 314 are configured to obtain image data corresponding to the user's hands and, optionally, at least a portion of the user's arms (and may be referred to as a hand-tracking camera). In some embodiments, the one or more image sensors 314 are configured to face forward so as to obtain image data corresponding to the scene that the user would see in the absence of the display generation component 120 (e.g., an HMD) (and may be referred to as a scene camera). The one or more optional image sensors 314 may include one or more RGB cameras (e.g., having a complementary metal oxide semiconductor (CMOS) image sensor or a charge coupled device (CCD) image sensor), one or more infrared (IR) cameras, and / or one or more event-based cameras, etc.
[0068] Memory 320 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices. In some embodiments, memory 320 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 320 optionally includes one or more storage devices located away from one or more processing units 302. Memory 320 includes non-transitory computer-readable storage media. In some embodiments, memory 320 or a non-transitory computer-readable storage medium of memory 320 stores the following programs, modules, and data structures, or a subset thereof, including an optional operating system 330 and an XR rendering module 340.
[0069] The operating system 330 includes processes for handling various basic system services and for performing hardware-related tasks. In some embodiments, the XR rendering module 340 is configured to present XR content to the user via one or more XR displays 312. To this end, in various embodiments, the XR rendering module 340 includes a data acquisition unit 342, an XR rendering unit 344, an XR map generation unit 346, and a data transmission unit 348.
[0070] In some embodiments, the data acquisition unit 342 is configured to obtain data from at least Figure 1 The controller 110 obtains data (e.g., presentation data, interaction data, sensor data, and / or location data). For this purpose, in various embodiments, the data acquisition unit 342 includes instructions and / or logic for instructions and heuristics and metadata for the heuristics.
[0071] In some embodiments, the XR rendering unit 344 is configured to render XR content via one or more XR displays 312. For such purposes, in various embodiments, the XR rendering unit 344 includes instructions and / or logic for the instructions and heuristics and metadata for the heuristics.
[0072] In some embodiments, the XR map generation unit 346 is configured to generate an XR map (e.g., a 3D map of a mixed reality scene or a map of a physical environment in which computer-generated objects can be placed to generate an extended reality) based on the media content data. For this purpose, in various embodiments, the XR map generation unit 346 includes instructions and / or logic for the instructions and heuristics and metadata for the heuristics.
[0073] In some embodiments, the data sending unit 348 is configured to send data (e.g., presentation data and / or position data) to at least the controller 110, and optionally one or more of the input device 125, the output device 155, the sensor 190, and / or the peripheral device 195. For this purpose, in various embodiments, the data sending unit 348 includes instructions and / or logic for the instructions and heuristics and metadata for the heuristics.
[0074] Although the data acquisition unit 342, the XR rendering unit 344, the XR map generation unit 346, and the data transmission unit 348 are shown as residing on a single device (e.g., Figure 1 , but it should be understood that in other embodiments, any combination of the data acquisition unit 342, the XR rendering unit 344, the XR map generation unit 346, and the data sending unit 348 may be located in a separate computing device.
[0075] also, Figure 3 It serves more as a functional description of various features that may be present in a particular embodiment, rather than as a structural schematic diagram of the embodiments described herein. As one of ordinary skill in the art will recognize, items shown separately may be combined, and some items may be separated. For example, Figure 3 Some functional modules shown separately in the figure may be implemented in a single module, and the various functions of a single functional block may be implemented by one or more functional blocks in various embodiments. The actual number of modules and the division of specific functions and how features are distributed among them will vary depending on the specific implementation and, in some embodiments, will depend in part on the specific combination of hardware, software, and / or firmware selected for a particular implementation.
[0076] Figure 4 is a schematic illustration of an exemplary embodiment of the hand tracking device 140. In some embodiments, the hand tracking device 140 ( Figure 1 ) is controlled by the hand tracking unit 244 ( Figure 2 ) to track the position / location of one or more parts of the user's hand and / or one or more parts of the user's hand relative to Figure 1The hand tracking device 140 is configured to monitor movement of the scene 105 relative to the user's surroundings (e.g., relative to a portion of the physical environment surrounding the user, relative to the display generation component 120, or relative to a portion of the user (e.g., the user's face, eyes, or head), and / or relative to a coordinate system defined relative to the user's hands). In some embodiments, the hand tracking device 140 is part of the display generation component 120 (e.g., embedded in or attached to a head-mounted device). In some embodiments, the hand tracking device 140 is separate from the display generation component 120 (e.g., located in a separate housing or attached to a separate physical support structure).
[0077] In some embodiments, the hand tracking device 140 includes an image sensor 404 (e.g., one or more IR cameras, 3D cameras, depth cameras, and / or color cameras) that captures three-dimensional scene information, including at least a human user's hand 406. The image sensor 404 captures hand images at a sufficient resolution to enable the fingers and their respective positioning to be distinguished. The image sensor 404 typically captures images of other parts of the user's body, or may also capture images of all parts of the body, and may have zoom capabilities or specialized sensors with increased magnification to capture images of the hand at a desired resolution. In some embodiments, the image sensor 404 also captures 2D color video images of the hand 406 and other elements of the scene. In some embodiments, the image sensor 404 is used in conjunction with other image sensors to capture the physical environment of the scene 105, or serves as an image sensor for capturing the physical environment of the scene 105. In some embodiments, the image sensor is positioned relative to the user or the user's environment in such a way that the field of view of the image sensor 404, or a portion thereof, is used to define an interaction space in which hand movements captured by the image sensor are treated as input to the controller 110.
[0078] In some embodiments, the image sensor 404 outputs a sequence of frames containing 3D image data (and possibly color image data) to the controller 110, which extracts high-level information from the image data. This high-level information is typically provided via an application program interface (API) to an application running on the controller, which in turn drives the display generation component 120. For example, a user can interact with the software running on the controller 110 by moving his hand 406 and changing his hand pose.
[0079] In some embodiments, the image sensor 404 projects a speckled pattern onto a scene containing the hand 406 and captures an image of the projected pattern. In some embodiments, the controller 110 calculates the 3D coordinates of points in the scene (including points on the surface of the user's hand) by triangulation based on the lateral offsets of the spots in the pattern. This approach is advantageous because it does not require the user to hold or wear any kind of beacon, sensor, or other marker. The method gives the depth coordinates of a point in the scene relative to a predetermined reference plane at a specific distance from the image sensor 404. In the present disclosure, it is assumed that the image sensor 404 defines an orthogonal set of x-axis, y-axis, and z-axis such that the depth coordinates of a point in the scene correspond to the z component measured by the image sensor. Alternatively, the image sensor 404 (e.g., a hand tracking device) may use other 3D mapping methods based on a single or multiple cameras or other types of sensors, such as stereo imaging or time-of-flight measurement.
[0080] In some embodiments, the hand tracking device 140 captures and processes a time series of depth maps containing the user's hand as the user moves his hand (e.g., the entire hand or one or more fingers). Software running on the image sensor 404 and / or the processor in the controller 110 processes the 3D map data to extract image patch descriptors of the hand in these depth maps. The software can match these descriptors with image patch descriptors stored in the database 408 based on a previous learning process to estimate the pose of the hand in each frame. The pose typically includes the 3D positions of the user's hand joints and fingertips.
[0081] The software can also analyze the trajectory of the hand and / or finger over multiple frames in the sequence to identify gestures. The pose estimation function described herein can be alternated with the motion tracking function so that the image block-based pose estimation is performed only once every two (or more) frames, and tracking is used to find changes in pose that occur on the remaining frames. The pose, motion, and gesture information is provided to the application running on the controller 110 via the above-mentioned API. The program can, for example, move and modify the image presented on the display generation component 120 in response to the pose and / or gesture information, or perform other functions.
[0082] In some embodiments, gestures include air gestures. An air gesture is a gesture that is detected without the user touching an input element that is part of a device (e.g., computer system 101, one or more input devices 125, and / or hand tracking device 140) (or independent of an input element that is part of the device) and is based on detected movement of a part of the user's body (e.g., head, one or more arms, one or more hands, one or more fingers, and / or one or more legs) through air (including movement of the user's body relative to an absolute reference (e.g., the angle of the user's arm relative to the ground or the distance of the user's hand relative to the ground), movement relative to another part of the user's body (e.g., movement of the user's hand relative to the user's shoulder, movement of one of the user's hands relative to the user's other hand, and / or movement of a user's finger relative to another finger or part of the user's hand), and / or absolute movement of a part of the user's body (e.g., a tap gesture in which the hand moves a predetermined amount and / or speed in a predetermined posture, or a shake gesture including a predetermined speed or amount of rotation of a part of the user's body).
[0083] In some embodiments, according to some embodiments, the input gestures used in the various examples and embodiments described herein include air gestures for interacting with an XR environment (e.g., a virtual or mixed reality environment) performed by movement of a user's fingers relative to other fingers or parts of the user's hand. In some embodiments, an air gesture is a gesture that is detected without the user touching an input element that is part of the device (or independent of an input element that is part of the device) and is based on detected movement of a part of the user's body through the air (including movement of the user's body relative to an absolute reference (e.g., the angle of the user's arm relative to the ground or the distance of the user's hand relative to the ground), movement relative to another part of the user's body (e.g., movement of the user's hand relative to the user's shoulder, movement of one of the user's hands relative to the user's other hand, and / or movement of the user's fingers relative to another finger or part of the user's hand), and / or absolute movement of a part of the user's body (e.g., a tap gesture in which the hand moves a predetermined amount and / or speed in a predetermined posture, or a shake gesture in which a part of the user's body is rotated at a predetermined speed or amount)).
[0084] In some embodiments where the input gesture is an in-air gesture (e.g., in the absence of physical contact with an input device that provides information to the computer system about which user interface element is the target of the user input, such as contact with a user interface element displayed on a touch screen, or contact with a mouse or trackpad to move a cursor to a user interface element), the gesture takes into account the user's attention (e.g., gaze) to determine the target of the user input (e.g., for direct input, as described below). Thus, in embodiments involving in-air gestures, for example, the input gesture is combined (e.g., simultaneously) with movement of the user's fingers and / or hand to detect attention (e.g., gaze) toward a user interface element to perform a pinch and / or tap input, as described below.
[0085] In some embodiments, an input gesture directed to a user interface object is performed directly or indirectly with reference to the user interface object. For example, user input is performed directly on the user interface object based on performing input with the user's hand at a location corresponding to the location of the user interface object in the three-dimensional environment (e.g., as determined based on the user's current viewpoint). In some embodiments, upon detecting user attention (e.g., gaze) to the user interface object, an input gesture is performed indirectly on the user interface object based on the user's hand being located not at the location corresponding to the location of the user interface object in the three-dimensional environment while the user performs the input gesture. For example, for a direct input gesture, the user can direct the user's input to the user interface object by initiating a gesture at or near a location corresponding to the displayed location of the user interface object (e.g., within 0.5 cm, 1 cm, 5 cm, or a distance between 0 and 5 cm measured from the outer edge of the option or the center portion of the option). For an indirect input gesture, the user can direct the user's input to the user interface object by focusing on the user interface object (e.g., by gazing at the user interface object), and while focusing on the option, the user initiates an input gesture (e.g., at any location detectable by the computer system) (e.g., at a location that does not correspond to the displayed location of the user interface object).
[0086] In some embodiments, according to some embodiments, input gestures (e.g., air gestures) used in various examples and embodiments described herein include pinch input and tap input for interacting with a virtual or mixed reality environment. For example, the pinch input and tap input described below are performed as air gestures.
[0087] In some embodiments, a pinch input is part of an air gesture that includes one or more of: a pinch gesture, a long pinch gesture, a pinch and drag gesture, or a double pinch gesture. For example, a pinch gesture as an air gesture includes movement of two or more fingers of a hand to contact each other, i.e., optionally followed by an immediate (e.g., within 0 to 1 second) interruption of contact with each other. A long pinch gesture as an air gesture includes movement of two or more fingers of a hand in contact with each other for at least a threshold amount of time (e.g., at least 1 second) before an interruption of contact with each other is detected. For example, a long pinch gesture includes the user maintaining a pinch gesture (e.g., in which the two or more fingers are in contact), and the long pinch gesture continues until an interruption of contact between the two or more fingers is detected. In some embodiments, a double pinch gesture as an air gesture includes two (e.g., more) pinch inputs (e.g., performed by the same hand) that are detected consecutively with each other immediately (e.g., within a predefined time period). For example, the user performs a first pinch input (e.g., a pinch input or a long pinch input), releases the first pinch input (e.g., interrupts contact between two or more fingers), and performs a second pinch input within a predefined time period (e.g., within 1 second or within 2 seconds) after releasing the first pinch input.
[0088] In some embodiments, the pinch and drag gesture as an air gesture includes a pinch gesture (e.g., a pinch gesture or a long pinch gesture) performed in conjunction with (e.g., following) a drag input that changes the positioning of the user's hand from a first positioning (e.g., a starting positioning for the drag) to a second positioning (e.g., an ending positioning for the drag). In some embodiments, the user maintains the pinch gesture while performing the drag input, and releases the pinch gesture (e.g., spreads their two or more fingers apart) to end the drag gesture (e.g., at the second positioning). In some embodiments, the pinch input and the drag input are performed by the same hand (e.g., the user pinches two or more fingers to contact each other and moves the same hand to the second positioning in the air using the drag gesture). In some embodiments, a pinch input is performed by a first hand of a user, and a drag input is performed by a second hand of the user (e.g., the second hand of the user moves in the air from a first position to a second position while the user continues the pinch input with the first hand. In some embodiments, the input gesture as an air gesture includes an input performed using both hands of the user (e.g., a pinch and / or tap input). For example, the input gesture includes two (e.g., more) pinch inputs performed in conjunction with each other (e.g., concurrently or within a predefined time period). For example, a first pinch gesture (e.g., a pinch input, a long pinch input, or a pinch and drag input) is performed using the first hand of the user, and in conjunction with the pinch input performed using the first hand, a second pinch input is performed using the other hand (e.g., the second of the user's two hands). In some embodiments, movement between the two hands of the user (e.g., increasing and / or decreasing the distance or relative orientation between the two hands of the user)
[0089] In some embodiments, a tap input performed as an air gesture (e.g., directed to a user interface element) includes movement of a user's finger toward the user interface element, movement of a user's hand toward the user interface element (optionally, extension of the user's finger toward the user interface element), a downward motion of a user's finger (e.g., mimicking a mouse click motion or a tap on a touch screen), or other predefined movement of the user's hand. In some embodiments, a tap input performed as an air gesture is detected based on movement characteristics of the finger or hand performing the tap gesture movement of the finger or hand, which is a movement of the finger or hand away from the user's viewpoint and / or toward an object that is the target of the tap input, followed by an end of the movement. In some embodiments, the end of the movement is detected based on a change in movement characteristics of the finger or hand performing the tap gesture (e.g., an end of movement away from the user's viewpoint and / or toward an object that is the target of the tap input, a reversal of the direction of movement of the finger or hand, and / or a reversal of the acceleration direction of the movement of the finger or hand).
[0090] In some embodiments, the determination that the user's attention is directed to a portion of the three-dimensional environment is based on detecting a gaze directed to the portion of the three-dimensional environment (optionally, no other conditions are required). In some embodiments, the determination that the user's attention is directed to the portion of the three-dimensional environment is based on detecting a gaze directed to the portion of the three-dimensional environment using one or more additional conditions, such as requiring the gaze to be directed to the portion of the three-dimensional environment for at least a threshold duration (e.g., a dwell duration) and / or requiring the gaze to be directed to the portion of the three-dimensional environment when the user's viewpoint is within a distance threshold from the portion of the three-dimensional environment, so that the device determines that the user's attention is directed to the portion of the three-dimensional environment, wherein if one of these additional conditions is not met, the device determines that attention is not directed to the portion of the three-dimensional environment to which the gaze is directed (e.g., until the one or more additional conditions are met).
[0091] In some embodiments, the detection of a ready state configuration of a user or a portion of a user is detected by a computer system. The detection of a ready state configuration of a hand is used by the computer system as an indication that the user may be preparing to interact with the computer system using one or more air gesture inputs performed by the hand (e.g., a pinch, a tap, a pinch and drag, a double pinch, a long pinch, or other air gestures described herein). For example, the ready state of a hand is determined based on whether the hand has a predetermined hand shape (e.g., a pre-pinch shape with the thumb and one or more fingers extended and spaced apart in preparation for a pinch or grab gesture, or a pre-tap with one or more fingers extended and the palm facing away from the user), based on whether the hand is in a predetermined position relative to the user's viewpoint (e.g., below the user's head and above the user's waist and extending at least 15 cm, 20 cm, 25 cm, 30 cm, or 50 cm from the body), and / or based on whether the hand has moved in a particular manner (e.g., toward an area in front of the user above the user's waist and below the user's head, or away from the user's body or legs). In some embodiments, the ready state is used to determine whether an interactive element of a user interface responds to attention (e.g., gaze) input.
[0092] In scenarios where input is described with reference to in-air gestures, it should be understood that similar gestures may be detected using a hardware input device attached to or held by one or more hands of a user, where the positioning of the hardware input device in space may be tracked using optical tracking, one or more accelerometers, one or more gyroscopes, one or more magnetometers, and / or one or more inertial measurement units, and the positioning and / or movement of the hardware input device is used in place of the positioning and / or movement of the one or more hands in the corresponding in-air gesture. In scenarios where input is described with reference to in-air gestures, it should be understood that similar gestures may be detected using a hardware input device attached to or held by one or more hands of a user. User input can be detected using controls contained in a hardware input device, such as one or more touch-sensitive input elements, one or more pressure-sensitive input elements, one or more buttons, one or more knobs, one or more dials, one or more joysticks, one or more hand or finger overlays that can detect the position or change in position of parts of a hand and / or finger relative to each other, relative to the user's body, and / or relative to the user's physical environment, and / or other hardware input device controls, wherein user input using the controls contained in the hardware input device is used in place of hand and / or finger gestures such as an air tap or air pinch in a corresponding air gesture. For example, a selection input described as being performed using an air tap or air pinch input can alternatively be detected using a button press, a tap on a touch-sensitive surface, a press on a pressure-sensitive surface, or other hardware input. As another example, a movement input described as being performed using an air pinch and drag can alternatively be detected based on interaction with a hardware input control (such as a button press and hold, a touch on a touch-sensitive surface, a press on a pressure-sensitive surface, or other hardware input following movement of the hardware input device (e.g., along with a hand associated with the hardware input device) through space). Similarly, two-handed input involving movement of the hands relative to each other may be performed using an air gesture and a hardware input device in the hand that is not performing the air gesture, two hardware input devices held in different hands, or two air gestures performed by different hands using various combinations of air gestures and / or inputs detected by one or more of the aforementioned hardware input devices.
[0093] In some embodiments, the software may be downloaded to the controller 110 in electronic form, for example, over a network, or may alternatively be provided on tangible, non-transitory media such as optical, magnetic, or electronic memory media. In some embodiments, the database 408 is also stored in memory associated with the controller 110. Alternatively or in addition, some or all of the described functions of the computer may be implemented in dedicated hardware, such as a custom or semi-custom integrated circuit or a programmable digital signal processor (DSP). Although in Figure 4, but some or all of the processing functions of the controller may be performed by a suitable microprocessor and software or by dedicated circuitry within the housing of the image sensor 404 (e.g., a hand tracking device) or other device associated with the image sensor 404. In some embodiments, at least some of these processing functions may be performed by a suitable processor integrated with the display generation component 120 (e.g., in a television receiver, handheld device, or head-mounted device) or integrated with any other suitable computerized device (such as a game console or media player). The sensing functions of the image sensor 404 may also be integrated into a computer or other computerized device to be controlled by the sensor output.
[0094] Figure 4 Also included is a schematic diagram of a depth map 410 captured by the image sensor 404 according to some embodiments. As described above, the depth map includes a matrix of pixels with corresponding depth values. Pixels 412 corresponding to the hand 406 have been segmented from the background and wrist in the figure. The brightness of each pixel within the depth map 410 is inversely proportional to its depth value (i.e., the measured z distance from the image sensor 404), where shades of gray become darker with increasing depth. The controller 110 processes these depth values in order to identify and segment components of the image (i.e., a group of adjacent pixels) that have characteristics of a human hand. These characteristics may include, for example, overall size, shape, and motion from frame to frame in the depth map sequence.
[0095] Figure 4 Also schematically shown is a hand skeleton 414 that the controller 110 ultimately extracts from the depth map 410 of the hand 406 according to some embodiments. Figure 4 , a hand skeleton 414 is superimposed on a hand background 416 that has been segmented from the original depth map. In some embodiments, key feature points of the hand and, optionally, on the wrist or arm connected to the hand (e.g., points corresponding to the knuckles, finger tips, center of the palm, and / or the end of the hand connected to the wrist) are identified and positioned on the hand skeleton 414. In some embodiments, the controller 110 uses the position and movement of these key feature points over multiple image frames to determine a gesture performed by the hand or the current state of the hand according to some embodiments.
[0096] Figure 5 An eye tracking device 130 ( Figure 1 ). In some embodiments, the eye tracking device 130 is composed of an eye tracking unit 243 ( Figure 2) controls to track the position and movement of the user's gaze relative to the scene 105 or relative to the XR content displayed via the display generation component 120. In some embodiments, the eye tracking device 130 is integrated with the display generation component 120. For example, in some embodiments, when the display generation component 120 is a head-mounted device (such as a headset, helmet, goggles, or glasses) or a handheld device placed in a wearable frame, the head-mounted device includes both components for generating XR content for the user to view and components for tracking the user's gaze relative to the XR content. In some embodiments, the eye tracking device 130 is separate from the display generation component 120. For example, when the display generation component is a handheld device or an XR room, the eye tracking device 130 is optionally a device separate from the handheld device or the XR room. In some embodiments, the eye tracking device 130 is a head-mounted device or a part of the head-mounted device. In some embodiments, the head-mounted eye tracking device 130 is optionally used in conjunction with a display generation component that is also head-mounted or a display generation component that is not head-mounted. In some embodiments, the eye tracking device 130 is not a head-mounted device and is optionally used in conjunction with a head-mounted display generation component. In some embodiments, the eye tracking device 130 is not a head-mounted device and is optionally part of a non-head-mounted display generation component.
[0097] In some embodiments, the display generation component 120 uses a display mechanism (e.g., a left near-eye display panel and a right near-eye display panel) to display a frame including a left image and a right image in front of the user's eyes, thereby providing the user with a 3D virtual view. For example, the head-mounted display generation component may include a left optical lens and a right optical lens (referred to herein as eye lenses) located between the display and the user's eyes. In some embodiments, the display generation component may include or be coupled to one or more external cameras that capture video of the user's environment for display. In some embodiments, the head-mounted display generation component may have a transparent or translucent display and display virtual objects on the transparent or translucent display, through which the user can directly view the physical environment. In some embodiments, the display generation component projects the virtual objects into the physical environment. The virtual objects may, for example, be projected onto a physical surface or projected as a hologram, so that the individual using the system observes the virtual objects superimposed on the physical environment. In this case, separate display panels and image frames for the left and right eyes may not be required.
[0098] like Figure 5As shown in , in some embodiments, the eye tracking device 130 (e.g., a gaze tracking device) includes at least one eye tracking camera (e.g., an infrared (IR) or near infrared (NIR) camera), and an illumination source (e.g., an IR or NIR light source, such as an array or ring of LEDs) that emits light (e.g., IR or NIR light) toward the user's eyes. The eye tracking camera can be pointed at the user's eyes to receive IR or NIR light that the light source reflects directly from the eyes, or alternatively can be pointed at "hot" mirrors located between the user's eyes and the display panel, which reflect IR or NIR light from the eyes toward the eye tracking camera while allowing visible light to pass through. The eye tracking device 130 optionally captures images of the user's eyes (e.g., as a video stream captured at 60-120 frames per second (fps)), analyzes these images to generate gaze tracking information, and transmits the gaze tracking information to the controller 110. In some embodiments, both eyes of the user are tracked separately by corresponding eye tracking cameras and illumination sources. In some embodiments, only one eye of the user is tracked by corresponding eye tracking camera and illumination source.
[0099] In some embodiments, the eye tracking device 130 is calibrated using a device-specific calibration process to determine the parameters of the eye tracking device for a specific operating environment 100, such as the 3D geometry and parameters of the LED, camera, thermal mirror (if present), eye lens, and display screen. The device-specific calibration process can be performed at a factory or another facility before the AR / VR equipment is delivered to the end user. The device-specific calibration process can be an automatic calibration process or a manual calibration process. The user-specific calibration process may include an estimate of the eye parameters of a specific user, such as pupil position, fovea position, optical axis, visual axis, and / or eye spacing. According to some embodiments, once the device-specific parameters and user-specific parameters are determined for the eye tracking device 130, a flash-assisted method can be used to process the images captured by the eye tracking camera to determine the current visual axis and the user's gaze point relative to the display.
[0100] like Figure 5As shown in FIG, an eye tracking device 130 (e.g., 130A or 130B) includes an eye lens 520 and a gaze tracking system that includes at least one eye tracking camera 540 (e.g., an infrared (IR) or near infrared (NIR) camera) positioned on the side of the user's face on which eye tracking is performed, and an illumination source 530 (e.g., an IR or NIR light source, such as an array or ring of NIR light emitting diodes (LEDs)) that emits light (e.g., IR or NIR light) toward the user's eye 592. The eye tracking camera 540 may be directed toward a reflector 550 (these reflectors reflect the IR or NIR light from the eye 592 while allowing visible light to pass) positioned between the user's eye 592 and a display 510 (e.g., a left display panel or a right display panel of a head-mounted display, or a display and / or projector of a handheld device). Figure 5 ), or alternatively may be directed toward the user's eye 592 to receive reflected IR or NIR light from the eye 592 (e.g., as shown in the top portion of Figure 5 (as shown in the bottom portion of the ).
[0101] In some embodiments, the controller 110 renders AR or VR frames 562 (e.g., left and right frames for left and right display panels) and provides the frames 562 to the display 510. The controller 110 uses the gaze tracking input 542 from the eye tracking camera 540 for various purposes, such as for processing the frames 562 for display. The controller 110 optionally estimates the user's gaze point on the display 510 based on the gaze tracking input 542 obtained from the eye tracking camera 540 using a flash-assisted method or other suitable method. The gaze point estimated from the gaze tracking input 542 is optionally used to determine the direction the user is currently looking.
[0102] The following describes several possible use cases for the user's current gaze direction and is not intended to be limiting. As an example use case, the controller 110 may render virtual content differently based on the determined direction of the user's gaze. For example, the controller 110 may generate virtual content at a higher resolution in the foveal region determined based on the user's current gaze direction than in the peripheral region. As another example, the controller may position or move virtual content within the view based at least in part on the user's current gaze direction. As another example, the controller may display specific virtual content within the view based at least in part on the user's current gaze direction. As another example use case in an AR application, the controller 110 may direct an external camera used to capture the physical environment of an XR experience to focus in the determined direction. The external camera's autofocus mechanism may then focus on an object or surface in the environment on the display 510 that the user is currently looking at. As another example use case, the eye lens 520 may be a focusable lens, and the controller may use gaze tracking information to adjust the focus of the eye lens 520 so that the virtual object the user is currently looking at has the appropriate vergence to match the convergence of the user's eye 592. The controller 110 can use the gaze tracking information to guide the eye lens 520 to adjust the focus so that nearby objects that the user is looking at appear at the correct distance.
[0103] In some embodiments, the eye tracking device is part of a head-mounted device that includes a display (e.g., display 510), two eye lenses (e.g., eye lenses 520), an eye tracking camera (e.g., eye tracking camera 540), and a light source (e.g., illumination source 530 (e.g., IR or NIR LED)) mounted in a wearable housing. The light source emits light (e.g., IR or NIR light) toward the user's eyes 592. In some embodiments, the light sources may be arranged in a ring or circle around each of the lenses, such as Figure 5 In some embodiments, for example, eight illumination sources 530 (e.g., LEDs) are arranged around each lens 520. However, more or fewer illumination sources 530 can be used, and other arrangements and positions of the illumination sources 530 can be used.
[0104] In some embodiments, the display 510 emits light in the visible range and does not emit light in the IR or NIR range, and therefore does not introduce noise into the gaze tracking system. It should be noted that the positions and angles of the eye tracking cameras 540 are given by way of example and are not intended to be limiting. In some embodiments, a single eye tracking camera 540 is located on each side of the user's face. In some embodiments, two or more NIR cameras 540 may be used on each side of the user's face. In some embodiments, a camera 540 with a wider field of view (FOV) and a camera 540 with a narrower FOV may be used on each side of the user's face. In some embodiments, a camera 540 operating at one wavelength (e.g., 850 nm) and a camera 540 operating at a different wavelength (e.g., 940 nm) may be used on each side of the user's face.
[0105] like Figure 5 The embodiments of the gaze tracking system shown in can, for example, be used in computer-generated reality, virtual reality, and / or mixed reality applications to provide a computer-generated reality, virtual reality, augmented reality, and / or augmented virtual experience to a user.
[0106] Figure 6 FIGURE 1 illustrates a flash-assisted gaze tracking pipeline according to some embodiments. In some embodiments, the gaze tracking pipeline is implemented by a flash-assisted gaze tracking system (e.g., Figure 1 and Figure 5 The flash-assisted gaze tracking system can maintain a tracking state. Initially, the tracking state is off or "no." When in the tracking state, the flash-assisted gaze tracking system uses previous information from previous frames when analyzing the current frame to track the pupil outline and glint in the current frame. When not in the tracking state, the flash-assisted gaze tracking system attempts to detect the pupil and glint in the current frame, and if successful, initializes the tracking state to "yes" and continues to the next frame in the tracking state.
[0107] like Figure 6 As shown in , the gaze tracking camera can capture left and right images of the user's left and right eyes. The captured images are then input to the gaze tracking pipeline for processing starting at 610. As indicated by the arrow returning to element 600, the gaze tracking system can continue to capture images of the user's eyes at a rate of, for example, 60 to 120 frames per second. In some embodiments, each set of captured images can be input to the pipeline for processing. However, in some embodiments or under some conditions, not all captured frames are processed by the pipeline.
[0108] At 610, for the currently captured image, if the tracking status is yes, the method proceeds to element 640. At 610, if the tracking status is no, the image is analyzed to detect the user's pupil and glint in the image, as indicated at 620. At 630, if the pupil and glint are successfully detected, the method proceeds to element 640. Otherwise, the method returns to element 610 to process the next image of the user's eye.
[0109] At 640, if proceeding from element 610, the current frame is analyzed to track the pupil and glint based in part on previous information from the previous frame. At 640, if proceeding from element 630, the tracking state is initialized based on the pupil and glint detected in the current frame. The processing result at element 640 is checked to verify that the tracking or detection result can be trusted. For example, the result can be checked to determine whether the pupil and a sufficient number of glints were successfully tracked or detected in the current frame to perform gaze estimation. At 650, if the result is not likely to be trusted, at element 660, the tracking state is set to no, and the method returns to element 610 to process the next image of the user's eye. At 650, if the result is trustworthy, the method proceeds to element 670. At 670, the tracking state is set to YES (if not already yes), and the pupil and glint information is passed to element 680 to estimate the user's gaze point.
[0110] Figure 6 This is intended to be used as an example of an eye tracking technology that may be used for a particular implementation. As one of ordinary skill in the art will appreciate, according to various embodiments, other eye tracking technologies currently existing or developed in the future may be used in place of or in combination with the flash-assisted eye tracking technology described herein in the computer system 101 for providing an XR experience to a user.
[0111] In some embodiments, the captured portion of the real-world environment 602 is used to provide an XR experience to the user, such as a mixed reality environment in which one or more virtual objects are superimposed on top of the representation of the real-world environment 602.
[0112] Thus, the description herein describes some embodiments of a three-dimensional environment (e.g., an XR environment) that includes representations of real-world objects and representations of virtual objects. For example, the three-dimensional environment optionally includes a representation of a table present in a physical environment, which is captured and displayed in the three-dimensional environment (e.g., actively displayed via a camera and display of a computer system or passively displayed via a transparent or translucent display of the computer system). As previously described, the three-dimensional environment is optionally a mixed reality system, wherein the three-dimensional environment is based on a physical environment captured by one or more sensors of the computer system and displayed via a display generation component. As a mixed reality system, the computer system is optionally capable of selectively displaying portions and / or objects of the physical environment so that the corresponding portions and / or objects of the physical environment appear as if they exist in the three-dimensional environment displayed by the computer system. Similarly, the computer system is optionally capable of displaying virtual objects in the three-dimensional environment so that it appears as if the virtual objects exist in the real world (e.g., a physical environment) by placing the virtual objects at corresponding locations in the three-dimensional environment that have corresponding locations in the real world. For example, the computer system optionally displays a vase so that the vase appears as if a real vase is placed on top of a table in the physical environment. In some embodiments, a corresponding location in the three-dimensional environment has a corresponding location in the physical environment. Thus, when a computer system is described as displaying a virtual object at a corresponding location relative to a physical object (e.g., such as at a location at or near a user's hand or at a location at or near a physical table), the computer system displays the virtual object at a particular location in the three-dimensional environment such that it appears as if the virtual object is at or near the physical object in the physical environment (e.g., the virtual object is displayed at a location in the three-dimensional environment that corresponds to the location in the physical environment where the virtual object would be displayed if it were the real object at that particular location).
[0113] In some embodiments, real-world objects present in the physical environment that are displayed in the three-dimensional environment (e.g., and / or visible via display generation components) can interact with virtual objects that exist only in the three-dimensional environment. For example, the three-dimensional environment may include a table and a vase placed on top of the table, where the table is a view (or representation) of a physical table in the physical environment and the vase is a virtual object.
[0114] In a three-dimensional environment (e.g., a real environment, a virtual environment, or an environment that includes a mixture of real and virtual objects), objects are sometimes referred to as having depth or simulated depth, or objects are referred to as being visible, displayed, or placed at different depths. In this context, depth refers to a dimension other than height or width. In some embodiments, depth is defined relative to a fixed set of coordinates (e.g., where a room or object has a height, depth, and width defined relative to the fixed set of coordinates). In some embodiments, depth is defined relative to the user's position or viewpoint, in which case the depth dimension varies based on the position of the user and / or the position and angle of the user's viewpoint. In some embodiments where depth is defined relative to the user's position relative to a surface of the environment (e.g., the surface of the floor or ground of the environment), objects that are farther away from the user along a line extending parallel to the surface are considered to have greater depth in the environment, and / or the depth of an object is measured along an axis extending outward from the user's position and parallel to the surface of the environment (e.g., depth is defined in a cylindrical or substantially cylindrical coordinate system where the user's position is at the center of a cylinder extending from the user's head toward the user's feet). In some embodiments where depth is defined relative to a user's viewpoint (e.g., relative to the direction of a point in space that determines which portion of the environment is visible via a head-mounted device or other display), objects that are farther away from the user's viewpoint along a line extending parallel to the user's viewpoint are considered to have greater depth in the environment, and / or the depth of an object is measured along an axis extending outward from the user's viewpoint and parallel to the direction of the user's viewpoint (e.g., depth is defined in a spherical or substantially spherical coordinate system with the origin of the viewpoint at the center of a sphere extending outward from the user's head). In some embodiments, depth is defined relative to a user interface container (e.g., a window or application displaying applications and / or system content), where the user interface container has a height and / or width, and depth is a dimension orthogonal to the height and / or width of the user interface container. In some embodiments, where depth is defined relative to a user interface container, when the container is placed in a three-dimensional environment or initially displayed (e.g., such that the depth dimension of the container extends outward away from the user or the user's viewpoint), the height and / or width of the container is generally orthogonal or substantially orthogonal to a line extending from a user-based position (e.g., the user's viewpoint or the user's position) to the user interface container (e.g., the center of the user interface container or another feature point of the user interface container). In some embodiments, where depth is defined relative to a user interface container, the depth of an object relative to the user interface container refers to the position of the object along the depth dimension of the user interface container. In some embodiments, multiple different containers may have different depth dimensions (e.g., different depth dimensions extending away from the user or from the user's viewpoint in different directions and / or from different starting points).In some embodiments, when depth is defined relative to a user interface container, the direction of the depth dimension remains constant for the user interface container as the position of the user interface container, the user, and / or the user's viewpoint changes (e.g., or when multiple different viewers are viewing the same container in a three-dimensional environment, such as during a face-to-face collaboration session and / or when multiple participants are in a real-time communication session with shared virtual content that includes the container). In some embodiments, for curved containers (e.g., including containers with curved surfaces or curved content areas), the depth dimension optionally extends into the surface of the curved container. In some cases, z spacing (e.g., the spacing between two objects in the depth dimension), z height (e.g., the distance between one object and another in the depth dimension), z position (e.g., the position of an object in the depth dimension), z depth (e.g., the position of an object in the depth dimension), or simulated z dimension (e.g., used as a dimension of an object, a dimension of an environment, a direction in space, and / or depth of a direction in simulated space) is used to refer to the concept of depth as described above.
[0115] In some embodiments, the user can optionally use one or both hands to interact with virtual objects in a three-dimensional environment as if the virtual objects were real objects in the physical environment. For example, as described above, one or more sensors of the computer system optionally capture one or more of the user's hands and display representations of the user's hands in the three-dimensional environment (e.g., in a manner similar to displaying real-world objects in the three-dimensional environment described above), or in some embodiments, the user's hands can be visible via the display generation component due to the transparency / translucency of a portion of the user interface being displayed by the display generation component, or due to the projection of the user interface onto a transparent / translucent surface or onto the user's eyes or into the field of view of the user's eyes, via the ability to see the physical environment through the user interface. Thus, in some embodiments, the user's hands are displayed at corresponding locations in the three-dimensional environment and are viewed as if they were objects in the three-dimensional environment, and these objects can interact with virtual objects in the three-dimensional environment as if these virtual objects were physical objects in the physical environment. In some embodiments, the computer system can update the display of the representation of the user's hands in the three-dimensional environment in conjunction with the movement of the user's hands in the physical environment.
[0116] In some embodiments described below, the computer system is optionally capable of determining an "effective" distance between a physical object in the physical world and a virtual object in a three-dimensional environment, for example, to determine whether the physical object is directly interacting with the virtual object (e.g., whether the hand is touching, grabbing, and / or holding the virtual object or is within a threshold distance of the virtual object). For example, a hand directly interacting with a virtual object optionally includes one or more of the following: a finger of a hand pressing a virtual button, a user's hand grabbing a virtual vase, two fingers of a user's hand coming together and pinching / holding the user interface of an application, and any other type of interaction described herein. For example, when determining whether a user is interacting with a virtual object and / or how the user is interacting with the virtual object, the computer system optionally determines the distance between the user's hand and the virtual object. In some embodiments, the computer system determines the distance between the user's hand and the virtual object by determining the distance between the position of the hand in the three-dimensional environment and the position of the virtual object of interest in the three-dimensional environment. For example, the user's hand(s) are positioned at a specific location in the physical world, and the computer system optionally captures the hand(s) and displays the hand(s) at a specific corresponding location in the three-dimensional environment (e.g., the location at which the hand(s) would be displayed in the three-dimensional environment if the hand(s) were virtual hands rather than physical hands). The location of the hand(s) in the three-dimensional environment is optionally compared to the location of the virtual object(s) of interest in the three-dimensional environment to determine the distance between the user's hand(s) and the virtual object(s). In some embodiments, the computer system optionally determines the distance between the physical object(s) and the virtual object(s) by comparing the locations in the physical world (e.g., rather than comparing the locations in the three-dimensional environment). For example, when determining the distance between the user's hand(s) and the virtual object(s), the computer system optionally determines the corresponding location of the virtual object(s) in the physical world (e.g., the location at which the virtual object(s) would be located in the physical world if the virtual object(s) were physical objects rather than virtual objects), and then determines the distance between the corresponding physical location and the user's hand(s). In some embodiments, the same technique is optionally used to determine the distance between any physical object and any virtual object. Thus, as described herein, when determining whether a physical object is in contact with a virtual object or whether a physical object is within a threshold distance of a virtual object, the computer system optionally executes any of the techniques described above to map the position of the physical object to a three-dimensional environment and / or map the position of the virtual object to the physical environment.
[0117] In some embodiments, the same or similar techniques are used to determine where and what the user's gaze is directed to, and / or where and what a physical stylus held by the user is pointed to. For example, if the user's gaze is directed to a particular location in the physical environment, the computer system optionally determines a corresponding location in the three-dimensional environment (e.g., a virtual location of the gaze), and if a virtual object is located at the corresponding virtual location, the computer system optionally determines that the user's gaze is directed to the virtual object. Similarly, the computer system is optionally able to determine the direction in which the stylus is pointing in the physical environment based on the orientation of the physical stylus. In some embodiments, based on this determination, the computer system determines a corresponding virtual location in the three-dimensional environment that corresponds to the location in the physical environment that the stylus is pointing to, and optionally determines that the stylus is pointing to the corresponding virtual location in the three-dimensional environment.
[0118] Similarly, the embodiments described herein may refer to the position of a user (e.g., a user of a computer system) in a three-dimensional environment and / or the position of a computer system in a three-dimensional environment. In some embodiments, the user of the computer system is holding, wearing, or otherwise located at or near the computer system. Thus, in some embodiments, the position of the computer system is used as a proxy for the position of the user. In some embodiments, the position of the computer system and / or the user in the physical environment corresponds to a corresponding position in the three-dimensional environment. For example, the position of the computer system will be a position in the physical environment (and its corresponding position in the three-dimensional environment) that, if the user were standing at that position, facing the corresponding portion of the physical environment visible via the display generation component, would be visible to the user from that position in the physical environment in the same position, orientation, and / or size (e.g., in absolute terms and / or relative to each other) as the objects displayed in the three-dimensional environment by the display generation component of the computer system or visible in the three-dimensional environment via the display generation component. Similarly, if the virtual objects displayed in the three-dimensional environment are physical objects in the physical environment (e.g., physical objects placed at the same location in the physical environment as the virtual objects are located in the three-dimensional environment, and physical objects that have the same size and orientation in the physical environment as they do in the three-dimensional environment), then the position of the computer system and / or user is the position from which the user would see the virtual objects in the physical environment at the same location, orientation, and / or size (e.g., in an absolute sense and / or relative to each other and real-world objects) as the virtual objects displayed in the three-dimensional environment by the display generation components of the computer system.
[0119] In this disclosure, various input methods are described with respect to interaction with a computer system. When an example is provided using one input device or input method, and another example is provided using another input device or input method, it should be understood that each example is compatible with and optionally utilizes the input device or input method described with respect to the other example. Similarly, various output methods are described with respect to interaction with a computer system. When an example is provided using one output device or output method, and another example is provided using another output device or output method, it should be understood that each example is compatible with and optionally utilizes the output device or output method described with respect to the other example. Similarly, various methods are described with respect to interaction with a virtual environment or a mixed reality environment through a computer system. When an example is provided using interaction with a virtual environment, and another example is provided using a mixed reality environment, it should be understood that each example is compatible with and optionally utilizes the methods described with respect to the other example. Therefore, this disclosure discloses embodiments that are combinations of features from multiple examples, without necessarily listing all features of the embodiments in detail in the description of each example embodiment.
[0120] User interface and associated processes
[0121] Attention is now directed to embodiments of a user interface ("UI") and associated processes that may be implemented on a computer system (such as a portable multifunction device or a head-mounted device) having display generating components, one or more input devices, and (optionally) one or more cameras.
[0122] 7A to 7I An example of a computer system that facilitates interaction with multiple objects in a three-dimensional environment is shown, according to some embodiments.
[0123] Figure 7A The computer system (eg, electronic device) 101a is shown via a display generating component (eg, Figure 1 The display generation component 120 of the computer system 101a displays the three-dimensional environment 702 from the viewpoint of the user 726 shown in a top view (e.g., facing the back wall of the physical environment in which the computer system 101a is located). In some embodiments, the computer system 101a includes a display generation component (e.g., a touch screen) and multiple image sensors (e.g., Figure 3The image sensor 314 optionally includes one or more of the following: a visible light camera; an infrared camera; a depth sensor; or any other sensor that the computer system 101a can use to capture one or more images of the user or a portion of the user (e.g., one or more hands of the user) as the user interacts with the computer system 101a. In some embodiments, the user interface shown and described below may also be implemented on a head-mounted display that includes a display generation component that displays the user interface or three-dimensional environment to the user, as well as sensors that detect movement of the physical environment and / or the user's hands (e.g., external sensors facing outward from the user) and / or sensors that detect the user's attention (e.g., gaze) (e.g., internal sensors facing inward toward the user's face).
[0124] like Figure 7A As shown, computer system 101a captures one or more images of the physical environment surrounding computer system 101a (e.g., operating environment 100), including one or more objects in the physical environment surrounding computer system 101a. In some embodiments, computer system 101a displays a representation of the physical environment in a three-dimensional environment 702. For example, three-dimensional environment 702 includes a representation 722a of a coffee table (corresponding to table 722b in the top view), which is optionally a representation of a physical coffee table in the physical environment, and three-dimensional environment 702 includes a representation 724a of a sofa (corresponding to sofa 724b in the top view), which is optionally a representation of a physical sofa in the physical environment.
[0125] exist Figure 7A , the three-dimensional environment 702 also includes virtual objects 707a ("window 1", corresponding to the object 707b in the top view) and 709a ("window 2", corresponding to the object 709b in the top view). Virtual objects 707a and 709a are optionally at different distances from the viewpoint of the user 726 in the three-dimensional environment 702. For example, in Figure 7A , virtual object 707a is located at a first position closer to the viewpoint of user 726 than a second position of virtual object 709a in three-dimensional environment 702, as reflected in the top view. In some embodiments, virtual objects 707a and 709a are, optionally, one or more of a user interface of an application that includes content (e.g., a quick look window displaying photos), a three-dimensional object (e.g., a virtual clock, a virtual ball, and / or a virtual car), or any other element displayed by computer system 101a that is not included in the physical environment of display generation component 120.
[0126] In some embodiments, computer system 101a is engaged in a communication session with a second computer system 101b (shown in a top view). For example, virtual objects 707a and 709a within a three-dimensional environment 702 and / or the three-dimensional environment 702 are displayed simultaneously by both computer system 101a and second computer system 101b, but from different viewpoints associated with their respective users. In some embodiments, in the communication session, user 726 of computer system 101a has a first viewpoint of the three-dimensional environment 702, and a second user of second computer system 101b has a second viewpoint of the three-dimensional environment 702. For example, Figure 7A , the field of view of the three-dimensional environment 702 from a first point of view of a user 726 of a computer system 101a includes a first portion of the three-dimensional environment 702 (including virtual objects 707a and 709a), and the field of view of the three-dimensional environment 702 from a second point of view of a second user of a second computer system 101b includes a second portion of the three-dimensional environment 702. In some embodiments, the second portion of the three-dimensional environment 702 includes virtual object 707a and / or virtual object 709a, or includes neither virtual object 707a nor virtual object 709a. In some embodiments, the computer system 101a and the second computer system 101b are located in the same physical environment (e.g., in a Figure 7A In some embodiments, computer system 101a and second computer system 101b are located in different physical environments (e.g., different cities, different rooms, different states, and / or different countries).
[0127] In some embodiments, when computer system 101a is in a communication session with a second computer system 101b, three-dimensional environment 702 includes a virtual representation of a second user of second computer system 101b. Figure 7A As shown in , the three-dimensional environment 702 includes an avatar 706a corresponding to a second user of the second computer system 101b (corresponding to the avatar 706b in the top view). Figure 7A 7. In the embodiment of the present invention, an avatar 706a corresponding to the second user is optionally displayed at a third position in the three-dimensional environment 702 that is farthest from the viewpoint of the user 726 (e.g., among the positions of virtual objects 707a and 709a), as shown in the top view. In some embodiments, the avatar 706a includes a three-dimensional representation (e.g., a rendering) of the second user. In some embodiments, the avatar 706a corresponding to the second user includes a representation of the second computer system 101b of which the second user is a user. In some embodiments, the second portion of the three-dimensional environment 702 from the second user's second viewpoint displayed at the second computer system 101b includes a virtual representation of the user 726 of the computer system 101a.
[0128] In some embodiments, the virtual objects are displayed in the three-dimensional environment 702 with corresponding orientations relative to the viewpoint of the user 726 (e.g., before receiving input to interact with the virtual objects in the three-dimensional environment 702, as will be described later). Figure 7A , virtual objects 707a and 709a and an avatar 706a corresponding to a second user of the second computer system 101b have a first orientation in the three-dimensional environment 702. For example, the virtual objects 707a and 709a and a front surface / portion of the avatar 706a facing the viewpoint of the user 726 are flat / horizontal (or parallel) relative to the viewpoint of the user 726, as shown in FIG. Figure 7A 707b, 709b and 706b are shown in the top view. It should be understood that Figure 7A The orientation of the virtual objects in is merely exemplary, and other orientations are possible; for example, the virtual objects are optionally displayed in different orientations in the three-dimensional environment 702.
[0129] In some embodiments, the virtual object 707a and / or the virtual object 709a are shared between the user 726 of the computer system 101a and the second user of the second computer system 101b (e.g., when the computer system 101a and the second computer system 101b are engaged in a communication session). For example, the user interface and / or content (e.g., text, images, videos, files, icons, and / or control elements) of the virtual objects 707a and / or 709a are displayed in the first portion and / or the second portion of the three-dimensional environment 702, such that the user interface and / or content of the virtual objects 707a and / or 709a are accessible (e.g., viewable and / or interactable (e.g., selectable or scrollable)) by the user 726 of the computer system 101a and the second user of the second computer system 101b. In some embodiments, as described below, when virtual objects 707a and 709a are shared between user 726 and a second user, changes in the relative positions of virtual objects 707a and / or 709a in three-dimensional environment 702 due to user input received at computer system 101a are reflected in a second portion of three-dimensional environment 702 at second computer system 101b relative to a second viewpoint of the second user. In some embodiments, virtual objects 707a and virtual objects 709a are not shared between user 726 of computer system 101a and a second user of second computer system 101b. For example, computer system 101a displays virtual object 707a and virtual object 709a in three-dimensional environment 702 and / or provides user 726 with access to the contents of virtual object 707a and virtual object 709a, and second computer system 101b forgoes displaying virtual object 707a and virtual object 709a in the portion of three-dimensional environment 702 at second computer system 101b and / or forgoes providing the second user with access to the contents of virtual object 707a and virtual object 709a. In some embodiments, when virtual objects 707a and 709a are not shared between user 726 and the second user, changes in the relative positions of virtual objects 707a and / or 709a in three-dimensional environment 702 due to user input received at computer system 101a are not reflected in the second portion of the three-dimensional environment at second computer system 101b relative to the second user's second viewpoint.
[0130] In some embodiments, the computer system 101a and the second computer system 101b communicate with each other such that the display of the virtual objects 707a and 709a within the three-dimensional environment 702 and / or the computer systems 101a and 101b's display of the three-dimensional environment 702 are coordinated. For example, as described below, changes (e.g., changes in position) made to the virtual objects 707a and / or 709a within the three-dimensional environment 702 and the avatar 706a corresponding to the second user and / or the three-dimensional environment 702 in response to input from the user 726 of the computer system 101a are reflected in the second computer system 101b's display of the virtual objects 707a and / or 709a within the portion of the three-dimensional environment 702 and the avatar 706a and / or the three-dimensional environment 702. In some embodiments, as described below, in response to detecting one or more interaction inputs of a first type, the computer system 101a performs a first operation including simultaneously repositioning virtual objects 707a and 709a and an avatar 706a corresponding to a second user within the three-dimensional environment 702 relative to the viewpoint of the user 726 based on the interaction inputs. In response to detecting a second type of interaction input different from the first type, the computer system 101a optionally performs a second operation different from the first operation.
[0131] exist Figure 7A In FIG. 7 , the computer system detects a first interaction input provided by hand 703a (“hand 1”). In some embodiments, the first interaction input corresponds to a request to move one or more virtual objects displayed in the three-dimensional environment 702. For example, according to 7A to 7B , the computer system 101a detects that the hand 703a provides a selection input directed to the three-dimensional environment 702, followed by a movement. In some embodiments, the computer system 101a detects that the hand 703a moves away from the body of the user 726 and provides a pinch directed to the three-dimensional environment 702 (e.g., and / or virtual object 707a, virtual object 709a, or avatar 706a), followed by the hand 703a moving in a first direction (e.g., to the right) at a first magnitude (e.g., speed or distance) while maintaining the pinching hand shape. Additionally, as Figure 7A As shown in FIG, when computer system 101a detects a first interaction input provided by hand 705a, computer system 101 optionally detects hand 703a ("hand 2") providing a second interaction input. 7A to 7B, when hand 703a provides the first interaction input, computer system 101a detects hand 705a in an engaged posture (e.g., where hand 703a is elevated / raised relative to a portion of the torso of user 726 and / or relative to the surface on which user 726 is positioned). In some embodiments, when computer system 101a detects the first interaction input provided by hand 705a, hand 703a maintains an air pinch gesture and / or is in a ready state. In some embodiments, computer system 101a detects hand 703a and hand 705a providing the first interaction input and the second interaction input, respectively, simultaneously. For example, computer system 101a detects hand 703a and hand 705a providing a selection input directed to three-dimensional environment 702 simultaneously, followed by hand 703a moving in a first direction by a first magnitude. In some embodiments, the input from hand 703a and / or 705a is an air gesture input, as described above. It should be understood that although in 7A to 7I Multiple hands and multiple corresponding inputs are shown, but such hands and inputs need not be detected simultaneously by the computer system 101a; rather, in some embodiments, the computer system 101a independently responds to such hands and / or inputs in response to independently detecting the hands and / or inputs shown and described.
[0132] In some embodiments, in response to detecting Figure 7A The computer system 101a manipulates the three-dimensional environment 702 according to the first interactive input. Figure 7B , in response to detecting movement of hand 705a in a rightward direction relative to the viewpoint of user 726 while hand 703a is engaged, computer system 101a simultaneously moves (e.g., translates) virtual objects 707a and 709a and avatar 706a to the right in three-dimensional environment 702 relative to the viewpoint of user 726 (e.g., a reference point in a top-down view) in accordance with the rightward movement of hand 703a. In some embodiments, the direction and / or magnitude of movement of virtual objects 707a and 709a and avatar 706a within the three-dimensional environment is based on the direction and / or magnitude of movement of hand 703a and / or hand 705a relative to one or more parts of the body of user 726. For example, computer system 101a detects movement of hand 703a relative to hand 705a and / or relative to a predefined portion and / or portion of the upper body (e.g., torso, shoulders, or head). Figure 7A The viewpoint of user 726 in FIG. 7 moves to the right, which causes computer system 101a to move virtual objects 707a and 709a and avatar 706a to the right. Figure 7B In addition, the computer system 101a detects that the hand 703a moves to the right in the three-dimensional environment 702. Figure 7A706a and 707a. In some embodiments, as discussed below, if and when the computer system 101a detects that the user 726 is moving a predefined portion of the upper body of the user 726 by a first magnitude (e.g., a first speed, a first duration, and / or a first distance), the computer system causes the virtual objects 707a and 709a and the avatar 706a to simultaneously move in the three-dimensional environment 702 by a second magnitude (e.g., a second speed and / or a second distance) based on the first magnitude. Figure 7A If hand 705a is not engaged when hand 703a provides the first interactive input, the computer system 101a will abandon the simultaneous movement of virtual objects 707a and 709a and avatar 706a in the three-dimensional environment 702 relative to the viewpoint of the user 726 based on the movement of hand 703a.
[0133] Furthermore, in some embodiments, in response to detecting Figure 7A In response to the first interactive input and the second interactive input, the computer system 101a changes the appearance of the three-dimensional environment 702, such as Figure 7B For example, refer to Figure 7A , before the computer system 101a detects the first interaction input provided by the hand 703a, the three-dimensional environment 702 is displayed in a first visual appearance. Figure 7A As shown in , the portion of the three-dimensional environment 702 surrounding the virtual objects 707a and 709a and the avatar 706a corresponding to the second user is optionally displayed without visual effects (e.g., without blurring effects, shadow / darkening effects, and / or color changes). Figure 7B As shown in , when computer system 101a detects a first interaction input provided by hand 703a when second hand 705a is engaged, computer system 101a displays three-dimensional environment 702 in a second visual appearance that is different from the first visual appearance. For example, Figure 7B , portions of the three-dimensional environment 702 surrounding virtual objects 707a and 709a and avatar 706a are displayed with a visual effect (e.g., with a blur effect, a shadow / darkening effect, and / or a color change effect), while the virtual objects 707a and 709a and avatar 706a remain displayed without the visual effect. In some embodiments, the change in the visual effect of the environment 702 includes applying the visual effect to representations 722a and 724a of real objects, surfaces, and other features in the physical environment of the computer system 101a and / or display generation component 120. In some embodiments, the display of the three-dimensional environment 702 with the second visual appearance indicates that the virtual objects 707a and 709a and avatar 706a are able to simultaneously reposition (e.g., translate and / or rotate) within the three-dimensional environment 702 when the computer system 101a detects interaction input from the hand 703a and / or the hand 705a.
[0134] In some embodiments, when a user 726 of computer system 101a is conducting a communication session with a second user of a second computer system 101b, when computer system 101a detects that a user 726 of computer system 101a is conducting a communication session with a second user of a second computer system 101b, Figure 7A When the hand 703a in the second computer system 101b and / or the first interaction input and / or the second interaction input provided by 703a are displayed, the second computer system 101b changes the appearance of the avatar corresponding to the user 726 in the portion of the three-dimensional environment 702 displayed at the second computer system 101b, as shown in FIG. Figures 7H to 7I In addition, if virtual objects 707a and 709a are shared between user 726 and a second user of a second computer system 101b, then when computer system 101a shares virtual objects 707a and 709a according to Figure 7B As shown, when the virtual objects 707a and 709a and the avatar 706a are moved within the three-dimensional environment 702 relative to the viewpoint of the user 726 by the movement of the hand 703a, the second computer system 101b moves the avatar corresponding to the user 726 in the portion of the three-dimensional environment 702 displayed at the second computer system 101b without moving the virtual objects 707a and 709a in the portion of the three-dimensional environment 702 displayed at the second computer system 101b, as shown in FIG. Figures 7H to 7I Described in more detail.
[0135] In some embodiments, in response to detecting movement of the hand directed to the three-dimensional environment 702 that corresponds to movement of the virtual objects 707a and 709a and the avatar 706a outside of the field of view of the user 726 (e.g., in a rightward direction, as similarly discussed above), the computer system 101a will move the virtual objects 707a and 709a and the avatar 706a outside of the field of view of the user 726 (e.g., in a rightward direction) relative to the viewpoint of the user 726. In some embodiments, if the computer system 101a detects interaction input directed to the three-dimensional environment 702 (e.g., provided by the hand 703b and / or 705b) while there are no objects in the field of view, the computer system 101a will limit the manipulation of the three-dimensional environment 702 performed in response to detecting the interaction input. For example, if the provided interactive input corresponds to a rotation of the three-dimensional environment 702 relative to a reference point other than the viewpoint of the user 726 (e.g., based on the location of the user's 726 attention within the three-dimensional environment 702), the computer system 101a will forgo rotating the three-dimensional environment 702 relative to the viewpoint of the user 726. Instead, the computer system 101a will optionally manipulate (e.g., translate and / or rotate) the three-dimensional environment 702 relative to the viewpoint of the user 726, and / or will optionally not perform an operation to manipulate the three-dimensional environment 702. Figures 13A to 13G And / or method 1400 provides additional details regarding manipulating the three-dimensional environment 702 when no objects are in the field of view of the user 726.
[0136] In some embodiments, if the user Figure 7A As shown, the use of both hands to initiate manipulation of the three-dimensional environment, the computer system 101a can further manipulate the three-dimensional environment 702 in response to detecting the continuation of the interactive input with one hand. Figure 7B In FIG. 7 , the computer system 101a detects that the hand 703b provides movement input directed to the three-dimensional environment 702, while the three-dimensional environment 702 is displayed in the second visual appearance described above. For example, the computer system 101a detects that the hand 703b (e.g., while maintaining Figure 7A ), which corresponds to a request to rotate the virtual object displayed in the three-dimensional environment in a clockwise direction around the reference point (marked in the top view) relative to the viewpoint of the user 726. Figure 7B , the computer system 101a detects that the hand 705b stops providing Figure 7A 705b releases the mid-air pinch gesture and / or detects that hand 705b is no longer in an engaged position (e.g., hand 705b is relaxed and / or lowered relative to the surface on which user 726 is positioned). Computer system 101a optionally detects movement of hand 703b and / or 705b, regardless of where the user's attention (including gaze) is in three-dimensional environment 702. For example, computer system 101a manipulates three-dimensional environment 702 in response to movement of hand 705b and / or 703b, regardless of where the attention is in three-dimensional environment 702.
[0137] In some embodiments, in response to when hand 705b is no longer engaged Figure 7B When the movement of the hand 703b is detected, the computer system 101a manipulates the three-dimensional environment 702 according to the movement of the hand 703b. Figure 7C As shown in Figure 7B The computer system 101a moves the hand 703b in the three-dimensional environment 702 in a clockwise direction (e.g., around the viewpoint of the user 726) according to the movement of the hand 703b. Figure 7C 706a) while repositioning (e.g., rotating) virtual objects 707a and 709a and avatar 706a. As shown, in response to detecting the movement of hand 703b, computer system 101a displays virtual objects 707a and 709a and avatar 706a in a second orientation that is different from the first orientation discussed above. For example, the frontal surfaces / portions of virtual objects 707a and 709a and avatar 706a are tilted / slightly angled to the left relative to the viewpoint of user 726, as shown in FIG. Figure 7C707b, 709b, and 706b, respectively, in a top view of the three-dimensional environment 702 in FIG. Additionally, in some embodiments, the computer system 101a maintains a display of the three-dimensional environment 702 (e.g., the portion of the three-dimensional environment surrounding the virtual objects 707a and 709a and the avatar 706a) having a second visual appearance.
[0138] As mentioned above, in Figure 7B In FIG, when hand 705b is no longer engaged (eg, no longer providing the second interaction input), computer system 101a detects the movement of hand 703b. Since hand 705a is in Figure 7A Therefore, in some embodiments, the computer system 101a will be Figure 7B The movement input provided by the hand 703b in the three-dimensional environment 702 is recognized as a movement input for manipulating the three-dimensional environment 702, rather than being recognized as a movement input directed to a single object (e.g., the virtual object 707a or the virtual object 709a), as shown in FIG. Figures 7F to 7G Thus, if user 726 uses two hands to initiate manipulation of three-dimensional environment 702, as Figure 7A As shown, and using one hand to provide additional manipulation input, such as Figure 7B As shown, the computer system 101a optionally manipulates the three-dimensional environment 702 based on the single-hand input, as shown in FIG. Figure 7C shown.
[0139] In some embodiments, the computer system 101a maintains display of the three-dimensional environment 702 having the second visual appearance for a predefined period of time after detecting the end of the interactive input. Figure 7C , hand 703c stops providing movement input directed to three-dimensional environment 702. For example, computer system 101a detects that hand 703c releases the pinch gesture and / or detects that hand 703c is no longer in an engaged position (e.g., hand 703c is relaxed and / or lowered relative to the surface on which user 726 is positioned). Additionally, Figure 7C , the computer system 101a detects that the hand 705b remains in a disengaged posture (e.g., relaxed and / or not providing an air pinch gesture). For example, as described above, the computer system 101a detects that the hand 705b is located near the torso of the user 726 without the index finger and thumb of the hand 705b being in contact.
[0140] In some embodiments, in response to detecting that hand 703c releases Figure 7C , the computer system 101a maintains display of the three-dimensional environment 702 having the second visual appearance for a threshold amount of time. Figure 7DIn the embodiment of the present invention, the computer system 101a maintains the shadow / darkening effect, blurring effect, and / or color changing effect applied to the portion of the three-dimensional environment 702 surrounding the virtual objects 707a and 709a and the avatar 706a corresponding to the second user for a threshold amount of time relative to the viewpoint of the user 726. An example of the threshold amount of time is provided below in the description of the method 800. In some embodiments, after detecting that the threshold amount of time has elapsed, the computer system 101a redisplays the three-dimensional environment 702 in the first visual appearance, as previously described. Figure 7A In some embodiments, if the computer system 101a detects interaction input provided by the hand 705b or 703c of the user 726 before a threshold amount of time has elapsed (e.g., when the three-dimensional environment 702 is displayed in the second visual appearance), the computer system 101a will manipulate the three-dimensional environment 702 in accordance with the interaction input, as described below. In some embodiments, if the computer system 101a detects interaction input provided by the hand 705b or 703c of the user 726 before a threshold amount of time has elapsed (e.g., when the three-dimensional environment 702 is displayed in the second visual appearance), the computer system 101a will manipulate the three-dimensional environment 702 in accordance with the interaction input, as described below. Figure 7C The second visual appearance shown changes to Figure 7A If the computer system 101a detects an interactive input provided by the hand 705b or 703c of the user 726 after the first visual appearance shown is redisplayed, the computer system 101a will abandon the manipulation of the three-dimensional environment 702 and will perform an alternative operation, as shown in FIG. Figures 7F to 7G Described in more detail.
[0141] exist Figure 7D , when the three-dimensional environment 702 is displayed in the second visual appearance, the hand 703d is providing interactive input. For example, the computer system 101a detects that the hand 703d provides a selection input (e.g., provides a pinch), and then moves the hand 703d in a counterclockwise direction (e.g., while maintaining the pinch hand shape) before the threshold amount of time has elapsed. Additionally, Figure 7C , hand 705b continues to remain in the disengaged pose (e.g., relaxed and / or not simultaneously providing an air pinch gesture and / or not in a pinch hand shape).
[0142] In some embodiments, in response to Figure 7D In the example, if the interactive input is detected before the threshold amount of time has passed, the computer system 101a manipulates the three-dimensional environment 702 according to the interactive input. Figure 7E For example, in Figure 7E In response to the three-dimensional environment 702 Figure 7D When the hand 703d is detected to be moving in a counterclockwise direction while in a pinching hand shape, the computer system 101a detects the hand 703d and the hand 703d moves in a counterclockwise direction while in a pinching hand shape. Figure 7D The movement of the hand 703d in the three-dimensional environment 702 is counterclockwise around the viewpoint of the user 726. Figure 7DThe virtual objects 707a and 709a and the avatar 706a are simultaneously repositioned (e.g., rotated) based on the reference points indicated in the top view of FIG. Figure 7E As shown, in response to detecting Figure 7D The movement of hand 703d in the computer system 101a Figure 7E In a different way than discussed above and as Figure 7D The third orientation of the first and second orientations shown in FIG displays virtual objects 707a and 709a and avatar 706a. For example, the front surfaces / portions of virtual objects 707a and 709a and avatar 706a are tilted / slightly angled to the right relative to the viewpoint of user 726, as shown in FIG. Figure 7E In addition, in some embodiments, the computer system 101a maintains a display of the three-dimensional environment 702 (e.g., the portion of the three-dimensional environment surrounding the virtual objects 707a and 709a and the avatar 706a) having the second visual appearance described above. Figure 7E As shown, since the interactive input provided by hand 703d is detected before the aforementioned threshold amount of time has elapsed, computer system 101a optionally maintains display of three-dimensional environment 702 having the second visual appearance (e.g., and / or stops / resets the elapse of the threshold amount of time).
[0143] In some embodiments, as referenced Figures 7D to 7E If the computer system 101a detects that Figure 7C If the computer system 101a detects continuation of the interactive input within a threshold amount of time after the end of the interactive input provided by the hand 703c in the hand 703c, the computer system 101a maintains the second visual appearance and manipulates the virtual objects 707a and 709a and the avatar 706a according to the interactive input. Figure 7C If no continuation of the interactive input is detected within a threshold time from the end of the interactive input provided by the hand 703c in the hand, the computer system 101a updates the three-dimensional environment 702 to be displayed with the first visual appearance, as will now be referred to. Figure 7F Descriptive.
[0144] In some embodiments, upon detecting the self-detection Figure 7C After a threshold amount of time has passed since the end of the interactive input provided by hand 703C in FIG, computer system 101a redisplays three-dimensional environment 702 in the first visual appearance, as shown in FIG. Figure 7F For example, Figure 7F As shown, the portion of the three-dimensional environment 702 surrounding the virtual objects 707a and 709a and the avatar 706a is no longer displayed with the dimming / shadow effect, the blur effect, and / or the color change effect.
[0145] exist Figure 7F , after a threshold amount of time has elapsed, hand 703d provides a selection input (e.g., an air pinch gesture) directed to virtual object 707a, and another hand 713a ("hand 3") provides a movement input (e.g., providing a pinch followed by movement of the hand while maintaining the pinch hand shape) directed to virtual object 709a. For example, when user 726's attention (e.g., including a first gaze ("gaze 1") 721) is directed to virtual object 709a, computer system 101a detects hand 713a moving to the right relative to user 726's viewpoint, and when attention (e.g., including a second gaze ("gaze 2") 723) is directed to play option 711 in virtual object 707a, the computer system detects hand 703d providing a pinch gesture while three-dimensional environment 702 is displayed in the first visual appearance. Additionally, in Figure 7F , hand 705b continues to remain in the disengaged posture (e.g., relaxed and / or not providing an air pinch gesture at the same time). Figure 7F Multiple gaze points are shown in the figure, but such gaze points need not be detected simultaneously by the computer system 101; rather, in some embodiments, the computer system 101 independently responds to such gaze points in response to independently detecting the gaze points shown and described.
[0146] In some embodiments, in response to detecting a Figure 7F Based on the input provided by the hands 703d and / or 713a, the computer system 101a performs one or more corresponding operations involving the virtual objects 707a and 709a. Figure 7G As shown, computer system 101a abandons manipulating three-dimensional environment 702 based on input provided by hands 703d and / or 713a (e.g., simultaneously repositioning virtual objects 707a and 709a and avatar 706a relative to the user's viewpoint based on movement of one or more hands 703b, 703d, and / or 713a). Instead, as shown Figure 7G As shown, in some embodiments, the computer system 101a activates the play option 711 of the virtual object 707a in response to detecting the selection input provided by the hand 713a (e.g., which causes the playback of the content in the virtual object 707a), while the user's attention (including the gaze 723) is directed to Figure 7FAdditionally or alternatively, in some embodiments, the computer system 101a repositions (e.g., shifts) the virtual object 709a to the right relative to the viewpoint of the user 726 in the three-dimensional environment 702 based on the rightward movement of the hand 703d, while the user's attention (including the gaze 721) is directed to the virtual object 709a, without repositioning the virtual object 707a and / or the avatar 706a in the three-dimensional environment 702 relative to the viewpoint of the user 726.
[0147] In some embodiments, the computer system 101a restricts individual movement of certain types of virtual elements displayed in the three-dimensional environment 702. Figure 7G As shown, the computer system 101a responds to the detection of Figure 7F 7. The virtual object 709a is independently moved within the three-dimensional environment 702 in response to movement of the hand 713a in the computer system 101a. As previously described herein, the virtual object 709a is optionally an application window shared between the user 726 of the computer system 101a and the second user of the second computer system 101b. Thus, shared virtual objects including application windows, three-dimensional objects (e.g., a three-dimensional ball, car, table, model, etc.) and / or content (e.g., images, videos, files, contacts, etc.) can be independently moved within the three-dimensional environment 702 in response to inputs independently directed to the shared virtual objects. Figure 7F If attention (e.g., first gaze 721) is directed toward avatar 706a rather than virtual object 709a, computer system 101a may, in response to detecting movement of hand 713a, optionally forgo individually moving avatar 706a corresponding to the second user within three-dimensional environment 702. For example, as described above, when computer system 101a and second computer system 101b are engaged in a communication session, user 726 has a first viewpoint of three-dimensional environment 702, and the second user has a second viewpoint of three-dimensional environment 702 that is different from the first viewpoint. Thus, user 726 has a respective spatial relationship with the second user within the communication session, which is optionally reflected by the relative positioning of the user's corresponding avatar within three-dimensional environment 702. Providing the ability to individually move an avatar corresponding to another user (e.g., avatar 706a) may optionally disrupt (i.e., violate) the respective spatial relationship with the other user within the three-dimensional environment, which may therefore disrupt spatial authenticity between the users within the communication session. Thus, as described above, computer system 101a optionally restricts (ie, prevents) individual movement of other users' avatars within three-dimensional environment 702 .
[0148] In some embodiments, upon self-detection, Figure 7C After a threshold amount of time has passed since the end of the interaction input provided by hand 703c in the user 726, the user 726 can initiate manipulation of the three-dimensional environment 702 by providing two-handed interaction input. Figure 7G As shown, hand 703e and hand 705c are providing movement input directed to three-dimensional environment 702. Figure 7G , computer system 101a simultaneously detects hand 703e forming a pinching hand shape and hand 705c forming a pinching hand shape, and then moves hands 703e and 705c toward the body of user 726 while maintaining the pinching hand shape. In some embodiments, movement input provided simultaneously by hands 703e and 705c is optionally detected regardless of where the user 726's attention (e.g., gaze) is in three-dimensional environment 702. For example, computer system 101a manipulates three-dimensional environment 702 in response to movement of hands 705c and / or 703e, regardless of where the attention is in three-dimensional environment 702.
[0149] In some embodiments, in response to detecting Figure 7G The computer system 101a manipulates the three-dimensional environment 702 according to the interactive input provided by the hands 703e and 705c. Figure 7H In some embodiments, the computer system 101a moves in a direction corresponding to the direction of movement of the hands 705c and 703e and at a speed corresponding to Figure 7G The amount of movement (e.g., speed, distance, or duration) of hands 705c and 703e in the Figure 7H For example, in Figure 7H In response to detecting Figure 7G When the hands 703e and 705c in the image are simultaneously moved toward the user 726 (e.g., when the hands 703e and 705c are in a pinching hand shape), the computer system 101a moves the user 726's viewpoint (e.g., Figure 7G 706a) toward the viewpoint of user 726. In some embodiments, Figure 7H The movement amounts of the virtual objects 709a and 707a and the avatar 706a in Figure 7G The amount of movement of hands 705c and 703e in . Figure 7H , hands 703f and 705d optionally no longer maintain the interaction input. For example, after computer system 101a moves virtual objects 707a and 709a and avatar 706a toward the viewpoint of user 726 in three-dimensional environment 702, computer system 101a detects that hands 703f and 705d no longer maintain the pinching hand shape. As similarly discussed above, after detecting that a threshold amount of time has passed since detecting the end of the interaction input, computer system 101a displays the three-dimensional environment 702 having the first visual appearance, as shown in FIG. Figure 7H An example of a threshold amount of time is included below in the description of method 800 .
[0150] In some embodiments, as described above, when computer system 101a and second computer system 101b are conducting a communication session, changes (e.g., changes in position) made to virtual objects 707a and / or 709a within the three-dimensional environment 702 and the avatar 706a corresponding to the second user and / or the three-dimensional environment 702 in response to input from user 726 of computer system 101a are reflected in the second computer system 101b's display of virtual objects 707a and / or 709a within the three-dimensional environment 702 and the avatar corresponding to user 726 and / or in the display of the three-dimensional environment 702. In some embodiments, reflecting changes in the position and / or orientation of virtual objects shared at both computer systems 101a and 101b in response to input received at one of computer systems 101a or 101b enables computer systems 101a and 101b to maintain shared spatial reality while conducting a communication session. Figure 7H In the example, computer system 101a receives an input (such as similar to the one described above with reference to FIG) that a second computer system 101b has received corresponding to a request to manipulate virtual objects 709a and 709b. Figure 7A 、 Figure 7B 、 Figure 7D 、 Figure 7F and / or Figure 7G In some embodiments, in response to receiving the indication, the computer system 101a visually fades the avatar 706a corresponding to the second user relative to the viewpoint of the user 726, such as Figure 7H As shown, at the same time, the second computer system 101b is receiving the interactive input. For example, before receiving the instruction (for example, Figure 7G Computer system 101a changes one or more characteristics of the lighting, translucency, shading, color, and / or clarity of avatar 706a in three-dimensional environment 702 as compared to the lighting, translucency, shading, color, and / or clarity of avatar 706a in second computer system 101b. In some embodiments, the visual fading of avatar 706a indicates that the second user is providing input that manipulates a portion of the three-dimensional environment at second computer system 101b relative to the second user's second viewpoint.
[0151] In some embodiments, when the second computer system 101b detects the end of the interaction input provided by the second user of the second computer system 101b, the computer system 101a moves the avatar 706a corresponding to the second user based on the interaction input provided by the second user at the second computer system 101b, so that the computer systems 101a and 101b maintain the shared space authenticity with respect to the shared virtual objects 709a and 707a. For example, Figure 7I As shown, the computer system 101a moves the avatar 706a within the three-dimensional environment 702 relative to the viewpoint of the user 726 without moving the virtual objects 707a and 709a. Figure 7I As shown, when the second computer system 101b detects the end of the interactive input provided by the second user (e.g., and / or after detecting that the aforementioned threshold amount of time has elapsed since the second computer system 101b detected the end of the interactive input), the computer system 101a optionally moves the avatar 706a in accordance with the manipulations performed by the second computer system 101b on the virtual objects 709a and 707a displayed in the three-dimensional environment 702 at the second computer system 101b. For example, the computer system 101a moves the avatar 706a toward the viewpoint of the user 726 and displays the avatar 706a in a fourth orientation that is different from the first orientation, the second orientation, and the third orientation discussed above. For example, the front portion of the avatar 706a is tilted / slightly angled to the left relative to the viewpoint of the user 726 in the three-dimensional environment 702 and is facing away from the user 726, as shown in FIG. Figure 7I 706b in the top view of the three-dimensional environment 702 to reflect the shift of the second user's second viewpoint relative to the viewpoint of user 726 due to manipulation of the portion of the three-dimensional environment 702 displayed at the second computer system 101b. In some embodiments, in response to interaction input received at the second computer system 101b for manipulating the virtual objects 707a and 709a, the updated position and / or orientation of the avatar 706a displayed at the first computer system 101a has the same spatial orientation relative to the virtual objects 707a and 709a as the spatial orientation of the viewpoint of the user of the second computer system 101b.
[0152] In some embodiments, when computer system 101a and second computer system 101b are engaged in a communication session, when computer system 101a detects interactive input provided by user 726 corresponding to a request to manipulate three-dimensional environment 702 (e.g., as described above with reference to FIG. Figures 7A to 7G , the second computer system 101b visually fades the avatar corresponding to the user 726 relative to the three-dimensional environment displayed at the second computer system 101b. Figure 7B 、 Figure 7C 、 Figure 7E and / or Figure 7H When the second computer system 101b moves the virtual objects 707a and 709a and the avatar 706a (similarly shown in FIG. 1 ), the second computer system 101b moves the virtual objects 707a and 709a and the avatar 706a in the same manner as in FIG. Figure 7H One or more characteristics of the lighting, translucency, shading, color, and / or clarity of the avatar corresponding to user 726 in the portion of the three-dimensional environment 702 displayed at the second computer system 101b are changed relative to the second user's viewpoint in a manner similar to that shown in FIG.
[0153] In some embodiments, when computer system 101a detects the end of the interaction input provided by user 726 of computer system 101a, second computer system 101b moves the avatar corresponding to the user based on the interaction input provided by user 726. For example, when computer system 101a detects the end of the interaction input provided by user 726 (e.g., and / or after detecting that the aforementioned threshold amount of time has elapsed since the end of the interaction input was detected, as previously described), Figure 7F ), the second computer system 101b moves the avatar corresponding to the user 726 within the portion of the three-dimensional environment 702 displayed at the second computer system 101b relative to the second viewpoint of the second user without Figure 7H In some embodiments, the movement of the avatar corresponding to user 726 within the portion of the three-dimensional environment 702 displayed at the second computer system 101 b reflects the shift in the viewpoint of user 726 manipulating the three-dimensional environment 702 at computer system 101 a relative to the second viewpoint of the second user.
[0154] Figures 8A to 8I is a flow chart illustrating an exemplary method 800 for facilitating interaction with multiple objects in a three-dimensional environment according to some embodiments. In some embodiments, the method 800 is performed on a computer system (e.g., Figure 1 The computer system 101 in the embodiment of the present invention is executed at a computer system 101 in the embodiment of the present invention, such as a tablet computer, smart phone, wearable computer or head mounted device, which includes a display generating component (e.g., Figure 1 、 Figure 3 and Figure 4 In some embodiments, method 800 is performed by one or more processors of a computer system, such as one or more processors 202 of computer system 101 (e.g., a head-up display, a display, a touch screen, and / or a projector) and one or more cameras (e.g., a camera directed downward toward a user's hand (e.g., a color sensor, an infrared sensor, or other depth sensing camera) or a camera directed forward from the user's head). Figure 1Some operations in method 800 may be optionally combined, and / or the order of some operations may be optionally changed.
[0155] In some embodiments, method 800 is performed at a computer system (e.g., 101a) that communicates with a display generation component (e.g., 120) and one or more input devices (e.g., 314). For example, the computer system is or includes a mobile device (e.g., a tablet, a smart phone, a media player, or a wearable device) or a computer. In some embodiments, the display generation component is a display (optionally a touch screen display) integrated with the electronic device, an external display such as a monitor, a projector, a television, or a hardware component (optionally integrated or external) for projecting a user interface or making the user interface visible to one or more users. In some embodiments, the one or more input devices include a computer capable of receiving user input (e.g., capturing user input and / or detecting user input) and sending information associated with the user input to the electronic device. Examples of input devices include a touch screen, a mouse (e.g., external), a trackpad (optionally integrated or external), a touchpad (optionally integrated or external), a remote control device (e.g., external), another mobile device (e.g., separate from the electronic device), a handheld device (e.g., external), a controller (e.g., external), a camera, a depth sensor, an eye tracking device, and / or a motion sensor (e.g., a hand tracking device and / or a hand motion sensor). In some embodiments, the computer system communicates with a hand tracking device (e.g., one or more cameras, depth sensors, proximity sensors, touch sensors (e.g., touch screen, touchpad)). In some embodiments, the hand tracking device is a wearable device, such as a smart glove. In some embodiments, the hand tracking device is a handheld input device, such as a remote control or a stylus.
[0156] In some embodiments, the computer system displays (802a) via a display generation component including a first object (e.g., Figure 7A 707a) and a second object (e.g., Figure 7A The environment of the virtual object 709a) (e.g., Figure 7AIn some embodiments, the environment is a three-dimensional environment 702. For example, an environment or a virtual environment corresponding to the physical environment surrounding the display generation component and / or the computer system. In some embodiments, the environment is a three-dimensional environment. In some embodiments, the three-dimensional environment is generated as, displayed as, or otherwise enabled to be viewed by the computer system (e.g., an extended reality (XR) environment, such as a virtual reality (VR) environment, a mixed reality (MR) environment, or an augmented reality (AR) environment). In some embodiments, the physical environment is visible through a transparent portion of the display generation component (e.g., real or reality transmission). In some embodiments, a representation of the physical environment is displayed in the three-dimensional environment via the display generation component (e.g., virtual or video transmission). In some embodiments, the first object and / or the second object is or includes content, such as a window of a web browsing application that displays content (e.g., text, images, or video), a window that displays a photo or video clip, a media player window for controlling the playback of a content item on the computer system, a contact card in a contact application that displays contact information (e.g., phone number, email address, and / or birthday), and / or a virtual board game of a game application. In some embodiments, a first object is displayed at a first position in a three-dimensional environment, and a second object is displayed at a second position in the three-dimensional environment that is different from the first position. In some embodiments, as discussed in more detail below, a computer system conducts a communication session with one or more auxiliary computer systems. For example, objects within a three-dimensional environment and / or the three-dimensional environment are displayed concurrently by the computer system and one or more auxiliary computer systems, but from different viewpoints associated with their respective users. In some embodiments, during the communication session, a user of the computer system has a first viewpoint of the three-dimensional environment, and one or more users of the one or more auxiliary computer systems have one or more second viewpoints of the three-dimensional environment. For example, the field of view of the three-dimensional environment from the first viewpoint of the user of the computer system includes a first portion of the three-dimensional environment (including the first object and the second object), and the field of view of the three-dimensional environment from the second viewpoint of the second user of the auxiliary computer system includes a second portion of the three-dimensional environment. In some embodiments, the second portion of the three-dimensional environment includes the first object and / or the second object, or includes neither the first object nor the second object. In some embodiments, the computer system and the one or more auxiliary computer systems are in the same physical environment (e.g., different locations in the same room). In some embodiments, the computer system and one or more auxiliary computer systems are in different physical environments (e.g., different cities, different rooms, different states, and / or different countries).In some embodiments, the computer system and one or more auxiliary computer systems communicate with each other such that the computer system's display of objects within the three-dimensional environment and / or the three-dimensional environment is coordinated (e.g., changes to objects within the three-dimensional environment and / or the three-dimensional environment made in response to input from a user of the computer system are reflected in the one or more auxiliary computer systems' display of objects within the three-dimensional environment and / or the three-dimensional environment). Additionally, the three-dimensional environment optionally includes virtual representations of users of the one or more auxiliary computer systems (e.g., avatars corresponding to the users).
[0157] In some embodiments, while displaying an environment including a first object and a second object, the computer system detects (802b) a first interaction input (e.g., an air gesture or an interaction with a hardware input device) associated with a first predefined portion of a user of the computer system (e.g., user 726) via one or more input devices, such as Figure 7A 703a. For example, the first predefined part of the user is the first hand of the user. In some embodiments, the computer system detects an air pinch gesture performed by the first hand of the user of the computer system, such as the thumb and index finger of the user's hand begin to separate beyond a threshold distance (e.g., 0.1 cm, 0.2 cm, 0.5 cm, 1 cm, 2 cm, or 5 cm) and come together and touch at the fingertips, which is detected by one or more input devices (e.g., hand tracking devices) communicating with the computer system. In some embodiments, after detecting the air pinch gesture, the computer system detects the movement of the user's hand in space, such as movement when the hand maintains a pinch hand shape (e.g., the thumb and index finger tips remain in contact), such as an air drag gesture. In some embodiments, the movement of the user's hand is in a corresponding direction in space (e.g., vertically, horizontally, or diagonally). In some embodiments, the computer system detects the first interaction input via a hardware input device (e.g., a controller operable with six degrees of freedom of movement, or a touchpad or mouse) communicating with the computer system. For example, the computer system detects a selection input (e.g., a tap, touch, or click) provided via an input device by one or more fingers of a user's first hand. In some embodiments, after detecting the selection input, the computer system detects movement via the input device, such as movement of a controller in space, movement of a mouse on a surface (e.g., a desktop), or movement of fingers of the first hand on a touchpad.
[0158] In some embodiments, in response to detecting the first interaction input (802c), a second predefined portion of the user (e.g., the user's second hand) that is different from the first predefined portion (e.g., the user's second hand) is detected. Figure 7A The hand 705a in the middle detects the first interactive input (such as detecting the hand 705b in the middle) when the first interactive input is detected (such as detecting the hand 705a in the middle) Figure 7A A determination is made that the hand 705a described as being in an engaged state is associated with a second interaction input (e.g., having a first posture or performing a corresponding type of interaction with an input device) (e.g., the user's second hand is engaged upon detecting an air pinch gesture provided by the user's first hand and / or before detecting the air pinch gesture provided by the user's first hand). In some embodiments, the computer system detects the air pinch gesture (e.g., the tip of the index finger of the user's second hand is in contact with the thumb of the second hand), and / or detects the first posture (e.g., a pinch gesture in which the tip of the index finger of the second hand touches the thumb of the second hand). In some embodiments, the computer system detects the user's first hand providing the air pinch gesture while the user's second hand is in the first posture (e.g., while the second hand is in a pinch hand shape and / or is in an elevated / raised state relative to the surface on which the user is located). In some embodiments, the computer system detects the user's first hand and the second hand providing the air pinch gesture at least partially simultaneously. In some embodiments, the first posture includes the user's hands being in a ready state configuration before, after, and / or during detection of the air pinch gesture. In some embodiments, the computer system detects a first interactive input while a second hand of the user is associated with a second interactive input via a second input device (e.g., a controller operable with six degrees of freedom of movement, or a touchpad or mouse) in communication with the computer system. For example, when a finger of the user's second hand is selecting a button on the second input device and / or holding the second input in an elevated / lifted state relative to a surface on which the user is positioned, the computer system detects the first interactive input, and the computer system performs (802d) a first operation including simultaneously repositioning a first object and a second object within the environment relative to the viewpoint of the user of the computer system, such as movement of virtual objects 707a and 709a relative to the viewpoint of the user 726, based on the first interactive input. Figure 7BAs shown in . For example, the first operation includes moving / translating and / or rotating the first object and the second object in the environment relative to the viewpoint of the user of the computer system. In some embodiments, the magnitude and / or direction of the repositioning of the first object and the second object in the three-dimensional environment corresponds to the magnitude and / or direction of the movement / rotation of the user's first hand. For example, the user's first hand or the second hand moves the first object and the second object in the three-dimensional environment by a first amount relative to the user's viewpoint, and the user's first hand or the second hand rotates the first object and the second object in the three-dimensional environment by a first angle amount relative to the user's viewpoint. Similarly, the movement of the user's first hand or the second hand in a first direction (e.g., in a left direction) optionally moves the first object and the second object in the three-dimensional environment in the first direction (e.g., to the left) relative to the user's viewpoint, and the rotation of the user's first hand or the second hand in a counterclockwise direction optionally rotates the first object and the second object in a counterclockwise direction relative to the user's viewpoint.
[0159] In some embodiments, based on a determination that a second predefined portion of the user is not associated with the second interaction input (e.g., not having the first gesture or not performing a corresponding type of interaction with the input device) when the first interaction input is detected, such as detecting that the hand 705b is in a disengaged state, as described in reference Figure 7F As described, the computer system performs (802e) a second operation different from the first operation, as shown in FIG. Figure 7GAs described. For example, when an air pinch gesture provided by the user's first hand is detected and / or before an air pinch gesture provided by the user's first hand is detected, the user's second hand is disengaged. In some embodiments, the computer system detects that the user's second hand is in a lowered or relaxed state relative to the surface where the user is located (e.g., the user's hand is placed / rested on one side of the user's torso and / or is not in a ready state configuration). In some embodiments, the computer system detects that the user's second hand is not in a pinching hand shape (e.g., the index finger and thumb of the user's hand are not in contact). In some embodiments, the computer system detects that the user's second hand has not selected a button on the second input device and / or has not kept the second input device in a state raised / raised relative to the surface where the user is located. In some embodiments, the second operation does not include movement / translation and / or rotation of the first object and the second object relative to the viewpoint of the user of the computer system. In some embodiments, as discussed in detail below, the second operation includes selecting / activating an option to display (e.g., display in the first object or the second object) in a three-dimensional environment, or moving the first object or the second object in a three-dimensional environment according to the movement of the user's first hand. Repositioning multiple objects in a three-dimensional environment based on whether the hands of a user of a computer system are in an engaged posture enables simultaneous repositioning of multiple objects relative to the user's viewpoint without displaying additional controls, thereby improving user-device interaction.
[0160] In some embodiments, performing the second operation includes activating a selectable option displayed in the environment (804), such as activating selectable option 711, as shown in FIG. Figures 7F to 7G As shown. For example, based on a determination that a second predefined portion of the user is not associated with the second interaction input when the first interaction input is detected, the computer system selects an option displayed in the first object, the second object, or the third object in the three-dimensional environment. In some embodiments, the selectable options are determined based on the attention of the user of the computer system. For example, when an air pinch gesture and / or a selection input on a hardware input device is received, the user's gaze is directed to the selectable options. Selecting a button displayed in the three-dimensional environment in response to receiving input from the user's hand of the computer system enables the button to be selected relative to the user's viewpoint without displaying additional controls, thereby improving user-device interaction.
[0161] In some embodiments, performing the second operation includes repositioning one of the first object and the second object within the environment relative to the user's viewpoint based on the first interaction input (806), such as Figure 7GThe virtual object 709a is shown being repositioned relative to the viewpoint of the user 726. For example, based on a determination that a second predefined portion of the user is not associated with a second interaction input when a first interaction input is detected, the computer system moves either the first object or the second object in the three-dimensional environment based on the first interaction input, but not both objects because the first interaction input includes movement of the user's first hand. In some embodiments, the first object or the second object is determined based on the attention of the user of the computer system. For example, if the user's attention is directed to the first object, the computer system moves the first object based on the first interaction input. If the user's attention is directed to the second object, the computer system optionally moves the second object based on the first interaction input. In some embodiments, the first interaction input is directed to a repositioning element (e.g., a handle or gripper element) associated with (e.g., displayed with) the first object or the second object, which can be selected to initiate movement of the first object or the second object relative to the user's viewpoint within the three-dimensional environment. Repositioning objects in the three-dimensional environment in response to receiving input from the user's hand of the computer system enables repositioning of objects relative to the user's viewpoint without displaying additional controls, thereby improving user-device interaction.
[0162] In some embodiments, a user of a computer system interacts with a second computer system (e.g., Figure 7A The second user of the computer system 101b) in the communication session (eg, when the first interaction input is received, the computer system communicates with the second computer system, as described above), as shown in reference 7A to 7I In some embodiments, the environment includes a virtual representation of a second user of a second computer system (808b) (e.g., Figure 7A In some embodiments, in response to detecting the first interaction input, based on a determination that the second predefined portion of the user is associated with the second interaction input when the first interaction input is detected, the first operation includes simultaneously repositioning the virtual representation of the second user and the first object and the second object within the environment relative to the viewpoint of the user of the computer system based on the first interaction input (808c), such as Figure 7B 706a relative to the viewpoint of the user 726. For example, if the user's second hand is associated with a second interaction input when the first interaction input is detected, the computer system simultaneously repositions the first object, the second object, and the avatar corresponding to the second user relative to the viewpoint of the user of the computer system in accordance with the first interaction input in one or more of the manners described above and below.
[0163] In some embodiments, in response to detecting a first interaction input (808d), based on a determination that a second predefined portion of the user is not associated with the second interaction input when the first interaction input is detected, and based on a determination that the first interaction input is directed to a virtual representation of the second user (e.g., the computer system detects a first hand of the user providing an air pinch gesture and / or selection input on a hardware input device and subsequently moves the first hand while the user's gaze is directed to the virtual representation of the second user), the computer system abandons (808e) repositioning the virtual representation of the second user within the environment (and abandons repositioning the first object and / or the second object), such as abandoning repositioning the first object and / or the second object. Figure 7G avatar 706a shown. For example, based on a determination that the second predefined portion of the user is not associated with the second interaction input when the first interaction input is detected, the computer system abandons repositioning the avatar corresponding to the second user. In some embodiments, the computer system is capable of repositioning the avatar corresponding to the second user while repositioning the first object and the second object in the three-dimensional environment, and / or if the second user causes the avatar corresponding to the second user to move within the three-dimensional environment. In some embodiments, the computer system cannot reposition the virtual representation of the second user without also repositioning one or more other objects (e.g., the first object and the second object) in the environment. In some such embodiments, in response to the first interaction input described above, the computer system performs an alternative action, such as activating a selectable option and / or moving the first object or the second object in the three-dimensional environment, as described above. Abandoning the separate repositioning of the virtual representations of other users in the three-dimensional environment based on input provided by the user of the computer system in the communication session maintains spatial realism between the user and the other users in the communication session, thereby improving user-device interaction.
[0164] In some embodiments, a user of a computer system interacts with a second computer system (e.g., Figure 7A In some embodiments, the environment includes a virtual representation of the second user of the second computer system (810b) (e.g., Figure 7A avatar 706a in) (e.g., the three-dimensional environment includes an avatar corresponding to the second user, as described above).
[0165] In some embodiments, in response to detecting the first interaction input (810c), based on a determination that the second predefined portion of the user is associated with the second interaction input when the first interaction input is detected, performing a first operation includes simultaneously repositioning a first object, a second object, and a virtual representation of a second user within the environment relative to a viewpoint of the user based on the first interaction input (810d), such as Figure 7B , virtual objects 707a and 709a and avatar 706a are repositioned relative to the viewpoint of user 726 as shown in . For example, if the user's second hand is associated with a second interaction input when the first interaction input is detected, the computer system simultaneously repositions the first object, the second object, and the avatar corresponding to the second user relative to the viewpoint of the user of the computer system based on the first interaction input. In some embodiments, the first object and the second object are shared with a second user of a second computer system. For example, the second computer system presents the content of the first object and the second object in a three-dimensional environment relative to the viewpoint of the second user. In some embodiments, the computer system simultaneously repositions all shared objects within the three-dimensional environment relative to the user's viewpoint based on the first interaction input. In some embodiments, if the computer system detects a third interaction input provided by the user's first hand and directed to a shared object in the three-dimensional environment (e.g., the user's gaze is directed toward the shared object), if the third interaction input is detected when the user's second hand is engaged, the computer system simultaneously repositions the shared object and any other shared objects within the three-dimensional environment relative to the user's viewpoint based on the third interaction input. In some embodiments, if a third interaction input is detected while the user's second hand is unengaged, the computer system forgoes repositioning the shared object in the three-dimensional environment according to the third interaction input if the shared object is a virtual representation of another user, and repositions the shared object within the three-dimensional environment according to the third input if the shared object is not a virtual representation of another user (e.g., a shared application window). When in a communication session, repositioning multiple objects (including representations of other users) in the three-dimensional environment based on whether the hands of the user of the computer system are in an engaged posture enables the simultaneous repositioning of multiple objects relative to the user's viewpoint without displaying additional controls, thereby improving user-device interaction.
[0166] In some embodiments, the first interaction input includes movement of a first predefined portion of a user of the computer system in a first direction and by a first magnitude (812a), such as Figure 7AFor example, the movement of the user's first hand is a movement in a first direction (e.g., vertically, horizontally, diagonally, and / or rotationally) in space with a first magnitude (e.g., a first speed, a first duration, and / or a first movement distance) while the first hand is in a pinching hand shape and / or engaging a hardware input device, as described above.
[0167] In some embodiments, the first operation includes simultaneously repositioning the first object and the second object (812b) relative to the user's viewpoint in a second direction based on the first direction within the environment and at a second magnitude (e.g., a second speed, a second duration, and / or a second movement distance) based on the first magnitude according to the first interaction input, such as Figure 7B As shown, virtual objects 707a and 709a are simultaneously repositioned in a rightward direction relative to the viewpoint of user 1126. For example, the computer system moves the first object and the second object in the three-dimensional environment along a second direction, which is optionally the same as the first direction. In some embodiments, the first object and the second object move in the three-dimensional environment at respective distances, respective durations, and / or respective speeds based on a first magnitude. For example, the second magnitude is equal to the first magnitude, less than the first magnitude (but proportional to the first magnitude), or greater than the first magnitude (but proportional to the first magnitude). In some embodiments, if the second magnitude is equal to the first magnitude, then when the user's first hand moves the first distance in space relative to the user's viewpoint, the computer system moves the first object and the second object in the three-dimensional environment by the first distance. If the second magnitude is less than the first magnitude, then when the user's hand moves the first distance in space relative to the user's viewpoint, the computer system moves the first object and the second object in the three-dimensional environment by a second distance less than the first distance. Repositioning multiple objects in a three-dimensional environment based on the movement of one hand of a user enables simultaneous repositioning of multiple objects in respective directions and magnitudes relative to the user's viewpoint without displaying additional controls, thereby improving user-device interaction.
[0168] In some embodiments, based on a first predefined portion of the user (e.g., Figure 7A wherein the movement of the hand 703a in FIG. 1 relative to a second predefined part of the user (e.g., hand 705a) is a first relative movement, and simultaneously repositioning the first object and the second object in the environment along a second direction and by a second relative magnitude includes (814a) simultaneously repositioning the first object and the second object in the environment along the first relative direction and by a second relative magnitude (814b), as described with reference to FIG. Figure 7BFor example, the direction of movement of the first object and the second object in the three-dimensional environment is based on the movement of the user's first hand relative to the position of the user's second hand in space. In some embodiments, if the user's first hand moves along a first corresponding direction (e.g., away from the user's second hand) relative to the position of the user's second hand (e.g., when the first interaction input is detected), the computer system determines that the second direction is a first relative direction (e.g., based on the first corresponding direction in the clockwise direction), and simultaneously moves (e.g., rotates) the first object and the second object in the three-dimensional environment along the first relative direction (e.g., clockwise direction) relative to the user's viewpoint according to the first interaction input. In some embodiments, the second direction of movement of the first predefined part of the user is relative to the second predefined part of the user because the second predefined part of the user is associated with the second interaction input when the first interaction input is detected. In some embodiments, the magnitude of movement of the first object and the second object is based on movement of the user's first hand relative to the position of the user's second hand in space. In some embodiments, if a user's first hand moves with a first magnitude (e.g., speed, distance, and / or duration) relative to (e.g., away from or toward) the position of a second hand of the user (e.g., when the first interaction input is detected), the computer system determines that the second magnitude is a first relative magnitude (e.g., based on the first magnitude), and simultaneously moves (e.g., rotates) the first object and the second object relative to the user's viewpoint in the three-dimensional environment with the first relative magnitude in accordance with the first interaction input. In some embodiments, the first magnitude of the movement of the first predefined portion of the user is relative to the second predefined portion of the user because the second predefined portion of the user was associated with the second interaction input when the first interaction input was detected.
[0169] In some embodiments, based on the movement of the first predefined portion of the user relative to the second predefined portion of the user being a second relative movement different from the first relative movement, simultaneously repositioning the first object and the second object within the environment along a second direction and by a second magnitude includes simultaneously repositioning the first object (e.g., virtual object 707a) and the second object (e.g., virtual object 709a) within the environment along a second relative direction different from the first relative direction and by a second relative magnitude different from the first relative magnitude (814c), as described with reference to Figure 7BIf the user's first hand moves in a second corresponding direction relative to (e.g., counterclockwise toward) the position of the user's second hand in space, the computer system optionally determines that the second direction is a second relative direction (e.g., counterclockwise) and simultaneously moves (e.g., rotates) the first and second objects in the three-dimensional environment in the second relative direction (e.g., counterclockwise) relative to the user's viewpoint based on the first interaction input. If the user's first hand moves in a third magnitude different from the first magnitude relative to (e.g., away from or toward) the position of the user's second hand in space, the computer system optionally determines that the second magnitude is a second relative magnitude (e.g., based on the third magnitude) and optionally simultaneously moves (e.g., rotates) the first and second objects in the three-dimensional environment by the second relative magnitude relative to the user's viewpoint based on the first interaction input. Repositioning multiple objects in the three-dimensional environment based on the direction and magnitude of movement of one user's hand relative to the other hand enables the simultaneous repositioning of multiple objects in corresponding directions and magnitudes relative to the user's viewpoint without displaying additional controls, thereby improving user-device interaction.
[0170] In some embodiments, based on the movement of the first predefined part of the user relative to a third predefined part that is different from the first predefined part and the second predefined part of the user (e.g., the upper body of the user 1126) being a first relative movement, simultaneously repositioning the first object and the second object in the environment along a second direction and by a second magnitude includes (816a) repositioning the first object (e.g., virtual object 707a) and the second object (e.g., virtual object 709a) in the environment along the first relative direction and by a second relative magnitude (816b), as described in reference Figure 7BFor example, the movement direction of the first object and the second object within the three-dimensional environment is based on the movement of the user's first hand relative to the position of a part of the user's upper body in space (such as the position of the user's head or the user's shoulder). In some embodiments, if the user's first hand moves along a first corresponding direction relative to the position of a part of the user's upper body (e.g., toward the user's upper body when the first interaction input is detected), the computer system determines that the second direction is a first relative direction relative to the user's viewpoint (e.g., based on the first corresponding direction), and simultaneously moves (e.g., shifts or translates) the first object and the second object along the second relative direction (e.g., toward the user) relative to the user's viewpoint in the three-dimensional environment according to the first interaction input. In some embodiments, the movement magnitude of the first object and the second object is based on the movement of the user's first hand relative to the position of a part of the user's upper body in space (such as the position of the user's head or the user's shoulder). For example, if the user's first hand moves by a first magnitude relative to (e.g., away from or toward) a position of a portion of the user's upper body (e.g., upon detecting a first interaction input), the computer system determines that the second magnitude is a first relative magnitude (e.g., based on the first magnitude), and simultaneously moves the first object and the second object by the first relative magnitude relative to the user's viewpoint in the three-dimensional environment in accordance with the first interaction input.
[0171] In some embodiments, based on the movement of the first predefined portion of the user relative to the third predefined portion of the user being a second relative movement different from the first relative movement, simultaneously repositioning the first object and the second object within the environment along a second direction and by a second magnitude includes simultaneously repositioning the first object (e.g., virtual object 707a) and the second object (e.g., virtual object 709a) within the environment along a second relative direction different from the first relative direction and by a second relative magnitude different from the first relative magnitude (816c), as described with reference to Figure 7BIf the user's first hand moves relative to (e.g., away from) the position of a portion of the user's upper torso in space in a second corresponding direction, the computer system optionally determines that the second direction is a second relative direction relative to the user's viewpoint (e.g., based on the second corresponding direction) and simultaneously moves (e.g., shifts or translates) the first object and the second object in the three-dimensional environment relative to the user's viewpoint in the second relative direction (e.g., away from the user) according to the first interaction input. If the user's first hand moves relative to (e.g., away from or toward) the position of a portion of the user's upper torso in space by a third magnitude different from the first magnitude, the computer system optionally determines that the second magnitude is a second relative magnitude (e.g., based on the third magnitude) and simultaneously moves (e.g., shifts or translates) the first object and the second object in the three-dimensional environment relative to the user's viewpoint by the second relative magnitude according to the first interaction input. Repositioning multiple objects in the three-dimensional environment based on the direction and magnitude of movement of one of the user's hands relative to different parts of the user's body enables the simultaneous repositioning of multiple objects in corresponding directions and by corresponding magnitudes relative to the user's viewpoint without displaying additional controls, thereby improving user-device interaction.
[0172] In some embodiments, upon detecting the first interaction input (818a), the environment is displayed with the first visual characteristic having a second value, such as Figure 7A In some embodiments, upon detecting the first interaction input (818b), based on a determination that the second predefined portion of the user is associated with the second interaction input when the first interaction input is detected, the computer system displays (818c) the environment with a first visual characteristic having a first value different from the second value, such as Figure 7B . For example, if the user's second hand is associated with the second interaction input when the first interaction input is detected, the computer system changes the appearance of the three-dimensional environment surrounding the first object and the second object relative to the viewpoint of the user of the computer system using the first visual characteristic. In some embodiments, the first visual characteristic includes a dimming effect, and the first value includes a level of darkness of the three-dimensional environment. In some embodiments, the first visual characteristic includes a blurring effect, and the first value includes a level of blurring of the three-dimensional environment. In some embodiments, the first visual characteristic is not applied to the first object and the second object.
[0173] In some embodiments, based on a determination that the second predefined portion of the user is not associated with the second interaction input when the first interaction input is detected, the computer system maintains (818d) the display of the environment with the first visual characteristic having a second value, such as Figure 7G. For example, if the user's second hand is not associated with the second interaction input when the first interaction input is detected, the computer system forgoes using the first visual characteristic to change the appearance of the three-dimensional environment surrounding the first object and the second object relative to the viewpoint of the user of the computer system. In some embodiments, the three-dimensional environment is displayed with the first visual characteristic having a second value before the computer system receives the first interaction input. In some embodiments, if the first visual characteristic includes a dimming effect, the second value is less than the first value so that the darkness level of the three-dimensional environment remains unchanged. In some embodiments, if the first visual characteristic includes a blurring effect, the second value is less than the first value so that the blurring level of the three-dimensional environment remains unchanged. In some embodiments, the change in the first visual characteristic is not applied to the first object and the second object. Selectively changing the appearance of the three-dimensional environment surrounding multiple objects based on whether the hands of the user of the computer system are in an engaged posture facilitates discovery that multiple objects can be simultaneously repositioned relative to the user's viewpoint, thereby improving user-device interaction.
[0174] In some embodiments, when an environment is displayed with a first visual characteristic having a first value (e.g., Figure 7B ), the computer system detects (820a) via one or more input devices that the first predefined portion of the user is no longer associated with the first interaction input (e.g., detecting that hand 703c releases the pinch, as shown in FIG. 8 ). Figure 7C ) and the second predefined portion of the user is no longer associated with the second interaction input (e.g., the hand 705b is detected to remain in the disengaged state, as shown in Figure 7C For example, the computer system detects that the user's first hand is no longer providing a pinch gesture and / or is no longer providing input via the input device. Additionally and / or concurrently, in some embodiments, the computer system detects that the user's second hand is no longer providing a pinch gesture, is no longer in a predefined posture (e.g., the user's second hand is in a relaxed state relative to the surface on which the user is positioned), and / or is no longer providing input via the second input device.
[0175] In some embodiments, in response to detecting the indication, the computer system maintains (820b) display of the environment with the first visual characteristic having the first value for a threshold amount of time, such as maintaining display of the appearance of the three-dimensional environment 702, as Figure 7D. For example, the computer system maintains the display of the environment with the dimming effect and / or the blurring effect for 0.5, 1, 1.5, 2, 2.5, 3, 4, 5, or 10 seconds after detecting that the user's first hand and the second hand are no longer engaged. In some embodiments, as described below, if the computer system detects subsequent input provided by the user's first hand and / or the second hand within a threshold amount of time, such as a pinch gesture or engagement of an input device in the manner described above or below, the computer system will simultaneously perform a repositioning operation on the first object and the second object within the three-dimensional environment and continue to display the environment with the first visual characteristic having the first value. If the computer system detects subsequent input provided by the first hand or the second hand after the threshold amount of time has passed, the computer system will optionally abandon the simultaneous repositioning operation on the first object and the second object within the three-dimensional environment and will update the display of the three-dimensional environment to display the first visual characteristic with the second value, as described below. In some embodiments, if the computer system does not detect subsequent input and the threshold amount of time has passed, the computer system will update the display of the three-dimensional environment to display the first visual characteristic with the second value. Maintaining display of changes in the appearance of a three-dimensional environment surrounding multiple objects for a threshold amount of time in response to detecting that the hands of a user of a computer system are no longer in an engaged posture facilitates discovery that the multiple objects can be further simultaneously repositioned relative to the user's viewpoint within the threshold amount of time, thereby improving user-device interaction.
[0176] In some embodiments, after detecting the end of the first interactive input, the computer system detects (822a) a third interactive input via one or more input devices, such as Figure 7D The movement of the hand 703d shown in or Figure 7F . For example, the computer system detects an air pinch gesture performed by a first hand and / or a second hand of a user of the computer system, as similarly described above. In some embodiments, after detecting the air pinch gesture, the computer system detects movement of the user's hand in space, such as an air drag gesture, as described above. In some embodiments, the computer system detects selection input (e.g., a tap, touch, and / or click) via a hardware input device provided by one or more fingers of the user's hand, as described above.
[0177] In some embodiments, in response to detecting the third interaction input (822b), the user is prompted to enter a user's username and password based on the third interaction input not being associated with one of the first predefined portion of the user or the second predefined portion of the user (such as Figure 7F ), the computer system displays (822c) the environment with a first visual characteristic having a second value, such as Figure 7G. For example, before detecting the third interaction input, the three-dimensional environment is displayed with the first visual characteristic having the second value (e.g., the three-dimensional environment is displayed with less dimming or blurring than when the three-dimensional environment is displayed with the first visual characteristic having the first value). In some embodiments, in response to detecting the third interaction input, if the third interaction input is not provided simultaneously by the first hand and the second hand of the user, the computer system maintains display of the three-dimensional environment with the first visual characteristic having the second value. For example, the computer system abandons changing the appearance of the three-dimensional environment surrounding the first object and the second object in response to detecting the third interaction input, which optionally indicates that the computer system will abandon simultaneously repositioning the first object and the second object within the three-dimensional environment relative to the user's viewpoint based on the third interaction input (e.g., if the third interaction input includes movement of one or both hands of the user).
[0178] In some embodiments, based on the third interaction input and the first predefined portion of the user and the second predefined portion of the user (such as Figure 7D The computer system displays (822d) the environment with a first visual characteristic having a first value, such as Figure 7E , the computer system changes the appearance of the three-dimensional environment 702 in the 3D environment. For example, if the third interaction input is provided simultaneously by the user's first hand and the second hand, the computer system changes the appearance of the three-dimensional environment surrounding the first object and the second object (e.g., displays the three-dimensional environment with an increased dimming and / or blurring effect compared to when the three-dimensional environment is displayed with the first visual characteristic having the second value). In some embodiments, in response to detecting the third interaction input, the computer system will simultaneously reposition the first object and the second object within the three-dimensional environment relative to the user's viewpoint based on the third interaction input (e.g., if the third interaction input includes movement of one or both hands of the user). Selectively changing the appearance of the three-dimensional environment surrounding multiple objects based on whether the user's hands are simultaneously engaged provides feedback on whether the multiple objects can be further simultaneously repositioned relative to the user's viewpoint, thereby improving user-device interaction.
[0179] In some embodiments, the environment includes one or more portions of the physical environment of the display generation component (e.g., Figure 7A displaying the environment with a first visual characteristic having a first value includes displaying one or more portions of the physical environment with a first visual emphasis relative to the first object and the second object (e.g., Figure 7Bdisplaying the environment with the first visual characteristic having a second value includes displaying one or more portions of the physical environment (e.g., Figure 7F 724a and / or the appearance of the physical table 722a, the physical sofa 724a and / or the physical wall in the three-dimensional environment). For example, as described above, displaying the three-dimensional environment with the first visual characteristic having the first value is independent of the display of the first object and the second object. In some embodiments, when the computer system displays the three-dimensional environment with increased dimming and / or blurring (e.g., in response to detecting the first interaction input when the user's second hand provides the second interaction input), the computer system abandons displaying the first object and the second object with increased dimming and / or blurring. In some embodiments, when the computer system is conducting a communication session with a second computer system, as described above, and when the three-dimensional environment includes a virtual representation of a second user of the second computer system, the computer system abandons displaying the virtual representation of the second user with increased dimming and / or blurring in response to detecting the first interaction input when the user's second hand provides the second interaction input. When the computer system changes the appearance of the three-dimensional environment, abandoning changing the appearance of multiple objects in the three-dimensional environment facilitates discovery that multiple objects can be simultaneously repositioned relative to the user's viewpoint, thereby improving user-device interaction.
[0180] In some embodiments, based on a determination that the second predefined portion of the user is associated with the second interaction input when the first interaction input is detected and while the first predefined portion of the user remains engaged (826a), as described with reference to Figure 7A After detecting the end of the first interactive input, the computer system detects (826b) via one or more input devices an indication that the second predefined portion of the user is no longer associated with the second interactive input, such as detecting that the hand 705b is no longer in the position indicated in the reference Figure 7B For example, the computer system detects that the user's second hand is no longer providing a pinch gesture, is no longer in a predefined posture (e.g., the user's second hand is in a relaxed state relative to the surface on which the user is positioned), and / or is no longer providing input via the second input device. In some embodiments, when the indication is detected, the user's first hand remains in an engaged posture (e.g., maintaining a pinch gesture and / or maintaining a selection via the input device).
[0181] In some embodiments, after detecting the indication, the computer system detects (826c) a third interaction input associated with the first predefined portion of the user via one or more input devices, such as Figure 7BFor example, while a first hand of a user of the computer system remains engaged (e.g., maintaining a pinch hand shape and / or providing a selection input on a hardware input device), the computer system detects subsequent movement of the user's first hand in space, such as an air drag gesture and / or upon engagement of a hardware input device, as similarly described above.
[0182] In some embodiments, in response to detecting the third interaction input, the computer system performs (826d) a third operation including simultaneously repositioning the first object and the second object within the environment relative to the user's viewpoint based on the third interaction input, such as Figure 7C , the virtual objects 707a and 709a are simultaneously rotated relative to the viewpoint of the user 726 as shown in . For example, the third operation includes simultaneously moving / translating and / or rotating the first object and the second object in the three-dimensional environment relative to the viewpoint of the user of the computer system. In some embodiments, the magnitude and / or direction of the repositioning of the first object and the second object in the three-dimensional environment corresponds to the magnitude and / or direction of the movement / rotation of the user's first hand, as similarly described above. In some embodiments, the movement / translation and / or rotation of the first object and the second object caused by the third interaction input and the second object is in addition to the movement / translation and / or rotation of the first object and the second object caused by the first interaction input. In response to detecting a single-handed input based on whether the hands of the user of the computer system are initially in an engaged posture, performing additional operations including further repositioning multiple objects in the three-dimensional environment reduces the number of inputs required to further reposition the multiple objects relative to the user's viewpoint, thereby improving user-device interaction.
[0183] In some embodiments, after the end of the first interaction input is detected, wherein the second predefined portion of the user is associated with the second interaction input when the first interaction input is detected, as described with reference to Figure 7A The computer system detects (828a) a first predefined portion of a user (e.g., Figure 7C The hand 703C in FIG. 7 is no longer associated with the first interaction input and the second predefined part of the user (eg, Figure 7C The hand 705b) in the second interactive input is no longer associated with the indication, as shown in FIG. Figure 7C For example, the computer system detects that the user's first hand is no longer providing a pinch gesture and / or is no longer providing input via the input device. Additionally and / or simultaneously, in some embodiments, the computer system detects that the user's second hand is no longer providing a pinch gesture, is no longer in a predefined posture (e.g., the user's second hand is in a relaxed state relative to the surface on which the user is positioned), and / or is no longer providing input via the second input device.
[0184] In some embodiments, after detecting the indication, the computer system detects (828b) a third interaction input associated with the first predefined portion of the user via one or more input devices, such as Figure 7D . For example, the computer system detects an air pinch gesture performed by a first hand of a user of the computer system, as similarly described above. In some embodiments, after detecting the air pinch gesture, the computer system detects movement of the user's hand in space, such as an air drag gesture, as described above. In some embodiments, the computer system detects a selection input (e.g., a tap, touch, or click) of a hardware input device provided by one or more fingers of the user's hand, as described above. In some embodiments, the user's second hand remains disengaged while the third interaction input is provided.
[0185] In some embodiments, in response to detecting a third interactive input (828c), the determination that the third interactive input is detected is based on a threshold amount of time (e.g., 0.5, 1, 1.5, 2, 2.5, 3, 4, 5, or 10 seconds) of detecting the indication, as described with reference to FIG. Figure 7D The computer system performs (828d) a third operation, including simultaneously repositioning the first object and the second object within the environment relative to the user's viewpoint based on the third interaction input, such as Figure 7E , the virtual objects 707a and 709a are simultaneously rotated relative to the viewpoint of the user 726. For example, the third operation includes moving / translating and / or rotating the first and second objects in the three-dimensional environment relative to the viewpoint of the user of the computer system. In some embodiments, the magnitude and / or direction of the repositioning of the first and second objects in the three-dimensional environment corresponds to the magnitude and / or direction of the movement / rotation of the user's first hand, as similarly described above. In some embodiments, the movement / translation and / or rotation of the first and second objects caused by the third interaction input and the second object is in addition to the movement / translation and / or rotation of the first and second objects caused by the first interaction input because the third interaction input is detected within a threshold amount of time after the second hand is detected to be no longer in the engaged posture. In response to detecting a single-handed input based on whether the single-handed input is detected within a threshold amount of time after the user of the computer system is detected to be disengaged from both hands, performing additional operations including further repositioning multiple objects in the three-dimensional environment reduces the number of inputs required to further reposition the multiple objects relative to the user's viewpoint, thereby improving user-device interaction.
[0186] In some embodiments, in response to detecting the third interactive input (830a), according to the indication (such as Figure 7F713a shown in FIG) after a threshold amount of time (e.g., 0.5, 1, 1.5, 2, 2.5, 3, 4, 5, or 10 seconds) of detecting a third interactive input, the computer system abandons (830b) performing the third operation, as described with reference to FIG. Figure 7G As described. For example, the computer system performs a fourth operation that is different from the third operation. In some embodiments, because the computer system detects that the user's first hand provides a third interaction input after a threshold amount of time has passed, the computer system activates an optional enable representation or moves the first object or the second object within the three-dimensional environment based on the third interaction input, as similarly described above with respect to the second operation performed in response to detecting the first interaction input. Abandoning the repositioning of multiple objects in the three-dimensional environment in response to detecting a single-handed input after a threshold amount of time has passed since the user's hands are detected to be detached from the computer system enables alternative operations to be performed without displaying additional controls, thereby improving user-device interaction.
[0187] In some embodiments, the user of the computer system engages in a communication session with a second user of a second computer system (e.g., computer system 101b) while displaying the environment (832a) (e.g., upon receiving the first interaction input, the computer system engages in a communication session with the second computer system, as described above). In some embodiments, the environment includes a virtual representation of the second user of the second computer system (832b) (e.g., Figure 7A avatar 706a in) (e.g., the three-dimensional environment includes an avatar corresponding to the second user, as described above).
[0188] In some embodiments, in response to detecting the first interaction input (832c), a second predefined portion of the user is associated with the second interaction input (e.g., as referenced in FIG. 1 ) based on the first interaction input being detected. Figure 7A and a determination that the first object (and / or the second object) is shared with a second user of the second computer system, performing a first operation includes simultaneously repositioning the first object (and / or the second object) and a virtual representation of the second user within the environment relative to the user's viewpoint based on the first interaction input (832d), such as Figure 7B, virtual objects 707a and 709a and avatar 706a are simultaneously moved relative to the viewpoint of user 726. For example, if the user's second hand is associated with the second interaction input when the first interaction input is detected, and if the first object and the second object are shared between the computer system and the second computer system, as described above, the computer system simultaneously repositions the first object, the second object, and the avatar corresponding to the second user within the three-dimensional environment based on the first interaction input relative to the viewpoint of the user of the computer system. In some embodiments, if the first object and the second object are not shared between the computer system and the second computer system, the computer system abandons the simultaneous repositioning of the first object, the second object, and the avatar corresponding to the second user within the three-dimensional environment. For example, the computer system performs an alternative operation (e.g., such as the second operation discussed above). When in a communication session, repositioning multiple shared objects (including representations of other users) in the three-dimensional environment based on whether the hands of the user of the computer system are in an engaged posture enables the simultaneous repositioning of multiple shared objects relative to the user's viewpoint without displaying additional controls, thereby improving user-device interaction.
[0189] In some embodiments, a virtual representation (e.g., similar to avatar 706a) of a user of a computer system (e.g., 101a) is displayed in an environment (834a) at a second computer system (e.g., 101b), as described with reference to FIG. 7A to 7I Said. For example, the second computer system is displaying a three-dimensional environment including an avatar corresponding to a user of the computer system. In some embodiments, if the first object and the second object are shared between the computer system and the second computer system in the communication session, the three-dimensional environment displayed at the second computer system also includes the first object and the second object. In some embodiments, if the first object and / or the second object are not shared with the second computer system, the three-dimensional environment displayed at the second computer system does not include the first object and / or the second object, or includes the first object and / or the second object without the content of the first object and / or the second object. In some embodiments, the three-dimensional environment displayed at the second computer system includes one or more characteristics of the three-dimensional environment displayed at the computer system. For example, the three-dimensional environment at the second computer system is generated as, displayed as, or otherwise enabled to be viewed by the second computer system (e.g., an extended reality (XR) environment, such as a virtual reality (VR) environment, a mixed reality (MR) environment, or an augmented reality (AR) environment). In some embodiments, as described above, the three-dimensional environment displayed at the second computer system includes at least a portion of the physical environment surrounding the second computer system, which is different from the physical environment surrounding the computer system.
[0190] In some embodiments, when the computer system performs the first operation, the virtual representation of the user of the computer system is repositioned in the environment at the second computer system relative to the viewpoint of the second user based on the first operation (834b), similar to Figure 7I . For example, when a computer system simultaneously repositions the first object, the second object, and an avatar corresponding to a second user of the second computer system due to the first object and the second object being shared between the computer system and the second computer system, the second computer system repositions the avatar corresponding to the user of the computer system within the three-dimensional environment at the second computer system relative to the viewpoint of the second user based on the first operation. For example, the second computer system moves the avatar corresponding to the user of the computer system within the three-dimensional environment at the second computer system based on the movement of the first object, the second object, and the avatar corresponding to the user of the computer system without moving the first object and the second object, so that the environment displayed at the computer system and the second computer system maintains a common spatial arrangement of the visual representations / viewpoints of the shared objects and users. In some embodiments, if the second computer system detects an interactive input directed to a portion of the three-dimensional environment displayed at the second computer system, and the second computer system simultaneously repositions the first object, the second object, and the virtual representation of the user of the computer system within the three-dimensional environment relative to the viewpoint of the second user, the computer system will move the virtual representation (e.g., avatar) of the second user in the three-dimensional environment displayed at the computer system relative to the viewpoint of the user of the computer system without moving the first object and the second object. In some embodiments, a second user of the second computer system and a virtual representation of the user of the computer system are moved within environments displayed at the computer system and the second computer system, respectively, to maintain a common spatial arrangement of shared objects and visual representations / viewpoints of the users. While the computer system and the second computer system are engaged in a communication session, repositioning the virtual representation of the user of the computer system within the three-dimensional environment displayed at the second computer system based on input detected at the second computer system maintains spatial realism between the user of the computer system, the second user, and other objects in the communication session, thereby improving user-device interaction.
[0191] In some embodiments, upon detecting the first interaction input, the virtual representation of the user is visually faded in the environment at the second computer system (836), such as Figure 7H. For example, when the computer system detects the user's first hand associated with the first interaction input, the second computer system visually fades the avatar corresponding to the user of the computer system in the three-dimensional environment at the second computer system. In some embodiments, the second computer system dims, blurs, fades, and / or darkens the virtual representation of the user in the three-dimensional environment at the second computer system relative to the second user's viewpoint and / or relative to other portions of the environment displayed at the second computer system. In some embodiments, when the computer system detects the end of the first interaction input, the second computer system stops visually fading the virtual representation of the computer system's user in the three-dimensional environment at the second computer system relative to the second user's viewpoint and / or relative to other portions of the environment displayed at the second computer system. When the computer system and the second computer system are engaged in a communication session, when the second computer system detects input corresponding to a request to reposition multiple objects, visually fading the virtual representation of the computer system's user in the three-dimensional environment displayed at the second computer system provides feedback that the computer system is detecting input corresponding to repositioning the multiple objects, thereby improving user-device interaction.
[0192] In some embodiments, when no virtual objects are displayed in the environment relative to the user's viewpoint (e.g., the first object and the second object are displayed in the three-dimensional environment outside the user's field of view), and from the user's current field of view, no virtual (and / or physical) objects are displayed from the user's current viewpoint of the three-dimensional environment. In some embodiments, one or more physical objects of the physical environment surrounding the display generating component are made visible in the user's current field of view, as described below in method 1400, the computer system detects (838a) via one or more input devices a third interaction input associated with a first predefined part of the user (e.g., hand 703a) and a second predefined part of the user (e.g., hand 705a). For example, the computer system detects an air pinch gesture performed by (each of) the first and second hands of the user of the computer system, as similarly described above, while the user's attention is directed to a corresponding location in the three-dimensional environment (e.g., excluding the location of the first and second objects). In some embodiments, after detecting the air pinch gesture, the computer system detects movement of the user's hands in space, such as an air drag gesture, as described above. In some embodiments, the computer system detects a selection input (e.g., a tap, touch, and / or click) via a hardware input device provided by one or more fingers of (each of) the user's first and second hands, as described above. In some embodiments, the movement comprises a translation or rotation of the user's first and / or second hand. In some embodiments, the reference point is determined based on the location of the user's attention in the three-dimensional environment.
[0193] In some embodiments, in response to detecting a third interaction input (838b), based on a determination that the third interaction input corresponds to a request to perform a third operation of a first type, the third operation of the first type comprising simultaneously repositioning a first object and a second object within the environment in a first manner relative to the user's viewpoint, the computer system performs (838c) the third operation based on the third interaction input, as described below in method 1400. For example, the third operation of the first type comprises moving / translating and / or rotating a first object and a second object within the three-dimensional environment relative to the viewpoint of the user of the computer system. In some embodiments, the computer system simultaneously repositions the first object and the second object within the three-dimensional environment relative to the user's viewpoint based on the third interaction input. For example, the computer system simultaneously moves the first object and the second object or simultaneously rotates the first object and the second object (e.g., when the first object and the second object are optionally outside the user's field of view) based on the third interaction input.
[0194] In some embodiments, based on a determination that the third interaction input corresponds to a request to perform a third operation of a second type, different from the first type, the third operation of the second type comprising simultaneously repositioning the first object and the second object within the environment in a second manner relative to a reference point other than the user's viewpoint, the computer system abandons (838d) performing the third operation, as described below in method 1400. For example, the third operation of the second type comprises rotating the first object and the second object in the three-dimensional environment relative to a reference point determined based on a gaze position of the user in the three-dimensional environment. In some embodiments, the computer system abandons simultaneously repositioning the first object and the second object relative to the reference point because the first object and the second object are outside the user's field of view. In some embodiments, the computer system performs an alternative operation. For example, the computer system simultaneously repositions the first object and the second object relative to the viewpoint of the user of the computer system (e.g., regardless of the location of the user's attention). In some embodiments, the computer system does not perform the third operation of the second type, comprising simultaneously repositioning the first object and the second object within the environment relative to the reference point, because the third operation of the first type is only allowed when there are no virtual objects in the user's current field of view. When multiple objects are outside the user's field of view, limiting the repositioning of multiple objects to the user's viewpoint relative to the computer system avoids situations where multiple objects are unintentionally moved and / or moved further outside the user's field of view, thereby improving user-device interaction.
[0195] It should be understood that the specific order in which the operations in method 800 are described is merely exemplary and is not intended to indicate that the described order is the only order in which the operations may be performed. A person of ordinary skill in the art will recognize many ways to rearrange the operations described herein.
[0196] 9A to 9I An example of a computer system that facilitates manipulation of virtual objects in a virtual environment is shown in accordance with some embodiments.
[0197] Figure 9A The computer system (eg, electronic device) 101a is shown via a display generating component (eg, Figure 1 The display generation component 120 of the computer system 101 displays the three-dimensional environment 901 from the viewpoint of the user 905a shown in a top view (e.g., facing the back wall of the physical environment in which the computer system 101 is located). In some embodiments, the computer system 101a includes a display generation component (e.g., a touch screen 120) and multiple image sensors (e.g., Figure 3 3D environment 901). The image sensor optionally includes one or more of the following: a visible light camera; an infrared camera; a depth sensor; or any other sensor that the computer system 101a can use to capture one or more images of the user or a portion of the user (e.g., one or more hands of the user) as the user interacts with the computer system 101a. In some embodiments, the user interface shown and described below may also be implemented on a head-mounted display that includes a display generation component that displays the user interface or three-dimensional environment 901 to the user, as well as sensors that detect movement of the physical environment and / or the user's hands (e.g., external sensors facing outward from the user) and / or sensors that detect the user's attention (e.g., gaze) (e.g., internal sensors facing inward toward the user's face).
[0198] like Figure 9A As shown, computer system 101a captures one or more images of the physical environment surrounding computer system 101a (e.g., operating environment 100), including one or more objects in the physical environment surrounding computer system 101a. In some embodiments, computer system 101a displays a representation of the physical environment in three-dimensional environment 901. For example, three-dimensional environment 901 includes representation 922 of a coffee table, which is optionally a representation of a physical coffee table in the physical environment, and three-dimensional environment 901 includes representation 924 of a sofa, which is optionally a representation of a physical sofa in the physical environment.
[0199] exist Figure 9A In FIG, the three-dimensional environment 901 also includes virtual objects, including an application A user interface 902 and an application B user interface 904. The application A user interface 902 and the application B user interface 904 are optionally at different distances from the viewpoint of the user 905a in the three-dimensional environment 901. For example, in FIG. Figure 9A, Application A user interface 902 is located at a first position farther from the viewpoint of user 905a than a second position located at Application B user interface 904 in three-dimensional environment 901, as reflected in the top view. In some embodiments, Application A user interface 902 and Application B user interface 904 are, optionally, one or more user interfaces of applications that include content (e.g., a quick look window displaying photos), three-dimensional objects (e.g., a virtual clock, a virtual ball, and / or a virtual car), or any other element displayed by computer system 101a that is not included in the physical environment of display generation component 120.
[0200] In some embodiments, computer system 101a is engaged in a communication session with a second computer system 101b (shown in a top view). For example, application A user interface 902 and application B user interface 904 within a three-dimensional environment 901 are displayed simultaneously by both computer system 101a and second computer system 101b, but from different viewpoints associated with their respective users. In some embodiments, in the communication session, user 905a of computer system 101a has a first viewpoint of three-dimensional environment 901, and second user 905b of second computer system 101b has a second viewpoint of three-dimensional environment 901. For example, Figure 9A , the field of view of the three-dimensional environment 901 from a first point of view of a user 905a of a computer system 101a includes a first portion of the three-dimensional environment 901 (including the application A user interface 902 and the application B user interface 904), and the field of view of the three-dimensional environment 901 from a second point of view of a second user 905b of a second computer system 101b includes a second portion of the three-dimensional environment 901 displayed via the display generation component of the second computer system 101b. In some embodiments, the second portion of the three-dimensional environment 901 includes the application A user interface 902 and / or the application B user interface 904, or includes neither the application A user interface 902 nor the application B user interface 904. In some embodiments, the computer system 101a and the second computer system 101b are located in the same physical environment (e.g., in Figure 9A In some embodiments, computer system 101a and second computer system 101b are located in different physical environments (e.g., different cities, different rooms, different states, and / or different countries).
[0201] In some embodiments, when computer system 101a is in a communication session with second computer system 101b, three-dimensional environment 901 includes a virtual representation of a second user 905b of second computer system 101b and optionally a virtual representation of second computer system 101b. Figure 9AAs shown in , the three-dimensional environment 901 includes an avatar corresponding to a second user 905b of the second computer system 101b. Figure 9A , an avatar corresponding to the second user 905b is optionally displayed at a third position in the three-dimensional environment 901, as shown in the top view. In some embodiments, the avatar corresponding to the second user 905b includes a three-dimensional representation (e.g., a rendering) of the second user 905b. In some embodiments, the avatar corresponding to the second user includes a representation of the second computer system 101b of which the second user 905b is a user. In some embodiments, the second portion of the three-dimensional environment 901 displayed at the second computer system 101b from the second viewpoint of the second user 905b includes a virtual representation of the user 905a of the computer system 101a.
[0202] In some embodiments, the virtual objects are displayed in the three-dimensional environment 901 with corresponding orientations relative to the viewpoint of the user 905a (e.g., before receiving one or more inputs to interact with the virtual objects in the three-dimensional environment 901, as will be described later). Figure 9A As shown in FIG, application A user interface 902, application B user interface 904, and an avatar corresponding to a second user 905b of a second computer system 101b have a first orientation in a three-dimensional environment 901, as shown via display generation component 120 and in a top view of the three-dimensional environment 901. It should be understood that Figure 9A The orientations of the virtual objects in are merely exemplary, and other orientations are possible; for example, the virtual objects are optionally displayed in different orientations in the three-dimensional environment 901.
[0203] In some embodiments, the application A user interface 902 and / or the application B user interface 904 are shared between a user 905a of the computer system 101a and a second user 905b of the second computer system 101b (e.g., when the computer system 101a and the second computer system 101b are engaged in a communication session). For example, the user interfaces and / or content (e.g., text, images, videos, files, icons, and / or control elements) of the application A user interface 902 and / or the application B user interface 904 are displayed in the first portion and / or the second portion of the three-dimensional environment 901, such that the user interfaces and / or content of the application A user interface 902 and / or the application B user interface 904 are accessible (e.g., viewable and / or interactable (e.g., selectable or scrollable)) by the user 905a of the computer system 101a and the second user 905b of the second computer system 101b. In some embodiments, as described below, when Application A user interface 902 and Application B user interface 904 are shared between user 905a and second user 905b, changes in the relative positions of Application A user interface 902 and / or Application B user interface 904 in three-dimensional environment 901 due to user input received at computer system 101a are reflected in a second portion of three-dimensional environment 901 at second computer system 101b relative to a second viewpoint of second user 905b. In some embodiments, Application A user interface 902 and / or Application B user interface 904 are not shared between user 905a of computer system 101a and second user 905b of second computer system 101b. For example, computer system 101a displays Application A user interface 902 and Application B user interface 904 in three-dimensional environment 901 and / or provides user 905a with access to the contents of Application A user interface 902 and Application B user interface 904, and second computer system 101b forgoes displaying Application A user interface 902 and / or Application B user interface 904 in the portion of three-dimensional environment 901 at second computer system 101b and / or forgoes providing second user 905b with access to the contents of Application A user interface 902 and / or Application B user interface 904. In some embodiments, when Application A user interface 902 and / or Application B user interface 904 are not shared between user 905a and second user 905b, changes in the relative positions of Application A user interface 902 and / or Application B user interface 904 in three-dimensional environment 901 due to user input received at computer system 101a are not reflected in the second portion of three-dimensional environment 901 at second computer system 101b relative to the second viewpoint of second user 905b.
[0204] In some embodiments, computer system 101a and second computer system 101b communicate with each other such that the display of Application A user interface 902 and Application B user interface 904 within three-dimensional environment 901 and / or three-dimensional environment 901 by computer systems 101a and 101b is coordinated. For example, as described below, changes (e.g., changes in position) made to Application A user interface 902, Application B user interface 904, and an avatar corresponding to second user 905b within three-dimensional environment 901 and / or three-dimensional environment 901 itself in response to input from user 905a of computer system 101a are reflected in the display of Application A user interface 902 and / or Application B user interface 904 within the portion of three-dimensional environment 901 and avatar 905b and / or three-dimensional environment 901 by second computer system 101b.
[0205] exist Figure 9A In the embodiment of the present invention, when the computer system 101a displays the three-dimensional environment 901 as described above, the computer system 101a detects interactive input provided by the hands 903a and 90b of the user 905a while the attention of the user 905a (optionally including gaze 907a) is directed to the application A user interface 902 in the three-dimensional environment 901. In some embodiments, the interactive input corresponds to a request to manipulate a virtual object in the three-dimensional environment 901. The interactive input includes movement of the hands 903a and 903b in a movement pattern corresponding to the rotation of the virtual object in the three-dimensional environment 901. In some embodiments, the interactive input includes the hands 903a and 903b in a predefined hand shape (e.g., a pinching hand shape) when performing the movement. In some embodiments, additional or alternative input devices are used to detect input for manipulating the virtual object in the three-dimensional environment 901, as described in more detail below with reference to the method 1000. In some embodiments, as user 905a's attention (optionally including gaze 907a) is directed to application A user interface 902, computer system 101 rotates virtual objects; including application A user interface 902, application B user interface 904, and an avatar corresponding to a second user 905b; about a reference point 908a corresponding to application A user interface 902. For example, reference point 908a is the middle of application A user interface 902, as shown in the top view of three-dimensional environment 901. In some embodiments, when the user 905a is directed to application A user interface 902, computer system 101 rotates virtual objects; including application A user interface 902, application B user interface 904, and an avatar corresponding to a second user 905b; about a reference point 908a corresponding to application A user interface 902. For example, reference point 908a is the middle of application A user interface 902, as shown in the top view of three-dimensional environment 901. Figure 9A While rotating these virtual objects according to the input shown in , computer system 101a maintains the spatial arrangement of application A user interface 902, application B user interface 904, and the avatar corresponding to the second user 905b relative to each other.
[0206] In some embodiments, the computer system 101a rotates the virtual object in response to the interaction input by an amount and direction that corresponds to (e.g., depends on) the amount and direction of the movement of the user's 905a hands 903a and 903b included in the interaction input. Figure 9A The computer system 101a receives the input shown in Figure 9A The input shown in FIG manipulates application A user interface 902, application B user interface 904, and an avatar corresponding to a second user 905b relative to the viewpoint of user 905a and / or relative to one or more representations 922 and / or 924 of physical objects in environment 901, as shown in FIG. Figure 9B As shown in .
[0207] Figure 9B Shown in accordance with Figure 9A The computer system 101a displays the three-dimensional environment 901 after the input manipulations shown in FIG. 9 and the avatar corresponding to the second user 905b are performed. For example, due to Figure 9A The movement of the middle hands 903a and 903b corresponds to the Figure 9A , the computer system 101a rotates the application A user interface 902, the application B user interface 904, and the avatar corresponding to the second user 905b counterclockwise. Figure 9A , the attention (e.g., including gaze 907a) is directed to application A user interface 902, so computer system 101a rotates application A user interface 902, application B user interface 904, and the avatar corresponding to the second user 905b around a reference point 908a corresponding to the center of application A user interface 902. In some embodiments, in response to Figure 9A The amount of rotation of the application A user interface 902, the application B user interface 904, and the avatar corresponding to the second user 905b as shown in the input corresponds to (eg, depends on) the amount of rotation of the avatar corresponding to the second user 905b in the input provided. Figure 9A The amount of movement of hands 903a and 903b during input in .
[0208] like Figure 9B, rotating Application A user interface 902, Application B user interface 904, and an avatar corresponding to a second user 905b about a reference point 908a associated with Application A user interface 902 includes rotating the positions and orientations of these objects counterclockwise about reference point 908a. For example, Application B user interface 904 rotates counterclockwise and changes position to be further away from the viewpoint of user 905a in environment 901, the avatar of second user 905b rotates clockwise and moves toward the viewpoint of user 905a and to the right in environment 901, and Application A user interface 902 rotates counterclockwise. In some embodiments, in response to Figure 9A The center of the application A user interface 902 remains in the same position. Since the center of the application A user interface 902 is the reference point around which the object rotates, a rotation without translation will not cause the center of the application A user interface 902 to change position. Figure 9B As shown, rotating application A user interface 902 causes the left edge of application A user interface 902 to move toward the viewpoint of user 905a and the right edge of application A user interface 902 to move away from the viewpoint of user 905a.
[0209] The spatial arrangement of the application A user interface 902, the application B user interface 904, and the avatar of the second user 905b does not respond to Figure 9A The input shown in Figure 9B In some embodiments, in response to Figure 9A Updating the portion of the three-dimensional environment 901 relative to the viewpoint of the user 905a displayed at the second computer system 101b based on the user input shown in FIG. 1 includes updating the position and / or orientation of the avatar of the user 905a of the computer system 101a displayed at the second computer system 101b without updating the position and / or orientation of the application A user interface 902 or the application B user interface 904. This is optional because the spatial arrangement of the viewpoint of the second user 905b relative to the application A user interface 902 and the application B user interface 904 is not affected by the user input shown in FIG. Figure 9A However, the viewpoint of the user 905a of the computer system 101a relative to the spatial arrangement of the application A user interface 902, the application B user interface 904, and the avatar of the second user 905b may be changed by Figure 9A In some embodiments, when the computer system 101a detects Figure 9A , the computer system 101b displays the avatar of the user 905a of the computer system 101a visually faded relative to the three-dimensional environment 901, as described in more detail above with reference to the method 800.
[0210] Figure 9BThe user is also shown providing another interaction input with hands 903a and 903b while the attention of user 905a (optionally including gaze 907b) is directed to application B user interface 904. The interaction input includes movement of hands 903a and 903b in a movement pattern corresponding to a clockwise rotation, optionally while hands 903a and 903b are in a pinching hand shape. Figure 9B , computer system 101a manipulates application A user interface 902, application B user interface 904, and the avatar of second user 905b to rotate these objects clockwise around the center of application B user interface 904 at reference point 908b, as shown in FIG. Figure 9C As shown in .
[0211] Figure 9C Shows the response to Figure 9B 905a relative to the viewpoint of the user 905a. In some embodiments, updating the view of the three-dimensional environment 901 includes updating the position of the application A user interface 902 and the avatar of the second user 905b to be in the same position as the viewpoint of the three-dimensional environment 901. Figure 9B 908b shown in FIG. 908 and rotates the objects and the application B user interface 904 counterclockwise around the center of the application B user interface 904. In some embodiments, the manipulation amount corresponds to (e.g., depends on) Figure 9B For example, if the amount of movement of hands 903a and 903b is large, the amount of manipulation of the virtual object will be large, and if the amount of movement of hands 903a and 903b is small, the amount of manipulation of the virtual object will be small. In some embodiments, the control unit for responding to the input of Figure 9B The reference point 908b of the input manipulation shown in FIG is associated with the application B user interface 904 because when Figure 9B , the user's 905a attention (optionally including gaze 907b) is directed to the application B user interface 904. In some embodiments, when the computer system 101a detects Figure 9B , the second computer system 101b displays the avatar of the first user 905a faded relative to the three-dimensional environment 901 and, in response to the input, updates the position and / or orientation of the avatar of the user 905a without updating the position and orientation of the application A user interface 902 and the application B user interface 904 in the manner described above with reference to method 800.
[0212] exist Figure 9C, user 905a provides interaction input corresponding to a request to translate application A user interface 902, application B user interface 904, and an avatar of a second user 905b. The interaction input includes user 905a's attention (optionally including gaze 907c) directed to application B user interface 904 and movement of hands 903a and 903b in a movement pattern corresponding to translating a virtual object in three-dimensional environment 901. For example, the movement of hands 903a and 903b is to the right, so the translation of application A user interface 902, application B user interface 904, and the avatar of second user 905b in response to the input will be to the right, as shown in FIG. Figure 9D As shown in .
[0213] Figure 9D Shown Figure 9C The result of the interactive input is shown in . Figure 9D As shown, the computer system 101a is based on Figure 9C The input shown updates the display of the three-dimensional environment 901 to translate the application A user interface 902, the application B user interface 904, and the avatar of the second user 905b to the right relative to the viewpoint of the user 905a. As described above with reference to other inputs for manipulating virtual objects in the three-dimensional environment 901, in some embodiments, the amount of manipulation of the objects corresponds to (e.g., depends on) the amount of movement of the hands 903a and 903b of the user 905a when providing the interaction input. In some embodiments, the second computer system 101b responds to Figure 9C , to update the three-dimensional environment 901 based on the input shown in , to update the position and / or orientation of the avatar of the user 905a, without updating the position and orientation of the application A user interface 902 and the application B user interface 904, as described above with reference to method 800.
[0214] Figures 9A to 9C An example of interactive input for rotating a virtual object in a three-dimensional environment 901 is shown, and Figures 9C to 9D An example of an interactive input for translating a virtual object in a three-dimensional environment 901 is shown. In some embodiments, the computer system 101a performs only translation or rotation in response to the interactive input. For example, even if the interactive input includes movement of hands 903a and 903b corresponding to both translation or rotation, the computer system 101a performs only one of translation or rotation in response to the input based on which movement mode is detected first and / or which movement mode is more prominent. In some embodiments, the computer system 101a performs both rotation and translation in response to the interactive input including both a rotational movement mode and a translational movement mode, as will be referenced below. Figures 9D to 9FIn some embodiments, the relative amounts of translation and rotation performed by computer system 101a in response to interactive inputs including a translational movement pattern and a rotational movement pattern are adjusted according to an adjustment function described below. In some embodiments, the "amount" of various movement patterns includes the speed, duration, and / or distance of movement of hands 903a and 903b in various movement patterns.
[0215] exist Figure 9D In FIG. 1 , the computer system 101a detects an interactive input including movement of hands 903a and 903b in a movement pattern including a translation movement pattern and a rotation movement pattern. For example, the movement pattern initially includes more translation than rotation at points 930a and 932a, and transitions to include more rotation than translation at points 930b and 932b. In some embodiments, as the attention of user 905a (optionally including gaze 907d) is directed to Figure 9D Application B user interface 904, thus responding to Figure 9D The portion of the manipulation of the object of input in that includes rotation is a rotation about a reference point associated with application B user interface 904 , such as a center of application B user interface 904 .
[0216] In some embodiments, upon detecting an interactive input, the computer system 101a adjusts the amount of translation performed in response to the input according to an adjustment function 926a. In some embodiments, the adjustment function 926a illustrates how the amount of translation performed changes as the input includes more movement in a rotational pattern. For example, the y-axis represents the amount of translation performed relative to the amount of rotation performed, and the x-axis represents the amount of rotational movement detected relative to the relative amount of translational movement detected. For example, point 928a of the adjustment function 926a corresponds to points 930a and 932a of the movement of hands 903a and 903b. In this example, at point 928a, the movement pattern of hands 903a and 903b has a rotational movement that is less than the translational movement, and the resulting movement pattern has more translation than rotation. For another example, point 928b of the adjustment function 926a corresponds to points 930b and 932b of the movement of hands 903a and 903b. In this example, at point 928b, the movement pattern of hands 903a and 903b has a rotational movement that is greater than a translational movement, and the resulting manipulation of the virtual object has a translation that is less than a rotation. In some embodiments, the computer system 101a detects Figure 9D. For example, when the portion of the interactive input comprising the movement of hands 903a and 903b is detected at points 930a and 932a, the computer system 101a performs more translation than rotation, and when the portion of the interactive input comprising the movement of hands 903a and 903b is detected at points 930b and 932b, the computer system 101a performs more rotation than translation. In some embodiments, the amount of translation and rotation is inversely proportional to each other. For example, the transition from performing more translation at points 930a and 932a, represented by point 928a of adjustment function 926a, to performing more rotation at points 930b and 932b, represented by point 928b of adjustment function 926a, is illustrated by the curve of adjustment function 926a.
[0217] Although points 928a and 928b are described in detail as examples, the diagram of the adjustment function 926a showing the relative translation amount as a function of the relative rotation input amount shows the adjustment amounts for multiple points along the adjustment function 926a. Figure 9D As shown, the adjustment function 926a is nonlinear, so that when the input includes a small amount of movement corresponding to rotation, the amount of movement corresponding to rotation is changed by a smaller amount than when the input includes relatively equal amounts of movement corresponding to translation and movement corresponding to rotation. Figure 9D As shown, the adjustment function 926a is nonlinear such that when the input includes a large amount of movement corresponding to rotation, the amount of movement corresponding to rotation is changed by a smaller amount than when the input includes relatively equal amounts of movement corresponding to translation and movement corresponding to rotation. In some embodiments, as described below with reference to Figure 9E Described in more detail, the adjustment function for adjusting the relative rotation amount according to the relative amount of translation input is different from Figure 9D The adjustment function 926a shown in FIG.
[0218] In response to Figure 9D Based on the input shown in , the computer system 101a updates the three-dimensional environment 901 to translate and rotate the application A user interface 902, the application B user interface 904, and the avatar of the second user 905b, as shown in FIG. Figure 9E For example, in Figure 9E , the computer system 101a displays the viewpoint of the user 905a in the three-dimensional environment 901 and in response to Figure 9D In some embodiments, when the computer system 101a detects that the application A user interface 902 and the application B user interface 904 are rotated counterclockwise according to the input shown in FIG. Figure 9D, the second computer system 101b displays the avatar of the user 905a of the computer system 101a with reduced visual emphasis relative to the rest of the environment 901, as described above.
[0219] exist Figure 9E , computer system 101a detects interactive input, including, optionally, movement of hands 903a and 903b when hands 903a and 903b are in a pinching hand shape and attention of user 905a directed to application A user interface 902 (optionally including gaze 907e). The movement of hands 903a and 903b includes a translation movement pattern and a rotation movement pattern. For example, the movement pattern initially includes more rotation than translation at points 930c and 932c, and transitions to include more translation than rotation at points 930d and 932d. In some embodiments, as user 905a's attention (optionally including gaze 907e) is directed to Figure 9E Application A user interface 902 in the application, so in response to Figure 9E The portion of the manipulation of the object of input in that includes rotation is a rotation about a reference point associated with application A user interface 902 , such as the center of application A user interface 902 .
[0220] In some embodiments, upon detecting an interactive input, the computer system 101a adjusts the amount of rotation performed in response to the input according to an adjustment function 926b. The adjustment function 926b is optionally similar to the one described above with reference to Figure 9E The adjustment function 926a is described, but is optionally a different function, such as Figure 9D and Figure 9E As shown. In some embodiments, the adjustment function 926b shows how the amount of rotation performed changes as the input includes more movement in the translation mode. For example, the y-axis represents the amount of rotation performed relative to the amount of translation performed, and the x-axis represents the amount of translation movement detected relative to the relative amount of rotational movement detected. For example, point 928c of the adjustment function 926b corresponds to points 930c and 932c of the movement of hands 903a and 903b. In this example, at point 928c, the movement pattern of hands 903a and 903b has a translation movement that is less than the rotational movement, and the resulting manipulation of the virtual object has more rotation than translation. For another example, point 928d of the adjustment function 926b corresponds to points 930d and 932d of the movement of hands 903a and 903b. In this example, at point 928d, the movement pattern of hands 903a and 903b has a translation movement that is greater than the rotational movement, and the resulting movement pattern has a rotation that is less than translation. In some embodiments, the computer system 101a detects Figure 9E. For example, when the portion of the interactive input comprising the movement of hands 903a and 903b is detected at points 930c and 932c, the computer system 101a performs more rotation than translation, and when the portion of the interactive input comprising the movement of hands 903a and 903b is detected at points 930d and 932d, the computer system 101a performs more translation than rotation. In some embodiments, the amount of translation and rotation is inversely proportional to each other. For example, the transition from performing more rotation at points 930c and 932c, represented by point 928c of adjustment function 926b, to performing more translation at points 930d and 932d, represented by point 928d of adjustment function 926b, is illustrated by the curve of adjustment function 926b.
[0221] Although points 928c and 928d are described in detail as examples, the diagram of the adjustment function 926b showing the amount of relative rotation as a function of the amount of relative translation input shows the amount of adjustment for multiple points along the adjustment function 926b. In some embodiments, as described above with reference to Figure 9D Described in more detail, the adjustment function for adjusting the relative translation amount according to the relative amount of rotation input is different from Figure 9E In response to the adjustment function 926b shown in Figure 9E The computer system uses the input Figure 9E The input in rotates and translates the representation of application A user interface 902, application B user interface 904 and the second user 905b, as shown in FIG. Figure 9F shown.
[0222] Figure 9F Shown according to Figure 9E For example, the representations of the application A user interface 902, the application B user interface 904, and the second user 905b are relative to the input in the computer system 101a of the environment 901. Figure 9E The positions of these objects in the image and the viewpoint of user 905a are rotated counterclockwise and translated to Figure 9F In some embodiments, as described above, when the computer system 101a detects Figure 9E , the second computer system 101b displays the avatar of the user 905a of the computer system 101a visually faded relative to the rest of the environment 901 at the second computer system 101b.
[0223] In some embodiments, the computer system 101a is capable of manipulating the virtual object in additional or alternative ways in response to detecting interaction inputs including additional or alternative movement patterns of the hands 903a and 903b, as will be described below with reference to Figures 9F to 9IIn some embodiments, the computer system 101a is capable of detecting additional or alternative movement patterns, including those described in more detail. Figure 9A and Figure 9B Similar rotational movement patterns as shown in, and / or with Figure 9C It should be understood that the interactive input of the combination of similar translation movement modes shown in Figures 9F to 9H The various inputs shown in Figures 9G to 9I The associations between the operations shown in are exemplary. In some embodiments, the computer system 101a Figures 9G to 9I The corresponding manipulations shown in Figures 9F to 9H , rather than the corresponding inputs provided as examples of causing corresponding manipulations in the following description. Figure 9G The manipulation shown in is described as responding to Figure 9F , but in some embodiments, the computer system 101a executes in response to different inputs. Figure 9G The manipulation shown in .
[0224] For example, in Figure 9F In the embodiment, the computer system detects an interactive input including one hand 903a maintaining a corresponding hand shape (such as a pinching hand shape) while the other hand 903b moves in a rotational movement shape relative to the hand 903a. In some embodiments, as part of the interactive input, the hand 903b moving in the rotational movement shape is in a predetermined hand shape, such as a pinching hand shape, when moving in the rotational movement shape. In some embodiments, as Figure 9G As shown in Figure 9F , the computer system rotates the virtual object around a reference point 908c associated with the viewpoint of user 905a and / or the position of the head and / or torso of user 905a based on the movement of hand 903b. For example, the object will rotate clockwise by an amount that corresponds to (e.g., depends on) the amount that hand 903b is moved clockwise relative to the torso / viewpoint of user 905a and / or relative to hand 903a. In some embodiments, because the movement pattern of hands 903a and 903b corresponds to a rotation around reference point 908c, which is not associated with one of application A user interface 902, application B user interface 904, or the avatar of second user 905b, computer system 101a uses point 907c as the reference point regardless of where the user is focused in environment 901. For example, regardless of whether user 905a's attention (optionally including gaze 907f) is directed to application A user interface 902 or whether user 905a's attention (optionally including gaze 907g) is directed to application B user interface 904, computer system 101a responds to receiving Figure 9F The input shown in Figure 9G The update environment 901 is shown. In some embodiments, when the computer system 101a detects Figure 9F , the second computer system 101b displays the avatar of the user 905a of the computer system 101a visually faded relative to the rest of the environment 901 at the second computer system 101b, as described above.
[0225] Figure 9G Shows the presentation according to Figure 9F The computer system 101a of the environment 901 for input updates is shown. Figure 9G The representations of application A user interface 902, application B user interface 904, and second user 905b in FIG. Figure 9F The positions of these objects in Figure 9F The reference point 908c in the figure rotates clockwise.
[0226] like Figure 9G As shown, the computer system 101a detects Figure 9G In some embodiments, detecting the movement of hands 903a and 903b includes detecting that the user makes a pinching hand shape with hands 903a and 903b, and then moves hands 903a and 903b in a rotational movement around the user's torso while maintaining the pinching hand shape. For example, Figure 9G In some embodiments, in response to detecting the presence of Figure 9G , computer system 101a rotates application A user interface 902, application B user interface 904, and a representation of user 905b of a second computer system 101b about a reference point 908d between hands 903a and 903b and the torso / viewpoint of user 905a. In some embodiments, reference point 908d is selected regardless of the location in environment 901 where the user is currently attending (e.g., and currently looking). Thus, in some embodiments, computer system 101a rotates application A user interface 902, application B user interface 904, and a representation of user 905b of a second computer system 101b about a reference point 908d between hands 903a and 903b and the torso / viewpoint of user 905a. Figure 9G , to update the environment 901, such as Figure 9H , regardless of whether attention (optionally including gaze 907h) is directed to application A user interface 902 or whether attention (optionally including gaze 907i) is directed to application B user interface 904 or anywhere else in environment 901. In some embodiments, when computer system 101a receives Figure 9G , the second computer system 101b displays the avatar of the user 905a of the computer system 101a visually faded relative to the rest of the environment 901, as described above.
[0227] Figure 9H Shown in response to the above reference Figure 9G An example of a computer system 101a displaying an updated environment 901 based on interactive input is described. For example, Figure 9H The representations of application A user interface 902, application B user interface 904, and second user 905b in FIG. Figure 9G The positions of these virtual objects in Figure 9G In some embodiments, the amount and direction of rotation of the virtual object corresponds to Figure 9G The amount and direction of movement of hands 903a and 903b are included in the interactive input shown in . For example, the amount and direction of the rotation performed is based on the amount of movement of the midpoint between hands 903a and 903b relative to the torso / viewpoint of user 905a.
[0228] exist Figure 9H In FIG. 1 , computer system 101a detects interactive input provided by a user including movement of hands 903a and 903b while the user's attention (optionally including gaze 907g) is directed to application A user interface 902. In some embodiments, the movement of hands 903a and 903b is associated with Figure 9G The movements of hands 903a and 903b in the example are the same or similar. For example, hands 903a and 903b make a pinching hand shape and then move in a rotational shape relative to the torso and / or viewpoint of user 905a. As described above, in some embodiments, in response to this input, the computer system rotates the virtual object relative to a reference point 908d between the hands and torso / viewpoint of user 905a. In some embodiments, in response to Figure 9G or Figure 9H , the computer system rotates application A user interface 902, application B user interface 904, and a representation of a second user 904b relative to a reference point 908d between hands 903a and 903b and the torso / viewpoint of user 905a, and rotates the object about a reference point 908e associated with application A user interface 902, as shown in FIG. Figure 9IIn some embodiments, manipulation of the virtual object with respect to the viewpoint of user 905a includes rotation around a reference point 908e associated with application A user interface 902 because the user's attention (optionally including gaze 907g) is directed to application A user interface 902 when providing the interactive input. In some embodiments, if the user's attention (optionally including gaze) is directed to a different virtual object (such as application B user interface 904 or a representation of a second user 905b) when providing the interactive input, then in addition to the rotation around reference point 908d, manipulation relative to the viewpoint of user 905a will also include rotation around a reference point associated with another virtual object that the user was focused on when providing the interactive input. In some embodiments, manipulation also includes translating the virtual object relative to the viewpoint of user 905a based on the movement of hands 903a and 903b while providing the interactive input. In some embodiments, when computer system 101a receives interaction input, second computer system 101b displays a representation of the user 905a of computer system 101a with reduced visual emphasis relative to the rest of the environment, as described in more detail above.
[0229] Figure 9I Shows the response to Figure 9H An example of computer system 101a displaying updated environment 901 based on the input shown. Figure 9I The positions and orientations of the representations of application A user interface 902, application B user interface 904, and second user 905b in FIG. Figure 9H The positions and orientations of these objects in Figure 9H The reference points 907d and 907e in FIG.
[0230] In some embodiments, in response to detecting a combination of movement patterns, the computer system 101a performs a combination of manipulations of virtual objects in the environment 901 relative to the viewpoint of the user 905a. For example, in response to detecting a combination of movement patterns similar to those described below with reference to Figure 9F 、 Figure 9G and / or Figure 9H In response to the interactive input of one or more of the movement modes described in one or more of the movement modes and the translation movement mode, the computer system 101a performs an operation similar to Figure 9G 、 Figure 9H and / or Figure 9I In some embodiments, similar to the manipulation of one or more manipulations shown in FIG. Figure 9G 、 Figure 9H and / or Figure 9I The amount of manipulation of one or more manipulations shown in FIG relative to the viewpoint of the user 905a is independent of the amount of translation. Figure 9F 、 Figure 9G and / or Figure 9H In response to the interactive input of one or more of the movement modes described in one or more of the movement modes and the rotation movement mode, the computer system 101a performs an operation similar to Figure 9G 、 Figure 9H and / or Figure 9I , and rotation of the virtual object (e.g., about a reference point associated with the virtual object that the user is focused on when providing the interactive input). Figure 9F 、 Figure 9G and / or Figure 9H In response to the interactive input of one or more of the movement modes described in one or more of the movement modes, the rotation movement mode and the translation movement mode, the computer system 101a executes similar to Figure 9G 、 Figure 9H and / or Figure 9I , a manipulation of one or more of the manipulations shown in , a rotation of a virtual object (e.g., about a reference point associated with the virtual object that the user focuses on when providing interaction input), and a translation of the virtual object.
[0231] Figures 10A to 10H is a flow chart illustrating a method 1000 for facilitating manipulation of a virtual object in a virtual environment according to some embodiments. In some embodiments, the method 1000 is performed on a computer system (e.g., Figure 1 The computer system 101 in the embodiment of the present invention is executed at a computer system 101 in the embodiment of the present invention, such as a tablet computer, smart phone, wearable computer or head mounted device, which includes a display generating component (e.g., Figure 1 、 Figure 3 and Figure 4 In some embodiments, method 1000 is performed by one or more processors of a computer system, such as one or more processors 202 of computer system 101 (e.g., a computer program product 1000). In some embodiments, method 1000 is performed by one or more processors of a computer system, such as one or more processors 202 of computer system 101 (e.g., a computer program product 1000). Figure 1 Some operations in method 1000 may be optionally combined, and / or the order of some operations may be optionally changed.
[0232] In some embodiments, method 1000 is performed at a computer system (e.g., 101a) in communication with a display generation component (e.g., 120) and one or more input devices (e.g., 120 and / or 314), such as at Figure 9A In some embodiments, the computer system is or includes an electronic device. In some embodiments, the computer system has one or more of the characteristics of the computer system in methods 800, 1200, and / or 1400. In some embodiments, the display generation component has one or more of the characteristics of the display generation component in methods 800, 1200, and / or 1400. In some embodiments, one or more input devices have one or more of the characteristics of the one or more input devices in methods 800, 1200, and / or 1400.
[0233] In some embodiments, a computer system (e.g., 101a) displays (1002a) an object (e.g., 902) in an environment (e.g., 901) via a display generation component (e.g., 120), such as in Figure 9AIn some embodiments, the environment corresponds to a physical environment around the display generation component and / or the computer system, and / or a virtual environment. In some embodiments, the computer system displays a three-dimensional environment, such as the three-dimensional environment described with reference to methods 800, 1200 and / or 1400. In some embodiments, the object is located at a corresponding position in the three-dimensional environment. In some embodiments, the object is or includes content (e.g., one or more images, videos and / or audio content). In some embodiments, the object has one or more of the characteristics of the object in methods 800, 1200 and / or 1400. In some embodiments, as discussed in more detail below, the computer system and one or more auxiliary computer systems perform a communication session. For example, objects and / or the three-dimensional environment within the three-dimensional environment are displayed concurrently by the computer system and one or more auxiliary computer systems, but are displayed from different viewpoints associated with their corresponding users. In some embodiments, during a communication session, a user of the computer system has a first viewpoint of the three-dimensional environment associated with a first location in the three-dimensional environment, and one or more users of one or more auxiliary computer systems have a second viewpoint of the three-dimensional environment associated with a second location in the three-dimensional environment, different from the first viewpoint, as described with reference to methods 800, 1200, and / or 1400. In some embodiments, the computer system and the one or more auxiliary computer systems are in the same physical environment (e.g., different locations in the same room). In some embodiments, the computer system and the one or more auxiliary computer systems are in different physical environments (e.g., different cities, different rooms, different states, and / or different countries). In some embodiments, the computer system and the one or more auxiliary computer systems communicate with each other such that the computer system's display of objects within the three-dimensional environment and / or the three-dimensional environment is coordinated (e.g., changes to objects within the three-dimensional environment and / or the three-dimensional environment made in response to input from the user of the computer system are reflected in the one or more auxiliary computer systems' display of objects within the three-dimensional environment and / or the three-dimensional environment). Additionally, the three-dimensional environment optionally includes virtual representations of the users of the one or more auxiliary computer systems (e.g., avatars corresponding to the users).
[0234] In some embodiments, while the object is displayed in the environment (1002b), the computer system (e.g., 101a) receives (1002c) via one or more input devices a first interaction input (e.g., an air gesture, a hardware input device input), the first interaction input comprising movement of a predefined portion (e.g., 903a and / or 903B) (e.g., one or more hands and / or arms and / or head) of a user of the computer system (e.g., 101a), such as in Figure 9AIn some embodiments, the first interaction input corresponds to a request to update the pose (e.g., position and / or orientation) of an object in the environment, such as translating and / or rotating the object in the environment relative to the user's viewpoint based on movement of a predefined portion of the user.
[0235] In some embodiments, when an object (e.g., 902) is displayed in an environment (1002b), in response to receiving a first interaction input, the computer system (e.g., 101a) manipulates (1002d) the object (e.g., 902) in the environment (e.g., 901), such as in Figure 9B middle.
[0236] In some embodiments, based on determining that the movement of a predefined portion of the user (e.g., 903a and / or 903b) is part of a first movement pattern, such as in Figure 9A In the embodiment of the present invention, manipulating an object (e.g., 902) in an environment (e.g., 901) includes manipulating the object in a first manner according to a first amount (e.g., amount of speed, distance, and / or duration) of movement of a predefined portion of the user (e.g., 903a and / or 903b) in a first movement pattern (1002e), such as in Figure 9BIn some embodiments, detecting a first movement pattern of a predefined portion of a user includes detecting movement of a hand of the user relative to the torso of the user. In some embodiments, detecting the first movement pattern includes detecting a hand of the user in a predefined hand shape, such as a pinching hand shape in the air. In some embodiments, detecting a first movement pattern of a predefined portion of a user includes detecting movement of the hand relative to the torso with or without the hands moving relative to each other (e.g., two hands moving in the same direction or two hands moving in the same direction in one dimension and moving in different directions in another dimension). In some embodiments, the hand of the user moves toward, away from, and / or laterally relative to the torso of the user. In some embodiments, both hands of the user move simultaneously. In some embodiments, detecting a first interactive input includes detecting input provided via a hardware input device. For example, the first interactive input includes detecting movement of one or more conductive objects touched and / or hovering within a threshold distance (e.g., 1, 2, 3, 4, 5, or 10 centimeters) of a touch-sensitive surface (such as a touch screen or touchpad). In some embodiments, the first interactive input includes detecting an object moving in a first movement pattern. For example, a first movement pattern is movement of two or more contacts that move more relative to the touch-sensitive surface than they move relative to each other. For another example, a first movement pattern includes movement of one or more objects along a straight line direction of the touch-sensitive surface. In some embodiments, manipulating an object in the environment in a first manner includes translating the object in the environment relative to the user's viewpoint, such as updating the position of the object relative to the user's viewpoint based on the amount and direction of movement of a predefined portion of the user. For example, in response to detecting a first movement pattern of a predefined portion of the user along a first direction by a first amount, the computer system translates the object along the first direction relative to the user's viewpoint by a second amount that is proportional to the first amount. For another example, in response to detecting a first movement pattern of a predefined portion of the user along a second direction by a third amount, the computer system translates the object along the second direction relative to the user's viewpoint by a fourth amount that is proportional to the second amount.
[0237] In some embodiments, based on determining that the movement of the predefined portion of the user (e.g., 903a and / or 903b) is part of a second movement pattern that is different from the first movement pattern, such as in Figure 9C In the embodiment of the present invention, manipulating an object (e.g., 902) in an environment (e.g., 901) includes manipulating the object (e.g., 902) in a second manner according to a second amount (e.g., amount of speed, distance, and / or duration) of movement of a predefined portion (e.g., 903a and / or 903b) of the user in the second movement mode and according to a third amount (e.g., amount of speed, distance, and / or duration) of movement of the predefined portion (e.g., 903a and / or 903b) of the user in the first movement mode (1002f), such as in Figure 9DIn some embodiments, the third amount of movement in the first movement pattern is the same as the first amount of movement. In some embodiments, the third amount of movement in the first movement pattern is different from the first amount of movement. In some embodiments, detecting the second movement pattern of the predefined portion of the user includes detecting movement of the user's hands relative to each other. In some embodiments, detecting the second movement pattern includes detecting the user's hands in a predefined hand shape, such as a pinching hand shape in the air. In some embodiments, detecting the second movement pattern of the predefined portion of the user includes detecting movement of the hands relative to each other with or without movement relative to the user's torso (for example, the hands move in opposite directions or the hands move in the same direction in one dimension and in different directions in another dimension). In some embodiments, the second movement pattern is movement of the hands around the space between the hands, such as movement along the perimeter of a circle, ellipse, or other shape. In some embodiments, detecting the second movement pattern includes detecting one or more objects approaching a hardware input device comprising a touch-sensitive surface (for example, a touchpad or touch screen), as described above. In some embodiments, the hardware input device detects one or more objects moving in the second movement pattern, such as detecting two or more contacts moving away from each other and / or around a circular, elliptical, or other shaped area of the touch-sensitive surface of the hardware input device. In some embodiments, the first movement mode and the second movement mo...
Claims
1. A method comprising: At a computer system in communication with a display generating component and one or more input devices: displaying, via the display generating component, an environment including a first object and a second object; When displaying the environment including the first object and the second object, detecting, via the one or more input devices, a first interaction input associated with a first predefined portion of a user of the computer system; as well as In response to detecting the first interactive input: performing a first operation based on a determination that a second predefined portion of the user, different from the first predefined portion, is associated with a second interactive input when the first interactive input is detected, including simultaneously repositioning the first object and the second object within the environment relative to a viewpoint of the user of the computer system based on the first interactive input; as well as Based on a determination that the second predefined portion of the user is not associated with the second interaction input when the first interaction input is detected, a second operation different from the first operation is performed. 2 . The method of claim 1 , wherein performing the second operation comprises activating a selectable option displayed in the environment. 3 . The method of claim 1 , wherein performing the second operation comprises repositioning one of the first object and the second object within the environment relative to the viewpoint of the user according to the first interaction input.
4. The method according to any one of claims 1 to 3, wherein: the user of the computer system engaging in a communication session with a second user of a second computer system while displaying the environment, The environment includes a virtual representation of the second user of the second computer system, and In response to detecting the first interaction input, in accordance with the determination that the second predefined portion of the user is associated with the second interaction input when the first interaction input is detected, the first operation comprises simultaneously repositioning the virtual representation of the second user and the first object and the second object within the environment relative to the viewpoint of the user of the computer system in accordance with the first interaction input; and The method further comprises, in response to detecting the first interaction input: Based on the determination that the second predefined portion of the user is not associated with the second interaction input when the first interaction input is detected, and based on the determination that the first interaction input is directed to the virtual representation of the second user, repositioning the virtual representation of the second user within the environment is abandoned.
5. The method according to any one of claims 1 to 4, wherein: the user of the computer system engaging in a communication session with a second user of a second computer system while displaying the environment, The environment includes a virtual representation of the second user of the second computer system, and In response to detecting the first interactive input: Based on the determination that the second predefined portion of the user is associated with the second interaction input when the first interaction input is detected, performing the first operation includes simultaneously repositioning the first object, the second object, and the virtual representation of the second user within the environment relative to the viewpoint of the user based on the first interaction input.
6. The method according to any one of claims 1 to 5, wherein: the first interactive input comprising movement of the first predefined portion of the user of the computer system in a first direction and by a first magnitude; and The first operation includes simultaneously repositioning the first object and the second object within the environment relative to the viewpoint of the user in accordance with the first interaction input in a second direction based on the first direction and at a second magnitude based on the first magnitude.
7. The method of claim 6, wherein simultaneously repositioning the first object and the second object within the environment along the second direction and by the second magnitude comprises: repositioning the first object and the second object simultaneously within the environment in a first relative direction and by a second relative magnitude in accordance with the movement of the first predefined portion of the user relative to the second predefined portion of the user being a first relative movement; as well as Based on the movement of the first predefined part of the user relative to the second predefined part of the user being a second relative movement different from the first relative movement, the first object and the second object are simultaneously repositioned within the environment along a second relative direction different from the first relative direction and with a second relative magnitude different from the first relative magnitude.
8. The method of claim 6, wherein simultaneously repositioning the first object and the second object within the environment along the second direction and by the second magnitude comprises: repositioning the first object and the second object simultaneously in a first relative direction and by a second relative magnitude within the environment in accordance with the movement of the first predefined portion of the user relative to a third predefined portion different from the first predefined portion and the second predefined portion of the user being a first relative movement; as well as Based on the movement of the first predefined part of the user relative to the third predefined part of the user being a second relative movement different from the first relative movement, the first object and the second object are simultaneously repositioned within the environment along a second relative direction different from the first relative direction and with a second relative magnitude different from the first relative magnitude.
9. The method according to any one of claims 1 to 8, wherein when the first interaction input is detected, the environment is displayed with a first visual characteristic having a second value, the method further comprising: When the first interactive input is detected: displaying the environment with the first visual characteristic having a first value different from the second value in accordance with the determination that the second predefined portion of the user is associated with the second interaction input when the first interaction input is detected; as well as Based on the determination that the second predefined portion of the user is not associated with the second interaction input when the first interaction input is detected, display of the environment is maintained with the first visual characteristic having the second value.
10. The method according to claim 9, further comprising: while displaying the environment with the first visual characteristic having the first value, detecting, via the one or more input devices, an indication that the first predefined portion of the user is no longer associated with the first interaction input and the second predefined portion of the user is no longer associated with the second interaction input; as well as In response to detecting the indication, display of the environment is maintained with the first visual characteristic having the first value for a threshold amount of time.
11. The method according to claim 9, further comprising: After detecting the end of the first interactive input, detecting a third interactive input via the one or more input devices; as well as In response to detecting the third interaction input: displaying the environment with the first visual characteristic having the second value in accordance with a determination that the third interaction input is not associated with one of the first predefined portion of the user or the second predefined portion of the user; as well as Based on a determination that the third interaction input is associated with the first predefined portion of the user and the second predefined portion of the user, the environment is displayed with the first visual characteristic having the first value.
12. A method according to claim 9, wherein the environment includes one or more portions of a physical environment of the display generating component, displaying the environment with the first visual characteristic having the first value includes displaying the one or more portions of the physical environment with a first visual emphasis relative to the first object and the second object, and displaying the environment with the first visual characteristic having the second value includes displaying the one or more portions of the physical environment with a second visual emphasis relative to the first object and the second object that is different from the first visual emphasis.
13. The method according to any one of claims 1 to 12, further comprising: Based on the determination that the second predefined portion of the user is associated with the second interaction input upon detecting the first interaction input and while the first predefined portion of the user remains engaged: After detecting an end of the first interaction input, detecting, via the one or more input devices, an indication that the second predefined portion of the user is no longer associated with the second interaction input; After detecting the indication, detecting, via the one or more input devices, a third interaction input associated with the first predefined portion of the user; as well as In response to detecting the third interaction input, performing a third operation includes simultaneously repositioning the first object and the second object within the environment relative to the viewpoint of the user according to the third interaction input.
14. The method according to any one of claims 1 to 13, further comprising: after detecting an end of the first interaction input, wherein the second predefined portion of the user was associated with the second interaction input when the first interaction input was detected, detecting, via the one or more input devices, an indication that the first predefined portion of the user is no longer associated with the first interaction input and the second predefined portion of the user is no longer associated with the second interaction input; After detecting the indication, detecting, via the one or more input devices, a third interaction input associated with the first predefined portion of the user; as well as In response to detecting the third interaction input: Based on a determination that the third interaction input is detected within a threshold amount of time of detecting the indication, performing a third operation includes simultaneously repositioning the first object and the second object within the environment relative to the viewpoint of the user based on the third interaction input.
15. The method according to claim 14, further comprising: In response to detecting the third interaction input: Based on a determination that the third interaction input is detected after the threshold amount of time of detecting the indication, performing the third operation is foregone.
16. The method according to any one of claims 1 to 15, wherein: said user of said computer system engaging in a communication session with a second user of a second computer system while displaying said environment; The environment includes a virtual representation of the second user of the second computer system; and In response to detecting the first interactive input: Based on a determination that the second predefined portion of the user is associated with the second interaction input and the first object is shared with the second user of the second computer system when the first interaction input is detected, performing the first operation includes simultaneously repositioning the first object and the virtual representation of the second user within the environment relative to the viewpoint of the user based on the first interaction input.
17. The method of claim 16, wherein: displaying a virtual representation of the user of the computer system in an environment at the second computer system; and When the computer system performs the first operation, the virtual representation of the user of the computer system is repositioned in the environment at the second computer system relative to a viewpoint of the second user based on the first operation.
18. A method according to any one of claims 16 to 17, wherein: Upon detecting the first interaction input, visually fading the virtual representation of the user in the environment at the second computer system.
19. The method according to any one of claims 1 to 18, further comprising: detecting, via the one or more input devices, a third interaction input associated with the first predefined part of the user and the second predefined part of the user when no virtual object is displayed in the environment relative to the viewpoint of the user; as well as In response to detecting the third interaction input: in accordance with a determination that the third interaction input corresponds to a request to perform a third operation of a first type, the third operation of the first type comprising simultaneously repositioning the first object and the second object within the environment in a first manner relative to the viewpoint of the user, performing the third operation in accordance with the third interaction input; as well as Based on a determination that the third interaction input corresponds to a request to perform the third operation of a second type different from the first type, the third operation of the second type comprising simultaneously repositioning the first object and the second object within the environment in a second manner relative to a reference point other than the viewpoint of the user, abandoning performance of the third operation.
20. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; Memory; as well as One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising instructions for: displaying, via the display generating component, an environment including a first object and a second object; detecting, via the one or more input devices, a first interaction input associated with a first predefined portion of a user of the computer system while displaying the environment including the first object and the second object; as well as In response to detecting the first interactive input: performing a first operation based on a determination that a second predefined portion of the user, different from the first predefined portion, is associated with a second interactive input when the first interactive input is detected, including simultaneously repositioning the first object and the second object within the environment relative to a viewpoint of the user of the computer system based on the first interactive input; as well as Based on a determination that the second predefined portion of the user is not associated with the second interaction input when the first interaction input is detected, a second operation different from the first operation is performed.
21. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions that, when executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, cause the computer system to perform a method comprising: displaying, via the display generating component, an environment including a first object and a second object; detecting, via the one or more input devices, a first interaction input associated with a first predefined portion of a user of the computer system while displaying the environment including the first object and the second object; as well as In response to detecting the first interactive input: performing a first operation based on a determination that a second predefined portion of the user, different from the first predefined portion, is associated with a second interactive input when the first interactive input is detected, including simultaneously repositioning the first object and the second object within the environment relative to a viewpoint of the user of the computer system based on the first interactive input; as well as Based on a determination that the second predefined portion of the user is not associated with the second interaction input when the first interaction input is detected, a second operation different from the first operation is performed.
22. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; Memory; means for displaying, via the display generating component, an environment including a first object and a second object; means for detecting, via the one or more input devices, a first interaction input associated with a first predefined portion of a user of the computer system while displaying the environment including the first object and the second object; as well as means for performing the following operations in response to detecting the first interaction input: performing a first operation based on a determination that a second predefined portion of the user, different from the first predefined portion, is associated with a second interactive input when the first interactive input is detected, including simultaneously repositioning the first object and the second object within the environment relative to a viewpoint of the user of the computer system based on the first interactive input; as well as Based on a determination that the second predefined portion of the user is not associated with the second interaction input when the first interaction input is detected, a second operation different from the first operation is performed.
23. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; Memory; as well as One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising instructions for executing any one of the methods according to claims 1 to 19.
24. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions that, when executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, cause the computer system to perform any of the methods of claims 1 to 19.
25. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; Memory; as well as Means for carrying out any of the methods according to claims 1 to 19.
26. A method comprising: At a computer system in communication with a display generating component and one or more input devices: displaying objects in an environment via the display generation component; When displaying the object in the environment: receiving, via the one or more input devices, a first interaction input comprising a movement of a predefined portion of a user of the computer system; In response to receiving the first interaction input, manipulating the object in the environment, wherein: Based on the determination that the movement of the predefined portion of the user is part of a first movement pattern, manipulating the object in the environment includes manipulating the object in a first manner based on a first amount of movement of the predefined portion of the user in the first movement pattern, and Based on a determination that the movement of the predefined portion of the user is part of a second movement pattern different from the first movement pattern, manipulating the object in the environment includes manipulating the object in a second manner based on a second amount of movement of the predefined portion of the user in the second movement pattern and based on a third amount of movement of the predefined portion of the user in the first movement pattern.
27. The method of claim 26, wherein: Based on a determination that the user's attention is directed to the object upon detecting the first interaction input, manipulating the object comprises manipulating the object and a second object displayed in the environment relative to a first reference point associated with the object, and Based on determining that the user's attention is directed to the second object when the first interaction input is detected, manipulating the object includes manipulating the object and the second object relative to a second reference point associated with the second object, and the second reference point is different from the first reference point associated with the first object.
28. A method according to any one of claims 26 to 27, wherein: The computer system is engaged in a communication session with a second computer system while displaying the environment, The object is shared between the computer system and the second computer system, the environment includes a virtual representation of a second user of the second computer system, and manipulating the object in the environment in response to receiving the first interaction input includes manipulating the virtual representation of the second user.
29. The method of claim 28, wherein: displaying a virtual representation of the user of the computer system in an environment at the second computer system, and In response to the computer system receiving the first interaction input, the second computer system repositions the virtual representation of the user of the computer system in the environment at the second computer system in accordance with the computer system manipulating the objects in the environment in response to receiving the first interaction input.
30. The method of claim 29, wherein: When the computer system detects the first interaction input, the second computer system displays the virtual representation of the user of the computer system with reduced visual emphasis relative to the environment at the second computer system.
31. A method according to any one of claims 26 to 30, wherein manipulating the object in the first manner comprises translating the object relative to the environment.
32. The method of claim 31 , wherein manipulating the object in the first manner according to the first amount of movement of the predefined portion of the user in the first movement mode comprises: The object is translated by a third amount based on the first amount of movement of the predefined portion of the user in the first movement mode, and the object is translated along the first direction based on the movement of the predefined portion of the user in the first direction in the first movement mode.
33. A method according to any one of claims 26 to 32, wherein manipulating the object in the second manner comprises rotating the object about a reference point associated with the object.
34. The method of claim 33, wherein manipulating the object in the second manner according to the second amount of movement of the predefined portion of the user in the second movement mode comprises: rotating the object by a third amount based on the second amount of movement of the predefined portion of the user relative to a second predefined portion of the user in the second movement mode, and The object is rotated in a first direction according to movement of the predefined part of the user relative to a second direction of the second predefined part of the user.
35. A method according to any one of claims 26 to 34, wherein: Manipulating the object in the environment in response to receiving the first interaction input comprises: based on a determination that the movement of the predefined portion of the user is part of the first movement pattern and the movement of the predefined portion of the user is part of the second movement pattern: manipulating the object by a third amount in the first manner; and The object is manipulated in the second manner by a fourth amount, the fourth amount being based on the third amount by which the object was moved in the first manner.
36. The method of any one of claims 26 to 35, wherein the first amount of movement of the predefined portion of the user in the first movement pattern is a movement rate of the predefined portion of the user in the first movement pattern.
37. A method according to any one of claims 26 to 36, wherein: Manipulating the object in the environment in response to receiving the first interaction input comprises: based on a determination that the movement of the predefined portion of the user is part of the first movement pattern and the movement of the predefined portion of the user is part of the second movement pattern: manipulating the object by a third amount in the second manner; and The object is manipulated in the first manner by a fourth amount, the fourth amount being based on the third amount by which the object is manipulated in the second manner.
38. The method of claim 37, wherein the fourth amount of manipulating the object in the first manner is negatively correlated with the third amount of manipulating the object in the second manner.
39. A method according to any one of claims 37 to 38, wherein: The first amount of movement of the predefined part of the user corresponds to a fifth amount of manipulating the object in the first manner, and the fourth amount of manipulating the object in the first manner is based on a first adjustment of the fifth amount of manipulating the object in the first manner based on detecting movement of the predefined part of the user in the first movement mode and the second movement mode, and the second amount of movement of the predefined part of the user corresponds to a sixth amount of manipulating the object in the second manner, and the third amount of manipulating the object in the second manner is based on a second adjustment of the sixth amount of manipulating the object in the second manner based on detecting movement of the predefined part of the user in the first movement mode and the second movement mode.
40. The method of any one of claims 26 to 39, wherein the second amount of movement of the predefined portion of the user in the second movement mode is a movement rate of the predefined portion of the user in the second movement mode.
41. A method according to any one of claims 26 to 40, wherein: the second amount of movement of the predefined portion of the user in the second movement pattern corresponds to a third amount of manipulation of the object in the second manner, and Manipulating the object in the environment in response to receiving the first interaction input comprises: based on a determination that the movement of the predefined portion of the user is part of the first movement pattern and the movement of the predefined portion of the user is part of the second movement pattern: Based on the determination that the movement of the predefined portion of the user is part of the first movement pattern and the movement of the predefined portion of the user is part of the second movement pattern, the object is manipulated a fourth amount in the second manner, the fourth amount being based on a first adjustment to the third amount of manipulating the object in the second manner.
42. A method according to any one of claims 26 to 41, wherein the movement of the predefined portion of the user is part of both the first movement pattern and the second movement pattern.
43. The method of claim 42, wherein: Manipulating the object in the environment in response to receiving the first interaction input includes: manipulating the object in the first manner and the second manner simultaneously based on a determination that the predefined portion of the user's movement is part of the first movement pattern and the predefined portion of the user's movement is part of the second movement pattern.
44. A method according to any one of claims 26 to 43, wherein: Manipulating the object in the environment in response to receiving the first interaction input includes: based on a determination that the movement of the predefined portion of the user is part of a third movement mode that is different from the first movement mode and different from the second movement mode, manipulating the object in a third manner that is different from the first manner and different from the second manner based on a third movement amount of the predefined portion of the user in the third movement mode.
45. The method of claim 44, wherein the amount by which the object is manipulated in the third manner is independent of the amount by which the object is manipulated in the first manner.
46. A method according to any one of claims 44 to 45, wherein manipulating the object in the third manner comprises rotating the object around a reference point in the environment, the reference point being associated with a viewpoint of the user of the computer system in the environment.
47. The method of claim 46, wherein the third pattern of movement of the predefined portion of the user comprises movement of the predefined portion of the user along a first direction relative to the viewpoint of the user in the environment, and manipulating the object in the third manner comprises: The object is manipulated a fourth amount based on the third amount of movement of the predefined portion of the user in the third movement mode, and the object is manipulated in a second direction based on the movement of the predefined portion of the user in the first direction in the third movement mode.
48. A method according to claim 47, wherein the third movement pattern of the predefined part of the user includes determination of movement of the predefined part of the user and the second predefined part of the user, and manipulating the object in the third manner is based on movement of a midpoint between the predefined part of the user and the second predefined part of the user relative to the viewpoint of the user in the environment.
49. A method according to any one of claims 47 to 48, wherein the third movement pattern of the predefined part of the user includes determination of movement of the predefined part of the user but does not include movement of the second predefined part of the user, and manipulating the object in the third manner is based on movement of the predefined part of the user relative to the viewpoint of the user in the environment.
50. The method according to any one of claims 44 to 49, wherein the movement of the predefined portion of the user is part of both the first movement pattern and the third movement pattern.
51. The method of claim 50, wherein manipulating the object in the environment in response to receiving the first interaction input comprises: Based on a determination that the movement of the predefined portion of the user is part of both the first movement pattern and the third movement pattern, the object is manipulated in the first manner and the object is manipulated in the third manner simultaneously.
52. A method according to any one of claims 44 to 51, wherein the movement of the predefined portion of the user is part of both the second movement pattern and the third movement pattern.
53. The method of claim 52, wherein manipulating the object in the environment in response to receiving the first interaction input comprises: Based on a determination that the movement of the predefined portion of the user is part of both the second movement pattern and the third movement pattern, the object is manipulated in the second manner and the object is manipulated in the third manner simultaneously.
54. A method according to any one of claims 44 to 53, wherein the movement of the predefined part of the user is part of the first movement pattern, the movement of the predefined part of the user is part of the second movement pattern, and at the same time the movement of the predefined part of the user is part of the third movement pattern.
55. The method of claim 54, wherein manipulating the object in the environment in response to receiving the first interaction input comprises: Based on the determination that the movement of the predefined portion of the user is part of the second movement pattern and at the same time the movement of the predefined portion of the user is part of the third movement pattern, the object is manipulated in the first manner, the object is manipulated in the second manner, and the object is manipulated in the third manner at the same time.
56. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; Memory; as well as One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising instructions for: Displaying objects in the environment via a display generation component; When displaying the object in the environment: receiving, via one or more input devices, a first interaction input comprising a movement of a predefined portion of a user of the computer system; In response to receiving the first interaction input, manipulating the object in the environment, wherein: Based on the determination that the movement of the predefined portion of the user is part of a first movement pattern, manipulating the object in the environment includes manipulating the object in a first manner based on a first amount of movement of the predefined portion of the user in the first movement pattern, and Based on a determination that the movement of the predefined portion of the user is part of a second movement pattern different from the first movement pattern, manipulating the object in the environment includes manipulating the object in a second manner based on a second amount of movement of the predefined portion of the user in the second movement pattern and based on a third amount of movement of the predefined portion of the user in the first movement pattern.
57. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions that, when executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, cause the computer system to perform a method comprising: displaying objects in an environment via the display generation component; When displaying the object in the environment: receiving, via the one or more input devices, a first interaction input comprising a movement of a predefined portion of a user of the computer system; In response to receiving the first interaction input, manipulating the object in the environment, wherein: Based on the determination that the movement of the predefined portion of the user is part of a first movement pattern, manipulating the object in the environment includes manipulating the object in a first manner based on a first amount of movement of the predefined portion of the user in the first movement pattern, and Based on a determination that the movement of the predefined portion of the user is part of a second movement pattern different from the first movement pattern, manipulating the object in the environment includes manipulating the object in a second manner based on a second amount of movement of the predefined portion of the user in the second movement pattern and based on a third amount of movement of the predefined portion of the user in the first movement pattern.
58. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; Memory; means for displaying objects in an environment via a display generating component; Means for performing the following operations when displaying the object in the environment: receiving, via one or more input devices, a first interaction input comprising a movement of a predefined portion of a user of the computer system; means for manipulating the object in the environment in response to receiving the first interaction input, wherein: Based on the determination that the movement of the predefined portion of the user is part of a first movement pattern, manipulating the object in the environment includes manipulating the object in a first manner based on a first amount of movement of the predefined portion of the user in the first movement pattern, and Based on a determination that the movement of the predefined portion of the user is part of a second movement pattern different from the first movement pattern, manipulating the object in the environment includes manipulating the object in a second manner based on a second amount of movement of the predefined portion of the user in the second movement pattern and based on a third amount of movement of the predefined portion of the user in the first movement pattern.
59. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; Memory; as well as One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising instructions for performing any of the methods according to claims 26 to 55.
60. A non-transitory computer-readable storage medium storing one or more programs, wherein the one or more programs include instructions that, when executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, cause the computer system to perform any of the methods described in claims 26 to 55.
61. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; Memory; as well as Means for carrying out any of the methods according to claims 26 to 55.
62. A method comprising: At a computer system in communication with a display generating component and one or more input devices: displaying, via the display generating component, an environment from a first viewpoint of a user of the computer system, the environment comprising a first object at a first location and a second object at a second location different from the first location; When displaying the environment including the first object and the second object, detecting, via the one or more input devices, a first interaction input comprising movement; and In response to detecting the first interactive input: Based on a determination that the attention of the user of the computer system is directed to the first object upon detecting the first interaction input: performing a first operation involving manipulating the environment relative to a first reference point based on the movement, the first reference point being based on the first position of the first object in the environment; as well as Based on a determination that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input: A second operation is performed, the second operation involving manipulating the environment relative to a second reference point different from the first reference point based on the second position of the second object in the environment in accordance with the movement.
63. The method of claim 62, wherein: The determination that the user's attention is directed to the first object when the first interaction input is detected is based on the determination that the user's gaze is directed to the first object when the first interaction input is detected, and the determination that the user's attention is directed to the second object when the first interaction input is detected is based on the determination that the user's gaze is directed to the second object when the first interaction input is detected.
64. A method according to any one of claims 62 to 63, wherein: the user of the computer system engaging in a communication session with a second user of a second computer system while displaying the environment; The environment includes a virtual representation of the second user; and In response to detecting the first interactive input: Based on a determination that upon detecting the first interactive input, the attention of the user of the computer system is directed to the first object and that the first object and / or the second object is shared with the second user of the second computer system, performing the first operation includes simultaneously repositioning the first object and / or the second object and the virtual representation of the second user within the environment relative to the first reference point based on the movement; and Based on a determination that the attention of the user of the computer system is directed to the second object and the first object and / or the second object are shared with the second user upon detecting the first interaction input, performing the second operation includes simultaneously repositioning the first object and / or the second object and the virtual representation of the second user within the environment relative to the second reference point based on the movement.
65. The method of claim 64, wherein: displaying a virtual representation of the user of the computer system in an environment at the second computer system; and When the computer system performs the first operation or the second operation, the virtual representation of the user of the computer system is repositioned in the environment at the second computer system relative to a viewpoint of the second user based on the movement.
66. The method of any one of claims 64 to 65, wherein upon detecting the first interaction input, the virtual representation of the user of the computer system is visually faded in the environment at the second computer system.
67. A method according to any one of claims 62 to 66, wherein: In response to detecting the first interactive input: Based on the determination that the attention of the user of the computer system is directed to the first object upon detecting the first interaction input: Performing the first operation includes repositioning the first object within the environment relative to a viewpoint of the user of the computer system in accordance with the movement; and Based on the determination that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input: Performing the second operation includes repositioning the second object within the environment relative to the viewpoint of the user based on the movement.
68. The method of claim 67, wherein: In response to detecting the first interactive input: Based on a determination that the movement includes movement toward the viewpoint of the user and that the attention of the user of the computer system is directed to the first object upon detecting the first interaction input, performing the first operation includes simultaneously repositioning the first object and the second object toward the viewpoint of the user within the environment based on the movement; Based on a determination that the movement includes movement toward the viewpoint of the user and that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input, performing the second operation includes simultaneously repositioning the first object and the second object toward the viewpoint of the user within the environment based on the movement; Based on a determination that the movement includes movement away from the viewpoint of the user and that the attention of the user of the computer system is directed to the first object upon detecting the first interactive input, performing the first operation includes simultaneously repositioning the first object and the second object based on the movement away from the viewpoint of the user within the environment; and Based on a determination that the movement includes movement toward the viewpoint of the user and that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input, performing the second operation includes simultaneously repositioning the first object and the second object based on the movement away from the viewpoint of the user within the environment.
69. The method according to any one of claims 67 to 68, wherein: Before detecting the first interactive input: The first position is a first distance from the viewpoint of the user, and the second position is a second distance from the viewpoint of the user that is less than the first distance; The movement has a first magnitude; and In response to detecting the first interactive input: Based on the determination that the attention of the user of the computer system is directed to the first object upon detecting the first interaction input: performing the first operation includes moving the first object from the first position to a third position in the environment relative to the viewpoint of the user according to the movement, wherein the third position is a third distance from the first position; and Based on the determination that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input: Performing the second operation includes moving the second object from the second position to a fourth position relative to the viewpoint of the user in the environment according to the movement, wherein the fourth position is a fourth distance from the second position that is different from the third distance.
70. The method of any one of claims 67 to 69, wherein: In response to detecting the first interactive input: Based on the determination that the attention of the user of the computer system is directed to the first object upon detecting the first interaction input: Performing the first operation includes limiting movement of the first object to movement outside a threshold distance from the viewpoint of the user; and Based on the determination that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input: Performing the second operation includes limiting movement of the second object to movement outside the threshold distance from the viewpoint of the user.
71. The method of claim 70, wherein: In response to detecting the first interactive input: Based on the determination that the attention of the user of the computer system is directed to the first object upon detecting the first interaction input: Performing the first operation includes moving the second object to within a first distance from the viewpoint of the user that is less than the threshold distance according to the movement.
72. The method of any one of claims 70 to 71, wherein: In response to detecting the first interactive input: Based on the determination that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input: Performing the second operation includes moving the first object to within a second distance from the viewpoint of the user that is less than the threshold distance according to the movement.
73. The method of any one of claims 62 to 72, wherein: In response to detecting the first interactive input: Based on the determination that the attention of the user of the computer system is directed to the first object upon detecting the first interaction input: Performing the first operation includes rotating the first object within the environment relative to the first reference point based on the movement; and Based on the determination that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input: Performing the second operation includes rotating the second object within the environment relative to the second reference point based on the movement.
74. The method of claim 73, wherein: In response to detecting the first interactive input: Based on the determination that the attention of the user of the computer system is directed to the first object upon detecting the first interaction input: Performing the first operation includes simultaneously rotating the first object and the second object within the environment relative to the first reference point according to the movement; and Based on the determination that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input: Performing the second operation includes simultaneously rotating the first object and the second object within the environment relative to the second reference point according to the movement.
75. The method of any one of claims 62 to 74, wherein: In response to detecting the first interactive input: Based on the determination that the attention of the user of the computer system is directed to the first object upon detecting the first interaction input: Performing the first operation includes rotating the first object within the environment relative to a viewpoint of the user of the computer system in accordance with the movement; and Based on the determination that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input: Performing the second operation includes rotating the second object within the environment relative to the viewpoint of the user according to the movement.
76. The method of claim 75, wherein: In response to detecting the first interactive input: Based on the determination that the attention of the user of the computer system is directed to the first object upon detecting the first interaction input: performing the first operation includes simultaneously rotating the first object and the second object within the environment relative to the viewpoint of the user in accordance with the movement; and Based on the determination that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input: Performing the second operation includes simultaneously rotating the first object and the second object within the environment relative to the viewpoint of the user in accordance with the movement.
77. The method of any one of claims 62 to 76, wherein: The first interaction input is simultaneously associated with a first predefined portion of the user and a second predefined portion of the user; and The movements include movements associated with the first predefined portion of the user and movements associated with the second predefined portion of the user.
78. The method of any one of claims 62 to 77, further comprising: When the environment including the corresponding virtual content is displayed at a third position in the environment, detecting a third interaction input via the one or more input devices, the third interaction input comprising: the attention of the user of the computer system being directed toward the corresponding virtual content; and movement of said first predefined portion of said user; upon detecting the third interaction input, receiving, via the one or more input devices, an indication corresponding to a request to move the corresponding virtual content within the environment; In response to receiving the indication, moving the corresponding virtual content to a fourth location in the environment that is different from the third location; and In response to detecting the third interaction input: A third operation is performed, the third operation involving manipulating the environment relative to a third reference point different from the first reference point and the second reference point based on the movement, the third reference point being based on a third position of the corresponding virtual content in the environment.
79. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; Memory; as well as One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising instructions for: displaying, via the display generating component, an environment from a first viewpoint of a user of the computer system, the environment comprising a first object at a first location and a second object at a second location different from the first location; While displaying the environment including the first object and the second object, detecting, via the one or more input devices, a first interaction input including movement; and In response to detecting the first interactive input: Based on a determination that the attention of the user of the computer system is directed to the first object upon detecting the first interaction input: performing a first operation involving manipulating the environment relative to a first reference point based on the movement, the first reference point being based on the first position of the first object in the environment; as well as Based on a determination that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input: A second operation is performed, the second operation involving manipulating the environment relative to a second reference point different from the first reference point based on the second position of the second object in the environment in accordance with the movement.
80. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions that, when executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, cause the computer system to perform a method comprising: displaying, via the display generating component, an environment from a first viewpoint of a user of the computer system, the environment comprising a first object at a first location and a second object at a second location different from the first location; While displaying the environment including the first object and the second object, detecting, via the one or more input devices, a first interaction input including movement; and In response to detecting the first interactive input: Based on a determination that the attention of the user of the computer system is directed to the first object upon detecting the first interaction input: performing a first operation involving manipulating the environment relative to a first reference point based on the movement, the first reference point being based on the first position of the first object in the environment; and Based on a determination that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input: A second operation is performed, the second operation involving manipulating the environment relative to a second reference point different from the first reference point based on the second position of the second object in the environment in accordance with the movement.
81. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; Memory; means for displaying, via the display generating component, an environment from a first viewpoint of a user of the computer system, the environment comprising a first object at a first location and a second object at a second location different from the first location; means for detecting, via the one or more input devices, a first interaction input comprising movement while displaying the environment comprising the first object and the second object; as well as means for performing the following operations in response to detecting the first interaction input: Based on a determination that the attention of the user of the computer system is directed to the first object upon detecting the first interaction input: performing a first operation involving manipulating the environment relative to a first reference point based on the movement, the first reference point being based on the first position of the first object in the environment; as well as Based on a determination that the attention of the user of the computer system is directed to the second object upon detecting the first interaction input: A second operation is performed, the second operation involving manipulating the environment relative to a second reference point different from the first reference point based on the second position of the second object in the environment in accordance with the movement.
82. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; Memory; as well as One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising instructions for performing any of the methods according to claims 62 to 78.
83. A non-transitory computer-readable storage medium storing one or more programs, wherein the one or more programs include instructions that, when executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, cause the computer system to perform any of the methods described in claims 62 to 78.
84. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; Memory; as well as Means for performing any of the methods according to claims 62 to 78.
85. A method comprising: At a computer system in communication with a display generating component and one or more input devices: displaying, via the display generation component, a first virtual object and a second virtual object in an environment; When the first virtual object and the second virtual object are displayed in the environment: detecting, via the one or more input devices, an interactive input corresponding to a request to perform a corresponding type of manipulation in the environment, and detecting that a user's attention is directed to a corresponding location in the environment; In response to detecting the interaction input, determining that there is no virtual object at the corresponding position that can be manipulated with the corresponding type of manipulation: Based on a determination that the first virtual object and the second virtual object have a first spatial arrangement relative to a viewpoint of the user in the environment: manipulating the first virtual object and the second virtual object with the respective types of manipulations relative to a first reference in the environment; as well as Based on a determination that the first virtual object and the second virtual object have a second spatial arrangement different from the first spatial arrangement relative to the viewpoint of the user in the environment: The first virtual object and the second virtual object are manipulated relative to a second reference in the environment that is different from the first reference.
86. The method of claim 85, wherein the determination that the user's attention is directed to the corresponding location in the environment comprises a determination that the user's gaze is directed to the corresponding location in the environment.
87. The method of any one of claims 85 to 86, wherein: The computer system is engaged in a communication session with a second computer system while displaying the environment, The environment includes a virtual representation of a second user of the second computer system and a third virtual object shared between the first computer system and the second computer system, and Manipulating the first virtual object and the second virtual object with the respective types of manipulations in response to detecting the interaction input includes manipulating the virtual representation of the second user and the third virtual object.
88. The method of claim 87, wherein: displaying a virtual representation of the user of the computer system in an environment at the second computer system, and In response to the computer system receiving the interactive input, the second computer system repositions the virtual representation of the user of the computer system in the environment at the second computer system based on the computer system manipulating the first virtual object and the second virtual object with the corresponding type of manipulation in the environment in response to receiving the interactive input.
89. The method of claim 88, wherein: The second computer system displays the virtual representation of the user of the computer system with reduced visual emphasis relative to the environment at the second computer system when the computer system detects the interaction input.
90. The method of any one of claims 85 to 89, wherein: The environment includes a third virtual object, and based on a determination that the third virtual object is in the field of view of the user when the interaction input is received, the first reference is based on the position of the third virtual object in the three-dimensional environment, and based on a determination that the third virtual object is not in the field of view of the user when the interaction input is received, the second reference is independent of the position of the third virtual object in the three-dimensional environment.
91. The method of claim 90, wherein manipulating the first and second virtual objects with the corresponding types of manipulations in response to detecting the interaction input comprises manipulating the third virtual object with the corresponding types of manipulations.
92. The method of any one of claims 85 to 91, further comprising: displaying, via the display generating component, a portion of the environment that is free of the virtual objects that can be manipulated with the corresponding type of manipulation; While displaying the portion of the environment without the virtual object that can be manipulated with the corresponding type of manipulation: detecting a second interaction input corresponding to a request to perform the corresponding type of manipulation in the environment; In response to detecting the second interaction input, the virtual object manipulable with the corresponding type of manipulation is manipulated relative to a third reference, the third reference being independent of a position of the virtual object manipulable with the corresponding type of manipulation.
93. The method of claim 92, further comprising: In response to detecting the second interaction input while displaying the portion of the environment without the virtual object that can be manipulated with the corresponding type of manipulation, displaying, via the display generation component, a third virtual object that was not displayed before detecting the second interaction input.
94. The method of any one of claims 92 to 93, wherein in response to receiving the second interaction input, manipulating the virtual object manipulable with the corresponding type of manipulation relative to the third reference is based on a determination that the corresponding type of manipulation is a first type of manipulation, and the method further comprises: In response to detecting the second interaction input while displaying the portion of the environment without the virtual object manipulable with the corresponding type of manipulation: Based on a determination that the corresponding type of manipulation is a second type of manipulation different from the first type of manipulation, manipulation of the virtual object manipulable with the corresponding type of manipulation with the second type of manipulation is abandoned.
95. The method of any one of claims 85 to 94, further comprising: When the first virtual object and the second virtual object are displayed in the environment, in response to detecting the interaction input, according to a determination that the corresponding position is a first position including the first virtual object: based on the determination that the first virtual object and the second virtual object have the first spatial arrangement, manipulating the first virtual object and the second virtual object with the respective types of manipulations relative to a third reference associated with the first virtual object in the environment; as well as Based on the determination that the first virtual object and the second virtual object have the second spatial arrangement, the first virtual object and the second virtual object are manipulated with the respective types of manipulations relative to the third reference.
96. The method of claim 95, further comprising: When the first virtual object and the second virtual object are displayed in the environment, in response to detecting the interaction input, based on a determination that the corresponding position is a second position including the first virtual object, the second position being different from the first position: based on the determination that the first virtual object and the second virtual object have the first spatial arrangement, manipulating the first virtual object and the second virtual object with the respective types of manipulations relative to the third reference associated with the first virtual object in the environment; as well as Based on the determination that the first virtual object and the second virtual object have the second spatial arrangement, the first virtual object and the second virtual object are manipulated with the respective types of manipulations relative to the third reference.
97. The method of any one of claims 95 to 96, wherein the third reference associated with the first virtual object in the environment is a representative location associated with the first virtual object.
98. A method according to any one of claims 95 to 97, wherein the third reference associated with the first virtual object in the environment is the center of mass of the first virtual object.
99. The method of any one of claims 85 to 98, wherein: The first interaction input includes a first movement amount of a predefined portion of the user, and manipulating the first virtual object and the second virtual object with the corresponding type of manipulation in response to the interaction input includes: Based on a determination that the corresponding position is a first position, manipulating the first virtual object and the second virtual object by a second amount using the corresponding type of manipulation, the second amount corresponds to the first movement amount of the predefined portion of the user included in the first interaction input, and Based on a determination that the corresponding position is a second position different from the first position, the first virtual object and the second virtual object are manipulated by the second amount using the corresponding type of manipulation.
100. The method of claim 99, further comprising: When the first virtual object and the second virtual object are displayed in the environment via the display generation component: detecting, via the one or more input devices, a second interaction input corresponding to the request to perform the corresponding type of manipulation in the environment and comprising the first amount of movement of the predefined portion of the user; as well as In response to detecting the second interaction input, manipulating the first virtual object and the second virtual object by a third amount different from the second amount using the corresponding type of manipulation based on a determination that the second interaction input includes detecting that the user's attention is directed to the location of the first virtual object in the environment, The third quantity is based on the first quantity and the position of the first virtual object in the environment.
101. The method according to claim 100, further comprising: In response to detecting the second interaction input, based on the second interaction input including detecting that the user's attention is directed to a determination of the position of the second virtual object in the environment, the first virtual object and the second virtual object are manipulated by the corresponding type of manipulation by a fourth amount different from the third amount, the fourth amount being based on the first amount and the position of the second virtual object in the environment.
102. A method according to any one of claims 85 to 101, wherein detecting the interactive input corresponding to the request to perform the corresponding type of manipulation in the environment includes detecting the user performing a predefined gesture using a predefined part of the user.
103. The method of claim 102, wherein manipulating the first virtual object and the second virtual object with the respective types of manipulations relative to the first reference is responsive to detecting a first predefined gesture included in the interaction input, and the method further comprising: In response to detecting a second predefined gesture of the interaction input: Based on a determination that the user's attention is directed to a first position in the environment at the end of the first predefined gesture, the first virtual object and the second virtual object are manipulated with the corresponding type of manipulation relative to a second reference in the environment, and based on a determination that the user's attention is directed to a second position in the environment that is different from the first position at the end of the first predefined gesture, the first virtual object and the second virtual object are manipulated with the corresponding type of manipulation relative to a third reference in the environment that is different from the second reference.
104. The method of claim 103, wherein manipulating the first virtual object and the second virtual object with the respective types of manipulations relative to the first reference is responsive to detecting a first predefined gesture included in the interaction input, and the method further comprising: In response to detecting a second predefined gesture of the interaction input: Based on a determination that the user's attention is directed to a first position in the environment when the second predefined gesture is detected, the first virtual object and the second virtual object are manipulated with the corresponding type of manipulation relative to a second reference in the environment, and based on a determination that the user's attention is directed to a second position in the environment that is different from the first position when the second predefined gesture is detected, the first virtual object and the second virtual object are manipulated with the corresponding type of manipulation relative to a third reference in the environment that is different from the second reference.
105. The method of claim 102 or claim 104, wherein manipulating the first virtual object and the second virtual object with the respective types of manipulation relative to the first reference is responsive to detecting a first predefined gesture included in the interaction input, and the method further comprises: In response to detecting a second predefined gesture of the predefined portion of the user included in the interaction input when the second predefined portion of the user is detected to be in a predefined shape: Based on a determination that the user's attention is directed to a first location in the environment when the second predefined gesture is detected, manipulating the first virtual object and the second virtual object with the respective types of manipulation relative to a second reference in the environment, and Based on a determination that the user's attention is directed to a second location in the environment that is different from the first location when the second predefined gesture is detected, the first virtual object and the second virtual object are manipulated with the corresponding types of manipulation relative to a third reference in the environment that is different from the second reference.
106. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; Memory; as well as One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising instructions for: displaying, via a display generation component, a first virtual object and a second virtual object in an environment; When the first virtual object and the second virtual object are displayed in the environment: detecting, via one or more input devices, an interactive input corresponding to a request to perform a corresponding type of manipulation in the environment, and detecting that a user's attention is directed to a corresponding location in the environment; In response to detecting the interaction input, determining that there is no virtual object at the corresponding position that can be manipulated with the corresponding type of manipulation: Based on a determination that the first virtual object and the second virtual object have a first spatial arrangement relative to a viewpoint of the user in the environment: manipulating the first virtual object and the second virtual object with the respective types of manipulations relative to a first reference in the environment; as well as Based on a determination that the first virtual object and the second virtual object have a second spatial arrangement different from the first spatial arrangement relative to the viewpoint of the user in the environment: The first virtual object and the second virtual object are manipulated relative to a second reference in the environment that is different from the first reference.
107. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions that, when executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, cause the computer system to perform a method comprising: displaying, via the display generation component, a first virtual object and a second virtual object in an environment; When the first virtual object and the second virtual object are displayed in the environment: detecting, via the one or more input devices, an interactive input corresponding to a request to perform a corresponding type of manipulation in the environment, and detecting that a user's attention is directed to a corresponding location in the environment; In response to detecting the interaction input, determining that there is no virtual object at the corresponding position that can be manipulated with the corresponding type of manipulation: Based on a determination that the first virtual object and the second virtual object have a first spatial arrangement relative to a viewpoint of the user in the environment: manipulating the first virtual object and the second virtual object with the respective types of manipulations relative to a first reference in the environment; and based on a determination that the first virtual object and the second virtual object have a second spatial arrangement different from the first spatial arrangement relative to the viewpoint of the user in the environment: The first virtual object and the second virtual object are manipulated relative to a second reference in the environment that is different from the first reference.
108. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; Memory; means for displaying, via the display generation component, a first virtual object and a second virtual object in the environment; When the first virtual object and the second virtual object are displayed in the environment: detecting, via one or more input devices, an interactive input corresponding to a request to perform a corresponding type of manipulation in the environment, and detecting that a user's attention is directed to a corresponding location in the environment; In response to detecting the interaction input, determining that there is no virtual object at the corresponding position that can be manipulated with the corresponding type of manipulation: Based on a determination that the first virtual object and the second virtual object have a first spatial arrangement relative to a viewpoint of the user in the environment: manipulating the first virtual object and the second virtual object with the respective types of manipulations relative to a first reference in the environment; as well as Based on a determination that the first virtual object and the second virtual object have a second spatial arrangement different from the first spatial arrangement relative to the viewpoint of the user in the environment: The first virtual object and the second virtual object are manipulated relative to a second reference in the environment that is different from the first reference.
109. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; Memory; as well as One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising instructions for executing any of the methods according to claims 85 to 105.
110. A non-transitory computer-readable storage medium storing one or more programs, wherein the one or more programs include instructions that, when executed by one or more processors of a computer system in communication with a display generating component and one or more input devices, cause the computer system to perform any of the methods described in claims 85 to 105.
111. A computer system in communication with a display generation component and one or more input devices, the computer system comprising: one or more processors; Memory; as well as Means for performing any of the methods according to claims 85 to 105.