User interface including environmental representation

By using display generation components and field of view detection technology in computer systems, the display mode of virtual objects is dynamically adjusted, and the problems of complexity and low efficiency of virtual objects interaction in the prior art are solved, and a more efficient human-machine interface and longer device battery life are achieved.

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

Patent Information

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

AI Technical Summary

Technical Problem

When interacting with virtual objects in an extended real environment, the prior art has problems such as insufficient feedback, complex input, cumbersome and error-prone, resulting in a large cognitive burden on users and low operational efficiency.

Method used

By implementing a method in a computer system, using the display generation component to display virtual objects in a three-dimensional environment, and dynamically adjust the display mode of virtual objects according to the user's field of view changes, thereby improving interaction efficiency.

Benefits of technology

This method reduces the number and complexity of user input, improves the efficiency of the human-computer interface, reduces the power consumption of the battery-driven device, and extends the battery life of the device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119948434A_ABST
    Figure CN119948434A_ABST
Patent Text Reader

Abstract

In some embodiments, the present disclosure includes techniques and user interfaces for interacting with virtual objects in an augmented reality environment. In some embodiments, the techniques and user interfaces are used to interact with virtual objects in an augmented reality environment, including relocating virtual objects relative to the environment. In some embodiments, the techniques and user interfaces are used to interact with virtual objects in an augmented reality environment, including virtual objects that help a user navigate within the environment. In some embodiments, the techniques and user interfaces are used to interact with virtual objects in an augmented reality environment, including relocating virtual objects relative to the environment, the virtual objects including objects displayed based on changes in a user's field of view. In some embodiments, the techniques and user interfaces are used to interact with virtual objects in an augmented reality environment, including virtual objects that provide different perspectives to the environment.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. Patent Application No. 18 / 242,948, filed on September 6, 2023, entitled “USER INTERFACES THAT INCLUDEREPRESENTATIONS OF THE ENVIRONMENT” and U.S. Provisional Patent Application No. 63 / 409,497, filed on September 23, 2022, entitled “USER INTERFACES THAT INCLUDEREPRESENTATIONS OF THE ENVIRONMENT”. The contents of each of these patent applications are incorporated herein by reference in their entirety. Technical Field

[0003] The present disclosure generally relates to computer systems that provide computer-generated experiences in communication with display generation components and optionally with one or more cameras, including but not limited to electronic devices that provide methods and interfaces for interacting with virtual objects in an extended reality environment. 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 augment the physical world. Input devices (such as cameras, controllers, joysticks, touch-sensitive surfaces, and touch screen displays) for computer systems and other electronic computing devices are used to interact with virtual / augmented reality environments. Example virtual elements include virtual objects such as digital images, videos, text, icons, and control elements (such as buttons and other graphics). Summary of the invention

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

[0006] Therefore, there is a need for a computer system with improved methods and interfaces that make interacting with virtual objects (e.g., objects that assist in navigation) in an extended reality environment more efficient and more intuitive for a user. Such methods and interfaces optionally supplement or replace conventional methods for interacting with virtual objects in an extended reality environment. Such methods and interfaces reduce the amount, degree, and / or nature of inputs from a user by helping the user understand the connection between the inputs provided and the device's response 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 displaying a generating 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 contact and gestures of a stylus and / or finger 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, fitness 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 virtual objects in an extended reality environment. Such methods and interfaces may supplement or replace conventional methods for interacting with virtual objects in an extended reality environment. Such methods and interfaces reduce the amount, degree, 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 save power and increase the time interval between battery charges.

[0009] In some embodiments, a method is described that is performed at a computer system that communicates with a display generation component. The method includes: when the user's field of view is a first field of view, displaying a first virtual object in a three-dimensional environment via a display generation component, wherein the first virtual object is displayed in a first display mode that includes being locked to the environment; when the first virtual object is displayed, detecting a change in the user's field of view from the first field of view to the second field of view; and in response to detecting a change in the user's field of view from the first field of view to the second field of view: based on determining that a first set of criteria are met, continue to display the first virtual object in the first display mode that includes being locked to the environment, wherein the first set of criteria includes a threshold amount of the first virtual object that will remain within the user's field of view when the user's field of view is the second field of view and when the first virtual object maintains the environment lock. The standard is satisfied; and based on determining that the first set of criteria are not met, displaying the first virtual object in a second display mode, the second display mode includes shifting the display positioning of the first virtual object relative to the three-dimensional environment based on the change in the user's field of view.

[0010] In some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with a display generation component, the one or more programs including instructions for the following operations: when the user's field of view is a first field of view, displaying a first virtual object in a three-dimensional environment via a display generation component, wherein the first virtual object is displayed in a first display mode including being locked to the environment; when the first virtual object is displayed, detecting a change in the user's field of view from the first field of view to the second field of view; and in response to detecting a change in the user's field of view from the first field of view to the second field of view: based on determining that a first set of criteria are met, continue to display the first virtual object in a first display mode including being locked to the environment, wherein the first set of criteria includes a threshold amount of the first virtual object that will remain within the user's field of view when the user's field of view is the second field of view and when the first virtual object maintains the environment lock, and based on determining that the first set of criteria are not met, displaying the first virtual object in a second display mode, the second display mode including shifting the display positioning of the first virtual object relative to the three-dimensional environment based on the change in the user's field of view.

[0011] In some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with a display generation component, the one or more programs including instructions for the following operations: when the user's field of view is a first field of view, displaying a first virtual object in a three-dimensional environment via a display generation component, wherein the first virtual object is displayed in a first display mode including being locked to the environment; when the first virtual object is displayed, detecting a change in the user's field of view from the first field of view to the second field of view; and in response to detecting a change in the user's field of view from the first field of view to the second field of view: based on determining that a first set of criteria are met, continue to display the first virtual object in the first display mode including being locked to the environment, wherein the first set of criteria includes a threshold amount of the first virtual object that will remain within the user's field of view when the user's field of view is the second field of view and when the first virtual object maintains the environment lock, and based on determining that the first set of criteria are not met, displaying the first virtual object in a second display mode, the second display mode including shifting the display positioning of the first virtual object relative to the three-dimensional environment based on the change in the user's field of view.

[0012] In some embodiments, a computer system configured to communicate with a display generation component is described. The computer system includes one or more processors and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for the following operations: when the user's field of view is a first field of view, displaying a first virtual object in a three-dimensional environment via a display generation component, wherein the first virtual object is displayed in a first display mode including being locked to the environment; when the first virtual object is displayed, detecting a change in the user's field of view from the first field of view to the second field of view; and in response to detecting a change in the user's field of view from the first field of view to the second field of view: based on determining that a first set of criteria are met, continue to display the first virtual object in the first display mode including being locked to the environment, wherein the first set of criteria includes when the user's field of view is the second field of view and when the first virtual object maintains the environment lock, the threshold amount of the first virtual object will remain within the user's field of view. The standard is satisfied; and based on determining that the first set of criteria are not met, displaying the first virtual object in a second display mode, the second display mode includes shifting the display positioning of the first virtual object relative to the three-dimensional environment based on the change in the user's field of view.

[0013] In some embodiments, a computer system configured to communicate with a display generation component is described. The computer system includes: when the user's field of view is a first field of view, a component for displaying a first virtual object in a three-dimensional environment via a display generation component, wherein the first virtual object is displayed in a first display mode including being locked to the environment; when the first virtual object is displayed, a component for detecting a change in the user's field of view from the first field of view to the second field of view; and in response to detecting a change in the user's field of view from the first field of view to the second field of view, a component for the following operations: based on determining that a first set of criteria are met, continue to display the first virtual object in the first display mode including being locked to the environment, wherein the first set of criteria includes when the user's field of view is the second field of view and when the first virtual object maintains the environment lock, a threshold amount of the first virtual object will remain within the user's field of view. The threshold value of the first virtual object will remain within the user's field of view when the user's field of view is the second field of view and when the first virtual object remains locked to the environment. The threshold value of the first virtual object will remain within the user's field of view when the threshold value of the first virtual object is within the user's field of view; and based on determining that the first set of criteria are not met, display the first virtual object in a second display mode, the second display mode including shifting the display position of the first virtual object relative to the three-dimensional environment based on the change in the user's field of view.

[0014] In some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a computer system communicating with a display generation component, the one or more programs including instructions for the following operations: when the user's field of view is a first field of view, displaying a first virtual object in a three-dimensional environment via a display generation component, wherein the first virtual object is displayed in a first display mode including being locked to the environment; when the first virtual object is displayed, detecting a change in the user's field of view from the first field of view to the second field of view; and in response to detecting a change in the user's field of view from the first field of view to the second field of view: based on determining that a first set of criteria are met, continue to display the first virtual object in the first display mode including being locked to the environment, wherein the first set of criteria includes when the user's field of view is the second field of view and when the first virtual object maintains the environment lock, a threshold amount of the first virtual object will remain within the user's field of view when the criteria are met; and based on determining that the first set of criteria are not met, displaying the first virtual object in a second display mode, the second display mode including shifting the display positioning of the first virtual object relative to the three-dimensional environment based on the change in the user's field of view.

[0015] In some embodiments, a method performed at a computer system in communication with a display generation component is described. The method includes: displaying a first virtual object in a three-dimensional environment via the display generation component, wherein the first virtual object indicates a first element of a route to a destination, and wherein the first virtual object corresponds to a first location in the three-dimensional environment, wherein displaying the first virtual object includes: displaying the first virtual object as an environment-locked object based on determining that the first location is a location within a user's field of view; and displaying the first virtual object as a viewpoint-locked object based on determining that the first location is a location that is not within the user's field of view.

[0016] In some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs including instructions for the following operations: displaying a first virtual object in a three-dimensional environment via the display generation component, wherein the first virtual object indicates a first element of a route to a destination, and wherein the first virtual object corresponds to a first position in the three-dimensional environment, wherein displaying the first virtual object includes: displaying the first virtual object as an environment-locked object based on determining that the first position is a position within the user's field of view; and displaying the first virtual object as a viewpoint-locked object based on determining that the first position is a position that is not within the user's field of view.

[0017] In some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs including instructions for the following operations: displaying a first virtual object in a three-dimensional environment via the display generation component, wherein the first virtual object indicates a first element of a route to a destination, and wherein the first virtual object corresponds to a first position in the three-dimensional environment, wherein displaying the first virtual object includes: displaying the first virtual object as an environment-locked object based on determining that the first position is a position within the user's field of view; and displaying the first virtual object as a viewpoint-locked object based on determining that the first position is a position that is not within the user's field of view.

[0018] In some embodiments, a computer system configured to communicate with a display generation component is described. The computer system includes one or more processors and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for the following operations: displaying a first virtual object in a three-dimensional environment via the display generation component, wherein the first virtual object indicates a first element of a route to a destination, and wherein the first virtual object corresponds to a first position in the three-dimensional environment, wherein displaying the first virtual object includes: displaying the first virtual object as an environment-locked object based on determining that the first position is a position within the user's field of view; and displaying the first virtual object as a viewpoint-locked object based on determining that the first position is a position that is not within the user's field of view.

[0019] In some embodiments, a computer system configured to communicate with a display generation component is described. The computer system includes: a component for displaying a first virtual object in a three-dimensional environment via the display generation component, wherein the first virtual object indicates a first element of a route to a destination, and wherein the first virtual object corresponds to a first position in the three-dimensional environment, wherein displaying the first virtual object includes: displaying the first virtual object as an environment-locked object based on determining that the first position is a position within a user's field of view; and displaying the first virtual object as a viewpoint-locked object based on determining that the first position is a position that is not within the user's field of view.

[0020] In some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs including instructions for the following operations: displaying a first virtual object in a three-dimensional environment via the display generation component, wherein the first virtual object indicates a first element of a route to a destination, and wherein the first virtual object corresponds to a first position in the three-dimensional environment, wherein displaying the first virtual object includes: displaying the first virtual object as an environment-locked object based on determining that the first position is a position within the user's field of view; and displaying the first virtual object as a viewpoint-locked object based on determining that the first position is a position that is not within the user's field of view.

[0021] In some embodiments, a method is described that is performed at a computer system that communicates with a display generation component. The method includes: when the field of view of a user of the computer system is a first field of view and the field of view of the user includes a representation of a physical environment having a first position within the physical environment, detecting a change in the orientation of the user's field of view from the first field of view to a second field of view different from the first field of view, the second field of view also including the first position within the physical environment; in response to detecting a change in the orientation of the user's field of view from the first field of view to the second field of view, displaying a group of one or more virtual objects via the display generation component with a corresponding spatial orientation relative to at least a first portion of the user's body; after displaying the group of one or more virtual objects with a corresponding spatial orientation relative to at least a first portion of the user's body, stopping displaying the group of one or more virtual objects; after stopping displaying the group of one or more virtual objects, detecting movement of the user in the physical environment; after detecting movement of the user in the physical environment, detecting a change in the orientation of the user's field of view to a second orientation; and in response to detecting a change in the orientation of the user's field of view to the second orientation, displaying the group of one or more virtual objects via the display generation component with a corresponding spatial orientation relative to at least a first portion of the user's body.

[0022] In some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs including instructions for the following operations: when a field of view of a user of the computer system is a first field of view and the field of view of the user includes a representation of a physical environment having a first location within the physical environment, detecting a change in the orientation of the user's field of view from the first field of view to a second field of view different from the first field of view, the second field of view also including the first location within the physical environment; in response to detecting the change in the orientation of the user's field of view from the first field of view to the second field of view, displaying a group of one or more virtual objects via the display generation component at a corresponding spatial orientation relative to at least a first portion of the user's body; after displaying the group of one or more virtual objects at a corresponding spatial orientation relative to at least the first portion of the user's body, ceasing to display the group of one or more virtual objects; after ceasing to display the group of one or more virtual objects, detecting movement of the user in the physical environment; after detecting movement of the user in the physical environment, detecting a change in the orientation of the user's field of view to a second orientation; and in response to detecting the change in the orientation of the user's field of view to the second orientation, displaying the group of one or more virtual objects via the display generation component at a corresponding spatial orientation relative to at least the first portion of the user's body.

[0023] In some embodiments, a transitory computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation, the one or more programs including instructions for the following operations: when a field of view of a user of the computer system is a first field of view and the field of view of the user includes a representation of a physical environment having a first location within a component physical environment, detecting a change in the orientation of the field of view of the user from the first field of view to a second field of view different from the first field of view, the second field of view also including the first location within the physical environment; in response to detecting the change in the orientation of the field of view of the user from the first field of view to the second field of view, displaying a group of one or more virtual objects via the display generation component at a corresponding spatial orientation relative to at least a first portion of the user's body; after displaying the group of one or more virtual objects at the corresponding spatial orientation relative to at least the first portion of the user's body, ceasing to display the group of one or more virtual objects; after ceasing to display the group of one or more virtual objects, detecting movement of the user in the physical environment; after detecting movement of the user in the physical environment, detecting a change in the orientation of the field of view of the user to a second orientation; and in response to detecting the change in the orientation of the field of view of the user to the second orientation, displaying the group of one or more virtual objects via the display generation component at a corresponding spatial orientation relative to at least the first portion of the user's body.

[0024] In some embodiments, a computer system configured to communicate with a display generation component is described. The computer system includes one or more processors and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for the following operations: when a field of view of a user of the computer system is a first field of view and the field of view of the user includes a representation of a physical environment having a first location within the physical environment, detecting a change in the orientation of the user's field of view from the first field of view to a second field of view different from the first field of view, the second field of view also including the first location within the physical environment; in response to detecting the change in the orientation of the user's field of view from the first field of view to the second field of view, displaying a group of one or more virtual objects via a display generation component at a corresponding spatial orientation relative to at least a first portion of the user's body; after displaying the group of one or more virtual objects at the corresponding spatial orientation relative to at least the first portion of the user's body, ceasing to display the group of one or more virtual objects; after ceasing to display the group of one or more virtual objects, detecting movement of the user in the physical environment; after detecting the movement of the user in the physical environment, detecting a change in the orientation of the user's field of view to a second orientation; and in response to detecting the change in the orientation of the user's field of view to the second orientation, displaying the group of one or more virtual objects via the display generation component at a corresponding spatial orientation relative to at least the first portion of the user's body.

[0025] In some embodiments, a computer system configured to communicate with a display generation component is described. The computer system includes: when a field of view of a user of the computer system is a first field of view and the field of view of the user includes a representation of a physical environment having a first location within the physical environment, components for the following operations: detecting a change in the orientation of the user's field of view from the first field of view to a second field of view different from the first field of view, the second field of view also including the first location within the physical environment; in response to detecting the change in the orientation of the user's field of view from the first field of view to the second field of view, components for the following operations: displaying a group of one or more virtual objects at corresponding spatial orientations relative to at least a first portion of the user's body via a display generation component; after displaying the group of one or more virtual objects at corresponding spatial orientations relative to at least the first portion of the user's body, components for stopping displaying the group of one or more virtual objects; after stopping displaying the group of one or more virtual objects, components for detecting movement of the user in the physical environment; after detecting movement of the user in the physical environment, components for detecting a change in the orientation of the user's field of view to a second orientation; and in response to detecting the change in the orientation of the user's field of view to the second orientation, components for the following operations: displaying the group of one or more virtual objects at corresponding spatial orientations relative to at least the first portion of the user's body via the display generation component.

[0026] In some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs including instructions for the following operations: when a field of view of a user of the computer system is a first field of view and the field of view of the user includes a representation of a physical environment having a first location within the physical environment, detecting a change in the orientation of the field of view of the user from the first field of view to a second field of view different from the first field of view, the second field of view also including the first location within the physical environment; in response to detecting the change in the orientation of the field of view of the user from the first field of view to the second field of view, displaying a group of one or more virtual objects via the display generation component at a corresponding spatial orientation relative to at least a first portion of the user's body; after displaying the group of one or more virtual objects at the corresponding spatial orientation relative to at least the first portion of the user's body, ceasing to display the group of one or more virtual objects; after ceasing to display the group of one or more virtual objects, detecting movement of the user in the physical environment; after detecting movement of the user in the physical environment, detecting a change in the orientation of the field of view of the user to a second orientation; and in response to detecting the change in the orientation of the field of view of the user to the second orientation, displaying the group of one or more virtual objects via the display generation component at a corresponding spatial orientation relative to at least the first portion of the user's body.

[0027] In some embodiments, a method is described that is performed at a wearable computer system that communicates with a display generation component and a set of one or more cameras including a first camera. The method includes: when a user is wearing the wearable computer system and the user has a first field of view that includes a first representation of a physical environment at a user's location as seen from a first perspective, displaying, via the display generation component, a first virtual object that includes a representation of a portion of the field of view of the first camera, wherein the representation of the portion of the field of view of the first camera includes a second representation of the physical environment at the user's location as seen from a second perspective different from the first perspective.

[0028] In some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a wearable computer system that communicates with a display generation component and a group of one or more cameras including a first camera, the one or more programs including instructions for the following operations: when a user is wearing the wearable computer system and the user has a first field of view including a first representation of a physical environment at a user's location as seen from a first perspective, displaying via the display generation component a first virtual object including a representation of a portion of the field of view of the first camera, wherein the representation of the portion of the field of view of the first camera includes a second representation of the physical environment at the user's location as seen from a second perspective different from the first perspective.

[0029] In some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a wearable computer system that communicates with a display generation component and a group of one or more cameras including a first camera, the one or more programs including instructions for the following operations: when a user is wearing the wearable computer system and the user has a first field of view including a first representation of a physical environment at a user's location as seen from a first perspective, displaying via the display generation component a first virtual object including a representation of a portion of the field of view of the first camera, wherein the representation of the portion of the field of view of the first camera includes a second representation of the physical environment at the user's location as seen from a second perspective different from the first perspective.

[0030] In some embodiments, a wearable computer system is described that communicates with a display generation component and a set of one or more cameras including a first camera. The computer system includes one or more processors and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for the following operations: when a user is wearing the wearable computer system and the user has a first field of view including a first representation of a physical environment at the user's location as seen from a first perspective, displaying a first virtual object including a representation of a portion of the field of view of the first camera via the display generation component, wherein the representation of the portion of the field of view of the first camera includes a second representation of the physical environment at the user's location as seen from a second perspective different from the first perspective.

[0031] In some embodiments, a wearable computer system is described that communicates with a display generation component and a set of one or more cameras including a first camera. The computer system includes: when a user is wearing the wearable computer system and the user has a first field of view that includes a first representation of a physical environment at the user's location as seen from a first perspective, components for the following operations: displaying, via the display generation component, a first virtual object that includes a representation of a portion of the field of view of the first camera, wherein the representation of the portion of the field of view of the first camera includes a second representation of the physical environment at the user's location as seen from a second perspective different from the first perspective.

[0032] In some embodiments, a computer program product is described. The computer program product includes one or more programs configured to be executed by one or more processors of a wearable computer system, the wearable computer system communicating with a display generation component and a group of one or more cameras including a first camera, the one or more programs including instructions for the following operations: when a user is wearing the wearable computer system and the user has a first field of view including a first representation of a physical environment at a user's location as seen from a first perspective, displaying via the display generation component a first virtual object including a representation of a portion of the field of view of the first camera, wherein the representation of the portion of the field of view of the first camera includes a second representation of the physical environment at the user's location as seen from a second perspective different from the first perspective.

[0033] It should be noted that the various embodiments described above can be combined with any other embodiments described herein. The features and advantages described in this specification are not comprehensive, and in particular, many additional features and advantages will be apparent to those of ordinary skill in the art based on the drawings, the specification, and the claims. In addition, it should be noted that the language used in this specification is 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

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

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

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

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

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

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

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

[0041] FIG. 7A to FIG. 7Y Example techniques for interacting with virtual objects in an extended reality environment are shown according to some embodiments.

[0042] Figure 8 is a flow chart of a method of interacting with a virtual object in an extended reality environment, including repositioning the virtual object relative to the environment, according to various embodiments.

[0043] Fig. 9 is a flow chart of a method of interacting with virtual objects in an extended reality environment, including virtual objects that assist a user in navigating within the environment, according to various embodiments.

[0044] Fig.10 is a flow chart of a method of interacting with a virtual object in an extended reality environment, the virtual object including an object displayed based on a change in a user's field of view, the method including repositioning the virtual object relative to the environment, according to various embodiments.

[0045] Fig.11is a flow chart of a method of interacting with a virtual object in an extended reality environment, including virtual objects that provide different perspectives on the environment, according to various embodiments. DETAILED DESCRIPTION

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

[0047] Figures 1 to 6 A description of an example computer system for providing an XR experience to a user is provided. FIG. 7A to FIG. 7Y Example techniques for interacting with virtual objects in an extended reality environment are shown according to some embodiments. Figure 8 is a flow chart of a method of interacting with a virtual object in an extended reality environment, including repositioning the virtual object relative to the environment, according to various embodiments. Fig. 9 is a flow chart of a method of interacting with virtual objects in an extended reality environment, including virtual objects that assist a user in navigating within the environment, according to various embodiments. Fig.10 is a flow chart of a method of interacting with a virtual object in an extended reality environment, the virtual object including an object displayed based on a change in a user's field of view, the method including repositioning the virtual object relative to the environment, according to various embodiments. Fig.11 is a flow chart of a method of interacting with a virtual object in an extended reality environment, including virtual objects that provide different perspectives on the environment, according to various embodiments. FIG. 7A to FIG. 7Y The user interface in Figures 8 to 11 process.

[0048] The process described below enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device) through various techniques, including by providing improved visual feedback to the user, reducing the number of inputs required to perform an operation, providing additional control options without cluttering the user interface with additional display controls, performing an operation without further user input when a set of conditions have been met, improving privacy and / or security, providing a richer, more detailed and / or more realistic user experience while saving storage space, and / or additional techniques. These techniques also reduce power usage and extend the battery life of the device by enabling the user to use the device faster and more efficiently. Saving battery power, and therefore saving weight, improves the ergonomics of the device. These techniques also enable real-time communication, allow the use of fewer and / or less accurate sensors, thereby producing a more compact, lighter and cheaper device, and enable the device to be used under various 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.

[0049] In addition, in the method described herein where one or more steps depend on one or more conditions being met, it should be understood that the method can be repeated in multiple repetitions so that in the process of repetition, all conditions for determining the steps in 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 the ordinary technician 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 one or more conditions being met can be rewritten as a method of repeating until each condition described in the method is met. However, this does not require the system or computer-readable medium to declare that the system or computer-readable medium contains instructions for performing a contingent operation based on the satisfaction of the corresponding one or more conditions, and is therefore able to determine whether the possible situation has been met without explicitly repeating the steps of the method until all conditions for determining the steps in the method have been met. It will also be understood by ordinary technicians in the art that, similar to the method with the contingent step, the system or computer-readable storage medium can repeat the steps of the method as many times as needed to ensure that all the contingent steps have been performed.

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

[0051] In describing an XR experience, various terms are used to distinguishably 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 tactile feedback corresponding to the various inputs provided to the computer system 101). The following is a subset of these terms:

[0052] Physical environment: The physical environment refers to the physical world that people can sense and / or interact with without the help 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 vision, touch, hearing, taste, and smell.

[0053] 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 an electronic system. In XR, a subset of a person's physical movements, or a representation thereof, is tracked, and in response, one or more characteristics of one or more virtual objects simulated in the XR environment are adjusted in a manner that complies with at least one physical law. For example, an XR system may detect a person's head turn, and in response, adjust the graphical content and sound field presented to the person in a manner similar to the way such views and sounds change in a physical environment. In some cases (e.g., for accessibility reasons), adjustments to the characteristics of virtual objects in the XR environment may be made in response to a representation of physical movement (e.g., a voice command). 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, an audio object can enable audio transparency that selectively introduces ambient sounds from the physical environment with or without computer-generated audio. In some XR environments, a person can sense and / or interact only with an audio object.

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

[0055] Virtual Reality: A virtual reality (VR) environment refers to a simulated environment designed to be based entirely on computer-generated sensory input to one or more senses. A VR environment includes a plurality of virtual objects that a person can sense and / or interact with. For example, trees, buildings, and computer-generated images representing avatars of people are examples of virtual objects. A person can sense and / or interact with virtual objects in a VR environment through a simulation of the person's presence within the computer-generated environment and / or through a simulation of a subset of the person's physical movement within the computer-generated environment.

[0056] 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 end. 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.

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

[0058] 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 may be configured to present virtual objects on a transparent or translucent display so that a person uses the system to perceive 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 image or video with the virtual object and presents the composition on an opaque display. A person uses the system to indirectly view the physical environment via an image or video of the physical environment and perceives virtual objects superimposed on the physical environment. As used herein, a video of a physical environment displayed on an opaque display is referred to as a "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 an opaque display. Further alternatively, the system may have a projection system that projects virtual objects into a physical environment, such as as a hologram 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.

[0059] Augmented Virtual: An augmented virtual (AV) environment refers to a simulated environment in which a virtual environment or a computer-generated environment incorporates one or more sensory inputs from the physical environment. The sensory input may be a representation of one or more characteristics of the physical environment. For example, an AV park may have virtual trees and virtual buildings, but the faces of people are realistically reproduced from images taken of physical people. For another example, a virtual object may take the shape or color of a physical object imaged by one or more imaging sensors. For another example, a virtual object may take a shadow that conforms to the positioning of the sun in the physical environment.

[0060] Viewpoint-locked virtual objects: When a computer system displays a virtual object at the same position and / or location in a user's viewpoint, the virtual object is viewpoint-locked even if the user's viewpoint shifts (e.g., changes). 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 an 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."

[0061] Environment-locked visual objects: A virtual object is environment-locked (alternatively, "world-locked") when a computer system displays a virtual object at a position and / or location 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 location 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 location 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 orientation of the virtual object that is locked to the environment 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 system (e.g., a coordinate system anchored to a fixed position and / or object in the physical environment) to determine the position of the virtual object that is locked to the user's viewpoint. The virtual object that is locked to the environment can be locked to a stationary part of the environment (e.g., a floor, wall, table or other stationary object), or can be locked to a movable part 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 the part of the environment moves to maintain a fixed relationship between the virtual object and the part of the environment.

[0062] 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 followed by the virtual object. In some embodiments, when exhibiting inertial following behavior, when detecting the movement of a reference point (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) that the virtual object is following, the computer system intentionally delays the movement of the virtual object. For example, when the reference point (e.g., a portion of the environment or a viewpoint) moves at a first speed, the virtual object is moved by the device to remain locked to the reference point, but moves at a second speed that is slower than the first speed (e.g., until the reference point stops moving or slows down, at which time 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 moving 0 to 5 degrees or moving 0 to 50 cm). For example, when a reference point (e.g., a portion or viewpoint of an environment to which a virtual object is locked) moves a first amount, the distance between the reference point and the virtual object increases (e.g., because the virtual object is being displayed so as to maintain a fixed or substantially fixed position relative to a viewpoint or portion of the environment different from the reference point to which the virtual object is locked), and when the reference point (e.g., the portion or viewpoint of the environment to which the virtual object is locked) moves a second amount greater than the first amount, the distance between the reference point and the virtual object first increases (e.g., because the virtual object is being displayed so as to maintain a fixed or substantially fixed position relative to a viewpoint or portion of the environment different from the reference point to which the virtual object is locked), and then decreases when the amount of movement of the reference point increases above a threshold (e.g., a “lazy follow” threshold) because the virtual object is moved by the computer system to maintain a fixed or substantially fixed position relative to the reference point. In some embodiments, maintaining a substantially fixed position of the virtual object relative to the reference point includes displaying the virtual object within a threshold distance (e.g., 1 cm, 2 cm, 3 cm, 5 cm, 15 cm, 20 cm, 50 cm) of the reference point in one or more dimensions (e.g., up / down, left / right, and / or forward / backward relative to the position of the reference point).

[0063] Hardware: There are many different types of electronic systems that enable a person to sense and / or interact with various XR environments. Examples include head-mounted systems, projection-based systems, 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 tactile feedback), smartphones, tablet devices, and desktop / laptop computers. A head-mounted system may include speakers and / or other audio output devices integrated into the head-mounted system for providing audio output. A head-mounted system may have one or more speakers and an integrated opaque display. Alternatively, a head-mounted system may be configured to accept an external opaque display (e.g., a smartphone). A head-mounted system may incorporate one or more imaging sensors for capturing images or video of a physical environment and / or one or more microphones for capturing audio of a physical environment. Instead of an opaque display, a head-mounted system may have a transparent or translucent display. A transparent or translucent display may have a medium through which light representing an image is directed to a person's eyes. The display may utilize digital light projection, OLED, LED, uLED, liquid crystal on silicon, laser scanning light sources, or any combination of these technologies. The medium may be an optical waveguide, a holographic medium, an optical combiner, an optical reflector, or any combination thereof. In one embodiment, a transparent or translucent display may be configured to selectively become opaque. A projection-based system may employ retinal projection technology that projects graphic images onto a person's retina. The projection system may also be configured to project virtual objects into a physical environment, such as as a hologram or on a physical surface. In some embodiments, the controller 110 is configured to manage and coordinate the user's XR experience. In some embodiments, the controller 110 includes a suitable combination of software, firmware, and / or hardware. The following description with respect 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. As another example, controller 110 is a remote server (e.g., cloud server, central server, etc.) located outside scene 105. In some embodiments, controller 110 is communicatively coupled to display generation component 120 (e.g., HMD, display, projector, touch screen, etc.) via one or more wired or wireless communication channels 144 (e.g., Bluetooth, IEEE 802.11x, IEEE 802.16x, IEEE 802.3x, etc.). In another example, the controller 110 is included within a housing (e.g., a physical housing) of the display generating component 120 (e.g., an HMD or a portable electronic device including a display and one or more processors, etc.), one or more input devices of the input devices 125, one or more output devices of the output devices 155, one or more sensors of the sensors 190, and / or one or more peripheral devices of the peripheral devices 195, or shares the same physical housing or support structure with one or more of the above devices.

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

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

[0066] In some embodiments, the display generation component is worn on a part of the user's body (e.g., on his / her head, on his / her hand, etc.). In this way, the display generation component 120 includes one or more XR displays provided for displaying XR content. For example, in various embodiments, the display generation component 120 surrounds the user's field of view. In some embodiments, the display generation component 120 is a handheld device (such as a smart phone or tablet device) configured to present XR content, and the user holds a device with a display facing the user's field of view and a camera facing the scene 105. In some embodiments, the handheld device is optionally placed in a shell 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, shell, 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) may be implemented on another type of hardware for displaying XR content (e.g., an HMD or other wearable computing device). For example, a user interface showing interactions with XR content triggered based on interactions occurring in the space in front of a handheld device or a tripod-mounted device may similarly be implemented with an HMD, where the interactions occur in the space in front of the HMD and responses to the XR content are displayed via the HMD. Similarly, a user interface showing interactions with XR content 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)) may 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)).

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

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

[0069] 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 touch pad, a joystick, one or more microphones, one or more speakers, one or more image sensors, one or more displays, and the like.

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

[0071] 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 of one or more users (e.g., a single XR experience of one or more users, or multiple XR experiences of 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 sending unit 248.

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

[0073] In some embodiments, tracking unit 242 is configured to map scene 105 and track at least display generation component 120 relative to Figure 1 The tracking unit 242 may include instructions and / or logic for 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 scene 105. Figure 1 The movement of the scene 105 relative to the display generation component 120 and / or relative to a 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 generally, the user's eyes, face, or head) relative to the scene 105 (e.g., relative to the physical environment and / or relative to the user (e.g., the user's 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.

[0074] In some embodiments, coordination unit 246 is configured to manage and coordinate the XR experience presented to the user by display generation component 120, and optionally by one or more of output device 155 and / or peripherals 195. To this end, in various embodiments, coordination unit 246 includes instructions and / or logic for instructions and heuristics and metadata for the heuristics.

[0075] In some embodiments, the data sending unit 248 is configured to send data (e.g., presentation data, position data, etc.) to at least the display generation component 120, and optionally to one or more of the input device 125, the output device 155, the sensor 190, and / or the peripheral device 195. For this purpose, in various embodiments, the data sending unit 248 includes instructions and / or logic for the instructions as well as heuristics and metadata for the heuristics.

[0076] 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 illustrated 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.

[0077] also, Figure 2 It serves more as a functional description of various features that may be present in a particular implementation, as opposed to a block 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 the features are distributed among them will vary depending on the specific implementation, and in some embodiments, depends in part on the specific combination of hardware, software and / or firmware selected for a specific implementation.

[0078] Figure 31 is a block diagram of an example of a display generation component 120 according to some embodiments. Although some specific features are shown, those skilled in the art will recognize from this disclosure that various other features are not shown for the sake of brevity and 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, a memory 320, and one or more communication buses 304 for interconnecting these and various other components.

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

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

[0081] In some embodiments, the one or more image sensors 314 are configured to acquire image data corresponding to at least a portion of the user's face, including the user's eyes (and may be referred to as an eye tracking camera). In some embodiments, the one or more image sensors 314 are configured to acquire image data corresponding to the user's hands and, optionally, at least a portion of the user's arms (and may be referred to as a hand tracking camera). In some embodiments, the one or more image sensors 314 are configured to face forward so as to acquire image data corresponding to a scene that the user would see in the absence of the display generating 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., with 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.

[0082] The memory 320 includes a high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid-state memory devices. In some embodiments, the memory 320 includes a 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. The memory 320 optionally includes one or more storage devices located away from the one or more processing units 302. The memory 320 includes a non-transitory computer-readable storage medium. In some embodiments, the memory 320 or the non-transitory computer-readable storage medium of the memory 320 stores the following programs, modules and data structures or their subsets, including an optional operating system 330 and an XR rendering module 340.

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

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

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

[0086] 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 such purposes, in various embodiments, the XR map generation unit 346 includes instructions and / or logic for the instructions and heuristics and metadata for the heuristics.

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

[0088] 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 mapping generation unit 346, and the data sending unit 348 may be located in a separate computing device.

[0089] also, Figure 3 More as a functional description of various features that may be present in a particular embodiment, rather than a schematic diagram of the structures 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 the features are distributed among them will vary depending on the specific implementation, and in some embodiments, depends in part on the specific combination of hardware, software and / or firmware selected for a specific implementation.

[0090] Figure 4 is a schematic illustration of an example implementation of the hand tracking device 140. In some implementations, 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 a user's hand, and / or one or more parts of a user's hand relative to Figure 1The hand tracking device 140 can be used to monitor movement of the scene 105 (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 that is 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 the head-mounted device). In some embodiments, the hand tracking device 140 is separate from the display generation component 120 (e.g., located in a separate housing or attached to a separate physical support structure).

[0091] In some embodiments, the hand tracking device 140 includes an image sensor 404 (e.g., one or more IR cameras, 3D cameras, depth cameras, and / or color cameras, etc.) that captures three-dimensional scene information including at least a human user's hand 406. The image sensor 404 captures hand images with sufficient resolution so that fingers and their corresponding positioning can be distinguished. The image sensor 404 typically captures images of other parts of the user's body, or may capture images of all parts of the body, and may have zoom capabilities or a dedicated sensor with increased magnification to capture images of the hand with 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 is used as an image sensor to capture 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 a manner that the field of view of the image sensor 404 or a portion thereof is used to define an interaction space, in which the hand movements captured by the image sensor are considered as input to the controller 110.

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

[0093] 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 offset of the spots in the pattern. This method is advantageous because it does not require the user to hold or wear any kind of beacon, sensor, or other marker. The method gives the depth coordinates of points in the scene 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, so that the depth coordinates of points 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.

[0094] 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 position of the user's hand joints and finger tips.

[0095] 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 the tracking is used to find the 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.

[0096] In some embodiments, gestures include air gestures. An air gesture is a gesture 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 a device) and 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 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 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)).

[0097] 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 a user's hand). In some embodiments, an air gesture is a gesture 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 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 including a predetermined speed or rotation amount of a part of the user's body)).

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

[0099] In some embodiments, an input gesture pointing to a user interface object is performed directly or indirectly with reference to the user interface object. For example, the user input is performed directly on the user interface object according to performing the 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, when the user's attention (e.g., gaze) to the user interface object is detected, the input gesture is performed indirectly on the user interface object according to 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 display 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 display location of the user interface object).

[0100] In some embodiments, according to some embodiments, the 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.

[0101] In some embodiments, the pinch input is part of an air gesture that includes one or more of the following: a pinch gesture, a long pinch gesture, a pinch and drag gesture, or a double pinch gesture. For example, a pinch gesture as an air gesture includes movement of two or more fingers of a hand to contact each other, that is, optionally followed by an immediate (e.g., within 0 seconds 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 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., or more) pinch inputs (e.g., performed by the same hand) that are detected consecutively immediately (e.g., within a predefined time period) with each other. For example, the user performs a first pinch input (e.g., a pinch input or a long pinch input), releases the first pinch input (e.g., interrupts contact between two or more fingers), and performs a second pinch input within a predefined time period after releasing the first pinch input (e.g., within 1 second or within 2 seconds).

[0102] 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 position of the user's hand from a first position (e.g., the starting position of the drag) to a second position (e.g., the ending position of the drag). In some embodiments, the user maintains the pinch gesture while performing the drag input, and releases the pinch gesture (e.g., opens their two or more fingers) to end the drag gesture (e.g., at the second position). In some embodiments, the pinch input and the drag input are performed by the same hand (e.g., the user pinches two or more fingers to contact each other and moves the same hand to the second position in the air using the drag gesture). In some embodiments, the pinch input is performed by the user's first hand, and the drag input is performed by the user's second hand (e.g., while the user continues the pinch input with the user's first hand, the user's second hand moves from the first position to the second position in the air). In some embodiments, the input gesture as an air gesture includes input performed using both hands of the user (e.g., pinch and / or tap input). For example, the input gesture includes two (e.g., or more) pinch inputs that are 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 a first hand of a user, and a second pinch input is performed using another hand (e.g., a second hand of the user's two hands) in conjunction with the pinch input performed using the first hand. In some embodiments, movement between the user's two hands (e.g., increasing and / or decreasing the distance or relative orientation between the user's two hands).

[0103] In some embodiments, a tap input performed as an air gesture (e.g., pointing to a user interface element) includes movement of a user's finger toward the user interface element, movement of the user's hand toward the user interface element (optionally, extension of the user's finger toward the user interface element), downward movement of the user's finger (e.g., mimicking a mouse click motion or a tap on a touch screen), or other predefined movement of the user's hand. In some embodiments, a tap input performed as an air gesture is detected based on movement characteristics of the finger or hand performing the tap gesture movement of the finger or hand, which is a movement of the finger or hand away from the user's viewpoint and / or toward an object that is the target of the tap input, followed by an end of the movement. In some embodiments, the end of the movement is detected based on a change in the movement characteristics of the finger or hand performing the tap gesture (e.g., the end of the 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).

[0104] In some embodiments, it is determined that the user's attention is directed to a portion of the three-dimensional environment based on detection of a gaze directed to the portion of the three-dimensional environment (optionally, no other conditions are required). In some embodiments, it is determined that the user's attention is directed to a portion of the three-dimensional environment based on detection of a gaze directed to the portion of the three-dimensional environment using one or more additional conditions, such as requiring the gaze to be directed to the portion of the three-dimensional environment for at least a threshold duration (e.g., 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 the attention is not directed to the portion of the three-dimensional environment to which the gaze is directed (e.g., until the one or more additional conditions are met).

[0105] In some embodiments, detection of a ready state configuration of a user or a portion of a user is detected by a computer system. 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 (e.g., pinch, tap, pinch and drag, double pinch, long pinch, or other air gestures described herein) performed by the hand. For example, the ready state of the 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.

[0106] 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 a tangible, non-transitory medium such as an optical, magnetic, or electronic memory medium. In some embodiments, the database 408 is also stored in a 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 4Controller 110 is shown in FIG. 1 , 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, for example, as a separate unit from 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 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.

[0107] 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 in the depth map 410 is inversely proportional to its depth value (i.e., the measured z distance from the image sensor 404), where the gray shades become darker as the depth increases. The controller 110 processes these depth values ​​in order to identify and segment the components of the image that have human hand characteristics (i.e., a group of adjacent pixels). These characteristics may include, for example, overall size, shape, and movement from frame to frame in the depth map sequence.

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

[0109] Figure 5 The 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 headphones, helmets, goggles, or glasses) or a handheld device placed in a wearable frame, the head-mounted device includes both components for generating XR content for viewing by the user and components for tracking the user's gaze relative to the XR content. In some embodiments, 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 a 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.

[0110] 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 a 3D virtual view to the user. 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 a 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 a virtual object on the transparent or translucent display, and the user can directly view the physical environment through the transparent or translucent display. In some embodiments, the display generation component projects the virtual object into the physical environment. The virtual object may, for example, be projected on a physical surface or projected as a hologram so that an individual using the system observes the virtual object superimposed on the physical environment. In this case, separate display panels and image frames for the left and right eyes may not be required.

[0111] like Figure 5As shown, in some embodiments, the eye tracking device 130 (e.g., 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 the IR or NIR light reflected directly from the eyes by the light source, or alternatively can be pointed at "hot" mirrors located between the user's eyes and the display panel, which reflect the IR or NIR light from the eyes to the eye tracking camera while allowing visible light to pass through. The eye tracking device 130 optionally captures images of the user's eyes (e.g., as a video stream captured at 60-120 frames per second (fps)), analyzes the images to generate gaze tracking information, and transmits the gaze tracking information to the controller 110. In some embodiments, the user's two eyes are tracked separately by corresponding eye tracking cameras and illumination sources. In some embodiments, only one eye of the user is tracked by the corresponding eye tracking camera and illumination source.

[0112] 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 geometric relationships and parameters of the LED, camera, thermal mirror (if present), eye lens, and display screen. The device-specific calibration process can be performed at a factory or another facility before the AR / VR equipment is delivered to the end user. The device-specific calibration process can be an automatic calibration process or a manual calibration process. According to some embodiments, the user-specific calibration process may include an estimate of the eye parameters of a specific user, such as pupil position, foveal position, optical axis, visual axis, eye spacing, etc. According to some embodiments, once the device-specific parameters and user-specific parameters are determined for the eye tracking device 130, a flash-assisted method can be used to process the images captured by the eye tracking camera to determine the current visual axis and the user's gaze point relative to the display.

[0113] like Figure 5As shown, the eye tracking device 130 (e.g., 130A or 130B) includes an eye lens 520 and a gaze tracking system, which includes at least one eye tracking camera 540 (e.g., an infrared (IR) or near infrared (NIR) camera) positioned on the side of the user's face on which eye tracking is performed, and an illumination source 530 (e.g., an IR or NIR light source, such as an array or ring of NIR light emitting diodes (LEDs)) that emits light (e.g., IR or NIR light) toward the user's eye 592. The eye tracking camera 540 can be directed toward a mirror 550 (which reflects IR or NIR light from the eye 592 while allowing visible light to pass) located between the user's eye 592 and a display 510 (e.g., a left display panel or a right display panel of a head-mounted display, or a display of a handheld device, a projector, etc.) (e.g., as 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 ).

[0114] 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 in which the user is currently looking.

[0115] Several possible use cases for the user's current gaze direction are described below and are 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 area determined according to the user's current gaze direction than in the peripheral area. As another example, the controller may position or move virtual content in a view based at least in part on the user's current gaze direction. As another example, the controller may display specific virtual content in a 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 guide an external camera for capturing the physical environment of the XR experience to focus in the determined direction. The autofocus mechanism of the external camera may then focus on an object or surface in the environment that the user is currently looking at on the display 510. As another example use case, the eye lens 520 may be a focusable lens, and the controller uses gaze tracking information to adjust the focus of the eye lens 520 so that the virtual object that the user is currently looking at has an appropriate degree of convergence 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.

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

[0117] 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. Note 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.

[0118] like Figure 5 Embodiments of the gaze tracking system illustrated in the drawings may be used, for example, in computer-generated reality, virtual reality, and / or mixed reality applications to provide a user with a computer-generated reality, virtual reality, augmented reality, and / or augmented virtual experience.

[0119] Figure 6 A flash-assisted gaze tracking pipeline according to some embodiments is illustrated. In some embodiments, the gaze tracking pipeline is implemented by a flash-assisted gaze tracking system (e.g., Figure 1 and Figure 5 The flash-assisted gaze tracking system may 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 the flash in the current frame. When not in the tracking state, the flash-assisted gaze tracking system attempts to detect the pupil and the flash in the current frame, and if successful, initializes the tracking state to "yes" and continues with the next frame in the tracking state.

[0120] like Figure 6 As shown, the gaze tracking camera can capture left and right images of the user's left and right eyes. The captured images are then input to the gaze tracking pipeline for processing starting at 610. As indicated by the arrow returning to element 600, the gaze tracking system can continue to capture images of the user's eyes at a rate of, for example, 60 to 120 frames per second. In some embodiments, each group 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.

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

[0122] At 640, if advancing from element 610, the current frame is analyzed to track pupils and glints based in part on previous information from previous frames. At 640, if advancing from element 630, the tracking state is initialized based on the pupils and glints detected in the current frame. The processing results at element 640 are checked to verify that the results of the tracking or detection can be credible. For example, the results can be checked to determine whether the pupil and a sufficient number of glints for performing gaze estimation are successfully tracked or detected in the current frame. At 650, if the results are not likely to be credible, 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 results are credible, the method advances 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.

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

[0124] In the present disclosure, various input methods are described with respect to interaction with a computer system. When an input device or input method is used to provide an example, and another input device or input method is used to provide another example, it should be understood that each example is compatible with the input device or input method described with respect to another example and optionally utilizes the input device or input method. Similarly, various output methods are described with respect to interaction with a computer system. When an output device or output method is used to provide an example, and another output device or output method is used to provide another example, it should be understood that each example is compatible with the output device or output method described with respect to another example and optionally utilizes the output device or output method. Similarly, various methods are described with respect to interaction with a virtual environment or a mixed reality environment by 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 the method described with respect to another example and optionally utilizes these methods. Therefore, the present disclosure discloses an embodiment as a combination of features of multiple examples, without exhaustively listing all features of the embodiment in the description of each example embodiment.

[0125] User interface and associated processes

[0126] Attention is now turned to embodiments of a user interface ("UI") and associated processes that may be implemented on a computer system (such as a portable multifunction device or a head mounted device) in communication with display generating components and (optionally) one or more cameras.

[0127] FIG. 7A to FIG. 7Y An example of interacting with a virtual object in an extended reality environment is shown. Figure 8 is a flow chart of a method of interacting with a virtual object in an extended reality environment, including repositioning the virtual object relative to the environment, according to various embodiments. Fig. 9 is a flow chart of a method of interacting with virtual objects in an extended reality environment, including virtual objects that assist a user in navigating within the environment, according to various embodiments. Fig.10 is a flow chart of a method of interacting with a virtual object in an extended reality environment, the virtual object including an object displayed based on a change in a user's field of view, the method including repositioning the virtual object relative to the environment, according to various embodiments. Fig.11 is a flow chart of a method of interacting with a virtual object in an extended reality environment, including virtual objects that provide different perspectives on the environment, according to various embodiments. FIG. 7A to FIG. 7Y The user interface in is used to illustrate the processes described below, which include Figures 8 to 11 process.

[0128] exist Fig. 7A , user 701 is holding and interacting with device 700 (smartphone) while in a physical environment 703 including trees 703a, roads 703b, and flowers 703c. Device 700 includes display 700a, which can be displayed on Figure 7B . In some embodiments, device 700 includes one or more features of computer system 101, such as an accelerometer for detecting movement of device 700 and / or eye tracking device 130. In some embodiments, device 700 is a head-mounted system or display (e.g., HMD), and when a user operates device 700 as an HMD, device 700 detects the user's movement and / or changes in the orientation of the user's viewpoint (e.g., field of view ("FOV")) (e.g., via detecting movement of the user's head). In such embodiments, user 701 can control certain operations of device 700 via changes in the user's viewpoint (e.g., via head movement) without having to contact device 700 (e.g., provide touch input thereto). Control via changes in the orientation of the user's viewpoint can be particularly useful for HMDs because hardware elements (e.g., buttons or touch-sensitive surfaces) of the HMD may not be visible to the user when the user is wearing the HMD and / or may be difficult to operate due to the positioning and / or lack of visibility of these hardware elements.

[0129] exist Figure 7B At , the device 700 displays a user interface 702 overlaid on a see-through representation of a physical environment 703, the see-through representation including portions of trees 703a, roads 703b, and flowers 703c based on the viewpoint of a rear camera of the device 700. In some embodiments, the representation of the physical environment 703 is an optical see-through representation visible through a transparent portion of the device 700. The user interface 702 includes virtual objects 702a and virtual objects 702b in a predefined spatial layout. In some embodiments, virtual objects 702a and virtual objects 702b are referred to as sub-portions of a user interface and / or sub-portions of a single composite virtual object. In some embodiments, virtual objects 702a and 702b are previews of an application user interface (e.g., a fitness application, a navigation application, and / or a camera application). In some embodiments, virtual objects 702a and 702b are XR experiences and / or previews of XR experiences that can be provided by the device 700. Figure 7B At , virtual objects 702a and 702b are displayed in a first mode, the first mode including displaying the virtual objects at a first opacity level and displaying the virtual objects as environment-locked virtual objects. Figure 7B At , while the virtual objects 702a and 702b are being displayed in the first mode, the device 700 detects that the device 700 is moving to the right, as indicated by arrows 705a1 and 705a2.

[0130] exist Figure 7C At , in response to the rightward motion indicated by arrows 705a1 and 705a2, the device 700 causes the virtual objects 702a and 702b to shift leftward on the display 700a as the representation of the physical environment 703 shifts leftward due to the rightward motion of the device. Figure 7C , virtual objects 702a and 702 remain in the first display mode, including maintaining environment lock, as seen by their positioning relative to portions of tree 703a and road 703b. As virtual object 702a shifts to the left on display 700a, a leftmost portion of virtual object 702a that accounts for approximately 5% (e.g., as determined by area and / or by length) of the virtual object is no longer displayed, while the remaining portion (e.g., 95%) of virtual object 702a continues to be displayed. Figure 7B At , while the virtual objects 702a and 702b continue to be displayed in the first mode, the device 700 detects that the device 700 moves further to the right, as indicated by arrows 705b1 and 705b2.

[0131] exist Fig.7D At , in response to the rightward movement indicated by arrows 705b1 and 705b2 and in response to determining that less than a threshold amount (e.g., less than 95%, 90%, 80%, 70%, 60%, or 50%) of virtual object 702a will remain on display 700a (in some embodiments, will remain in the user's viewpoint (e.g., remain visible to the user)) if virtual object 702a continues to be locked to the environment in the first display mode, device 700 displays virtual objects 702a and 702b in a second mode, the second mode including converting virtual objects 702a and 702b into viewpoint-locked virtual objects, displaying virtual objects 702a and 702b in the center of the display 700 (in some embodiments, in the center of the user's viewpoint), and modifying the visual appearance of virtual objects 702a and 702b by making the virtual objects more opaque and displaying projections of the virtual objects, as shown in FIG. Fig.7D . If the further movement to the left is less significant, such that greater than 90% of the virtual object 702a remains on the display 700a based on the movement, then the virtual objects 702a and 702b will continue to be displayed in the first mode. In some embodiments, the second display mode of the virtual objects 702a and 702b is referred to as a repositioning mode because the user can use this mode to reposition the virtual objects within or relative to the representation of the physical environment 703. In some embodiments, displaying the virtual objects 702a and 702b in the second mode includes providing additional information (e.g., text (e.g., "Reposition virtual object by moving the device") and / or graphical information) that informs the user that the virtual object can be repositioned (e.g., relative to the environment) via a combination of device movement and device stability, as discussed in more detail below. Fig.7D At , when the virtual objects 702a and 702b are displayed in the second mode, the device 700 detects that the device 700 moves to the left, as indicated by arrows 705c1 and 705c2.

[0132] exist Fig. 7E At , in response to the leftward movement indicated by arrows 705c1 and 705c2, the device 700 continues to display virtual objects 702a and 702b in the second mode, including displaying these objects as viewpoint-locked objects. Therefore, the positioning of the virtual objects 702a and 702b relative to the physical environment has changed, as indicated by the positioning of the tree 703a, road 703b, and flower 703c relative to the virtual objects 702a and 702b. In some embodiments, when the virtual objects 702a and 702b are viewpoint-locked while in the second mode, the virtual objects exhibit inert follow behavior (as described above) while these objects are responding to movement of the device 700 and the virtual objects are in motion. Fig. 7E At , while the virtual objects 702a and 702b are still displayed in the second mode, the device 700 detects that the device 700 moves further to the left, as indicated by arrows 705d1 and 705d2.

[0133] exist Figure 7F In response to the leftward movement indicated by arrows 705d1 and 705d2, the device 700 continues to display virtual objects 702a and 702b in the second mode, including displaying these objects as viewpoint-locked objects. The leftward movement indicated by arrow 705d also causes the device 700 to display virtual objects 702a and 702b in the second mode. Figure 7B The same manner is shown, with respect to the physical environment 703, as indicated by the positioning of the tree 703a, the road 703b and the flower 703c. Figure 7F At the point, device 700 detects that device 700 has remained stable for at least a predetermined period of time (e.g., has satisfied a set of stability criteria by remaining stable for 0.5 seconds, 1 second, 2 seconds, or 3 seconds); in some embodiments, the user's viewpoint (e.g., the user's head) has satisfied the set of stability criteria).

[0134] exist Figure 7G At , in response to detecting that the device 700 has remained stable for at least a predetermined period of time while the virtual objects 702a and 702b are displayed in the second mode, the device 700 transitions back to displaying the virtual objects 702a and 702b in the first mode, including reducing their opacity, removing their projections, and displaying them as environment-locked virtual objects. FIG. 7B to FIG. 7GIn some embodiments, user 701 is able to change the display mode of virtual objects 702a and 702b via a combination of movement and stability of device 700 without having to employ any manual input devices (e.g., buttons and / or touch-sensitive surfaces). FIG. 7B to FIG. 7G The discussed techniques enable a user to interact with virtual objects that remain locked to the environment while the user's field of view (e.g., as determined by the orientation of the user's head) remains within a range of orientations (e.g., an orientation that does not cause a threshold amount of the virtual objects to transition outside of the user's field of view (e.g., as presented to the user via display generation components of device 700)). This can be particularly useful, for example, when the user is interacting with an XR experience and environment where it is expected that the user will primarily focus his or her attention in one general direction (e.g., at a concert, certain sporting events, or in a theater). Also, reference is made to FIG. 7B to FIG. 7G The discussed techniques provide a user with a user interface for repositioning virtual objects to be associated with different portions of a physical environment via changes in the user's field of view (e.g., via movement of the user's head) without having to access manual controls.

[0135] exist Figure 7HAt , the device 700 displays a user interface 704, which is a walking fitness user interface. In some embodiments, the user interface 704 is generated by a fitness application of the device 700. In some embodiments, the user interface 704 is displayed in response to selecting (e.g., via touch input, air gesture, hardware button press, gaze input, or a combination thereof) a virtual object 702a. The user interface 704 includes guidance 704a and dashboard virtual objects 704b-704d. The guidance 704a instructs the user (e.g., user 701) to move the device 700 (e.g., to change the user's viewpoint, as provided by the device 700) so as to position the dashboard virtual objects 704b-704d at a desired location (e.g., within an augmented reality environment) relative to the location and / or orientation of the device 700 and / or relative to the location and / or orientation of a part of the user's body (e.g., relative to the user's torso or head). Dashboard virtual object 704b indicates the current calorie count of the current walking fitness, dashboard virtual object 704c indicates the current mile pace of the current walking fitness, and dashboard virtual object 704d is a camera feed from a first camera in communication with device 700. In some embodiments, the first camera is a camera integrated into device 700 (e.g., a user-facing and / or front-facing camera of device 700 with a viewpoint pointing to user 701). In some embodiments, the first camera is a remote camera that wirelessly communicates with device 700, such as a fixed camera along road 703b. In some embodiments, user interface 704 is a user interface displayed when a user operates a vehicle (e.g., a bicycle or a car), and the first camera is a camera integrated into the vehicle (e.g., a rear-view camera, a side-view and / or side mirror camera). In some embodiments, the representation of physical environment 703 displayed on display 700a and the camera feed of dashboard virtual object 704d provide different perspectives of the same approximate location of the physical environment (e.g., the location where user 701 and / or device 700 are located). In some embodiments, the two perspectives (e.g., the perspective facing toward tree 703a and the perspective facing away from tree 703a) are in close proximity to each other, but are oriented differently (e.g., the two perspectives are within 0.1 feet, 0.2 feet, 0.5 feet, 1 foot, 2 feet, 5 feet, or 10 feet of each other). Figure 7H In FIG. 1 , dashboard virtual objects 704 b - 704 d are positioned so that they appear approximately two feet in front of the user's torso at approximately sternum level. Figure 7H At , the guide 704a and dashboard virtual objects 704b-704d are displayed as viewpoint-locked objects and will continue to be displayed as viewpoint-locked objects until the device 700 detects a press of the hardware button 700b. Figure 7H At , device 700 detects that device 700 is tilted downward, as indicated by arrows 705e1 and 705e2.

[0136] exist Fig.7I In response to the downward rotation indicated by arrows 705e1 and 705e2, a different portion of the physical environment 703 is displayed on the display 700a. Because the guide 704a and the dashboard virtual objects 704b-704d are viewpoint locked, the guide 704a and the dashboard virtual objects 704b-704d continue to be displayed at the same location on the display 700a, but are now displayed at a different location relative to the representation of the physical environment 703 (e.g., with the Figure 7H Compared to the flower 703c, which is further below the flower 703c within the viewpoint of the user 701). Fig.7I , device 700 maintains display of dashboard virtual objects 704b-704d at the same predetermined distance of two feet from the user's torso. However, due to the downward rotation indicated by arrows 705e1 and 705e2, dashboard virtual objects 704b-704d now appear approximately two feet in front of the user's torso, but at navel level rather than sternum level. In other words, device 700 maintains the overall distance of dashboard virtual objects 704b-704d from the user's torso while shifting their vertical positioning further downward. Figure 7H At , the device 700 detects actuation of the hardware button 700b (e.g., due to a finger press), as indicated by arrow 705f. In response to the actuation of the hardware button 700b, the device 700 ceases displaying the guide 704a and transitions the dashboard virtual objects 704b-704d from viewpoint-locked objects to body-locked objects (in some embodiments, conditionally body-locked), as explained in more detail below. As used herein, a virtual object is body-locked when a computer system (e.g., device 700) displays the virtual object at a position and / or location in the user's viewpoint that is based on (e.g., referenced to and / or anchored to) a portion of the user's body (e.g., the user's torso, the user's head, or the user's hand). The body-locked virtual object is displayed at a different position and / or location in the user's viewpoint as the user's viewpoint moves relative to the portion of the user's body, or is not displayed at all if the user's viewpoint does not include a locked location (e.g., a location corresponding to 2 feet in front of the user's navel). At , the device 700 stops displaying the guide 704a and transitions the dashboard virtual objects 704b-704d from viewpoint-locked objects to body-locked objects (e.g., conditionally body-locked in some embodiments), as explained in more detail below. Fig.7IAt , the virtual objects 704b-704d become body locked to the user's torso so that they will be displayed at a location within the user's viewpoint based on the current position and / or orientation of the user's torso (e.g., they are displayed 2 feet from the user's navel). In some embodiments, the dashboard virtual objects 704b-704d are conditionally body locked rather than fully body locked because the virtual objects 704b-704d are displayed based on the position and / or orientation of the user's torso when initially displayed, so user torso movement that occurs while the virtual objects 704b-704d are displayed does not cause the virtual objects to be repositioned (e.g., the virtual objects 704b-704d are initially displayed at a location based on the position and / or orientation of the user's torso, and then become world locked to their display location until the dashboard virtual objects 704b-704d are no longer displayed (e.g., due to a change in the user's viewpoint). After no longer being displayed, the dashboard virtual objects 704b-704d are again displayed at the initial location based on the position and / or orientation of the user's torso when subsequently redisplayed. Reference below Figure 7M to Figure 7P An example of conditional body locking is discussed in more detail. In some embodiments, each of the dashboard virtual objects 704b-704d is individually body locked to a different position relative to the user's torso. For example, dashboard virtual object 704c is displayed two feet directly in front of the user's navel, dashboard virtual object 704b is displayed 30 degrees to the left of the user's navel and 2 feet away, and dashboard virtual object 704d is displayed 30 degrees to the right of the user's navel and 2 feet away. Thus, in some embodiments, the dashboard virtual objects are displayed as an array of curved objects centered on a portion of the user's body (e.g., the user's torso and / or navel) and arranged (e.g., curved) around that portion (e.g., around the user's torso and / or navel). As FIG. 7H to FIG. 7I As seen in , the user is able to customize the positioning (e.g., height) of the displayed dashboard virtual objects 704b-704d through a combination of device / viewpoint movement and use of hardware buttons. Fig.7I At , after detecting actuation of hardware button 700b, device 700 detects that device 700 is tilted upward, as indicated by arrows 705g1 and 705g2.

[0137] exist Figure 7J In response to the upward rotation indicated by arrows 705g1 and 705g2, the physical environment 703 is Figure 7H The same portion of the dashboard virtual objects 704b-704d displayed on display 700a in FIG. 7 is re-displayed. However, because the user's viewpoint (e.g., via device 700) no longer includes the location 2 feet in front of the user's navel to which dashboard virtual objects 704b-704d were body-locked, dashboard virtual objects 704b-704d are no longer displayed. Figure 7JAt , device 700 detects that device 700 is tilted downward again, as indicated by arrows 705h1 and 705h2.

[0138] exist Figure 7K In response to the downward rotation indicated by arrows 705h1 and 705h2, the physical environment 703 is Fig.7I Because the user's viewpoint (e.g., via device 700) now includes a location 2 feet in front of the user's navel, body-locked dashboard virtual objects 704b-704d are redisplayed. Figure 7K At , device 700 detects that device 700 is moving to the right, as indicated by arrows 705i1 and 705i2.

[0139] exist Figure 7L , in response to the rightward motion indicated by arrows 705i1 and 705i2, the representation of the physical environment 703 has shifted on the display 700a, the dashboard virtual objects 704b-704d are displayed at different locations on the display 700a because they are body locked (e.g., the rightward motion does not include torso movement of the user and / or the objects are conditionally body locked), and the previously undisplayed dashboard virtual object 704e is now displayed. Figure 7L In FIG. 7 , the dashboard virtual object 704e is body-locked to the user's torso so that it appears 60 degrees to the right of the user's navel at a distance of 2 feet; because this position is not Figure 7K So the dashboard virtual object 704e is within the user's viewpoint. Figure 7K In some embodiments, multiple dashboard virtual objects (e.g., 5, 7, 8, or 11) are arranged around the user at predetermined angles relative to the user's torso, but not all dashboard virtual objects are visible from a given viewpoint. In some embodiments, this provides the user with a scalable user interface that can accommodate any number of dashboard virtual objects (e.g., with the most frequently accessed objects facing forward of the user). Figure 7L , the dashboard virtual object 704e is a feed of a second camera that provides a different perspective of the physical environment than the perspective provided by the feed of the first camera. For example, in some embodiments, the first camera feed is a rear-facing feed from a vehicle operated by a user, and the second camera feed is a right-facing feed (or right side view feed) from the vehicle. In addition, in Figure 7L In FIG, the size of the dashboard virtual object 704b has been reduced; reducing the size of the object avoids moving a portion of the object off the screen while the object remains the same size. Figure 7L At , device 700 detects that device 700 is moving to the left, as indicated by arrows 705j1 and 705j2.

[0140] exist Figure 7M In response to the leftward movement indicated by arrows 705j1 and 705j2, the representation of the physical environment 703 and the dashboard virtual objects 704b-704d are displayed again, as shown in FIG. Figure 7K As seen in FIG. 704 , the display of the dashboard virtual object 704 e is stopped. Figure 7M At , device 700 detects that user 701 turns his entire body to the right, as indicated by arrow 705k, while device 700 remains in the same position relative to the user's torso (e.g., device 700 also turns to the right relative to the environment).

[0141] exist Figure 7N In response to detecting that user 701 has turned his entire body to the right, device 700 Figure 7L 704b-704e, because the dashboard virtual objects are conditionally body locked rather than fully body locked. Thus, moving the device 700 to the right ( Figures 7K to 7L ) is the same as the result of the device 700 moving to the right due to the user's torso rotating to the right, because the dashboard virtual object is already displayed when the user's torso rotates. Figure 7N At , device 700 detects that device 700 is tilted upward, as indicated by arrows 70511 and 70512.

[0142] exist Fig.7O In response to the upward rotation indicated by arrows 70511 and 70512, the device 700 stops displaying the dashboard virtual objects 704b-e because the user's viewpoint (e.g., via the device 700) no longer includes a location 2 feet in front of the user's navel, similar to Figure 7J Although Figure 7J In contrast, Figure 7M , the user's body is rotated to the right, so more of the right side of the physical environment 703 is represented (e.g., as shown in FIG. Figure 7J The tree 703a in Fig.7O 703a in Figure 1). Fig.7O At , device 700 detects that device 700 is tilted downward, as indicated by arrows 705m1 and 705m2.

[0143] exist Figure 7P In response to the downward rotation indicated by arrows 705m1 and 705m2, the device 700 displays as shown in FIG. Figure 7N703 (e.g., as can be seen by the positioning of tree 703a, road 703b, and flower 703c), but again dashboard virtual objects 704b-d are displayed as being positioned 2 feet from the user's navel, while dashboard virtual object 704e is not displayed (e.g., as can be seen by the positioning of tree 703a, road 703b, and flower 703c). Figure 7N Dashboard virtual object 704e is not displayed because dashboard virtual objects are conditionally body locked so that when redisplayed, their positioning is again based on the current position and / or orientation of the user's torso. Figure 7P At, when a set of activation criteria are met, the device 700 detects that the user's gaze (as indicated by the gaze indication 707a) is directed toward the dashboard virtual object 704b (e.g., the device 700 detects that the user's gaze remains on the object for a predetermined period of time, the device 700 detects that an air gesture is performed when the user's gaze is directed toward the dashboard virtual object 704b, and / or the hardware button 700b is actuated when the user's gaze is directed toward the dashboard virtual object 704b).

[0144] exist Figure 7Q At , in response to detecting that the user's gaze is directed to the dashboard virtual object 704b when a set of activation criteria is met, the device 700 displays an enlarged calorie information virtual object 706 overlaid on the representation of the physical environment 703 and the dashboard virtual objects 704b-d. The enlarged calorie information virtual object 706 includes a graph of calories consumed during the current walking fitness. In some embodiments, one or more of the dashboard virtual objects 704c-e can be selected to activate corresponding functions and / or display corresponding information.

[0145] In some embodiments where the device 700 is an HMD, reference FIG. 7H to FIG. 7Q The discussed techniques provide a user with a set of virtual objects that are presented to the user when the user directs his or her field of view to a particular orientation. Doing so may provide the user with controls and / or information associated with the set of virtual objects that the user can easily access without having those objects always overlaid on the physical environment (e.g., as would be the case if the objects were viewpoint locked). Figure 7H to Figure 7Q The HMD of the discussed technology can provide the user with the ability to position the set of virtual objects in a desired spatial orientation relative to the user's body (e.g., the user's torso) so that the user can view the set of virtual objects by shifting his or her field of view to bring the objects into view. In this way, the user of the HMD can access objects when needed without having to use manual controls to clear objects and recall them when needed. For example, the set of virtual objects can be a set of dashboard controls and / or information for operating a vehicle or other machine that requires a combination of a nearly unobstructed field of view and a conditional large number of controls and / or information.

[0146] In some embodiments where the device 700 is an HMD, reference FIG. 7H to FIG. 7Q The discussed techniques provide a user with a representation of multiple perspectives of the user's physical environment, which may be particularly useful when operating an HMD (e.g., which may block some portions of the user's peripheral vision). The techniques may also be useful to the user of the HMD by providing the user with an enhanced awareness of the local environment in situations such as operating a vehicle (e.g., providing both a front view and a rear view), monitoring a location (e.g., for security purposes), or observing changes within a larger environment. The user is able to observe multiple perspectives of the physical environment without having to constantly reposition the user's field of view (e.g., without having to constantly move his or her head).

[0147] exist Figure 7R At , device 700 displays user interface 708, which is a yoga fitness user interface. User interface 708 includes guidance 708a, which is similar to guidance 704a of user interface 704. User interface 708 also includes dashboard virtual objects 708b-d, which are customized for yoga fitness. For example, dashboard virtual object 708b indicates the current calorie count of current yoga fitness (similar to dashboard virtual object 704a), dashboard virtual object 708c includes the remaining time in current yoga fitness, and dashboard virtual object 708d indicates the current heart rate of the user. Therefore, in some embodiments, different dashboard virtual objects can be displayed for different applications, different functions and / or different use cases (e.g., different fitness types). In some embodiments, the user can customize what dashboard virtual objects are associated with a given user interface and / or function (e.g., via a settings menu). In some embodiments, although the user can choose which dashboard virtual objects to display, the user cannot customize the arrangement of dashboard virtual objects (e.g., their intervals and / or at what distance from the user's torso they are displayed).

[0148] exist Figure 7S At , the device 700 again displays the user interface 704, which is a walking fitness user interface. The user interface 704 includes a small map virtual object 704f indicating the selected walking route that the user 701 has selected. The small map virtual object 704f includes a current location indicator 704f1 indicating the current location of the user 701 and the device 700 along the selected route (e.g., 2 / 3 of the route), a starting point location indicator 704f2 and an end point location indicator 704f3, and a bridge indicator 704f4 indicating the location of a bridge (e.g., a predetermined landmark) along the route. At Figure 7SAt , based on user 701 completing 2 / 3 of the route, device 700 has updated the calorie count in dashboard virtual object 704b and the mile pace in dashboard virtual object 704c. The representation of physical environment 703 now shows a portion of the physical environment that is in front of the user at the current location along the route. Figure 7S At , the device 700 also displays navigation objects 704g and 704h that overlay a representation of the physical environment 703 (and, in some embodiments, are located within the representation). Navigation objects 704g and 704h provide the user with indications of navigation points of interest based on the currently selected route. For example, navigation object 704g indicates a finish line corresponding to a location marked by an end location indicator 704f3 on a mini-map virtual object 704f; navigation object 704h indicates an upcoming turn navigation event in an upcoming portion of the route. The device 700 displays navigation objects 704g and 704h on the display 700a at locations based on the relative positions and / or orientations of the associated navigation points of interest relative to the position and / or orientation of the device 700. At . Figure 7S At , both of the associated navigation points of interest corresponding to navigation objects 704g and 704h are not within the user's current viewpoint (e.g., as provided by device 700) and are to the right of the user's viewpoint. Therefore, device 700 displays navigation objects 704g and 704h at the right edge of display 700a to indicate that they are outside the user's viewpoint and on the right. Device 700 also displays navigation objects 704g and 704h as viewpoint-locked objects, while the navigation points of interest to which they correspond remain outside the user's viewpoint. In some embodiments, navigation objects 704g and 704h are at least partially transparent (e.g., their backgrounds are transparent to allow portions of the physical environment to be seen through these objects).

[0149] exist Figure 7T , user 701 and device 700 have progressed further along the route, as indicated by the updated location of current location indicator 704f1. The representation of physical environment 703 now includes a portion of a bridge corresponding to bridge indicator 704f4. Because the location of the turn navigation event corresponding to navigation object 704h is now within the user's viewpoint (e.g., within the representation of physical environment 703), device 700 displays navigation object 704h as an environment-locked object on display 700a indicating / marking the location of the turn navigation event. Figure 7T At , the finish line continues to be outside the right side of the user's viewpoint, so the device 700 continues to display the navigation object 704g at the right edge of the display 700a and as the object locked by the viewpoint. Figure 7T At , device 700 detects that device 700 is moving to the left, as indicated by arrows 705n1 and 705c2.

[0150] exist Figure 7U , in response to the leftward movement indicated by arrows 705n1 and 705n2, device 700 has shifted the representation of physical environment 703 to the right on display 700a. Figure 7T In contrast, the location of the turn navigation event is now further to the right on display 700a (but still within the user's viewpoint), and navigation object 700h (which is still an environment-locked object) has also shifted to the right on display 700a so that the left edge of navigation object 700h still indicates the location of the turn navigation event. The finish line continues to be outside the right side of the user's viewpoint, so device 700 continues to display navigation object 704g at the right edge of display 700a and as a viewpoint-locked object. Figure 7U At , device 700 detects that device 700 is moving to the right, as indicated by arrows 705o1 and 705o2.

[0151] exist Figure 7V , the user 701 and device 700 have progressed slightly further along the route, as indicated by the representation of the physical environment 703 (e.g., a larger portion of the bridge is visible). In response to the device 700 moving closer to the location of the turn navigation event, the navigation object 704h includes additional information about the turn navigation event ("10 feet ahead"). In some embodiments, navigation objects associated with points of interest within the user's viewpoint (e.g., environment-locked navigation objects) are updated as the user approaches a threshold distance from the point of interest associated with the navigation object. In some embodiments, navigation objects associated with points of interest outside the user's viewpoint are not updated with additional information as the device approaches the point of interest. Figure 7V , in response to the rightward movement indicated by arrows 705o1 and 705o2, the device 700 has shifted the representation of the physical environment 703 to the left to the same position on the display 700a. The navigation object 704h has now moved (e.g., slowly moved or floated) to the top edge of the display 700a and now includes a line 704h1 indicating the location of the navigation turn event, such that at least one end of the line 704h1 of the navigation object 704h remains as an environment-locked object locked to the location of the navigation turn event. The device 700 has moved the navigation object 704h upward (e.g., upward over time) to avoid obstructing a central area of ​​the user's viewpoint for an extended period of time. In some embodiments, navigation objects corresponding to points of interest within the user's viewpoint slowly float upward over time to avoid obstructing the center of the user's viewpoint. Figure 7V At , the device 700 detects that the user's gaze (as indicated by the gaze indication 707b) is directed to the dashboard virtual object 704b bridge indicator 704f4.

[0152] exist Figure 7W, user 701 and device 700 have progressed further along the route (e.g., the user has completed the turn indicated by navigation object 704h), as indicated by the updated position of current location indicator 704f1. The representation of physical environment 703 now includes a larger portion of the bridge corresponding to bridge indicator 704f4. Navigation object 704h is no longer displayed because the turn has been completed. Figure 7W At , the device 700 displays a point of interest object 704i corresponding to the bridge and including information about the bridge point of interest. The device 700 displays the point of interest object 704i as an environment-locked object that is locked to the right portion of the bridge. Figure 7W At , device 700 detects that device 700 is rotating clockwise, as indicated by rotation arrows 705p1 and 705p2.

[0153] exist Figure 7X , in response to the device 700 rotating clockwise, as indicated by rotation arrows 705p1 and 705p2, the representation of the physical environment is updated to bring the bridge more fully into view. The device 700 also shifts the positioning of the point of interest object 704i further to the left to avoid the point of interest object 704i from (partially) moving off the screen, which would occur if the object was not shifted to the left relative to the right side portion of the bridge to which the point of interest object 704i was environmentally locked. The point of interest object 704i now includes a connecting line 704i1, one end of which keeps the environment locked to the right side portion of the bridge. Figure 7X At , device 700 detects that user 701 and device 700 remain in the same location for a period of time.

[0154] exist Figure 7Y In response to the user 701 and the device 700 remaining in the same position for a period of time, the device has moved the point of interest object 704i upward (e.g., upward over time) to avoid obstructing the central area of ​​the user's viewpoint for an extended period of time, similar to the above reference to Figure 7V The length of the link 704i1 of the point of interest object 704i has been increased so that it remains connected to the rest of the point of interest object 704i and to the right portion of the bridge.

[0155] In some embodiments where the device 700 is an HMD, reference Figure 7R to Figure 7YThe discussed techniques provide a user with context-locked (e.g., when a location associated with an object is within the user's field of view) or viewpoint-locked (e.g., when a location associated with an object is not within the user's field of view) navigational virtual objects, depending on at least the orientation of the user's field of view. Using these techniques while operating an HMD allows the user to navigate within an XR environment (e.g., navigating along a trail or a city using an XR tour) without having to adjust how navigational objects are displayed via manual controls. Doing so can free the user's hands to interact with other devices and / or the environment, while also avoiding accessing controls on the HMD that the user may not be able to see.

[0156] The following reference methods 800, 900, 1000 and 1100 provide information about FIG. 7A to FIG. 7Y Additional description, such as relative to FIG. 7A to FIG. 7Y described.

[0157] Figure 8 is a flow chart of an exemplary method 800 for interacting with a virtual object in an extended reality environment, including repositioning the virtual object relative to the environment, according to some embodiments. In some embodiments, the method 800 is performed on a computer system (e.g., Figure 1 101) in the computer system, the computer system including a display generation component (e.g., Figure 1 , Figure 3 and Figure 4 100 ) and one or more cameras (e.g., cameras pointing downward toward the user's hands (e.g., color sensors, infrared sensors, and other depth sensing cameras) or cameras pointing forward from the user's head). In some embodiments, method 800 is performed by storing in a non-transitory (or transient) computer-readable storage medium and by one or more processors of a computer system (e.g., one or more processors 202 of computer system 101) (e.g., Figure 1 Some operations in method 800 may be optionally combined, and / or the order of some operations may be optionally changed.

[0158] When a field of view of a user (e.g., a user of the computer system) (e.g., a field of view of the user of the computer system (e.g., a viewpoint) (e.g., as determined by the computer system) and / or a field of view of a first camera in communication with and / or integrated into the computer system) (in some embodiments, an area within the viewpoint of the user in which the computer system may display one or more virtual objects) is a first field of view (e.g., a first orientation), the computer system (e.g., 700) displays (802) a first virtual object (e.g., 702a, 702b, or a combination thereof) (e.g., a user interface element) (e.g., as part of an augmented reality user interface) in a three-dimensional environment (e.g., 703) (e.g., an extended reality environment, an augmented reality environment, and / or a virtual reality environment) via a display generation component (e.g., 700a), wherein the first virtual object is in a first display mode (e.g., currently and / or at a first time) that is environment-locked (e.g., environment-locked to a first location of the three-dimensional environment and / or a first object (e.g., a real-world location and / or an object in the three-dimensional environment). Figure 7B In some embodiments, the first virtual object includes one or more of a selectable control, a non-selectable user interface object, and a status indicator (e.g., indicating the status of a hardware or software component of the system).

[0159] While displaying the first virtual object, the computer system detects (804) (e.g., via one or more sensors (e.g., accelerometers, optical sensors (e.g., cameras)) that the user's field of view changes from the first field of view (e.g., Figure 7B or Figure 7C field of view) to a second field of view (e.g., Figure 7C or Fig.7D In some embodiments, when the change in the user's field of view from the first field of view to the second field of view begins to be detected, the first virtual object is displayed in the first display mode.

[0160] In response to detecting (806) a change in the user's field of view from the first field of view to the second field of view and based on determining that a first set of criteria is satisfied (e.g., as referenced Figure 7C), the computer system continues to display (808) the first virtual object in a first display mode that includes environment locking, wherein the first set of criteria includes criteria that are met when a threshold amount of the first virtual object (e.g., a percentage of an area of ​​the first virtual object (e.g., 75%, 80%, 85%, 90%, or 95%) and / or a distance between an edge of the first virtual object and an edge of the first field of view (e.g., a nearest edge of the first virtual object does not exceed a predetermined distance from an edge of the FOV (e.g., a length of the first virtual object does not extend beyond the FOV by more than 5%, 10%, 15%, or 20%)) will remain (e.g., remain) within the user's field of view when the user's field of view is the second field of view and when the first virtual object maintains environment locking.

[0161] In response to detecting (806) a change in the user's field of view from the first field of view to the second field of view and based on determining that the first set of criteria is not met (e.g., as referenced Fig.7D ), the computer system displays the image in a second display mode (e.g., Fig.7D The first virtual object is displayed (810) in a second manner (e.g., as seen in the user's field of view) based on a change in the user's field of view (e.g., a change in the user's field of view from the first field of view to the second field of view and / or a further change in the user's field of view) (e.g., ceasing to display the first virtual object as locked to the environment), the first virtual object being displayed relative to the three-dimensional environment (e.g., as seen in the user's field of view). Fig.7D In some embodiments, when the user's field of view is the second field of view, if more than a threshold amount of the area previously occupied by the first virtual object is outside the second field of view (e.g., if the first virtual object remains environmentally locked, more than a threshold amount of the first virtual object is outside the user's field of view when in the second field of view), the first set of criteria is not met. Conditionally displaying the first virtual object in the first display mode or the second display mode based on whether the threshold amount will remain within the user's field of view automatically transitions the display mode of the first virtual object when the first set of criteria is met, and if the first visual object continues to be displayed in the first mode, feedback is also provided to the user as to whether the threshold amount of the first virtual object will fall outside the user's field of view, which performs operations without further user input when a set of conditions have been met and provides improved visual feedback. Doing so also provides the user with the ability to change the display mode of the first virtual object through changes in the user's field of view, which provides additional control options without cluttering the UI with additional displayed controls.

[0162] In some embodiments, displaying the first virtual object in the second display mode includes changing the visual appearance of the first virtual object from a first visual appearance displayed when the first virtual object is in the first display mode to a second visual appearance different from the first visual appearance (e.g., as shown in 702a at Figure 7BThe appearance and Fig.7D Changing the visual appearance of the first object according to the display mode provides an indication to the user as to whether the first visual object is in the first display mode or the second display mode, which provides improved visual feedback.

[0163] In some embodiments, the first virtual object has a first opacity level when displayed in the first visual appearance (e.g., Figure 7B ), and having a second opacity level different from the first opacity level when displayed in the second visual appearance (e.g., as shown in FIG. 1 ). Fig.7D Changing the opacity level of the first object according to the display mode provides an indication to the user as to whether the first visual object is in the first display mode or the second display mode, and for the display mode with higher opacity, also provides the user with an enhanced ability to see the portion of the three-dimensional environment covered by the first visual object, which provides improved visual feedback.

[0164] In some embodiments, the first virtual object is displayed in a first visual appearance (e.g., 702a without a projection, such as Figure 7B , the first virtual object is displayed with a first type of projection (in some embodiments, the first type of projection is the absence of any projection) (e.g., a visual effect / appearance of a projection cast by a first virtual object as if the first virtual object were raised above a surface), and a second type of projection different from the first type of projection when displayed with a second visual appearance (e.g., a projection of 702a, as shown in FIG. 702b ). Fig.7D In some embodiments, the first virtual object has no projection when displayed in the first visual appearance and has a projection when displayed in the second visual appearance, or vice versa. In some embodiments, the first virtual object has a more obvious projection when displayed in the second visual appearance than in the first visual appearance, or vice versa. Changing the projection of the first object according to the display mode provides an indication to the user as to whether the first visual object is in the first display mode or the second display mode, which provides improved visual feedback.

[0165] In some embodiments, when the first virtual object is being displayed in the second display mode, the computer system detects that the stability level of the user's field of view (e.g., the degree to which the user's field of view remains unchanged or changes minimally over a period of time) satisfies a set of stability criteria (e.g., as described in reference to FIG. Figure 7FDiscussion) (e.g., less than an allowed threshold amount within a predetermined time period (e.g., a net shift of less than 10%, 5%, or 2% of the FOV area within the first 2 seconds, 1 second, or 0.5 second time period)) (In some embodiments, the user's field of view is determined to be stable when there is substantially no shift in the user's field of view within the predetermined time period). In response to detecting that the stability level of the user's field of view meets the set of stability criteria, the computer system displays (e.g., transitions from the second display mode to the first display mode; transitions the first virtual object to environment lock) the first virtual object (e.g., as Figure 7G Transitioning a first virtual object to a first display mode including being locked to an environment based on a detected level of user FOV stability performs an operation without further user input when a set of conditions have been met, provides improved visual feedback about the detected level of user FOV stability, and provides additional control options (e.g., for transitioning the first virtual object to the first display mode) without cluttering the UI with additional displayed controls.

[0166] In some embodiments, the stability level of the user's field of view is based on a determination of the head stability level of the user of the computer system (e.g., as referenced in Figure 7F Discussion) (e.g., the degree to which the user's head is displaced or not displaced during a period of time). In some embodiments, the stability level of the user's field of view is determined without reference to the user's gaze direction. Basing the determination of the stability level of the user's field of view on the stability level of the user's head provides the user with the ability to use the user's head to affect changes in the display mode of the first virtual object, which reduces the number of inputs required to perform operations and provides additional control options without cluttering the UI with additional displayed controls.

[0167] In some embodiments, when the first virtual object is being displayed in the second display mode, the computer system displays a first indication (e.g., Fig.7D ) (e.g., a text and / or graphical indication) (in some embodiments, an indication that is not displayed when the first virtual object is being displayed in the first display mode) indicating that the first virtual object can be transitioned to be displayed in the first display mode including being locked to the environment. Displaying the first indication provides the user with feedback about the current display mode of the first virtual object and feedback about the ability to transition the first virtual object back to the first display mode, which provides improved visual feedback.

[0168] In some embodiments, the first indication includes a second version of the first virtual object, wherein the second version of the first virtual object has a darker appearance than the first virtual object (e.g., a darkened version of the first virtual object displayed with the first virtual object). Displaying the second version of the first virtual object provides feedback about which mode the first virtual object is being displayed in, which provides improved visual feedback.

[0169] In some embodiments, the first indication includes an outline of at least a portion of the first virtual object (in some embodiments, the first virtual object is displayed in the second display mode with an outline that was not present when the first virtual object was displayed in the first display mode). Displaying the outline of at least a portion of the first virtual object provides feedback about which mode the first virtual object is being displayed in, which provides improved visual feedback.

[0170] In some embodiments, when the first virtual object is being displayed in the second display mode, the computer system (e.g., via one or more sensors (e.g., accelerometers, optical sensors (e.g., cameras)) detects that the user's field of view is moving from a third field of view (e.g., such as a third field of view) at a first speed and in a first direction. Fig.7D ) to the fourth field of view (e.g., as seen in Figure 7F and in response to detecting a change in the user's field of view from the third field of view to the fourth field of view, the computer system moves in a second direction based on the first direction (in some embodiments, opposite to the first direction) and at a second speed different from the first speed (e.g., as shown in reference Fig. 7EIn some embodiments, the first virtual object is displayed at the first location in the user's field of view before a change in the field of view from the third field of view to the fourth field of view is detected, and the first virtual object is redisplayed at the first location in the user's field of view after the field of view of the user stops changing. In some embodiments, the second direction is opposite to the first direction, and the first virtual object is displaced in the first direction after being displaced in the second direction, so that it appears as if the first virtual object catches up with the change in the user's field of view after a brief period of time, during which the first virtual object lags behind the change in the user's field of view. In some embodiments, when the first virtual object is displayed in the second display mode, the first virtual object is said to be locked to the environment in an inert follow-up behavior because it ultimately displays the same location in the user's field of view without a change in the user's field of view, and the location of the first virtual object in the user's field of view briefly lags behind the change in the user's field of view during the period during which the user's field of view changes. Shifting the positioning of the first virtual object in a direction based on the direction of field of view movement and at a speed different from the speed of field of view movement helps to resolve the discomfort caused by rapidly shifting the display positioning of the first virtual object relative to the three-dimensional environment, which provides the user with a more sustainable interaction with the computer system. Providing a more sustainable user interaction improves the user-computer system interaction by enabling the user to use the device more sustainably and efficiently (e.g., reducing errors caused by discomfort) while improving the ergonomics of the device, reducing power usage, and extending the battery life of the device. Doing so also provides improved visual feedback about changes in the user's field of view.

[0171] In some embodiments, in response to detecting a change in the user's field of view from the first field of view to the second field of view, continuing to display the first virtual object in the first display mode including being locked to the environment includes: stopping displaying the first sub-portion of the first virtual object (e.g., Figure 7C The left portion of 702a that is no longer displayed in the display generation component (e.g., a sub-portion that extends outside the displayable area of ​​the display generation component (in some embodiments, extends outside the user's field of view)) while continuing to display the second sub-portion of the first virtual object (in some embodiments, the remaining portion of the first virtual object that lacks the first sub-portion). In some embodiments, the change in the user's field of view causes the first sub-portion of the environment-locked first virtual object to no longer be displayed because the first sub-portion transitions to outside the displayable area of ​​the display generation component. Stopping display of the first sub-portion of the first virtual object while continuing to display the second sub-portion of the first virtual object provides feedback about the change in the user's field of view, which provides improved visual feedback.

[0172] In some embodiments, when the second sub-portion of the first virtual object is displayed without displaying the first sub-portion of the first virtual object (e.g., Figure 7C In response to detecting the change in the user's field of view from the second field of view to the fifth field of view and based on determining that the first set of criteria is not met, the computer system displays the first virtual object in the second display mode, including displaying (e.g., redisplaying) the first sub-portion of the first virtual object (e.g., Fig.7D It is shown in Figure 7C 702a is not shown in the figure). In some embodiments, displaying the first virtual object in the second mode includes positioning the first virtual object in the user's field of view (in some embodiments, centering the first virtual object in the user's field of view) so that the entirety of the first virtual object is displayed (e.g., its entirety is visible within the user's field of view). Redisplaying the first sub-portion of the first virtual object upon transitioning to the second display mode provides feedback about the display mode, which provides improved visual feedback. Doing so also helps the user visualize how the entirety of the first virtual object appears within the user's field of view before transitioning back to the first display mode that includes the environment-locked object, which helps the user appropriately position the first virtual object for environment-locking, which enhances the operability of the system and makes the user-system interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the system), thereby reducing power usage and extending the battery life of the system by enabling the user to use the system more quickly and efficiently.

[0173] In some embodiments, the first virtual object is displayed simultaneously with a plurality of virtual objects including a second virtual object (e.g., 702b) and a third virtual object; and the first virtual object, the second virtual object, and the third virtual object have a predetermined spatial relationship relative to each other (e.g., FIG. 7B to FIG. 7G In some embodiments, the first, second, and third virtual objects have a first predetermined spatial relationship before they are shifted in the user's field of view, maintain the first predetermined spatial relationship while the user's field of view shifts, and have the first predetermined relationship after the displacement of the user's field of view has shifted.

[0174] In some embodiments, aspects / operations of methods 800, 900, 1000, and / or 1100 may be interchanged, replaced, and / or added between these methods. For example, the techniques discussed above with respect to the first virtual object of method 800 may be applied to modify the display mode of one or more virtual objects discussed with respect to methods 900, 1000, and / or 1100 or to reposition these virtual objects. For the sake of brevity, these details are not repeated here.

[0175] Fig. 9 is a flow chart of an exemplary method 900 for interacting with virtual objects in an extended reality environment, including virtual objects that help a user navigate within the environment, according to some embodiments. In some embodiments, method 900 includes a display generation component (e.g., 700a) (e.g., Figure 1 , Figure 3 and Figure 4 A computer system (e.g., 700) (e.g., display generation component 120 in the display) (e.g., a head-up display, a display, a touch screen, a projector, etc.) Figure 1 In some embodiments, method 900 is performed by storing in a non-transitory (or transient) computer-readable storage medium and executed by one or more processors of a computer system (such as one or more processors 202 of computer system 101) (e.g., Figure 1 Some operations in method 900 may be optionally combined, and / or the order of some operations may be optionally changed.

[0176] A computer system (e.g., 700) displays (902) a first virtual object (e.g., 704g or 704h) in a three-dimensional environment (e.g., 703) (e.g., an environment of an extended reality environment, an augmented reality environment, and / or a virtual reality environment) via a display generation component (e.g., 700a) (e.g., as part of an augmented reality user interface), wherein the first virtual object indicates a first element (e.g., 704f3) (e.g., a turn, a point of interest, a location marker) of a route (e.g., 704f) (e.g., a projected route, a recommended route, a route of a navigation application and / or function) to a destination (e.g., a travel destination), and wherein the first virtual object corresponds to a first location (e.g., corresponding to the location of 704f4) in the three-dimensional environment (e.g., a location where a turn is to be performed, a location of a point of interest).

[0177] The computer system displays the first virtual object including: determining that the first position is located in the user's field of view (for example, Figure 7T704h in (e.g., a user of the computer system) (e.g., a location within a field of view (e.g., a viewpoint) of a user of the computer system (e.g., determined by the computer system) and / or a field of view of a first camera in communication with and / or integrated into the computer system) (in some embodiments, an area within the user's viewpoint in which the computer system may display one or more virtual objects), the computer system displays (904) the first virtual object as an environment-locked object (e.g., as shown in 704h in Figure 7T to Figure 7V as seen in the three-dimensional environment) (e.g., locked to a first position and / or a first object in a three-dimensional environment (e.g., a real-world position and / or object in a three-dimensional environment)) (in some embodiments, at least a portion of the first virtual object (e.g., a first end of a wired portion of the first virtual object) is displayed as environment locked).

[0178] The computer system displays the first virtual object including: determining that the first position is not within the user's field of view (for example, Figure 7S 704g and 704h in the figure) (e.g., outside the user's field of view), the computer system displays the first virtual object (906) as a viewpoint-locked object (e.g., Figure 7S 704g in (e.g., the viewpoint is locked to a point along the outer edge of the display generation component and / or the user's field of view closest to the first position). The first virtual object is displayed as an environment-locked object or a viewpoint-locked object based on whether the corresponding first position is within the user's field of view. When the required conditions are met, the operation of changing the display state of the first virtual object is performed, which performs the operation without further user input when a set of conditions are met. Doing so also provides feedback on whether the first position is within the user's field of view, which provides improved visual feedback.

[0179] In some embodiments, when the first virtual object is displayed, the computer system detects (e.g., via one or more sensors (e.g., accelerometers, optical sensors (e.g., cameras)) a change in the user's field of view from a first field of view (e.g., an initial field of view) to a second field of view different from the first field of view (e.g., a change corresponding to arrow 705n1); and when the first virtual object is displayed and in response to detecting the change in the user's field of view from the first field of view to the second field of view, the computer system: determines that the first virtual object is currently an environment-locked object (e.g., as Figures 7T to 7UIn some embodiments, the first virtual object is positioned relative to (e.g., relative to) a first portion of the three-dimensional environment and / or a first object in the three-dimensional environment (e.g., the first virtual object is currently locked to the first object by the environment); and in some embodiments, the first virtual object is positioned relative to (e.g., relative to) a first portion of the three-dimensional environment and / or a first object in the three-dimensional environment (e.g., the first virtual object is currently locked to the first object by the environment); and in accordance with determining that the first virtual object is currently a viewpoint-locked object (e.g., Figures 7T to 7U In some embodiments, the first virtual object is positioned within the user's field of view (e.g., the first position is not currently within the second field of view) ...

[0180] In some embodiments, the computer system detects (in some embodiments, via one or more sensors (e.g., GPS sensors, WiFi sensors, accelerometers)) a first change (e.g., FIG. 7S to FIG. 7T and Figure 7U to Figure 7V In response to detecting a first change in the distance between the computer system and a first location in the three-dimensional environment: modifying (e.g., changing) a visual appearance of the first virtual object from a first visual appearance (e.g., an appearance that the first virtual object had when the distance between the computer system and the first location in the three-dimensional environment is greater than a threshold distance) to a second visual appearance that is different from the first visual appearance (e.g., an appearance that the first virtual object had when the distance between the computer system and the first location in the three-dimensional environment is greater than a threshold distance) based on determining that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes a first criterion that is satisfied when it is determined that the first change in the distance between the computer system and the first location in the three-dimensional environment reduces the distance between the computer system and the first location in the three-dimensional environment, and wherein the first set of one or more criteria includes a second criterion that is satisfied when the first location is a location that is currently within the field of view of the user. Figure 7V ); based on determining that the first set of one or more criteria are not met, abandoning the modification of the visual appearance of the first virtual object from the first visual appearance to the second visual appearance (for example, as shown in 704h); Figure 7V704g in (in some embodiments, maintaining the first virtual object with the first visual appearance). Modifying the visual appearance of the first virtual object when the first set of one or more criteria is met is performed without requiring input from the user, which performs the operation without further user input when a set of conditions have been met. Doing so also provides feedback about the change in the distance between the computer system and the first location, which provides improved visual feedback.

[0181] In some embodiments, modifying the visual appearance of the first virtual object from the first visual appearance to the second visual appearance includes modifying the size of the first virtual object from the first size to the second size (e.g., comparing Figure 7U and Figure 7V The method further comprises: performing a change in the size of the first virtual object without requiring input from the user, which performs an operation without further user input when a set of conditions have been met. Doing so also provides feedback about the change in the distance between the computer system and the first location, which provides improved visual feedback.

[0182] In some embodiments, modifying the visual appearance of the first virtual object from the first visual appearance to the second visual appearance includes changing a visual characteristic of the first virtual object (e.g., appearance (e.g., color and / or opacity, shading, translucency, and / or transparency level)) from a first value to a second value (e.g., changing the color of the first virtual object from a first color to a second color). Changing the visual characteristic of the first virtual object when a first set of one or more criteria is met is performed without requiring input from a user, which performs an operation without further user input when a set of conditions have been met. Doing so also provides feedback about changes in the distance between the computer system and the first location, which provides improved visual feedback.

[0183] In some embodiments, modifying the visual appearance of the first virtual object from the first visual appearance to the second visual appearance includes modifying the text content of the first virtual object (e.g., Figure 7V704h in (e.g., adding, removing and / or changing text included in the first virtual object) (in some embodiments, adding additional text to the existing text of the first virtual object). Modifying the text content of the first virtual object when a first set of one or more criteria is met Modifying the text content of the first virtual object is performed without requiring input from the user, which performs an operation without further user input when a set of conditions have been met. Doing so also provides feedback about changes in the distance between the computer system and the first location, which provides improved visual feedback.

[0184] In some embodiments, the first change in the distance between the computer system and the first location in the three-dimensional environment decreases the distance between the computer system and the first location in the three-dimensional environment, and wherein the first virtual object has a first visual appearance when the first change in the distance between the computer system and the first location in the three-dimensional environment is detected. In response to detecting the first change in the distance between the computer system and the first location in the three-dimensional environment and based on determining that the first location is not within the user's field of view, the computer system maintains the first visual appearance of the first virtual object (e.g., Figure 7U and Figure 7V In some embodiments, when the first location is not within the user's field of view, the visual appearance of the first virtual object does not change even if the computer system is closer to the first location. If the first location is not within the user's field of view, maintaining the first visual appearance of the first virtual object as the distance between the computer system and the first location decreases provides feedback that the first location is not in the field of view, which provides improved visual feedback.

[0185] In some embodiments, the computer displays a map virtual object (e.g., 704f) (e.g., a small map or other map representation) via a display generation component and at the same time as displaying the first virtual object, which map virtual object depicts at least a portion of the route to the destination.

[0186] In some embodiments, the map virtual object is a viewpoint-locked object (e.g., Figure 7S to Figure 7Y Displaying map virtual objects as viewpoint locked helps users by associating map virtual objects with fixed locations within the user's field of view, which helps users interact with map virtual objects, enhances system operability and makes the user-system interface more efficient.

[0187] In some embodiments, the map virtual object includes a location virtual object corresponding to the first location. The computer system detects a first input (e.g., 707b) corresponding to the location virtual object (e.g., a tap, a sustained gaze, an air gesture (e.g., when the location virtual object is selected and / or focused), or a hardware button press (e.g., when the location virtual object is selected and / or focused)) via an input device (e.g., a touch-sensitive surface, a gaze detection sensor, a camera, a motion sensor, a hardware button)); and in response to detecting the first input, the computer system displays a second virtual object (e.g., 704i) via a display generation component (in some embodiments, displayed simultaneously with the first virtual object; in some embodiments, as part of the first virtual object), the second virtual object including information about the first location (e.g., text and / or graphical information).

[0188] In some embodiments, the first position is within the user's field of view, and the second virtual object is initially locked to the first position by the environment. When displaying the second virtual object locked to the first position by the environment, the computer system detects a change in the user's field of view from the first field of view to the second field of view (e.g., a change indicated by 705n1). In response to detecting a change in the user's field of view: in accordance with determining that a second set of one or more criteria are satisfied, wherein the second set of one or more criteria includes a third criterion that a threshold amount of the second virtual object (e.g., a percentage of the area of ​​the second virtual object (e.g., 75%, 80%, 85%, 90%, 95%, or 100%) and / or a distance between an edge of the second virtual object and an edge of the user's field of view (e.g., a nearest edge of the second virtual object does not exceed a predetermined distance from an edge of the FOV (e.g., a length of the first virtual object does not extend beyond 0%, 5%, 10%, 15%, or 20%)) will remain (e.g., remain) within the user's field of view when the user's field of view is the second field of view and when the second virtual object remains environment-locked, the computer system continues to display the second virtual object as being environment-locked to the first position; and in accordance with determining that the second set of one or more criteria are not satisfied, the computer system shifts a display positioning of the second virtual object relative to the three-dimensional environment based on the change in the user's field of view so that at least the threshold amount of the second virtual object remains within the user's field of view (e.g., as shown in FIG. 1 ). Figure 7T and 7UIn some embodiments, when the user's field of view is the second field of view, if more than a threshold amount of the area previously occupied by the second virtual object is outside the second field of view (for example, if the second virtual object remains environment-locked to the first position, then when in the second field of view, more than a threshold amount of the second virtual object is outside the user's field of view), then the second set of one or more criteria is not met. Shifting the positioning of the second virtual object as needed to maintain at least a threshold amount of the second virtual object in the user's field of view so that the second virtual object remains within the user's field of view without user input performs an operation without further user input when a set of conditions have been met.

[0189] In some embodiments, the second virtual object is displayed simultaneously with a wired virtual object (e.g., 704h1 or 704i1) (e.g., a connecting line, a pin, and / or a road sign), the wired virtual object having a first end locked to a first position by the environment and a second end connected to the second virtual object (e.g., connected to 704h or 704i). In some embodiments, shifting the display positioning of the second virtual object relative to the three-dimensional environment based on a change in the user's field of view includes keeping the first end of the wired virtual object locked to the first position by the environment (and, in some embodiments, shifting the positioning of the second end of the wired virtual object relative to the three-dimensional environment). Keeping the first end of the wired virtual object locked to the environment even when the positioning of the second virtual object shifts relative to the environment helps maintain the connection between the second virtual object and the first position without requiring user input, which performs operations without further user input when a set of conditions have been met and provides improved visual feedback.

[0190] In some embodiments, the map virtual object has one or more visual characteristics (e.g., transparency and / or translucency level of the background portion of the map virtual object; amount, color and / or pattern) that reduce (e.g., are selected to reduce) the amount of the three-dimensional environment that is partially and / or completely obscured by the map virtual object (e.g., 704g and / or 704h can be partially transparent). In some embodiments, the map virtual object can be displayed in at least two modes (a first mode and a second mode), in which the map virtual object is displayed with the first virtual object (e.g., when the computer system is actively in navigation, riding and / or driving mode), and in which the computer system is not actively in navigation, riding and / or driving mode. In the second mode, the map virtual object partially and / or completely obscures a greater percentage of the three-dimensional environment than in the first mode (e.g., the second mode does not have the same one or more visual characteristics as present in the first mode). Reducing the amount of the three-dimensional environment that is partially and / or completely obscured by map virtual objects provides the user with more perception of the three-dimensional environment, which can improve the user's safety when operating a computer system, enhance the operability of the system and enable the user-system interface to operate more efficiently and safely.

[0191] In some embodiments, when a first virtual object is displayed at a first display position in a user's field of view (in some embodiments, and in the absence of any change in the user's field of view) and based on determining that the first display position satisfies a set of repositioning criteria, the set of repositioning criteria includes a fourth criterion that is satisfied when the first display position is not a first predetermined display position (e.g., a position in an upper area of ​​the user's field of view and / or along an upper edge of the user's field of view (in some embodiments, an upper edge of a displayable area of ​​a display generating component)), the computer system shifts the display position of at least a portion of the first virtual object toward the first predetermined display position (e.g., such as Figure 7VThe 704h) (in some embodiments, shifted to a first predetermined display position); and in some embodiments, the first virtual object includes a second wired virtual object, the second wired virtual object having a third end, and even if the display position of at least a portion of the first virtual object is shifted, the third end remains environmentally locked to a position (e.g., a first position) and / or an object in the three-dimensional environment. In some embodiments, as the display position of at least a portion of the first virtual object is shifted, the length of the second wired virtual object increases. Based on determining that the first display position does not satisfy the set of repositioning criteria (in some embodiments, the set of repositioning criteria is not satisfied when the first display position is the first predetermined display position), the display of the first virtual object at the first display position is maintained. Shifting the position of at least a portion of the first virtual object toward the first predetermined display position when the set of repositioning criteria is met is performed without requiring user input, which performs an operation without further user input when a set of conditions have been met.

[0192] In some embodiments, the first element of the route is selected from a group consisting of a navigation operation (e.g., 704h) (e.g., a point at which a turn or stop is performed) and points of interest (e.g., 704g) (e.g., the starting point of the route, the end point of the route, a location of interest on or near the route) (in some embodiments, predetermined points of interest and / or points of interest that are not determined by the user (e.g., landmarks, construction sites, or accident locations)).

[0193] In some embodiments, the computer system displays a speed virtual object (e.g., 704c) via a display generation component and while displaying a first virtual object, the speed virtual object includes an indication of a movement speed (e.g., a current movement speed of the computer system and / or a user of the computer system).

[0194] In some embodiments, the speed virtual object is viewpoint locked. Displaying the speed virtual object as viewpoint locked helps the user by associating the speed virtual object with a fixed position within the user's field of view, which helps the user interact with the speed virtual object, enhances the operability of the system and makes the user-system interface more efficient.

[0195] In some embodiments, aspects / operations of methods 800, 900, 1000, and / or 1100 may be interchanged, replaced, and / or added between these methods. For example, the navigation virtual object of method 900 may be displayed simultaneously with the set of one or more virtual objects of method 1000, as described below. For the sake of brevity, these details are not repeated here.

[0196] Fig.101 is a flow chart of an exemplary method 1000 for interacting with a virtual object in an extended reality environment, the virtual object including an object displayed based on a change in a user's field of view, the method including repositioning the virtual object relative to the environment, according to some embodiments. In some embodiments, method 1000 includes a display generation component (e.g., 700a) (e.g., Figure 1 , Figure 3 and Figure 4 A computer system (e.g., 700) (e.g., display generation component 120 in the display) (e.g., a head-up display, a display, a touch screen, a projector, etc.) Figure 1 In some embodiments, method 900 is performed by storing in a non-transitory (or transient) computer-readable storage medium and executed by one or more processors of a computer system (such as one or more processors 202 of computer system 101) (e.g., Figure 1 Some operations in method 1000 may be optionally combined, and / or the order of some operations may be optionally changed.

[0197] When the field of view of the computer system user (e.g., the viewpoint of the computer system user (e.g., determined by the computer system) and / or the field of view of a first camera in communication with the computer system and / or integrated into the computer system presented to the user) (in some embodiments, the area within the user's full field of view in which the computer system may display one or more virtual objects) is the first field of view (e.g., Figure 7J In some embodiments, the computer system (e.g., 700) detects (1002) a change in orientation of the user's field of view from the first field of view to a second field of view different from the first field of view (e.g., corresponding to a change in 705h1), the second field of view also including the first position within the physical environment (e.g., a different position in the user's field of view resulting from the change in orientation) (in some embodiments, the change in orientation is a tilt (e.g., greater than 15 degrees, 30 degrees, 45 degrees, or 50 degrees relative to an original orientation and / or relative to a horizon and / or the surface of the earth) (in some embodiments, the change in orientation is in a downward or upward direction).

[0198] In response to detecting a change in orientation of the user's field of view from a first field of view to a second field of view (in some embodiments, and based on determining that the change in orientation and / or the second field of view satisfies a first set of orientation criteria (in some embodiments, including criteria that are satisfied when the change in orientation is a downward tilt greater than a predetermined amount (e.g., greater than 30 degrees, 40 degrees, or 45 degrees))), the computer system displays (1004) (e.g., initially displays) via a display generation component a set of one or more virtual objects (e.g., 704b-704d) having corresponding spatial orientations relative to at least a first portion of the user's body (e.g., the torso of user 701) (e.g., the set of one or more virtual objects are physically locked to a portion of the user's body (e.g., locked to the user's torso, hand, or shoulder) (e.g., user interface elements) (in some embodiments, one or more user-interactive virtual objects).

[0199] After displaying the set of one or more virtual objects in the respective spatial orientations relative to at least the first portion of the user's body, the computer system ceases (1006) displaying the set of one or more virtual objects (e.g., in response to a change in the orientation of the user's field of view away from the second orientation) (e.g., as Fig.7O ).

[0200] After ceasing to display the set of one or more virtual objects, the computer system detects (1008) movement of the user in the physical environment (eg, as indicated by 705m1).

[0201] After detecting movement of the user in the physical environment, the computer system detects (1010) an orientation of the user's field of view to a second orientation (e.g., Figure 7P orientation) (e.g., from the first field of view or another orientation different from the second orientation) (in some embodiments, the second orientation is a downward tilt of the user's field of view).

[0202] In response to detecting a change in the orientation of the user's field of view to a second orientation, the computer system displays (1012) (e.g., redisplays) the set of one or more virtual objects (e.g., such as the first portion of the user's body) at a corresponding spatial orientation relative to at least the first portion of the user's body via the display generation component. Figure 7PThe one or more virtual objects are displayed in a corresponding spatial orientation relative to at least a first portion of the user's body (e.g., a user interface element) (in some embodiments, one or more user-interactive virtual objects). The one or more virtual objects are displayed in a corresponding spatial orientation relative to at least a first portion of the user's body to assist the user by associating the one or more virtual objects with the corresponding spatial orientation, which assists the user in interacting with the one or more virtual objects, enhancing the operability of the system and making the user-system interface more efficient. The one or more virtual objects are displayed in response to a change in the user's field of view to perform a display action without requiring user input, which performs an operation without further user input when a set of conditions have been met.

[0203] In some embodiments, the set of one or more virtual objects includes corresponding to system controls (e.g., Figure 7P to Figure 7Q As seen, in one embodiment, 706 is a first virtual object (in some embodiments, the first virtual object is a selectable virtual object that, when selected, causes the operating system of the computer system to perform a function) (e.g., a control associated with the system (e.g., the operating system of the computer system); not a control generated by an application (e.g., a third-party application) function).

[0204] In some embodiments, the set of one or more virtual objects is displayed at a first location in the user's field of view that corresponds to a first location within the physical environment (e.g., Figure 7K Displaying the set of one or more virtual objects at a first location corresponding to a first location within the physical environment in the user's field of view in response to a change in the field of view from the first field of view to the second field of view allows the first location to be unobstructed by the set of one or more objects when the field of view is the first field of view without requiring user input to remove the first set of virtual objects, which performs an operation without requiring further user input when a set of conditions have been met.

[0205] In some embodiments, the first part of the user's body is a torso of a user of the computer system (e.g., torso of user 701). In some embodiments, the computer system is an HMD, and the computer system (e.g., via one or more sensors) detects and / or extrapolates the position of the user's torso (e.g., relative to the position of the computer system / HMD), and displays the set of one or more virtual objects based on the position of the user's torso (e.g., relative to the computer system / HMD). Displaying the set of one or more virtual objects with corresponding spatial orientations relative to the user's torso assists the user by associating the set of one or more virtual objects with corresponding spatial orientations, which assists the user in interacting with the set of one or more virtual objects, enhancing the operability of the system and making the user-system interface more efficient.

[0206] In some embodiments, when displayed, the first set of virtual objects are displayed at locations and / or positions in the field of view that are determined (in some embodiments, based on sensor data; in some embodiments, based on an estimate or extrapolation based on the positioning of another part of the user (e.g., the head)) to correspond to a location in the physical environment that is a first predetermined distance (e.g., 0.5 feet, 1 foot, or 2 feet) away from a first part of the body of a user of the computer system (e.g., as described in relation to FIG. Figure 7K704b-704d in ). In some embodiments, the first group of virtual objects is body-locked at a predetermined distance from a second part of the user. In some embodiments, when displaying the first group of virtual objects, the computer system detects a positional shift (e.g., rotation and / or displacement in space (e.g., in x, y, and / or z directions) of a first part of the user's body (e.g., relative to the computer system's position); in response to detecting the shift: the computer system shifts (e.g., dynamically shifts) the display position of the first group of virtual objects based on the detected shift in the position of the first part of the user's body. In some embodiments, when a first group of virtual objects is displayed at a first position relative to a first part of a user's body, displaying the first group of virtual objects is stopped (e.g., movement of the computer system causes the first position to fall outside the user's field of view); after displaying the first group of one or more virtual objects is stopped, a request to redisplay the first group of virtual objects is received (e.g., movement of the computer system causes the first position to fall within the user's field of view); and in response to receiving the request, the first group of virtual objects is redisplayed at the first position relative to the first part of the user's body (e.g., including when the first part of the user's body is displaced in space and the first group of virtual objects is not displayed). In some embodiments, when a first group of virtual objects is displayed at a corresponding distance from a first part of a body of a user of a computer system (e.g., a distance based on a detected and / or extrapolated position of the first part of the user's body); when the first part of the user's body is in a first position in space, the positioning of the first part of the user's body (e.g., relative to the positioning of the computer system) is detected to be shifted away from the first position in space (e.g., rotated and / or shifted in space (e.g., in the x, y and / or z directions)); in response to detecting that the positioning of the first part of the user's body is shifted away from the first position in space: based on determining that the first part of the user's body is in a second position in space, displaying the first group of virtual objects at a corresponding distance from the first part of the user's body; and based on determining that the first part of the user's body is in a third position in space that is different from the second position, displaying the first group of virtual objects at a corresponding distance from the first part of the user's body. Displaying the group of one or more virtual objects at a predetermined distance from a first part of the user's body assists the user by associating the group of one or more virtual objects with corresponding distances to the user's body, which assists the user in interacting with the group of one or more virtual objects, enhances the operability of the system and makes the user-system interface more efficient.

[0207] In some embodiments, when displayed in response to detecting a change in the orientation of the user's field of view from the first field of view to the second field of view, the first group of one or more virtual objects are displayed at a second position in the user's field of view corresponding to a second position in the physical environment and having a corresponding spatial orientation relative to a first part of the user's body (in some embodiments, and at a second predetermined distance (e.g., 0.1, 0.25, 0.5 feet, 1 foot, or 2, 3, 5, 10 feet) from the camera to the first part of the user's body). When displayed in response to detecting movement of the user in the physical environment, the first group of one or more virtual objects are displayed at a third position in the user's field of view corresponding to a third position in the physical environment different from the second position and having a corresponding spatial orientation relative to the first part of the user's body (e.g., Figure 7K The display positioning of 704b-704d relative to the physical environment and Figure 7P For comparison) (in some embodiments, and at a second predetermined distance from the first part of the user's body). In some embodiments, as the user moves, the first group of one or more virtual objects are displayed at different locations relative to the physical environment, but are displayed with the same corresponding orientation and / or at the same distance from the user's body. Resetting the positioning of the first group of one or more virtual objects relative to the physical environment when redisplaying while maintaining the corresponding spatial orientation relative to the first part of the user's body helps the user by associating the group of one or more virtual objects with the corresponding orientation relative to the user's body, which helps the user interact with the group of one or more virtual objects, enhances the operability of the system and makes the user-system interface more efficient.

[0208] In some embodiments, when the user's field of view is directed to the second field of view and when the group of one or more virtual objects is displayed, the computer system detects a change in the orientation of the user's field of view from the second field of view to the third field of view (e.g., a change indicated by 705i1) (in some embodiments, the change in orientation is a turn to the left or to the right). In response to detecting a change in the orientation of the user's field of view from the second field of view to the third field of view, the computer system displays the second group of one or more virtual objects (e.g., 704e) via a display generation component while maintaining the display of at least the second virtual object in the first group of one or more virtual objects. In some embodiments, the second group of virtual objects includes one or more of the attributes and / or characteristics discussed herein relative to the first group of one or more virtual objects. In some embodiments, both the first group of one or more virtual objects and the second group of one or more virtual objects are part of a superset of virtual objects having shared characteristics that are not all displayed together at any given time.

[0209] In some embodiments, when the first group of one or more virtual objects is displayed at a third location in the user's field of view that corresponds to a third location in the physical environment, a change in the orientation of the first part of the user's body that causes the change in the user's field of view to a fourth field of view (e.g., a change indicated by 705m1) (e.g., a rotation of the user's torso) is detected. In response to detecting the change in the orientation of the first part of the user's body that causes the change in the user's field of view to the fourth field of view (e.g., a rotation of the user's torso): the computer system displays the first group of one or more virtual objects at a fourth location in the user's field of view that is different from the third location and corresponds to the third location in the physical environment (e.g., rotating the user's torso). Figure 7K The display positioning of 704b-704d relative to the physical environment and Figure 7P In some embodiments, when the first set of virtual objects remains displayed, the first set of virtual objects is environment-locked. In some embodiments, when the first set of one or more virtual objects are initially displayed with respective spatial orientations relative to at least a first portion of the user's body, movement of the user's body that occurs while the first set of virtual objects remains displayed may cause the first set of one or more virtual objects to no longer have respective spatial orientations relative to at least the first portion of the user's body.

[0210] In some embodiments, when the first set of one or more virtual objects is displayed at a fourth location in the user's field of view, a first virtual object in the one or more virtual objects does not have a corresponding spatial orientation relative to at least a first portion of the user's body (e.g., Figure 7L In some embodiments, the first set of one or more virtual objects is displayed in the user's field of view at a fourth position (e.g., Figure 7K The computer system stops displaying the first set of one or more virtual objects after the first set of one or more virtual objects are not displayed. When the first set of one or more virtual objects are not displayed, the computer system detects a change in the user's field of view to a fifth field of view. In response to detecting the change in the user's field of view to the fifth field of view, the computer system displays the set of one or more virtual objects in a corresponding spatial orientation relative to at least the first portion of the user's body and at a fifth location in the user's field of view that does not correspond to the third location in the physical environment (e.g., Figure 7K The display positioning of 704b-704d relative to the physical environment and Figure 7PResetting the positioning of the first set of one or more virtual objects so that they are displayed with a corresponding spatial orientation relative to at least a first portion of the user's body when redisplayed, which assists the user by associating the set of one or more virtual objects with a corresponding orientation relative to the user's body, which assists the user in interacting with the set of one or more virtual objects, enhancing the operability of the system and making the user-system interface more efficient.

[0211] In some embodiments, when the first group of one or more virtual objects includes (in some embodiments, consists of) a first group of control virtual objects (e.g., virtual objects that, when selected, cause the computer system to perform one or more functions; a group of control virtual objects that do not include corresponding controls), the computer system (e.g., via one or more input devices) detects a request to customize the first group of one or more virtual objects (e.g., as described in reference to Figure 7R Discussion). In response to detecting a request to customize the first group of one or more virtual objects, the computer system customizes the first group of one or more virtual objects by updating the first group of one or more virtual objects to include a second group of control virtual objects (e.g., a second group of control virtual objects including corresponding controls (e.g., replacing a control virtual object in the first group of one control virtual object with a corresponding control)), wherein the second group of control virtual objects is different from the first group of control virtual objects (in some embodiments, the first and second groups of control virtual objects have one or more control virtual objects in common). In some embodiments, one or more of the appearance, content, and / or functionality of the first group of one or more virtual objects is user customizable. In some embodiments, the computer system provides a process and / or user interface for customizing one or more aspects of the first group of one or more virtual objects.

[0212] In some embodiments, the composition of the first set of control virtual objects (e.g., which control virtual objects are included or not included in the set) is user-customizable, and wherein the relative positioning of the control virtual objects in the first set of control virtual objects is not user-customizable (e.g., as described in reference to FIG. Figure 7R Discussion) (e.g., the relative positioning of virtual objects in the group of one or more virtual objects is predetermined).

[0213] In some embodiments, the first set of one or more virtual objects are oriented substantially perpendicular to the line of sight (e.g., viewing direction, viewpoint, and / or viewing angle) of a user of the computer system (e.g., Figure 7KIn some embodiments, when the first group of one or more virtual objects is positioned in the lower portion of the user's field of view and at a distance in front of the user in the physical environment, the first group of one or more virtual objects is tilted / oriented at an upward angle so that the first group of one or more virtual objects are oriented to improve viewability from the user's perspective. Orienting the first group of one or more virtual objects to be substantially perpendicular to the direction of sight of the user of the computer system improves visibility of the first group of one or more virtual objects, which enhances the operability of the system and makes the user-system interface more efficient (e.g., by helping the user provide correct input and reducing user errors in operating / interacting with the system), which in turn reduces power usage and extends the battery life of the system by enabling the user to use the system more quickly and efficiently.

[0214] In some embodiments, when displaying a first group of one or more virtual objects, the computer system detects a first input (e.g., 707a) corresponding to a third virtual object in the first group of one or more virtual objects (e.g., a tap on a touch-sensitive surface, sustained gaze, an air gesture (e.g., when the third virtual object is selected and / or focused), or a hardware button press (e.g., when the third virtual object is selected and / or focused)). In response to detecting the first input, the computer system performs a first operation (e.g., display 706) (e.g., selecting the third virtual object and / or performing a function associated with the third virtual object). In some embodiments, the method also includes: detecting a second input pointing to the first group of one or more virtual objects; in response to detecting the second input: performing a second operation based on determining that the second input points to a fourth virtual object in the first group of one or more virtual objects (e.g., via the location of gaze and / or input; when the fourth virtual object is focused); and performing a third operation different from the first operation based on determining that the second input points to a fifth virtual object different from the fourth virtual object.

[0215] In some embodiments, the first set of one or more virtual objects includes a fourth virtual object (e.g., 704b). When the first set of one or more virtual objects is displayed and when the fourth virtual object is locked to the environment, the computer system detects a change in the user's field of view to a sixth field of view (e.g., as indicated by 705i1). In response to detecting the change in the user's field of view to the sixth field of view and based on determining that the first set of criteria is met, the computer system reduces the display size of the fourth virtual object (e.g., Figure 7L704b) (in some embodiments, while maintaining the entirety of the fourth virtual object within the user's field of view), wherein the first set of criteria includes criteria that are met when a change in the user's field of view to a sixth field of view will cause at least a threshold amount (e.g., any amount, 1%, 5%, or 10%) of the fourth virtual object to fall outside the sixth field of view (e.g., the change in the user's field of view causes the position to which the fourth virtual object is locked by the environment to move at least partially outside the sixth field of view). In some embodiments, in response to detecting a change in the user's field of view to the sixth field of view and based on a determination that the first set of criteria is not met, reducing the display size of the fourth virtual object is abandoned (in some embodiments, the display size of the fourth virtual object is reduced by an amount less than the amount reduced when the first set of criteria is met). Reducing the size of the fourth virtual object when the first set of criteria is met helps to avoid the fourth virtual object (or portion thereof) from moving outside the user's field of view without requiring user input to do so, which performs an operation without further user input when a set of conditions have been met.

[0216] In some embodiments, in response to detecting a change in the user's field of view from a first field of view to a second field of view, displaying a first set of one or more virtual objects in a corresponding spatial orientation relative to at least a first portion of the user's body includes: displaying the first set of one or more virtual objects at a first height relative to the height of the user's viewpoint in the physical environment (e.g., Figure 7K The first set of one or more virtual objects is displayed at a height seen in the user's field of view (e.g., the user's viewpoint is 6 feet above the ground and the first height is 2 feet below the user's viewpoint, i.e., 4 feet above the ground)) (in some embodiments, the first height is a height relative to the physical environment (e.g., 4 feet above the ground)). In some embodiments, before displaying the first set of one or more virtual objects in response to detecting a change in the user's field of view from the first field of view to the second field of view, the computer system receives a first set of one or more inputs, including an input (e.g., 705f) to set the value of the first height (e.g., a hardware button press when the height of the first set of one or more virtual objects is positioned at the target height). In some embodiments, the user may provide a set of inputs to set / establish the height at which the first set of one or more objects will be displayed.

[0217] In some embodiments, when a first group of virtual objects is displayed at a first height relative to the height of a user's viewpoint in the physical environment and at a second height relative to the physical environment (e.g., the user's viewpoint is 6 feet above ground level, the first height is 2 feet below the user's viewpoint, and the second height is 4 feet above ground level), the computer system detects a change in the height of the user's viewpoint in the physical environment (e.g., the change indicated by 705e1) (e.g., the user's head moves up or down in the physical environment). In response to detecting the change in the height of the user's viewpoint in the physical environment, the computer system changes the height at which the first group of virtual objects are displayed in the physical environment to a third height that is different from the second height, wherein the height at which the first group of virtual objects are displayed in the physical environment is changed to the third height so that the first group of one or more virtual objects will be displayed at the first height relative to the height of the user's viewpoint in the physical environment (e.g., compared to the height at 705e1). Figure 7H and Fig.7I The height of the first group of one or more virtual objects is adjusted relative to the physical environment as the height of the user's head changes relative to the height of the physical environment, which helps the user to maintain the relative height of the first group of one or more virtual objects at the height of the user's head and associate the group of one or more virtual objects with the relative height, which helps the user interact with the group of one or more virtual objects, enhances the operability of the system and makes the user-system interface more efficient.

[0218] In some embodiments, in response to detecting a change in the user's field of view from a first field of view to a second field of view, displaying a first set of one or more virtual objects in a corresponding spatial orientation relative to at least a first portion of the user's body includes: determining that a user of the computer system is performing a first type of activity (e.g., Figure 7H The first group of one or more virtual objects includes a first group of content (e.g., Figure 7H and determining that a user of the computer system is performing a second type of activity different from the first type of activity (e.g., Figure 7R The first group of one or more virtual objects includes a second group of content (e.g., content of the first group of one or more virtual objects is selected based on the user's current activity) that is different from the first group of content (e.g., Figure 7RThe content in the first set of one or more virtual objects is displayed based on the type of activity the user is performing. The content is customized without user input, which performs an operation without further user input when a set of conditions have been met.

[0219] In some embodiments, aspects / operations of methods 800, 900, 1000, and / or 1100 may be interchanged, replaced, and / or added between these methods. For example, the set of virtual objects of method 1000 may be displayed in conjunction with the first virtual object of method 800. For the sake of brevity, these details are not repeated here.

[0220] Fig.11 is a flow chart of an exemplary method 1100 for interacting with a virtual object in an extended reality environment, including providing a virtual object with different perspectives of the environment, according to some embodiments. In some embodiments, the method 1100 is performed on a wearable computer system (e.g., computer system (e.g., 700)) (e.g., Figure 1 101) in the computer system, the wearable computer system including a display generating component (e.g., 700a) (e.g., Figure 1 , Figure 3 and Figure 4 100) (e.g., a head-up display, a display, a touch screen, a projector, etc.) and a set of one or more cameras including a first camera (e.g., an image sensor 404). In some embodiments, the method 1100 is performed by storing in a non-transitory (or transient) computer-readable storage medium and executed by one or more processors of a computer system such as one or more processors 202 of the computer system 101 (e.g., Figure 1 Some operations in method 900 may be optionally combined, and / or the order of some operations may be optionally changed.

[0221] When the user is wearing the wearable computer system (in some embodiments, the computer system detects and / or determines that the user is wearing the computer system) and the user has a plurality of user-defined parameters including those from a first perspective (e.g., Figure 7KA first representation of a physical environment at a user's location (e.g., a representation and / or view of a real world and / or a three-dimensional environment (e.g., an extended reality environment, an augmented reality environment, and / or a virtual reality environment) in the vicinity of the user, as seen from the user's perspective) (e.g., the user's perspective) (in some embodiments, the representation of the physical environment is generated by a computer system (e.g., as a see-through representation) (in some embodiments, the representation of the physical environment is a portion of the real world seen by the user through a transparent portion of the computer system and / or display generation component) ... When a second camera (determined by the computer system) and / or in communication with and / or integrated into the computer system is presented to the user (in some embodiments, an area within the user's complete viewpoint in which the computer system may display one or more virtual objects), the wearable computer system (e.g., 700) displays (1102) via the display generation component a first virtual object (e.g., 704d), the first virtual object comprising a representation of a portion (in some embodiments, the entire) of the field of view of the first camera, wherein the representation of the portion of the field of view of the first camera comprises a second representation of the physical environment at the user's location as seen from a second perspective different from the first perspective (e.g., as shown in FIG. 110A ). Figure 7K ). In some embodiments, the second perspective has an orientation (e.g., a facing direction) that is different from the orientation of the first perspective (e.g., the first perspective faces forward relative to the user and the second perspective faces backward). In some embodiments, the first and second perspectives are from viewpoints at approximately the same location (e.g., less than a certain distance from each other (e.g., the first camera is positioned within 10 feet, 5 feet, or 3 feet of the user). Displaying a representation of the physical environment at the user's location as seen from a second perspective that is different from the first perspective provides the user with more awareness of the physical environment at the user's location, which can improve safety when operating the wearable computer system, which improves the user's safety and enhances the operability of the system. Doing so also provides improved visual feedback about what is within the field of view of the first camera.

[0222] In some embodiments, the first field of view is oriented along a first direction (e.g., in front of the user 701) (e.g., forward relative to the user), and wherein the field of view of the first camera is oriented along a second direction (e.g., behind the user 701) (e.g., backward relative to the user) that is different from the first direction (e.g., a different direction in the horizontal and / or vertical plane). In some embodiments, the second direction differs from the first direction by at least 45°, 90°, 135°, 180° (e.g., the user's field of view is directed in front of the user, and the field of view of the first camera is directed behind the user). Displaying a representation of the physical environment at the user's location as seen from a second perspective oriented in a direction different from the first perspective provides the user with more awareness of the physical environment at the user's location, which can improve safety when operating the wearable computer system, which improves the safety of the user and enhances the operability of the system. Doing so also provides improved visual feedback about what is within the field of view of the first camera.

[0223] In some embodiments, the second perspective is from a perspective in a primary direction of motion of a first vehicle (e.g., a vehicle occupied and / or operated by a user of the computer system), and the second direction is behind the primary direction of motion of the first vehicle (e.g., as shown in reference Figure 7K Discussion) (e.g., the first camera provides a rear view of the first vehicle). In some embodiments, the user's field of view is oriented toward the front of the first vehicle so that the first direction and the second direction are substantially 180° apart. Displaying a representation of the physical environment at the user's location as seen from a second perspective facing rearward relative to the first vehicle provides the user with more awareness of the physical environment at the user's and vehicle's location, which can improve safety when operating the wearable computer system and / or the first vehicle, which improves the user's safety and enhances the operability of the system. Doing so also provides improved visual feedback about what is within the field of view of the first camera.

[0224] In some embodiments, the second perspective is substantially at the same position or nearly the same position in the physical environment as the first perspective (e.g., as shown in FIG. Figure 7K Discussion) (e.g., the first and second viewing angles are within 0.1, 0.2, 0.5 feet, 1 foot, 2 feet, 5 feet, or 10 feet of each other).

[0225] In some embodiments, the set of one or more cameras includes a second camera (e.g., 404). In some embodiments, when the user is wearing the wearable computer system and the user has a second field of view (e.g., the same or different field of view as the first field of view) that includes a third representation of the physical environment at the user's location as seen from a third perspective (e.g., a user perspective that is the same or different from the first perspective), the wearable computer system displays (1104) via the display generation component a second virtual object (e.g., 704e) that includes a representation of a portion (in some embodiments, all) of the field of view of the second camera, wherein the representation of the portion of the field of view of the second camera includes a fourth representation of the physical environment at the user's location as seen from a fourth perspective that is different from the third perspective. Displaying the third representation of the physical environment at the user's location as seen from a fourth perspective that is different from the first perspective provides the user with more awareness of the physical environment at the user's location, which can improve safety when operating the wearable computer system, which improves the safety of the user and enhances the operability of the system. Doing so also provides improved visual feedback about what is within the field of view of the second camera.

[0226] In some embodiments, the second virtual object is associated with the first virtual object (e.g., Figure 7L 704d and 704e) are displayed simultaneously. Simultaneously displaying the first virtual object and the second virtual object provides the user with multiple additional perspectives of the physical environment at the user's location, providing the user with more awareness of the physical environment at the user's location, which can improve safety when operating the wearable computer system, which improves the safety of the user and enhances the operability of the system. Doing so also provides improved visual feedback about what is within the field of view of the first and second cameras.

[0227] In some embodiments, the second virtual object is displayed after the first virtual object is stopped from being displayed. In some embodiments, the first virtual object is stopped from being displayed in response to a first change in the user's field of view, and the second virtual object is displayed in response to the first change in the user's field of view.

[0228] In some embodiments, before displaying the first virtual object and when the user has a third field of view that is different from the first field of view, the wearable computer system detects a change in the orientation of the user's field of view from the third field of view to the first field of view (e.g., corresponding to a change in 705h1) (e.g., detecting that the user has tilted the user's field of view downward to the first field of view), wherein displaying the first virtual object is responsive to detecting the change in the orientation of the user's field of view from the third field of view to the first field of view (e.g., corresponding to a change in 705h1). Figure 7K 704d) in the above.

[0229] In some embodiments, the set of one or more cameras includes a third camera (e.g., 404). While displaying the first virtual object, the wearable computer system detects (1106) a change in the orientation of the user's field of view from the first field of view to a fourth field of view different from the first field of view (e.g., indicated by 705i1). In response to detecting the change in the orientation of the user's field of view from the first field of view to the fourth field of view, the wearable computer system displays (1108) via the display generation component a third virtual object (e.g., 704e) including a representation of a portion (in some embodiments, all) of the field of view of the third camera, wherein the representation of the portion of the field of view of the third camera includes a fifth representation of the physical environment at the user's location seen from a fifth perspective different from the second perspective (e.g., the perspective of the first camera) (in some embodiments, different from the perspective of the fourth field of view). In some embodiments, the first virtual object is displayed simultaneously with the third virtual object. In some embodiments, the first virtual object is stopped from being displayed in response to detecting the change in the orientation of the user's field of view from the first field of view to the fourth field of view. Displaying a fifth representation of the physical environment at the user's location as seen from a fifth perspective different from the first perspective provides the user with more awareness of the physical environment at the user's location, which can improve safety when operating the wearable computer system, which improves the safety of the user and enhances the operability of the system. Doing so also provides improved visual feedback about what is within the field of view of the third camera.

[0230] In some embodiments, the wearable computer system displays a fourth virtual object (e.g., 704c) that includes the first content simultaneously with the first virtual object. When displaying the first virtual object and the fourth virtual object, the wearable computer system detects a change in the orientation of the user's field of view from the first field of view to a fifth field of view that is different from the first field of view (e.g., indicated by 705i1). In response to detecting a change in the orientation of the user's field of view from the first field of view to the fifth field of view: the wearable computer system displays a positional shift of the first virtual object within the user's field of view (e.g., displaying the first virtual object in a different portion of the first field of view than where the first virtual object is displayed in the fifth field of view); and the wearable computer system displays a positional shift of the fifth virtual object within the user's field of view (e.g., Figure 7KIn some embodiments, the first virtual object and the fifth virtual object are displayed as having a predetermined spatial relationship that is maintained as the first and fifth virtual objects shift. Displaying the fourth virtual object with a shifted position along with the shift in the positioning of the first virtual object helps the user associate the fourth and first virtual objects, even if the positioning of the two virtual objects shifts in the user's field of view based on changes in the orientation of the user's field of view, which helps the user interact with the group of one or more virtual objects, enhances the operability of the system and makes the user-system interface more efficient.

[0231] In some embodiments, the first content includes map content (e.g., as referenced Figure 7H Discussion) (e.g., map information about navigation routes and / or the physical environment at the user's location, such as roads, buildings, parks, traffic information, and / or other map information). Providing map content that shifts along with a representation of the physical environment at the user's location as seen from a second perspective that is different from the first perspective provides the user with additional information to guide the user in the physical environment when operating the wearable computer system, which can improve safety when operating the wearable computer system, which improves the safety of the user and enhances the operability of the system. Doing so also provides improved visual feedback about the physical environment at the user's location.

[0232] In some embodiments, the first content includes information related to traveling to a destination (e.g., as referenced in Figure 7H The invention provides content (e.g., information such as directions to a turn, distance to a turn, name of a street for a turn) corresponding to an element (e.g., a turn, point of interest, or location marker) of a route (e.g., a projected route, a recommended route, a route for a navigation application and / or function) to a destination (e.g., a travel destination). Providing content corresponding to an element of a route to a destination that is shifted along with a representation of a physical environment at a user's location as seen from a second perspective that is different from the first perspective provides the user with additional information to guide the user in the physical environment when operating the wearable computer system, which can improve safety when operating the wearable computer system, which improves the safety of the user and enhances the operability of the system. Doing so also provides improved visual feedback about the route.

[0233] In some embodiments, the first content includes an indication of movement speed (e.g., as seen in 704c) (e.g., the current movement speed of the computer system and / or the user of the computer system). Providing an indication of movement speed that shifts along with a representation of the physical environment at the user's location as seen from a second perspective different from the first perspective provides additional information to the user as the user moves through the physical environment, which can improve safety when operating the wearable computer system, which improves the safety of the user and enhances the operability of the system. Doing so also provides improved visual feedback about the user's movement.

[0234] In some embodiments, the first virtual object is displayed at a first height relative to the height of the user's viewpoint in the physical environment (e.g., Figure 7H The wearable computer system receives a set of one or more inputs corresponding to a request (e.g., corresponding to movement 705e1 and input 705f) to configure the computer system to display (e.g., when subsequently displaying) the first virtual object at a second height relative to the height of the user's viewpoint in the physical environment that is different from the first height (e.g., when displaying the first virtual object). In response to the set of one or more inputs, the wearable computer system configures the computer system to display (e.g., when subsequently displaying) the first virtual object at a second height relative to the height of the user's viewpoint in the physical environment that is different from the first height. Fig.7I After configuring the computer system to display the first virtual object at a second height relative to the height of the user's viewpoint in the physical environment, the wearable computer system displays the first virtual object at the second height relative to the height of the user's viewpoint in the physical environment (e.g., as Figure 7K ). After configuring the computer system to display the first virtual object at a second height relative to the height of the user's viewpoint in the physical environment, displaying the first virtual object at the second height relative to the height of the user's viewpoint in the physical environment reduces the number of inputs required to position the virtual object at a target / desired height as the height of the user's viewpoint changes in the physical environment. Doing so also automatically positions the first virtual object in an area of ​​the user interface that is easily accessible to the user, thereby improving the user's ability to interact with the first virtual object, which enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user provide correct inputs and reducing user errors in operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.

[0235] In some embodiments, before displaying the first virtual object at a second height relative to the height of the user's viewpoint in the physical environment and when the user has a sixth field of view, the wearable computer system detects a change in the orientation of the user's field of view from the sixth field of view to a seventh field of view that is different from the sixth field of view (e.g., as indicated by 705h1), wherein displaying the first virtual object at the second height relative to the height of the user's viewpoint in the physical environment occurs in response to detecting the change in the orientation of the user's field of view from the sixth field of view to the seventh field of view (e.g., as indicated by 705h1). Figure 7K In some embodiments, after the user configures the computer system to display the first virtual object at a target height (e.g., at the user's waist level), the user shifts his or her field of view from looking straight ahead to looking down toward the target height (e.g., toward the user's waist level); based on the change in field of view and the user's waist level entering the user's field of view, the first virtual object is displayed at the user at a predetermined distance and at the target height (e.g., two feet away from the user and at the user's waist level).

[0236] In some embodiments, the first virtual object is the virtual object described above with respect to method 1000 and FIG. 7H to FIG. 7R A virtual object in the discussed first group of one or more virtual objects and exhibiting one or more of the characteristics and / or behaviors discussed relative to the first group of one or more virtual objects.

[0237] In some embodiments, the first virtual object of method 1100 is displayed simultaneously with the first virtual object of the first element indicating the route to the destination, as described above with respect to methods 900 and Figure 7S to Figure 7Y Discussed.

[0238] For the purpose of explanation, the foregoing description is described by reference to specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or to limit the invention to the disclosed precise form. According to the above teachings, many modifications and variations are possible. The embodiments are selected and described in order to best illustrate the principles of the invention and its practical application, so that other persons skilled in the art can best use the invention and the various described embodiments with various modifications suitable for the specific purposes contemplated.

[0239] As described above, one aspect of the present technology is to collect and use data available from various sources to improve interaction with virtual objects in an extended reality environment. The present disclosure contemplates that, in some instances, these collected data may include personal information data that uniquely identifies or can be used to contact or locate a specific person. Such personal information data may include demographic data, location-based data, phone numbers, email addresses, Twitter IDs, home addresses, data or records related to the user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), date of birth, or any other identification or personal information.

[0240] The present disclosure recognizes that the use of such personal information data in the present technology can be used to benefit users. For example, personal information data can be used to improve interaction with virtual objects in an extended reality environment. In addition, the present disclosure also anticipates other uses of personal information data that benefit users. For example, health and fitness data can be used to provide insights into the user's overall health status, or can be used as positive feedback to individuals who use technology to pursue health goals.

[0241] The disclosure anticipates that entities responsible for the collection, analysis, disclosure, transmission, storage or other purposes of such personal information data will comply with sound privacy policies and / or privacy measures. Specifically, such entities should implement and adhere to the use of privacy policies and measures that are recognized as meeting or exceeding the industry or government requirements for maintaining the privacy and security of personal information data. Such policies should be convenient for users to access and should be updated as changes in the collection and / or use of data occur. Personal information from users should be collected for legal and reasonable entity purposes and should not be shared or sold outside these legal purposes. In addition, such collection / sharing should be carried out after receiving the informed consent of the user. Additionally, such entities should consider taking any necessary steps to protect and safeguard access to such personal information data, and ensure that other entities with access to personal information data comply with the privacy policies and procedures of other entities. In addition, such entities can subject themselves to third-party assessments to prove that they comply with widely accepted privacy policies and privacy practices. In addition, policies and practices should be adapted to specific types of personal information data collected and / or accessed, and to applicable laws and standards including considerations of special jurisdictions. For example, in the United States, the collection or acquisition of certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA); while health data in other countries may be subject to other regulations and policies and should be handled accordingly. Therefore, different privacy measures should be advocated for different types of personal data in each country.

[0242] Regardless of the foregoing, the present disclosure also contemplates implementation schemes in which users selectively block the use or access of personal information data. That is, the present disclosure contemplates that hardware elements and / or software elements may be provided to prevent or block access to such personal information data. For example, with respect to the XR experience, the technology of the present invention may be configured to allow users to choose to "opt in" or "opt out" to participate in the collection of personal information data at any time during or after registration for a service. As another example, a user may choose not to provide data for service customization. As another example, a user may choose to limit the length of time that data is retained or to completely prohibit the development of customized services. In addition to providing "opt-in" and "opt-out" options, the present disclosure also contemplates providing notifications related to access or use of personal information. For example, a user may be notified that their personal information data will be accessed when downloading an application, and then reminded again just before the personal information data is accessed by the application.

[0243] In addition, it is the intention of the present disclosure that personal information data should be managed and processed in a manner that minimizes the risk of unintentional or unauthorized access or use. Once the data is no longer needed, the risk can be minimized by limiting the collection of data and deleting the data. In addition, and when applicable, including in certain health-related applications, data de-identification can be used to protect the privacy of users. De-identification can be facilitated by removing specific identifiers (e.g., date of birth, etc.), controlling the amount or specificity of stored data (e.g., collecting location data at the city level rather than at the address level), controlling how the data is stored (e.g., aggregating data between users), and / or other methods when appropriate.

[0244] Thus, while the present disclosure broadly covers the use of personal information data to implement one or more of the various disclosed embodiments, the present disclosure also contemplates that various embodiments may be implemented without requiring access to such personal information data. That is, various embodiments of the present technology will not fail to function properly due to the lack of all or a portion of such personal information data. For example, an XR experience may be generated by inferring preferences based on non-personal information data or an absolute minimum amount of personal information (such as content requested by a device associated with a user, other non-personal information available to a service, or publicly available information).

Claims

1. A method comprising: At a computer system in communication with a display generating component: When the user's field of view is a first field of view, displaying a first virtual object in a three-dimensional environment via the display generation component, wherein the first virtual object is displayed in a first display mode including being locked by the environment; When displaying the first virtual object, detecting a change in the field of view of the user from the first field of view to a second field of view; as well as In response to detecting the change of the field of view of the user from the first field of view to the second field of view: continuing to display the first virtual object in the first display mode including being environment locked based on determining that a first set of criteria is satisfied, wherein the first set of criteria includes criteria that are satisfied when the field of view of the user is the second field of view and when the first virtual object remains environment locked, a threshold amount of the first virtual object will remain within the field of view of the user; as well as Based on determining that the first set of criteria is not met, the first virtual object is displayed in a second display mode, and the second display mode includes shifting the display position of the first virtual object relative to the three-dimensional environment based on the change of the field of view of the user.

2. The method of claim 1 , wherein displaying the first virtual object in the second display mode comprises changing a visual appearance of the first virtual object from a first visual appearance displayed when the first virtual object is in the first display mode to a second visual appearance different from the first visual appearance.

3. The method of claim 2, wherein the first virtual object has a first opacity level when displayed in the first visual appearance, and has a second opacity level different from the first opacity level when displayed in the second visual appearance.

4. The method of any one of claims 2 to 3, wherein the first virtual object has a first type of projection when displayed in the first visual appearance, and has a second type of projection different from the first type of projection when displayed in the second visual appearance.

5. The method according to any one of claims 1 to 4, further comprising: detecting, when the first virtual object is being displayed in the second display mode, that a stability level of the field of view of the user satisfies a set of stability criteria; as well as In response to detecting that the stability level of the field of view of the user satisfies the set of stability criteria, displaying the first virtual object in the first display mode.

6. The method of claim 5, wherein the stability level of the field of view of the user is based on a determination of a stability level of a head of the user of the computer system.

7. The method according to any one of claims 5 to 6, further comprising: When the first virtual object is being displayed in the second display mode, a first indication is displayed, indicating that the first virtual object can be transformed into being displayed in the first display mode including being locked by the environment. 8 . The method of claim 7 , wherein the first indication comprises a second version of the first virtual object, wherein the second version of the first virtual object has a darker appearance than the first virtual object.

9. The method of any one of claims 7 to 8, wherein the first indication comprises an outline of at least a portion of the first virtual object.

10. The method according to any one of claims 1 to 9, further comprising: When the first virtual object is being displayed in the second display mode: detecting a change of the field of view of the user from a third field of view to a fourth field of view at a first speed and in a first direction; as well as In response to detecting the change in the field of view of the user from the third field of view to the fourth field of view, the position of the first virtual object displayed in the field of view of the user is shifted in a second direction based on the first direction and at a second speed different from the first speed.

11. The method according to any one of claims 1 to 10, wherein: In response to detecting the change in the field of view of the user from the first field of view to the second field of view, continuing to display the first virtual object in the first display mode including being locked to the environment includes: stopping displaying a first sub-portion of the first virtual object while continuing to display a second sub-portion of the first virtual object.

12. The method according to claim 11, further comprising: detecting a change in the field of view of the user from the second field of view to a fifth field of view when the second sub-portion of the first virtual object is displayed and the first sub-portion of the first virtual object is not displayed; as well as In response to detecting the change of the field of view of the user from the second field of view to the fifth field of view: Based on determining that the first set of criteria is not met, displaying the first virtual object in the second display mode includes displaying the first sub-portion of the first virtual object.

13. The method according to any one of claims 1 to 12, wherein: The first virtual object is displayed simultaneously with a plurality of virtual objects including a second virtual object and a third virtual object; and The first virtual object, the second virtual object, and the third virtual object have a predetermined spatial relationship relative to each other, and the predetermined spatial relationship is maintained as the first virtual object, the second virtual object, and the third virtual object continue to be displayed within the field of view of the user.

14. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs comprising instructions for executing the method according to any one of claims 1 to 13.

15. A computer system configured to communicate with a display generation component, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 1 to 13.

16. A computer system configured to communicate with a display generation component, the computer system comprising: A component for carrying out the method according to any one of claims 1 to 13.

17. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component, the one or more programs comprising instructions for performing the method according to any one of claims 1 to 13.

18. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs comprising instructions for: When the user's field of view is a first field of view, displaying a first virtual object in a three-dimensional environment via the display generation component, wherein the first virtual object is displayed in a first display mode including being locked by the environment; When displaying the first virtual object, detecting a change in the field of view of the user from the first field of view to a second field of view; as well as In response to detecting the change of the field of view of the user from the first field of view to the second field of view: continuing to display the first virtual object in the first display mode including being environment locked based on determining that a first set of criteria is satisfied, wherein the first set of criteria includes criteria that are satisfied when the field of view of the user is the second field of view and when the first virtual object remains environment locked, a threshold amount of the first virtual object will remain within the field of view of the user; as well as Based on determining that the first set of criteria is not met, the first virtual object is displayed in a second display mode, and the second display mode includes shifting the display position of the first virtual object relative to the three-dimensional environment based on the change of the field of view of the user.

19. A computer system configured to communicate with a display generation component, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: When the user's field of view is a first field of view, displaying a first virtual object in a three-dimensional environment via the display generation component, wherein the first virtual object is displayed in a first display mode including being locked by the environment; When displaying the first virtual object, detecting a change in the field of view of the user from the first field of view to a second field of view; as well as In response to detecting the change of the field of view of the user from the first field of view to the second field of view: continuing to display the first virtual object in the first display mode including being environment locked based on determining that a first set of criteria is satisfied, wherein the first set of criteria includes criteria that are satisfied when the field of view of the user is the second field of view and when the first virtual object remains environment locked, a threshold amount of the first virtual object will remain within the field of view of the user; as well as Based on determining that the first set of criteria is not met, the first virtual object is displayed in a second display mode, and the second display mode includes shifting the display position of the first virtual object relative to the three-dimensional environment based on the change of the field of view of the user.

20. A computer system configured to communicate with a display generation component, the computer system comprising: When the user's field of view is a first field of view, means for displaying a first virtual object in a three-dimensional environment via the display generation component, wherein the first virtual object is displayed in a first display mode including being locked to the environment; means for detecting a change in the field of view of the user from the first field of view to a second field of view when the first virtual object is displayed; and In response to detecting the change in the field of view of the user from the first field of view to the second field of view, means for: continuing to display the first virtual object in the first display mode including being environment locked based on determining that a first set of criteria is satisfied, wherein the first set of criteria includes criteria that are satisfied when the field of view of the user is the second field of view and when the first virtual object remains environment locked, a threshold amount of the first virtual object will remain within the field of view of the user; as well as Based on determining that the first set of criteria is not met, the first virtual object is displayed in a second display mode, and the second display mode includes shifting the display position of the first virtual object relative to the three-dimensional environment based on the change of the field of view of the user.

21. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs comprising instructions for: When the user's field of view is a first field of view, displaying a first virtual object in a three-dimensional environment via the display generation component, wherein the first virtual object is displayed in a first display mode including being locked by the environment; When displaying the first virtual object, detecting a change in the field of view of the user from the first field of view to a second field of view; as well as In response to detecting the change of the field of view of the user from the first field of view to the second field of view: continuing to display the first virtual object in the first display mode including being environment locked based on determining that a first set of criteria is satisfied, wherein the first set of criteria includes criteria that are satisfied when the field of view of the user is the second field of view and when the first virtual object remains environment locked, a threshold amount of the first virtual object will remain within the field of view of the user; as well as Based on determining that the first set of criteria is not met, the first virtual object is displayed in a second display mode, and the second display mode includes shifting the display position of the first virtual object relative to the three-dimensional environment based on the change of the field of view of the user.

22. A method comprising: At a computer system in communication with a display generating component: displaying a first virtual object in a three-dimensional environment via the display generation component, wherein the first virtual object indicates a first element of a route to a destination, and wherein the first virtual object corresponds to a first location in the three-dimensional environment, Wherein displaying the first virtual object comprises: Based on determining that the first position is a position within the user's field of view, displaying the first virtual object as an environment-locked object; and Based on determining that the first position is a position that is not within the field of view of the user, the first virtual object is displayed as a viewpoint-locked object.

23. The method according to claim 22, further comprising: When the first virtual object is displayed: detecting a change in the field of view of the user from a first field of view to a second field of view different from the first field of view; as well as In response to detecting the change of the field of view of the user from the first field of view to the second field of view: According to determining that the first virtual object is currently an environment-locked object, shifting the displayed position of the first virtual object so that the first virtual object maintains a substantially fixed position relative to a first portion of the three-dimensional environment and / or a first object in the three-dimensional environment; as well as According to determining that the first virtual object is currently a viewpoint-locked object, Maintaining the display position of the first virtual object within the field of view of the user.

24. The method according to any one of claims 22 to 23, further comprising: detecting a first change in a distance between the computer system and the first location in the three-dimensional environment; as well as In response to detecting the first change in the distance between the computer system and the first location in the three-dimensional environment: modifying the visual appearance of the first virtual object from a first visual appearance to a second visual appearance different from the first visual appearance based on determining that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes a first criterion that is satisfied when it is determined that the first change in the distance between the computer system and the first location in the three-dimensional environment reduces the distance between the computer system and the first location in the three-dimensional environment, and wherein the first set of one or more criteria includes a second criterion that is satisfied when the first location is a location that is currently within the field of view of the user; as well as Based on determining that the first set of one or more criteria are not satisfied, modifying the visual appearance of the first virtual object from the first visual appearance to the second visual appearance is abandoned.

25. The method of claim 24, wherein modifying the visual appearance of the first virtual object from the first visual appearance to the second visual appearance comprises modifying a size of the first virtual object from a first size to a second size.

26. The method of any one of claims 24 to 25, wherein modifying the visual appearance of the first virtual object from the first visual appearance to the second visual appearance comprises changing a visual characteristic of the first virtual object from a first value to a second value.

27. The method of any one of claims 24 to 26, wherein modifying the visual appearance of the first virtual object from the first visual appearance to the second visual appearance comprises modifying text content of the first virtual object.

28. The method of any one of claims 24 to 27, wherein the first change in the distance between the computer system and the first location in the three-dimensional environment decreases the distance between the computer system and the first location in the three-dimensional environment, and wherein when the first change in the distance between the computer system and the first location in the three-dimensional environment is detected, the first virtual object has the first visual appearance, the method further comprising: In response to detecting the first change in the distance between the computer system and the first location in the three-dimensional environment and based on determining that the first location is not within the field of view of the user, maintaining the first visual appearance of the first virtual object.

29. The method according to any one of claims 22 to 28, further comprising: A map virtual object is displayed via the display generation component and simultaneously with the display of the first virtual object, the map virtual object depicting at least a portion of the route to the destination.

30. The method according to claim 29, wherein the map virtual object is a viewpoint-locked object.

31. The method according to any one of claims 29 to 30, wherein the map virtual object comprises a location virtual object corresponding to the first location, the method further comprising: detecting a first input corresponding to the position virtual object; as well as In response to detecting the first input, a second virtual object is displayed via the display generation component, the second virtual object including information about the first location.

32. The method of claim 31 , wherein the first position is within the field of view of the user and the second virtual object is initially locked to the first position by the environment, the method further comprising: When displaying the second virtual object locked to the first position by the environment, detecting a change of the field of view of the user from the first field of view to the second field of view; as well as In response to detecting the change in the field of view of the user: continuing to display the second virtual object as environment-locked to the first position based on determining that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes a third criterion that is satisfied when a threshold amount of the second virtual object will remain within the field of view of the user when the field of view of the user is the second field of view and when the second virtual object remains environment-locked; as well as Based on determining that the second set of one or more criteria are not met, the display positioning of the second virtual object is shifted relative to the three-dimensional environment based on the change in the field of view of the user so that at least the threshold amount of the second virtual object remains within the field of view of the user.

33. The method of claim 32, wherein: The second virtual object is displayed simultaneously with a wired virtual object, the wired virtual object having a first end locked to the first position by the environment and a second end connected to the second virtual object; and Shifting the display position of the second virtual object relative to the three-dimensional environment based on the change in the field of view of the user includes maintaining the first end of the wired virtual object to be environment-locked to the first position.

34. A method according to any one of claims 29 to 33, wherein the map virtual object has one or more visual characteristics that reduce the amount of the three-dimensional environment that is partially and / or fully obscured by the map virtual object.

35. The method according to any one of claims 22 to 34, further comprising: When displaying the first virtual object at a first display location in the field of view of the user: shifting the display position of at least a portion of the first virtual object toward the first predetermined display position based on determining that the first display position satisfies a set of repositioning criteria, the set of repositioning criteria including a fourth criterion that is satisfied when the first display position is not the first predetermined display position; and Based on determining that the first display location does not satisfy the set of repositioning criteria, display of the first virtual object at the first display location is maintained.

36. The method of any one of claims 22 to 35, wherein the first element of the route is selected from the group consisting of a navigation operation and a place of interest.

37. The method according to any one of claims 22 to 36, further comprising: A speed virtual object is displayed via the display generation component and simultaneously with the display of the first virtual object, the speed virtual object including an indication of a movement speed.

38. The method of claim 37, wherein the velocity virtual object is viewpoint locked.

39. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs comprising instructions for executing a method according to any one of claims 22 to 38.

40. A computer system configured to communicate with a display generation component, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 22 to 38.

41. A computer system configured to communicate with a display generation component, the computer system comprising: A component for carrying out the method according to any one of claims 22 to 38.

42. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component, the one or more programs comprising instructions for performing the method according to any one of claims 22 to 38.

43. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs comprising instructions for: displaying, via the display generation component, a first virtual object in a three-dimensional environment, wherein the first virtual object indicates a first element of a route to a destination, and wherein the first virtual object corresponds to a first location in the three-dimensional environment, wherein displaying the first virtual object comprises: Based on determining that the first position is a position within the user's field of view, displaying the first virtual object as an environment-locked object; as well as Based on determining that the first position is a position that is not within the field of view of the user, the first virtual object is displayed as a viewpoint-locked object.

44. A computer system configured to communicate with a display generation component, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying a first virtual object in a three-dimensional environment via the display generation component, wherein the first virtual object indicates a first element of a route to a destination, and wherein the first virtual object corresponds to a first location in the three-dimensional environment, Wherein displaying the first virtual object comprises: Based on determining that the first position is a position within the user's field of view, displaying the first virtual object as an environment-locked object; as well as Based on determining that the first position is a position that is not within the field of view of the user, the first virtual object is displayed as a viewpoint-locked object.

45. A computer system configured to communicate with a display generation component, the computer system comprising: Means for displaying, via the display generating component, a first virtual object in a three-dimensional environment, wherein the first virtual object indicates a first element of a route to a destination, and wherein the first virtual object corresponds to a first location in the three-dimensional environment, wherein displaying the first virtual object comprises: Based on determining that the first position is a position within the user's field of view, displaying the first virtual object as an environment-locked object; and Based on determining that the first position is a position that is not within the field of view of the user, the first virtual object is displayed as a viewpoint-locked object.

46. ​​A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs comprising instructions for: displaying, via the display generation component, a first virtual object in a three-dimensional environment, wherein the first virtual object indicates a first element of a route to a destination, and wherein the first virtual object corresponds to a first location in the three-dimensional environment, wherein displaying the first virtual object comprises: Based on determining that the first position is a position within the user's field of view, displaying the first virtual object as an environment-locked object; as well as Based on determining that the first position is a position that is not within the field of view of the user, the first virtual object is displayed as a viewpoint-locked object.

47. A method comprising: At a computer system in communication with a display generating component: when a field of view of a user of the computer system is a first field of view and the field of view of the user includes a representation of a physical environment having a first location within the physical environment, detecting a change in the orientation of the field of view of the user from the first field of view to a second field of view different from the first field of view, the second field of view also including the first location within the physical environment; in response to detecting the change in orientation of the field of view of the user from the first field of view to the second field of view, displaying, via the display generation component, a set of one or more virtual objects at respective spatial orientations relative to at least a first portion of a body of the user; after displaying the set of one or more virtual objects in the respective spatial orientations relative to at least the first portion of the body of the user, ceasing to display the set of one or more virtual objects; detecting movement of the user in the physical environment after ceasing to display the set of one or more virtual objects; detecting a change in orientation of the field of view of the user to a second orientation after detecting movement of the user in the physical environment; as well as In response to detecting the change in orientation of the field of view of the user to the second orientation, displaying the set of one or more virtual objects via the display generation component at the corresponding spatial orientation relative to at least the first portion of the body of the user.

48. The method of claim 47, wherein the set of one or more virtual objects includes a first virtual object corresponding to a system control.

49. A method according to any one of claims 47 to 48, wherein the set of one or more virtual objects is displayed at a first position in the field of view of the user corresponding to the first position within the physical environment.

50. The method of any one of claims 47 to 49, wherein the first part of the body of the user is a torso of the user of the computer system.

51. A method according to any one of claims 47 to 50, wherein when displayed, the first group of virtual objects are displayed at positions and / or locations in the field of view corresponding to positions in the physical environment determined to be a first predetermined distance away from the first part of the body of the user of the computer system.

52. A method according to any one of claims 47 to 51, wherein: the first set of one or more virtual objects being displayed at a second location in the field of view of the user corresponding to a second position in the physical environment and having the respective spatial orientations relative to the first part of the body of the user when displayed in response to detecting the change in orientation of the field of view of the user from the first field of view to the second field of view; and When displayed in response to detecting movement of the user in the physical environment, the first group of one or more virtual objects are displayed at a third position in the field of view of the user corresponding to a third position in the physical environment different from the second position and having the corresponding spatial orientation relative to the first part of the body of the user.

53. The method according to any one of claims 47 to 52, further comprising: when the field of view of the user is directed to the second field of view and when the set of one or more virtual objects is displayed, detecting a change in orientation of the field of view of the user from the second field of view to a third field of view; as well as In response to detecting the change in orientation of the user's field of view from the second field of view to a third field of view, displaying a second group of one or more virtual objects via the display generation component while maintaining display of at least a second virtual object in the first group of one or more virtual objects.

54. The method according to any one of claims 47 to 53, further comprising: detecting a change in the orientation of the first portion of the body of the user causing a change in the field of view of the user to a fourth field of view while displaying the first set of one or more virtual objects at a third location in the field of view of the user corresponding to a third location in the physical environment; as well as In response to detecting the change in the orientation of the first part of the body of the user causing the change in the field of view of the user to the fourth field of view: The first set of one or more virtual objects is displayed at a fourth location in the field of view of the user, the fourth location being different from the third location and corresponding to the third position in the physical environment.

55. The method of claim 54, wherein when the first set of one or more virtual objects is displayed at the fourth location in the field of view of the user, a first virtual object of the one or more virtual objects does not have the corresponding spatial orientation relative to at least the first portion of the body of the user, the method further comprising: After displaying the first set of one or more virtual objects at the fourth location in the field of view of the user, ceasing to display the first set of one or more virtual objects; detecting a change of the field of view of the user to a fifth field of view when the first set of one or more virtual objects is not displayed; as well as In response to detecting the change of the field of view of the user to the fifth field of view, displaying the set of one or more virtual objects at the corresponding spatial orientation relative to at least the first part of the body of the user and at a fifth position in the field of view of the user that does not correspond to the third position in the physical environment.

56. The method according to any one of claims 47 to 55, further comprising: When the first set of one or more virtual objects includes a first set of control virtual objects; detecting a request to customize the first set of one or more virtual objects; In response to detecting the request to customize the first group of one or more virtual objects, the first group of one or more virtual objects is customized by updating the first group of one or more virtual objects to include a second group of control virtual objects, wherein the second group of control virtual objects is different from the first group of control virtual objects.

57. The method of claim 56, wherein composition of the first set of control virtual objects is user customizable, and wherein relative positioning of control virtual objects in the first set of control virtual objects is not user customizable.

58. A method according to any one of claims 47 to 57, wherein the first set of one or more virtual objects is oriented substantially perpendicular to the line of sight of the user of the computer system.

59. The method according to any one of claims 47 to 58, further comprising: while displaying the first set of one or more virtual objects, detecting a first input corresponding to a third virtual object in the first set of one or more virtual objects; In response to detecting the first input, a first operation is performed.

60. The method of any one of claims 47 to 59, wherein the first set of one or more virtual objects includes a fourth virtual object, the method further comprising: detecting a change of the field of view of the user to a sixth field of view when the first set of one or more virtual objects is displayed and when the fourth virtual object is environment locked; as well as In response to detecting a change of the field of view of the user to the sixth field of view: Based on determining that a first set of criteria is satisfied, reducing the display size of the fourth virtual object, wherein the first set of criteria includes criteria that are satisfied when the change of the user's field of view to the sixth field of view will cause at least a threshold amount of the fourth virtual object to fall outside the sixth field of view.

61. The method of any one of claims 47 to 60, wherein in response to detecting the change in the field of view of the user from the first field of view to the second field of view, displaying the first set of one or more virtual objects in the respective spatial orientations relative to at least the first portion of the body of the user comprises: Displaying the first set of one or more virtual objects at a first height relative to the height of the viewpoint of the user in the physical environment, the method further comprising: Prior to displaying the first set of one or more virtual objects in response to detecting the change in the field of view of the user from the first field of view to the second field of view, receiving a first set of one or more inputs including an input setting a value for the first height.

62. The method of claim 61 further comprising: detecting a change in the height of the viewpoint of the user in the physical environment while displaying the first set of virtual objects at the first height relative to the height of the viewpoint of the user in the physical environment and at a second height relative to the physical environment; and In response to detecting the change in the height of the user's viewpoint in the physical environment, changing the height at which the first group of virtual objects are displayed in the physical environment to a third height that is different from the second height, wherein changing the height at which the first group of virtual objects are displayed in the physical environment to the third height causes the first group of one or more virtual objects to be displayed at the first height relative to the height of the user's viewpoint in the physical environment.

63. The method of any one of claims 47 to 62, wherein in response to detecting the change in the field of view of the user from the first field of view to the second field of view, displaying the first set of one or more virtual objects in the respective spatial orientations relative to at least the first portion of the body of the user comprises: Based on determining that the user of the computer system is performing a first type of activity when the change in the field of view of the user from the first field of view to the second field of view is detected, the first set of one or more virtual objects includes a first set of content; as well as Based on determining that the user of the computer system is performing a second type of activity different from the first type of activity when the change in the field of view of the user from the first field of view to the second field of view is detected, the first group of one or more virtual objects includes a second group of content different from the first group of content.

64. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component, the one or more programs comprising instructions for executing a method according to any one of claims 47 to 63.

65. A computer system configured to communicate with a display generation component, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 47 to 63.

66. A computer system configured to communicate with a display generation component, the computer system comprising: A component for carrying out the method according to any one of claims 47 to 63.

67. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component, the one or more programs comprising instructions for performing the method according to any one of claims 47 to 63.

68. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs comprising instructions for: when a field of view of a user of the computer system is a first field of view and the field of view of the user includes a representation of a physical environment having a first location within the physical environment, detecting a change in the orientation of the field of view of the user from the first field of view to a second field of view different from the first field of view, the second field of view also including the first location within the physical environment; in response to detecting the change in orientation of the field of view of the user from the first field of view to the second field of view, displaying, via the display generation component, a set of one or more virtual objects at respective spatial orientations relative to at least a first portion of a body of the user; after displaying the set of one or more virtual objects in the respective spatial orientations relative to at least the first portion of the body of the user, ceasing to display the set of one or more virtual objects; detecting movement of the user in the physical environment after ceasing to display the set of one or more virtual objects; detecting a change in orientation of the field of view of the user to a second orientation after detecting movement of the user in the physical environment; as well as In response to detecting the change in orientation of the field of view of the user to the second orientation, displaying the set of one or more virtual objects via the display generation component at the corresponding spatial orientation relative to at least the first portion of the body of the user.

69. A computer system configured to communicate with a display generation component, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: when a field of view of a user of the computer system is a first field of view and the field of view of the user includes a representation of a physical environment having a first location within the physical environment, detecting a change in the orientation of the field of view of the user from the first field of view to a second field of view different from the first field of view, the second field of view also including the first location within the physical environment; in response to detecting the change in orientation of the field of view of the user from the first field of view to the second field of view, displaying, via the display generation component, a set of one or more virtual objects at respective spatial orientations relative to at least a first portion of a body of the user; after displaying the set of one or more virtual objects in the respective spatial orientations relative to at least the first portion of the body of the user, ceasing to display the set of one or more virtual objects; detecting movement of the user in the physical environment after ceasing to display the set of one or more virtual objects; detecting a change in orientation of the field of view of the user to a second orientation after detecting movement of the user in the physical environment; as well as In response to detecting the change in orientation of the field of view of the user to the second orientation, displaying the set of one or more virtual objects via the display generation component at the corresponding spatial orientation relative to at least the first portion of the body of the user.

70. A computer system configured to communicate with a display generation component, the computer system comprising: When a field of view of a user of the computer system is a first field of view and the field of view of the user includes a representation of a physical environment having a component at a first location within the physical environment, means for: detecting a change in the orientation of the field of view of the user from the first field of view to a second field of view different from the first field of view, the second field of view also including the first location within the physical environment; In response to detecting the change in orientation of the field of view of the user from the first field of view to the second field of view, means for: displaying, via the display generation component, a set of one or more virtual objects at respective spatial orientations relative to at least a first portion of a body of the user; means for ceasing to display the set of one or more virtual objects after displaying the set of one or more virtual objects in the respective spatial orientations relative to at least the first portion of the body of the user; means for detecting movement of the user in the physical environment after ceasing to display the set of one or more virtual objects; means for detecting a change in orientation of the field of view of the user to a second orientation after detecting movement of the user in the physical environment; and In response to detecting the change in orientation of the field of view of the user to the second orientation, means for displaying, via the display generation component, the set of one or more virtual objects at the corresponding spatial orientation relative to at least the first portion of the body of the user.

71. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component, the one or more programs comprising instructions for: when a field of view of a user of the computer system is a first field of view and the field of view of the user includes a representation of a physical environment having a first location within the physical environment, detecting a change in the orientation of the field of view of the user from the first field of view to a second field of view different from the first field of view, the second field of view also including the first location within the physical environment; in response to detecting the change in orientation of the field of view of the user from the first field of view to the second field of view, displaying, via the display generation component, a set of one or more virtual objects at respective spatial orientations relative to at least a first portion of a body of the user; after displaying the set of one or more virtual objects in the respective spatial orientations relative to at least the first portion of the body of the user, ceasing to display the set of one or more virtual objects; detecting movement of the user in the physical environment after ceasing to display the set of one or more virtual objects; detecting a change in orientation of the field of view of the user to a second orientation after detecting movement of the user in the physical environment; as well as In response to detecting the change in orientation of the field of view of the user to the second orientation, displaying the set of one or more virtual objects via the display generation component at the corresponding spatial orientation relative to at least the first portion of the body of the user.

72. A method comprising: At a wearable computer system in communication with a display generating component and a set of one or more cameras including a first camera: When a user is wearing the wearable computer system and the user has a first field of view including a first representation of a physical environment at the user's location as seen from a first perspective, a first virtual object including a representation of a portion of the field of view of the first camera is displayed via the display generation component, wherein the representation of the portion of the field of view of the first camera includes a second representation of the physical environment at the user's location as seen from a second perspective different from the first perspective.

73. The method of claim 72, wherein the first field of view is oriented along a first direction, and wherein the field of view of the first camera is oriented along a second direction different from the first direction.

74. The method of claim 73, wherein the second viewing angle is from a viewing angle of a primary direction of motion of the first vehicle, and wherein the second direction is behind the primary direction of motion of the first vehicle.

75. A method according to any one of claims 72 to 74, wherein the second perspective is substantially at the same position or nearly the same position as the first perspective in the physical environment.

76. The method of any one of claims 72 to 75, wherein the set of one or more cameras includes a second camera, the method further comprising: When the user is wearing the wearable computer system and the user has a second field of view including a third representation of the physical environment at the user's location seen from a third perspective, a second virtual object including a representation of a portion of the field of view of the second camera is displayed via the display generation component, wherein the representation of the portion of the field of view of the second camera includes a fourth representation of the physical environment at the user's location seen from a fourth perspective different from the third perspective.

77. The method of claim 76, wherein the second virtual object is displayed simultaneously with the first virtual object.

78. The method of claim 76, wherein the second virtual object is displayed after the first virtual object is stopped from being displayed.

79. The method of any one of claims 72 to 78, further comprising: Prior to displaying the first virtual object and when the user has a third field of view different from the first field of view, detecting a change in the orientation of the field of view of the user from the third field of view to the first field of view, wherein displaying the first virtual object occurs in response to detecting the change in the orientation of the field of view of the user from the third field of view to the first field of view.

80. The method of any one of claims 72 to 79, wherein the set of one or more cameras includes a third camera, the method further comprising: while displaying the first virtual object, detecting a change in the orientation of the user's field of view from the first field of view to a fourth field of view different from the first field of view; as well as In response to detecting the change in the orientation of the user's field of view from the first field of view to the fourth field of view, displaying, via the display generation component, a third virtual object including a representation of a portion of the field of view of the third camera, wherein the representation of the portion of the field of view of the third camera includes a fifth representation of the physical environment at the user's location as seen from a fifth perspective that is different from the second perspective.

81. The method of any one of claims 72 to 80, further comprising: displaying a fourth virtual object including the first content simultaneously with the first virtual object; detecting a change in the orientation of the field of view of the user from the first field of view to a fifth field of view different from the first field of view while displaying the first virtual object and the fourth virtual object; In response to detecting the change in the orientation of the user's field of view from the first field of view to the fifth field of view: Displaying a position shift of the first virtual object within the field of view of the user; as well as The positioning shift of the fifth virtual object will be displayed within the field of view of the user.

82. The method of claim 81, wherein the first content comprises map content.

83. The method of any one of claims 81 to 82, wherein the first content comprises content corresponding to an element of a route to a destination.

84. A method according to any one of claims 81 to 83, wherein the first content includes an indication of a speed of movement.

85. The method of any one of claims 72 to 84, wherein the first virtual object is displayed at a first height relative to the height of the viewpoint of the user in the physical environment, the method further comprising: receiving a set of one or more inputs corresponding to a request to configure the computer system to display the first virtual object at a second height different from the first height relative to the height of the viewpoint of the user in the physical environment; responsive to the set of one or more inputs, configuring the computer system to display the first virtual object at the second height relative to the height of the viewpoint of the user in the physical environment; as well as After configuring the computer system to display the first virtual object at the second height relative to the height of the viewpoint of the user in the physical environment, displaying the first virtual object at the second height relative to the height of the viewpoint of the user in the physical environment.

86. The method of claim 85, further comprising: Prior to displaying the first virtual object at the second height relative to the height of the user's viewpoint in the physical environment and when the user has a sixth field of view, detecting a change in the orientation of the user's field of view from the sixth field of view to a seventh field of view different from the sixth field of view, wherein displaying the first virtual object at the second height relative to the height of the user's viewpoint in the physical environment occurs in response to detecting the change in the orientation of the user's field of view from the sixth field of view to the seventh field of view.

87. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system, the computer system communicating with a display generating component and a group of one or more cameras including a first camera, the one or more programs comprising instructions for executing the method of any one of claims 72 to 86.

88. A computer system configured to communicate with a display generation component and a set of one or more cameras including a first camera, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 72 to 86.

89. A computer system configured to communicate with a display generation component and a set of one or more cameras including a first camera, the computer system comprising: A component for carrying out the method according to any one of claims 72 to 86.

90. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system, the computer system communicating with a display generating component and a set of one or more cameras including a first camera, the one or more programs comprising instructions for performing a method according to any one of claims 72 to 86.

91. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and a set of one or more cameras including a first camera, the one or more programs comprising instructions for: When a user is wearing the wearable computer system and the user has a first field of view including a first representation of a physical environment at the user's location as seen from a first perspective, a first virtual object including a representation of a portion of the field of view of the first camera is displayed via the display generation component, wherein the representation of the portion of the field of view of the first camera includes a second representation of the physical environment at the user's location as seen from a second perspective different from the first perspective.

92. A computer system configured to communicate with a display generation component and a set of one or more cameras including a first camera, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: When a user is wearing the wearable computer system and the user has a first field of view including a first representation of a physical environment at the user's location as seen from a first perspective, a first virtual object including a representation of a portion of the field of view of the first camera is displayed via the display generation component, wherein the representation of the portion of the field of view of the first camera includes a second representation of the physical environment at the user's location as seen from a second perspective different from the first perspective.

93. A computer system configured to communicate with a display generation component and a set of one or more cameras including a first camera, the computer system comprising: When a user is wearing the wearable computer system and the user has a first field of view that includes a first representation of a physical environment at the user's location as seen from a first perspective, a component for the following operations: displaying, via the display generation component, a first virtual object that includes a representation of a portion of the field of view of the first camera, wherein the representation of the portion of the field of view of the first camera includes a second representation of the physical environment at the user's location as seen from a second perspective different from the first perspective.

94. A computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and a set of one or more cameras including a first camera, the one or more programs comprising instructions for: When a user is wearing the wearable computer system and the user has a first field of view including a first representation of a physical environment at the user's location as seen from a first perspective, a first virtual object including a representation of a portion of the field of view of the first camera is displayed via the display generation component, wherein the representation of the portion of the field of view of the first camera includes a second representation of the physical environment at the user's location as seen from a second perspective different from the first perspective.