Representation of participants in real-time communication session
By using blocked space arrangement and activity detection techniques in computer systems, participant representation management in real-time communication sessions is improved, solving the problems of inefficiency and high complexity in the prior art, achieving more intuitive and efficient user interaction and better virtual/augmented reality experiences.
Patent Information
- Application Number
- CN202380068157.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-09-05
- Filing Date
- 2023-09-14
- Publication Date
- 2025-05-02
AI Technical Summary
The prior art has problems of inefficiency, high complexity, and error-prone in managing participant representations in real-time communication sessions, resulting in inefficient user interaction and impaired virtual/augmented reality environment experience.
By using display generation components in a computer system to display representations of multiple participants in a chunked spatial arrangement in a three-dimensional space and detect participant activities, modify participant representations in response to the activity to improve the intuitiveness and efficiency of user interaction.
It achieves more intuitive and efficient user interaction, reduces the amount and complexity of user input, improves the quality of experience in virtual/augmented reality environments, and saves the energy of computer systems.
Smart Images

Figure CN119923855A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of U.S. patent application Ser. No. 18 / 242,363, filed Sep. 5, 2023, entitled “REPRESENTATIONS OF PARTICIPANTS IN REAL-TIME COMMUNICATION SESSIONS,” U.S. patent application Ser. No. 63 / 470,884, filed Jun. 3, 2023, entitled “REPRESENTATIONS OF PARTICIPANTS IN REAL-TIME COMMUNICATION SESSIONS,” U.S. patent application Ser. No. 63 / 439,473, filed Jan. 17, 2023, entitled “REPRESENTATIONS OF PARTICIPANTS IN REAL-TIME COMMUNICATION SESSIONS,” and U.S. patent application Ser. No. 63 / 439,473, filed Jan. 17, 2023, entitled “REPRESENTATIONS OF PARTICIPANTS IN REAL-TIME COMMUNICATION SESSIONS,” and U.S. patent application Ser. No. 63 / 439,473, filed Sep. 23, 2022, entitled “REPRESENTATIONS OF PARTICIPANTS IN REAL-TIME COMMUNICATION SESSIONS,” The entire contents of each of these applications are hereby incorporated by reference into this document in their entirety. Technical Field
[0003] The present disclosure generally relates to computer systems providing computer-generated experiences in communication with one or more display generating components and optionally with one or more input devices, including but not limited to electronic devices providing virtual reality and mixed reality experiences via a display. Background Art
[0004] In recent years, the development of computer systems for extended reality has increased significantly. An extended reality environment refers to a fully or partially simulated environment that people sense and / or interact with via a computer system. 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 an extended reality environment that includes virtual elements. 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 managing representations of participants in real-time communication sessions are cumbersome, inefficient, and limited. For example, systems that provide insufficient feedback for performing actions associated with representations of participants in real-time communication sessions, systems that require a series of inputs to achieve desired results in real-time communication sessions, and systems in which manipulation of representations of participants in real-time communication sessions is complex, tedious, and error-prone create significant cognitive burdens on users and detract from the experience of virtual / augmented reality environments. In addition, these methods take longer than necessary, thereby wasting energy on computer systems. This latter consideration is particularly important in battery-powered devices.
[0006] Therefore, there is a need for a computer system with an improved method and interface for managing representations of participants in a real-time communication session, so as to make interaction with the computer system more efficient and more intuitive for a user. Such methods and interfaces optionally supplement or replace conventional methods for managing representations of participants in a real-time communication session. 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 efficient human-computer interface.
[0007] The above-mentioned defects and other problems associated with the user interface of the computer system are reduced or eliminated by the disclosed system. In some embodiments, the computer system is a desktop computer with an associated display. In some embodiments, the computer system is a portable device (e.g., a notebook computer, a tablet computer, or a handheld device). In some embodiments, the computer system is a personal electronic device (e.g., a wearable electronic device, such as a watch or a head-mounted device). In some embodiments, the computer system has a touch pad. In some embodiments, the computer system has one or more cameras. In some embodiments, the computer system has a touch-sensitive display (also referred to as a "touch screen" or "touch screen display"). In some embodiments, the computer system has one or more eye tracking components. In some embodiments, the computer system has one or more hand tracking components. In some embodiments, in addition to the display generation component, the computer system also has one or more output devices, which include one or more tactile output generators and / or one or more audio output devices. In some embodiments, the computer system has a graphical user interface (GUI), one or more processors, a memory, and one or more modules, a program or instruction set stored in the memory for performing multiple functions. In some embodiments, the user interacts with the GUI through 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 mobile 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, testing 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 managing representations of participants in real-time communication sessions. Such methods and interfaces can supplement or replace conventional methods for managing representations of participants in real-time communication sessions. Such methods and interfaces reduce the amount, extent, and / or nature of input from a user and produce a more efficient human-computer interface. For battery-powered computing devices, such methods and interfaces save power and increase the time interval between battery charges.
[0009] In some embodiments, a computer system displays a set of controls associated with controlling playback of media content (e.g., transport controls and / or other types of controls) in response to detecting a user's gaze and / or gesture. In some embodiments, the computer system initially displays a first set of controls in a reduced salience state (e.g., with reduced visual salience) in response to detecting a first input, and then displays a second set of controls (which optionally include additional controls) in an increased salience state in response to detecting a second input. In this manner, the computer system optionally provides feedback to the user that the user has begun to invoke display of controls without inappropriately distracting the user from the content (e.g., by initially displaying the controls in a less visually salient manner), and then, based on detecting a user input indicating that the user wishes to further interact with the controls, displays the controls in a more visually salient manner to allow for easier and more accurate interaction with the computer system.
[0010] In some embodiments, a method is described. The method includes: at a computer system in communication with one or more display generation components: displaying representations of multiple participants in a real-time communication session in a block-based spatial arrangement in three-dimensional space via the one or more display generation components, including simultaneously: displaying a representation of a first participant in the multiple participants in a first block in the block-based spatial arrangement; and displaying a representation of a second participant in the multiple participants in a second block in the block-based spatial arrangement, wherein the second participant is different from the first participant and the second block is different from the first block; while displaying the representations of the multiple participants in the real-time communication session in three-dimensional space, detecting an activity associated with a first participant in the multiple participants; and in response to detecting the activity associated with the first participant in the multiple participants, modifying the representation of the first participant based on the activity, including moving the first block relative to the second block in the block-based spatial arrangement.
[0011] 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 one or more display generation components, the one or more programs including instructions for the following operations: displaying representations of multiple participants in a real-time communication session in a block-by-block spatial arrangement in three-dimensional space via one or more display generation components, including simultaneously: displaying a representation of a first participant of the multiple participants in a first block in the block-by-block spatial arrangement; and displaying a representation of a second participant of the multiple participants in a second block in the block-by-block spatial arrangement, wherein the second participant is different from the first participant and the second block is different from the first block; while displaying representations of multiple participants in the real-time communication session in three-dimensional space, detecting an activity associated with a first participant of the multiple participants; and in response to detecting an activity associated with a first participant of the multiple participants, modifying the representation of the first participant based on the activity, including moving the first block relative to the second block in the block-by-block spatial arrangement.
[0012] 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 that communicates with one or more display generation components, the one or more programs including instructions for the following operations: displaying representations of multiple participants in a real-time communication session in a block-by-block spatial arrangement in three-dimensional space via one or more display generation components, including simultaneously: displaying a representation of a first participant of the multiple participants in a first block in the block-by-block spatial arrangement; and displaying a representation of a second participant of the multiple participants in a second block in the block-by-block spatial arrangement, wherein the second participant is different from the first participant and the second block is different from the first block; while displaying representations of multiple participants in the real-time communication session in three-dimensional space, detecting an activity associated with a first participant of the multiple participants; and in response to detecting an activity associated with a first participant of the multiple participants, modifying the representation of the first participant based on the activity, including moving the first block relative to the second block in the block-by-block spatial arrangement.
[0013] In some embodiments, a computer system is described. The computer system is configured to communicate with one or more display generation components. The computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by one or more processors, the one or more programs including instructions for the following operations: displaying representations of multiple participants in a real-time communication session in a block-based spatial arrangement in three-dimensional space via one or more display generation components, including at the same time: displaying a representation of a first participant in a plurality of participants in a first block in the block-based spatial arrangement; and displaying a representation of a second participant in a plurality of participants in a second block in the block-based spatial arrangement, wherein the second participant is different from the first participant and the second block is different from the first block; when displaying representations of multiple participants in a real-time communication session in three-dimensional space, detecting an activity associated with a first participant in the plurality of participants; and in response to detecting an activity associated with a first participant in the plurality of participants, modifying the representation of the first participant based on the activity, including moving the first block relative to the second block in the block-based spatial arrangement.
[0014] In some embodiments, a computer system is described. The computer system is configured to communicate with one or more display generation components. The computer system includes: a device for: displaying representations of multiple participants in a real-time communication session in a block-based spatial arrangement in three-dimensional space via one or more display generation components, including simultaneously: displaying a representation of a first participant in the multiple participants in a first block in the block-based spatial arrangement; and displaying a representation of a second participant in the multiple participants in a second block in the block-based spatial arrangement, wherein the second participant is different from the first participant and the second block is different from the first block; when displaying representations of multiple participants in a real-time communication session in three-dimensional space, a device for detecting an activity associated with a first participant in the multiple participants; and in response to detecting an activity associated with a first participant in the multiple participants, a device for: modifying the representation of the first participant based on the activity, including moving the first block relative to the second block in the block-based spatial arrangement.
[0015] 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 one or more display generation components, the one or more programs including instructions for the following operations: displaying representations of multiple participants in a real-time communication session in a block-based spatial arrangement in three-dimensional space via one or more display generation components, including simultaneously: displaying a representation of a first participant of the multiple participants in a first block in the block-based spatial arrangement; and displaying a representation of a second participant of the multiple participants in a second block in the block-based spatial arrangement, wherein the second participant is different from the first participant and the second block is different from the first block; while displaying representations of multiple participants in the real-time communication session in three-dimensional space, detecting an activity associated with a first participant of the multiple participants; and in response to detecting an activity associated with a first participant of the multiple participants, modifying the representation of the first participant based on the activity, including moving the first block relative to the second block in the block-based spatial arrangement.
[0016] In some embodiments, a method is described. The method includes: at a computer system in communication with one or more display generation components and one or more input devices: while a user of the computer system is participating in a real-time communication session in an augmented reality environment in which the user is represented to other participants in the real-time communication session as a three-dimensional avatar: displaying a self-view representation of an avatar of the user of the computer system via the one or more display generation components, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session; while displaying the self-view representation of the avatar of the user of the computer system, detecting movement of the user of the computer system via the one or more input devices; and in response to detecting movement of the user of the computer system, updating display of the self-view representation of the avatar of the user of the computer system via the one or more display generation components, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session.
[0017] 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 one or more display generation components and one or more input devices, the one or more programs including instructions for the following operations: while a user of the computer system is participating in a real-time communication session in an augmented reality environment in which the user is represented to other participants in the real-time communication session as a three-dimensional avatar: displaying a self-view representation of an avatar of the user of the computer system via the one or more display generation components, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session; while displaying the self-view representation of the avatar of the user of the computer system, detecting movement of the user of the computer system via the one or more input devices; and in response to detecting movement of the user of the computer system, updating the display of the self-view representation of the avatar of the user of the computer system via the one or more display generation components, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session.
[0018] 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 one or more display generation components and one or more input devices, the one or more programs including instructions for the following operations: while a user of the computer system is participating in a real-time communication session in an augmented reality environment in which the user is represented to other participants in the real-time communication session as a three-dimensional avatar: displaying a self-view representation of an avatar of the user of the computer system via the one or more display generation components, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session; while displaying the self-view representation of the avatar of the user of the computer system, detecting movement of the user of the computer system via the one or more input devices; and in response to detecting movement of the user of the computer system, updating the display of the self-view representation of the avatar of the user of the computer system via the one or more display generation components, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session.
[0019] In some embodiments, a computer system is described. The computer system is configured to communicate with one or more display generation components and one or more input devices. 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 of the computer system is participating in a real-time communication session in an augmented reality environment in which the user is represented to other participants in the real-time communication session as a three-dimensional avatar: displaying a self-view representation of the avatar of the user of the computer system via one or more display generation components, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session; when displaying the self-view representation of the avatar of the user of the computer system, detecting the movement of the user of the computer system via one or more input devices; and in response to detecting the movement of the user of the computer system, updating the display of the self-view representation of the avatar of the user of the computer system via one or more display generation components, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session.
[0020] In some embodiments, a computer system is described. The computer system is configured to communicate with one or more display generation components and one or more input devices. The computer system includes: when a user of the computer system is participating in a real-time communication session in an augmented reality environment in which the user is represented to other participants in the real-time communication session as a three-dimensional avatar, a device for: displaying a self-view representation of the avatar of the user of the computer system via one or more display generation components, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session; while displaying the self-view representation of the avatar of the user of the computer system, detecting movement of the user of the computer system via one or more input devices; and in response to detecting movement of the user of the computer system, updating the display of the self-view representation of the avatar of the user of the computer system via one or more display generation components, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session.
[0021] 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 one or more display generation components and one or more input devices, the one or more programs including instructions for the following operations: while a user of the computer system is participating in a real-time communication session in an augmented reality environment in which the user is represented to other participants in the real-time communication session as a three-dimensional avatar: displaying a self-view representation of an avatar of the user of the computer system via the one or more display generation components, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session; while displaying the self-view representation of the avatar of the user of the computer system, detecting movement of the user of the computer system via the one or more input devices; and in response to detecting movement of the user of the computer system, updating display of the self-view representation of the avatar of the user of the computer system via the one or more display generation components, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session.
[0022] In some embodiments, a method is described. The method includes: at a computer system in communication with one or more display generation components: displaying a view of a three-dimensional avatar corresponding to a participant in the real-time communication session via the one or more display generation components, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a first position in a three-dimensional environment that the participant is using to participate in the real-time communication session; when the view of the three-dimensional avatar is displayed in the real-time communication session, a change in the participant's viewpoint relative to a representation of the real-time communication session occurs in the three-dimensional environment that the participant is using to participate in the real-time communication session; and in response to a change in the participant's viewpoint relative to a representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session, updating the view of the three-dimensional avatar in the real-time communication session, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a second position in the three-dimensional environment that the participant is using to participate in the real-time communication session, the second position being based on a change in the participant's viewpoint relative to a representation of the real-time communication session in the three-dimensional environment that the participant is using to participate in the real-time communication session.
[0023] In some embodiments, a non-transitory computer-readable 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 one or more display generation components, the one or more programs including instructions for the following operations: displaying a view of a three-dimensional avatar corresponding to a participant in the real-time communication session via the one or more display generation components, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a first position in a three-dimensional environment that the participant is using to participate in the real-time communication session; when the view of the three-dimensional avatar is displayed in the real-time communication session, a change in the participant's viewpoint relative to a representation of the real-time communication session occurs in the three-dimensional environment that the participant is using to participate in the real-time communication session; and in response to a change in the participant's viewpoint relative to a representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session, updating the view of the three-dimensional avatar in the real-time communication session, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a second position in the three-dimensional environment that the participant is using to participate in the real-time communication session, the second position being based on a change in the participant's viewpoint relative to a representation of the real-time communication session in the three-dimensional environment that the participant is using to participate in the real-time communication session.
[0024] 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 one or more display generation components, the one or more programs including instructions for the following operations: displaying a view of a three-dimensional avatar corresponding to a participant in the real-time communication session in a real-time communication session via the one or more display generation components, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a first position in a three-dimensional environment that the participant is using to participate in the real-time communication session; when the view of the three-dimensional avatar is displayed in the real-time communication session, a change in the participant's viewpoint relative to a representation of the real-time communication session occurs in the three-dimensional environment that the participant is using to participate in the real-time communication session; and in response to a change in the participant's viewpoint relative to a representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session, updating the view of the three-dimensional avatar in the real-time communication session, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a second position in the three-dimensional environment that the participant is using to participate in the real-time communication session, the second position being based on a change in the participant's viewpoint relative to a representation of the real-time communication session in the three-dimensional environment that the participant is using to participate in the real-time communication session.
[0025] In some embodiments, a computer system is described. The computer system is configured to communicate with one or more display generation components. The computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by one or more processors, the one or more programs including instructions for the following operations: displaying a view of a three-dimensional avatar corresponding to a participant in the real-time communication session in a real-time communication session via one or more display generation components, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a first position in a three-dimensional environment that the participant is using to participate in the real-time communication session; when the view of the three-dimensional avatar is displayed in the real-time communication session, a change in the participant's viewpoint relative to the representation of the real-time communication session occurs in the three-dimensional environment that the participant is using to participate in the real-time communication session; and in response to a change in the participant's viewpoint relative to the representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session, updating the view of the three-dimensional avatar in the real-time communication session, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a second position in the three-dimensional environment that the participant is using to participate in the real-time communication session, the second position is based on a change in the participant's viewpoint relative to the representation of the real-time communication session in the three-dimensional environment that the participant is using to participate in the real-time communication session.
[0026] In some embodiments, a computer system is described. The computer system is configured to communicate with one or more display generation components. The computer system includes: a device for: displaying a view of a three-dimensional avatar corresponding to a participant in a real-time communication session via one or more display generation components, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a first position in a three-dimensional environment that the participant is using to participate in the real-time communication session; when the view of the three-dimensional avatar is displayed in the real-time communication session, a device for: a change in the participant's viewpoint relative to the representation of the real-time communication session occurs in the three-dimensional environment that the participant is using to participate in the real-time communication session; and in response to a change in the participant's viewpoint relative to the representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session, a device for updating the view of the three-dimensional avatar in the real-time communication session, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a second position in the three-dimensional environment that the participant is using to participate in the real-time communication session, and the second position is based on a change in the participant's viewpoint relative to the representation of the real-time communication session in the three-dimensional environment that the participant is using to participate in the real-time communication session.
[0027] 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 one or more display generation components, the one or more programs including instructions for the following operations: displaying a view of a three-dimensional avatar corresponding to a participant in the real-time communication session in the real-time communication session via the one or more display generation components, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a first position in a three-dimensional environment that the participant is using to participate in the real-time communication session; when the view of the three-dimensional avatar is displayed in the real-time communication session, a change occurs in the three-dimensional environment that the participant is using to participate in the real-time communication session relative to a representation of the real-time communication session; and in response to a change in the view of the participant relative to a representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session, updating the view of the three-dimensional avatar in the real-time communication session, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a second position in the three-dimensional environment that the participant is using to participate in the real-time communication session, the second position being based on a change in the view of the participant relative to a representation of the real-time communication session in the three-dimensional environment that the participant is using to participate in the real-time communication session.
[0028] In some embodiments, a method is described. The method includes: at a computer system in communication with one or more display generation components and one or more input devices: displaying a first user interface associated with a graphical representation of a user of the computer system via the one or more display generation components without displaying a graphical representation of a user of the computer system; detecting a user's gaze via the one or more input devices when displaying the first user interface associated with a graphical representation of a user of the computer system without displaying the graphical representation of the user of the computer system; and in response to detecting the user's gaze: displaying the user's graphical representation in the first user interface via the one or more display generation components based on determining that a set of one or more criteria are satisfied, the set of one or more criteria including a criterion satisfied when the user's gaze is directed to a first position in the first user interface.
[0029] 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 one or more display generation components and one or more input devices, the one or more programs including instructions for the following operations: displaying a first user interface associated with a graphical representation of a user of the computer system via one or more display generation components without displaying a graphical representation of a user of the computer system; detecting a user's gaze via one or more input devices when displaying a first user interface associated with a graphical representation of a user of the computer system without displaying a graphical representation of a user of the computer system; and in response to detecting the user's gaze: displaying a graphical representation of the user in the first user interface via one or more display generation components based on determining that a set of one or more criteria are satisfied, the set of one or more criteria including a criterion satisfied when the user's gaze is directed to a first position in the first user interface.
[0030] 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 one or more display generation components and one or more input devices, the one or more programs including instructions for the following operations: displaying a first user interface associated with a graphical representation of a user of the computer system via one or more display generation components without displaying a graphical representation of a user of the computer system; detecting a user's gaze via one or more input devices when displaying the first user interface associated with a graphical representation of a user of the computer system without displaying a graphical representation of a user of the computer system; and in response to detecting the user's gaze: displaying a graphical representation of the user in the first user interface via one or more display generation components based on determining that a set of one or more criteria are satisfied, the set of one or more criteria including a criterion satisfied when the user's gaze is directed to a first position in the first user interface.
[0031] In some embodiments, a computer system is described. The computer system is configured to communicate with one or more display generation components and one or more input devices. The computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by one or more processors, the one or more programs including instructions for the following operations: displaying a first user interface associated with a graphical representation of a user of the computer system via one or more display generation components without displaying a graphical representation of a user of the computer system; when displaying a first user interface associated with a graphical representation of a user of the computer system without displaying a graphical representation of a user of the computer system, detecting the user's gaze via one or more input devices; and in response to detecting the user's gaze: based on determining that a set of one or more criteria are met, the set of one or more criteria includes a criterion met when the user's gaze is directed to a first position in the first user interface, displaying the user's graphical representation in the first user interface via one or more display generation components.
[0032] In some embodiments, a computer system is described. The computer system is configured to communicate with one or more display generation components and one or more input devices. The computer system includes: a device for: displaying a first user interface associated with a graphical representation of a user of the computer system via one or more display generation components without displaying a graphical representation of a user of the computer system; a device for: detecting the user's gaze via one or more input devices when displaying the first user interface associated with a graphical representation of a user of the computer system without displaying a graphical representation of a user of the computer system; and a device for: in response to detecting the user's gaze: displaying the user's graphical representation in the first user interface via one or more display generation components based on determining that a set of one or more criteria are satisfied, the set of one or more criteria including a criterion satisfied when the user's gaze is directed to a first position in the first user interface.
[0033] 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 one or more display generation components and one or more input devices, the one or more programs including instructions for the following operations: displaying a first user interface associated with a graphical representation of a user of the computer system via one or more display generation components without displaying a graphical representation of a user of the computer system; detecting a user's gaze via one or more input devices when displaying the first user interface associated with a graphical representation of a user of the computer system without displaying a graphical representation of a user of the computer system; and in response to detecting the user's gaze: displaying a graphical representation of the user in the first user interface via one or more display generation components based on determining that a set of one or more criteria are satisfied, the set of one or more criteria including a criterion satisfied when the user's gaze is directed to a first position in the first user interface.
[0034] 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
[0035] 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.
[0036] Figure 1A is a block diagram illustrating an operating environment of a computer system for providing an XR experience in some embodiments.
[0037] Figure 1B to Figure 1P is used in Figure 1A An example of a computer system that provides an XR experience in an operating environment.
[0038] Figure 2 is a block diagram illustrating a controller of a computer system that, in some embodiments, is configured to manage and coordinate a user's XR experience.
[0039] Figure 3 is a block diagram illustrating display generation components of a computer system that, in some embodiments, is configured to provide the visual component of an XR experience to a user.
[0040] Figure 4is a block diagram illustrating a hand tracking unit of a computer system that, in some embodiments, is configured to capture gesture input from a user.
[0041] Figure 5 is a block diagram illustrating an eye tracking unit of a computer system that, in some embodiments, is configured to capture gaze input from a user.
[0042] Figure 6 is a flow chart illustrating a flash-assisted gaze tracking pipeline in some embodiments.
[0043] 7A to 7E Example techniques for displaying representations of participants in a real-time communication session in some embodiments are shown.
[0044] Figure 8 is a flowchart of a method for modifying a representation of a participant based on an activity associated with the participant in some embodiments.
[0045] Fig. 9 is a flowchart of a method of displaying a self-view representation of an avatar of a user of a computer system in some embodiments.
[0046] FIG. 10A to FIG. 10H Example techniques are shown for updating an avatar's view in a real-time communication session in some embodiments.
[0047] Fig.11 is a flowchart of a method of updating an avatar's view in a real-time communication session in some embodiments.
[0048] FIG. 12A to FIG. 12F Example techniques for displaying representations of participants in a real-time communication session in some embodiments are shown.
[0049] Fig.13 is a flowchart of a method of displaying representations of participants in a real-time communication session in some embodiments. DETAILED DESCRIPTION
[0050] In some embodiments, the present disclosure relates to a user interface for providing an extended reality (XR) experience to a user.
[0051] In some embodiments, the computer system displays content in a first area of the user interface. In some embodiments, the computer system detects a first input from a first portion of the user while the computer system is displaying the content and while the first set of controls is not displayed in the first state. In some embodiments, in response to detecting the first input, and based on determining that the user's gaze was directed to a second area of the user interface when the first input was detected, the computer system displays the first set of one or more controls in the first state in the user interface, and based on determining that the user's gaze was not directed to the second area of the user interface when the first input was detected, the computer system abandons displaying the first set of one or more controls in the first state.
[0052] In some embodiments, a computer system displays content in a user interface. In some embodiments, when displaying the content, the computer system detects a first input based on the movement of a first portion of a user of the computer system. In some embodiments, in response to detecting the first input, the computer system displays a first group of one or more controls in the user interface, wherein the first group of one or more controls are displayed in a first state and are displayed within a first area of the user interface. In some embodiments, when the first group of one or more controls are displayed in a first state: based on determining that one or more first criteria are met, including criteria that are met when the user's attention is directed to the first area of the user interface based on the movement of a second portion of the user that is different from the first portion of the user, the computer system switches from displaying the first group of one or more controls in a first state to displaying the second group of one or more controls in a second state, wherein the second state is different from the first state.
[0053] Figures 1A to 6 A description of an example computer system for providing an XR experience to a user is provided. 7A to 7E Example techniques for displaying representations of participants in a real-time communication session in some embodiments are shown. Figure 8 is a flowchart of a method for modifying a representation of a participant based on an activity associated with the participant in some embodiments. Fig. 9 is a flowchart of a method of displaying a self-view representation of an avatar of a user of a computer system in some embodiments. 7A to 7E The user interface in Figures 8 to 9 process. FIG. 10A to FIG. 10H Example techniques are shown for updating an avatar's view in a real-time communication session in some embodiments. Fig.11 is a flowchart of a method of updating an avatar's view in a real-time communication session in some embodiments. FIG. 10A to FIG. 10H The user interface in Fig.11 process. FIG. 12A to FIG. 12F Example techniques for displaying representations of participants in a real-time communication session in some embodiments are shown. Fig.13 is a flow diagram of a method of displaying representations of participants of a real-time communication session in some embodiments. FIG. 12A to FIG. 12F The user interface in Fig.13 process.
[0054] 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.
[0055] 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.
[0056] In some embodiments, such as Figure 1A As 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).
[0057] 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:
[0058] 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.
[0059] 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.
[0060] Examples of XR include virtual reality and mixed reality.
[0061] 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.
[0062] 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.
[0063] Examples of mixed reality include augmented reality and augmented virtuality.
[0064] 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.
[0065] 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.
[0066] In an augmented reality, mixed reality or virtual reality environment, a view of a three-dimensional environment is visible to a user. The view of a three-dimensional environment is usually visible to a user through a virtual viewport via one or more display generation components (e.g., a display or a pair of display modules that provide stereoscopic content to different eyes of the same user), and the virtual viewport has a viewport boundary, which defines the scope of the three-dimensional environment visible to the user via one or more display generation components. In some embodiments, the area defined by the viewport boundary is smaller than the user's visual range in one or more dimensions (e.g., based on the user's visual range, the size of one or more display generation components, optical properties or other physical properties, and / or the position and / or orientation of one or more display generation components relative to the user's eyes). In some embodiments, the area defined by the viewport boundary is larger than the user's visual range in one or more dimensions (e.g., based on the user's visual range, the size of one or more display generation components, optical properties or other physical properties, and / or the position and / or orientation of one or more display generation components relative to the user's eyes). The viewport and viewport boundary usually move with the movement of one or more display generation components (e.g., for a head-mounted device, it moves with the user's head, or for a handheld device such as a tablet or smart phone, it moves with the user's hand). The user's viewpoint determines what is visible in the viewport, and the viewpoint typically specifies a position and orientation relative to the three-dimensional environment, and as the viewpoint moves, the view of the three-dimensional environment will also move in the viewport. For head-mounted devices, the viewpoint is typically based on the position and orientation of the user's head, face, and / or eyes to provide a view of the three-dimensional environment that is perceptually accurate and provides an immersive experience when the user is using the head-mounted device. For handheld or fixed devices, the viewpoint moves as the handheld or fixed device moves and / or as the user's positioning relative to the handheld or fixed device changes (e.g., the user moves toward, away from, up, down, right, and / or left). For devices including display generation components with virtual pass-through, portions of the physical environment that are visible (e.g., displayed and / or projected) via one or more display generation components are based on the field of view of one or more cameras in communication with the display generation components, which one or more cameras typically move with movement of the display generation components (e.g., with movement of the user's head for a head-mounted device, or with movement of the user's hands for a handheld device such as a tablet or smartphone) because the user's viewpoint moves with movement of the field of view of the one or more cameras (and the appearance of one or more virtual objects displayed via the one or more display generation components is updated based on the user's viewpoint (e.g., the display position and pose of the virtual objects are updated based on movement of the user's viewpoint)).For display generating components with optical transmittance, portions of the physical environment that are visible via one or more display generating components (e.g., optically visible through one or more partially or fully transparent portions of the display generating components) are based on the user's field of view through the partially or fully transparent portions of the display generating components (e.g., moves as the user's head moves for a head-mounted device, or moves as the user's hands move for a handheld device such as a tablet or smart phone) because the user's viewpoint moves as the user moves through the field of view of the partially or fully transparent portions of the display generating components (and the appearance of one or more virtual objects is updated based on the user's viewpoint).
[0067] In some embodiments, the representation of the physical environment (e.g., displayed via virtual transmission or optical transmission) may be partially or completely obscured by the virtual environment. In some embodiments, the amount of the virtual environment displayed (e.g., the amount of the physical environment that is not displayed) is based on the immersion level of the virtual environment (e.g., relative to the representation of the physical environment). For example, increasing the immersion level optionally causes more of the virtual environment to be displayed, replacing and / or obscuring more of the physical environment, and reducing the immersion level optionally causes less of the virtual environment to be displayed, thereby revealing portions of the physical environment that were previously not displayed and / or obscured. In some embodiments, at a particular immersion level, one or more first background objects (e.g., in the representation of the physical environment) are more visually de-emphasized (e.g., dimmed, blurred, displayed with increased transparency) than one or more second background objects, and one or more third background objects cease to be displayed. In some embodiments, the immersion level includes an associated degree to which virtual content (e.g., a virtual environment and / or virtual content) displayed by a computer system obscures background content (e.g., content other than the virtual environment and / or virtual content) surrounding / behind the virtual environment, optionally including the number of items of background content displayed and / or displayed visual characteristics of the background content (e.g., color, contrast, and / or opacity), the angular range of the virtual content displayed via the display generation component (e.g., 60 degrees for content displayed at low immersion, 120 degrees for content displayed at medium immersion, or 180 degrees for content displayed at high immersion), and / or the proportion of the field of view displayed via the display generation component that is occupied by the virtual content (e.g., 33% of the field of view occupied by the virtual content at low immersion, 66% of the field of view occupied by the virtual content at medium immersion, or 100% of the field of view occupied by the virtual content at high immersion). In some embodiments, the background content is included in the background on which the virtual content is displayed (e.g., background content in a representation of the physical environment). In some embodiments, the background content includes a user interface (e.g., a user interface generated by a computer system corresponding to an application), virtual objects that are not associated with or included in the virtual environment and / or virtual content (e.g., files generated by a computer system or representations of other users, etc.), and / or real objects (e.g., transparent objects representing real objects in the physical environment surrounding the user, which are visible so that they are displayed via the display generation component and / or visible via transparent or translucent components of the display generation component because the computer system does not block / impede their visibility through the display generation component). In some embodiments, at a low immersion level (e.g., a first immersion level), the background, virtual and / or real objects are displayed in an unobstructed manner. For example, a virtual environment with a low immersion level is optionally displayed simultaneously with the background content, which is optionally displayed at full brightness, color and / or translucency.In some embodiments, at a higher immersion level (e.g., a second immersion level higher than the first immersion level), background, virtual and / or real objects are displayed in an obstructed manner (e.g., dimmed, blurred, or removed from the display). For example, a corresponding virtual environment with a high immersion level is displayed without simultaneously displaying background content (e.g., in full screen or full immersion mode). As another example, a virtual environment displayed at a medium immersion level is displayed simultaneously with background content that is dimmed, blurred, or otherwise de-emphasized. In some embodiments, the visual characteristics of background objects vary between background objects. For example, at a particular immersion level, one or more first background objects are more visually de-emphasized (e.g., dimmed, blurred, and / or displayed with increased transparency) than one or more second background objects, and one or more third background objects stop displaying. In some embodiments, zero immersion or zero immersion level corresponds to a virtual environment that stops displaying, and instead displays a representation of the physical environment (optionally with one or more virtual objects, such as applications, windows, or virtual three-dimensional objects), while the representation of the physical environment is not obscured by the virtual environment. Adjusting the immersion level using physical input elements provides a fast and efficient method of adjusting the degree of immersion, which enhances the operability of the computer system and makes the user-device interface more efficient.
[0068] 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."
[0069] 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.
[0070] 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).
[0071] 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 hologram 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, IEEE802.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.
[0072] 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.
[0073] 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.
[0074] 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)).
[0075] Despite Figure 1A Relevant features of operating environment 100 are shown, but those skilled in the art will recognize from this disclosure that various other features are not shown for the sake of brevity and so as not to obscure more relevant aspects of the example embodiments disclosed herein.
[0076] Figure 1A to Figure 1PVarious examples of computer systems for performing methods and providing audio, visual, and / or tactile feedback as part of the user interface described herein are shown. In some embodiments, the computer system includes one or more display generation components (e.g., a first display component 1-120a and a second display component 1-120b and / or a first optical module 11.1.1-104a and a second optical module 11.1.1-104b) for displaying to a user of the computer system a representation of a virtual element and / or a physical environment, optionally generated based on detected events and / or user input detected by the computer system. The user interface generated by the computer system is optionally corrected by one or more corrective lenses 11.3.2-216, which are optionally removably attached to one or more of the optical modules to make the user interface easier to view by users who would otherwise use glasses or contact lenses to correct their vision. Although many of the user interfaces shown herein show a single view of the user interface, the user interface in the HMD is optionally displayed using two optical modules (e.g., a first display component 1-120a and a second display component 1-120b and / or a first optical module 11.1.1-104a and a second optical module 11.1.1-104b), one optical module for the user's right eye and a different optical module for the user's left eye, and slightly different images are presented to the two different eyes to generate the illusion of stereoscopic depth, the single view of the user interface is typically a right eye view or a left eye view, and the depth effect is explained in the text or using other schematics or views. In some embodiments, the computer system includes one or more external displays (e.g., display components 1-108) for displaying status information of the computer system to a user of the computer system (when the computer system is not worn) and / or to other people near the computer system, the status information being optionally generated based on detected events and / or user input detected by the computer system. In some embodiments, the computer system includes one or more audio output components (e.g., electronic components 1-112) for generating audio feedback, which is optionally generated based on detected events and / or user input detected by the computer system. In some embodiments, the computer system includes one or more input devices for detecting input, such as one or more sensors for detecting information about the physical environment of the device (e.g., one or more sensors in sensor components 1-356, and / or Fig. 1I ), which information can be used (optionally in conjunction with one or more luminaires, such as Fig. 1IThe computer system may generate a digital pass-through image using a lighting device as described in the above, capture visual media (e.g., photos and / or videos) corresponding to the physical environment, or determine the pose (e.g., position and / or orientation) of physical objects and / or surfaces in the physical environment, so that virtual objects can be placed based on the detected pose of the physical objects and / or surfaces. In some embodiments, the computer system includes one or more input devices for detecting input, such as one or more sensors for detecting hand position and / or movement (e.g., sensor assembly 1-356 and / or Fig. 1I One or more sensors in the apparatus) which may be used (optionally in combination with one or more illuminators, such as Fig. 1I In some embodiments, the computer system includes one or more input devices for detecting input, such as one or more sensors for detecting eye movement (e.g., Fig. 1I eye tracking and gaze tracking sensors in the Fig.1OLights 11.3.2-110 in the device) determine attention or gaze location and / or gaze movement, which can be optionally used to detect gaze-only input based on gaze movement and / or dwell. Combinations of the various sensors described above can be used to determine user facial expressions and / or hand movements for generating an avatar or representation of the user, such as an anthropomorphic avatar or representation for a real-time communication session, where the avatar has facial expressions, hand movements, and / or body movements based on or similar to the detected facial expressions, hand movements, and / or body movements of the user of the device. Gaze and / or attention information is optionally combined with hand tracking information to determine interaction between a user and one or more user interfaces based on direct and / or indirect input, such as air gestures or input using one or more hardware input devices, such as one or more buttons (e.g., first button 1-128, button 11.1.1-114, second button 1-132, and / or dial or button 1-328), knobs (e.g., first button 1-128, button 11.1.1-114, and / or dial or button 1-328), digital crown (e.g., pressable and twistable or rotatable first button 1-128, button 11.1.1-114, and / or dial or button 1-328), touchpad, touch screen, keyboard, mouse, and / or other input devices. One or more buttons (e.g., first button 1-128, button 11.1.1-114, second button 1-132, and / or dial or button 1-328) are optionally used to perform system operations, such as re-centering content in a three-dimensional environment visible to a user of the device, displaying a primary user interface for launching an application, starting a real-time communication session, or initiating display of a virtual three-dimensional background. A knob or digital crown (e.g., a pressable and twistable or rotatable first button 1-128, button 11.1.1-114, and / or dial or button 1-328) is optionally rotatable to adjust parameters of visual content, such as an immersion level of a virtual three-dimensional environment (e.g., the extent to which virtual content occupies a user's viewport in the three-dimensional environment) or other parameters associated with the three-dimensional environment and virtual content displayed via optical modules (e.g., first display component 1-120a and second display component 1-120b and / or first optical module 11.1.1-104a and second optical module 11.1.1-104b).
[0077] Figure 1BFront, top, and perspective views of an example of a head mounted display (HMD) device 1-100 configured to be worn by a user and to provide a virtual and altered / mixed reality (VR / AR) experience are shown. The HMD 1-100 may include a display unit 1-102 or assembly, an electronic strap assembly 1-104 connected to and extending from the display unit 1-102, and a strap assembly 1-106 secured to the electronic strap assembly 1-104 at either end. The electronic strap assembly 1-104 and the strap 1-106 may be part of a retaining assembly configured to wrap around a user's head to hold the display unit 1-102 against the user's face.
[0078] In at least one example, the strap assembly 1-106 may include a first strap 1-116 configured to wrap around the back of a user's head and a second strap 1-117 configured to extend over the top of the user's head. As shown, the second strap may extend between the first electronic strip 1-105a and the second electronic strip 1-105b of the electronic strip assembly 1-104. The strap assembly 1-104 and the strap assembly 1-106 may be part of a securing mechanism that extends rearward from the display unit 1-102 and is configured to hold the display unit 1-102 against the user's face.
[0079] In at least one example, the securing mechanism includes a first electronic strip 1-105a including a first proximal end 1-134 coupled to the display unit 1-102 (e.g., a housing 1-150 of the display unit 1-102) and a first distal end 1-136 opposite the first proximal end 1-134. The securing mechanism may also include a second electronic strip 1-105b including a second proximal end 1-138 coupled to the housing 1-150 of the display unit 1-102 and a second distal end 1-140 opposite the second proximal end 1-138. The securing mechanism may also include a first band 1-116 and a second band 1-117, the first band including a first end 1-142 coupled to the first distal end 1-136 and a second end 1-144 coupled to the second distal end 1-140, and the second band extending between the first electronic strip 1-105a and the second electronic strip 1-105b. The strips 1-105a-b and the strip 1-116 may be coupled via a connection mechanism or assembly 1-114. In at least one example, the second strip 1-117 includes a first end 1-146 coupled to the first electronic strip 1-105a between the first proximal end 1-134 and the first distal end 1-136 and a second end 1-148 coupled to the second electronic strip 1-105b between the second proximal end 1-138 and the second distal end 1-140.
[0080] In at least one example, the first and second electronic strips 1-105a-b include plastic, metal, or other structural materials formed into substantially rigid strip 1-105a-b shapes. In at least one example, the first band 1-116 and the second band 1-117 are formed of a resilient flexible material including a woven textile, rubber, etc. The first band 1-116 and the second band 1-117 can be flexible to conform to the shape of the user's head when the HMD 1-100 is worn.
[0081] In at least one example, one or more of the first and second electronic strips 1-105a-b can define an inner strip volume and include one or more electronic components disposed in the inner strip volume. Figure 1B As shown, the first electronic strip 1-105a may include an electronic component 1-112. In one example, the electronic component 1-112 may include a speaker. In one example, the electronic component 1-112 may include a computing component, such as a processor.
[0082] In at least one example, the housing 1-150 defines a first front opening 1-152. Figure 1B 1-152 in dashed lines because the display assembly 1-108 is arranged to block the first opening 1-152 from the field of view when the HMD 1-100 is assembled. The housing 1-150 may also define a rear-mounted second opening 1-154. The housing 1-150 also defines an internal volume between the first opening 1-152 and the second opening 1-154. In at least one example, the HMD 1-100 includes a display assembly 1-108, which may include a front cover and a display screen (shown in other figures) disposed in or across the front opening to block the front opening 1-152. In at least one example, the display screen of the display assembly 1-108, and the display assembly 1-108 in general, has a curvature configured to follow the curvature of the user's face. The display screen of the display assembly 1-108 may be curved as shown to complement the user's facial features and the overall curvature from one side of the face to the other, such as from left to right and / or from top to bottom, where the display unit 1-102 is pressed.
[0083] In at least one example, the housing 1-150 may define a first hole 1-126 between the first opening 1-152 and the second opening 1-154 and a second hole 1-130 between the first opening 1-152 and the second opening 1-154. The HMD 1-100 may also include a first button 1-126 disposed in the first hole 1-128, and a second button 1-132 disposed in the second hole 1-130. The first button 1-128 and the second button 1-132 can be pressed through the corresponding holes 1-126, 1-130. In at least one example, the first button 1-126 and / or the second button 1-132 can be a twistable dial and a pressable button. In at least one example, the first button 1-128 is a pressable and twistable dial button, and the second button 1-132 is a pressable button.
[0084] Figure 1C A rear perspective view of the HMD 1-100 is shown. The HMD 1-100 may include a light seal 1-110 extending rearwardly from the housing 1-150 of the display assembly 1-108 around the periphery of the housing 1-150, as shown. The light seal 1-110 may be configured to extend from the housing 1-150 to the face of the user, surrounding the eyes of the user, to block external light from being visible. In one example, the HMD 1-100 may include a first display assembly 1-120a and a second display assembly 1-120b, which are disposed at or in a rearward-facing second opening 1-154 defined by the housing 1-150 and / or disposed in the interior volume of the housing 1-150 and are configured to project light through the second opening 1-154. In at least one example, each display assembly 1-120a-b may include a corresponding display screen 1-122a, 1-122b, which is configured to project light in a rearward direction through the second opening 1-154 toward the eyes of the user.
[0085] In at least one example, reference Figure 1B and Figure 1C In both cases, the display assembly 1-108 may be a front-facing forward display assembly including a display screen configured to project light in a first forward direction, and the rear display screens 1-122a-b may be configured to project light in a second rearward direction opposite the first direction. As described above, the light seal 1-110 may be configured to block light external to the HMD 1-100 from reaching the user's eyes, including by Figure 1B 1-108 is shown in the front perspective view of the HMD 1-100. In at least one example, the HMD 1-100 may also include a curtain 1-124 that blocks the second opening 1-154 between the housing 1-150 and the rear display assembly 1-120a-b. In at least one example, the curtain 1-124 may be elastic or at least partially elastic.
[0086] Figure 1B and Figure 1C Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination. Figures 1D to 1F Any other examples of devices, features, components and parts shown and described herein. Figure 1D and Figure 1F Any of the features, components and / or parts shown or described (including their arrangement and configuration) may be included alone or in any combination. Figure 1B and Figure 1C Examples of devices, features, components, and parts are shown.
[0087] Figure 1D An exploded view of an example of an HMD 1-200 is shown that includes various parts or components that are separated according to modularization and selective coupling of these components. For example, the HMD 1-200 may include a band 1-216 that is selectively coupled to the first electronic strip 1-205a and the second electronic strip 1-205b. The first fixed strip 1-205a may include a first electronic component 1-212a, and the second fixed strip 1-205b may include a second electronic component 1-212b. In at least one example, the first and second strips 1-205a-b can be removably coupled to the display unit 1-202.
[0088] Additionally, the HMD 1-200 may include an optical seal 1-210 configured to be removably coupled to the display unit 1-202. The HMD 1-200 may also include a lens 1-218 that may be removably coupled to the display unit 1-202, for example, over a first component including a display screen and a second display component. The lens 1-218 may include a custom prescription lens configured to correct vision. As noted, in Figure 1D Each of the parts shown in the exploded view of and described above can be removably coupled, attached, reattached, and replaced to update parts or swap out parts for different users. For example, bands such as band 1-216, optical seals such as optical seal 1-210, lenses such as lens 1-218, and electronic strips such as electronic strips 1-205a-b can be swapped out depending on the user so that these parts are customized to fit and correspond to a single user of the HMD 1-200.
[0089] Figure 1D Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination. Figure 1B , Figure 1C and Figure 1E to Figure 1FAny other examples of devices, features, components and parts shown and described herein. Figure 1B , Figure 1C and Figure 1E to Figure 1F Any of the features, components and / or parts shown or described (including their arrangement and configuration) may be included alone or in any combination. Figure 1D Examples of devices, features, components, and parts are shown.
[0090] Figure 1E An exploded view of an example of a display unit 1-306 of an HMD is shown. The display unit 1-306 may include a front display assembly 1-308, a frame / housing assembly 1-350, and a curtain assembly 1-324. The display unit 1-306 may also include a sensor assembly 1-350, a logic board assembly 1-358, and a cooling assembly 1-360 disposed between the frame assembly 1-356 and the front display assembly 1-308. In at least one example, the display unit 1-306 may also include a rear display assembly 1-320, which includes a first rear display screen 1-322a and a second rear display screen 1-322b disposed between the frame 1-350 and the curtain assembly 1-324.
[0091] In at least one example, the display unit 1-306 may also include a motor assembly 1-362 configured as an adjustment mechanism for adjusting the position of the display screens 1-322a-b of the display assembly 1-320 relative to the frame 1-350. In at least one example, the display assembly 1-320 is mechanically coupled to the motor assembly 1-362, with each display screen 1-322a-b having at least one motor such that the motor can translate the display screens 1-322a-b to match the interpupillary distance of the user's eyes.
[0092] In at least one example, the display unit 1-306 may include a dial or button 1-328 that is depressible relative to the frame 1-350 and accessible by a user external to the frame 1-350. The button 1-328 may be electrically connected to the motor assembly 1-362 via a controller such that the button 1-328 may be manipulated by a user to cause a motor of the motor assembly 1-362 to adjust the position of the display screens 1-322a-b.
[0093] Figure 1E Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination. Figures 1B to 1D and Figure 1F Any other examples of devices, features, components and parts shown and described herein. Figures 1B to 1D and Figure 1FAny of the features, components and / or parts shown or described (including their arrangement and configuration) may be included alone or in any combination. Figure 1E Examples of devices, features, components, and parts are shown.
[0094] Figure 1F An exploded view of another example of a display unit 1-406 of an HMD device similar to other HMD devices described herein is shown. The display unit 1-406 may include a front display assembly 1-402, a sensor assembly 1-456, a logic board assembly 1-458, a cooling assembly 1-460, a frame assembly 1-450, a rear display assembly 1-421, and a curtain assembly 1-424. The display unit 1-406 may also include a motor assembly 1-462 for adjusting the position of the first display subassembly 1-420a and the second display subassembly 1-420b of the rear display assembly 1-421, including the first corresponding display screen and the second corresponding display screen for interpupillary adjustment, as described above.
[0095] Figure 1F The various parts, systems and assemblies shown in exploded views herein are referenced Figures 1B to 1E and subsequent figures referenced in this disclosure are described in more detail. Figure 1F The display unit 1-406 shown can be used with Figures 1B to 1E The fixing mechanism shown is assembled and integrated, and the fixing mechanism includes electronic strips, belts and other components including optical seals, connecting components, etc.
[0096] Figure 1F Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination. Figures 1B to 1E Any other examples of devices, features, components and parts shown and described herein. Figures 1B to 1E Any of the features, components and / or parts shown or described (including their arrangement and configuration) may be included alone or in any combination. Figure 1F Examples of devices, features, components, and parts are shown.
[0097] Figure 1G A perspective exploded view of the front cover assembly 3-100 of the HMD device described herein is shown, for example Figure 1G The front cover assembly 3-1 of the HMD 3-100 shown, or any other HMD device shown and described herein. Figure 1GThe front cover assembly 3-100 shown may include a transparent or translucent cover 3-102, a shield 3-104 (or "canopy"), an adhesive layer 3-106, a display assembly 3-108 including a lenticular lens panel or array 3-110, and a structural trim 3-112. The adhesive layer 3-106 may secure the shield 3-104 and / or the transparent cover 3-102 to the display assembly 3-108 and / or the trim 3-112. The trim 3-112 may secure the various components of the front cover assembly 3-100 to a frame or base of the HMD device.
[0098] In at least one example, Figure 1G As shown, the transparent cover 3-102, the shield 3-104 and the display assembly 3-108 including the lenticular lens array 3-110 can be bent to adapt to the curvature of the user's face. The transparent cover 3-102 and the shield 3-104 can be bent in two or three dimensions, for example, vertically bent in the Z direction inside and outside the ZX plane, and horizontally bent in the X direction inside and outside the ZX plane. In at least one example, the display assembly 3-108 may include a lenticular lens array 3-110 and a display panel having pixels that are configured to project light through the shield 3-104 and the transparent cover 3-102. The display assembly 3-108 can be bent in at least one direction (e.g., horizontally) to adapt to the curvature of the user's face from one side of the face (e.g., the left side) to the other side (e.g., the right side). In at least one example, each layer or component of the display assembly 3-108 (which will be shown in subsequent figures and described in more detail, but which may include the lenticular lens array 3-110 and the display layer) may be curved similarly or concentrically in the horizontal direction to accommodate the curvature of the user's face.
[0099] In at least one example, the shield 3-104 may include a transparent or translucent material through which the display assembly 3-108 projects light. In one example, the shield 3-104 may include one or more opaque portions, such as an opaque ink printed portion or other opaque film portion on the back of the shield 3-104. When the HMD device is worn, the rear surface may be the surface of the shield 3-104 facing the user's eyes. In at least one example, the opaque portion may be on the front surface of the shield 3-104 opposite to the rear surface. In at least one example, one or more opaque portions of the shield 3-104 may include a peripheral portion that visually hides any components surrounding the outer periphery of the display screen of the display assembly 3-108. In this way, the opaque portion of the shield hides any other components of the HMD device that would otherwise be visible through the transparent or translucent cover 3-102 and / or the shield 3-104, including electronic components, structural components, etc.
[0100] In at least one example, the shield 3-104 may define one or more aperture transparent portions 3-120 through which the sensor may send and receive signals. In one example, the portion 3-120 is a hole through which the sensor may extend or send and receive signals. In one example, the portion 3-120 is a transparent portion, or a portion that is more transparent than the surrounding translucent or opaque portion of the shield through which the sensor may send and receive signals through the shield and through the transparent cover 3-102. In one example, the sensor may include a camera, an IR sensor, a LUX sensor, or any other visual or non-visual environmental sensor of the HMD device.
[0101] Figure 1G Any of the features, components, and / or parts shown (including arrangements and configurations thereof) may be included alone or in any combination in any other examples of devices, features, components, and parts described herein. Likewise, any of the features, components, and / or parts shown and described herein (including arrangements and configurations thereof) may be included alone or in any combination in any other examples of devices, features, components, and parts described herein. Figure 1G Examples of devices, features, components, and parts are shown.
[0102] Figure 1H An exploded view of an example of an HMD device 6-100 is shown. The HMD device 6-100 may include a sensor array or system 6-102 including one or more sensors, cameras, projectors, etc. mounted to one or more components of the HMD 6-100. In at least one example, the sensor system 6-102 may include a bracket 1-338 to which one or more sensors of the sensor system 6-102 may be fixed / secured.
[0103] Fig. 1I A portion of an HMD device 6-100 is shown including a front transparent cover 6-104 and a sensor system 6-102. The sensor system 6-102 may include a plurality of different sensors, emitters, receivers, including cameras, IR sensors, projectors, etc. The transparent cover 6-104 is shown in front of the sensor system 6-102 to illustrate the relative positions of the various sensors and emitters and the orientation of each sensor / emitter of the system 6-102. As referred to herein, "lateral," "sideways," "lateral," "horizontal," and other similar terms refer to aspects of the present invention. Figure 1J The x-axis is used to indicate the orientation or direction. Terms such as "vertical", "upward", "downward" and the like refer to the orientation or direction of the Figure 1J The orientation or direction is indicated by the Z-axis shown. Terms such as "forward," "rearward," "forward," "rearward" and the like refer to Figure 1J The Y-axis shown indicates the orientation or direction.
[0104] In at least one example, a transparent cover 6-104 may define a front exterior surface of the HMD device 6-100, and a sensor system 6-102 including various sensors and components thereof may be disposed in the Y axis / direction behind the cover 6-104. The cover 6-104 may be transparent or translucent to allow light to pass through the cover 6-104, including both light detected by the sensor system 6-102 and light emitted thereby.
[0105] As described elsewhere herein, the HMD device 6-100 may include one or more controllers including processors for electrically coupling the various sensors and transmitters of the sensor system 6-102 to one or more motherboards, processing units, and other electronic devices such as display screens. In addition, as will be shown in more detail below with reference to other figures, the various sensors, transmitters, and other components of the sensor system 6-102 may be coupled to Fig. 1I Various structural frame members, brackets, etc. of the HMD device 6-100 are not shown. For clarity, Fig. 1I Components of the sensor system 6-102 are shown unattached and unelectrically coupled to other components.
[0106] In at least one example, the device may include one or more controllers having a processor configured to execute instructions stored on a memory component electrically coupled to the processor. The instructions may include or cause the processor to execute one or more algorithms for self-correcting the angles and positions of the various cameras described herein over time as the initial position, angle, or orientation of the camera is bumped or deformed due to an accidental drop event or other event.
[0107] In at least one example, the sensor system 6-102 may include one or more scene cameras 6-106. The system 6-102 may include two scene cameras 6-102, respectively disposed on either side of the nose bridge or arch structure of the HMD device 6-100, such that each of the two cameras 6-106 roughly corresponds to the position of the left eye and the right eye of the user behind the cover 6-103. In at least one example, the scene camera 6-106 is generally oriented forward in the Y direction to capture images in front of the user during use of the HMD 6-100. In at least one example, the scene camera is a color camera and provides images and content for MR video pass-through to a display screen facing the user's eyes when the HMD device 6-100 is used. The scene camera 6-106 can also be used for environment and object reconstruction.
[0108] In at least one example, the sensor system 6-102 may include a first depth sensor 6-108 that is generally pointed forward in the Y direction. In at least one example, the first depth sensor 6-108 may be used for environment and object reconstruction and hand and body tracking of the user. In at least one example, the sensor system 6-102 may include a second depth sensor 6-110 that is centrally located along the width of the HMD device 6-100 (e.g., along the X axis). For example, the second depth sensor 6-110 may be located above the central nose bridge or on an adaption structure above the nose when the user wears the HMD 6-100. In at least one example, the second depth sensor 6-110 may be used for environment and object reconstruction and hand and body tracking. In at least one example, the second depth sensor may include a LIDAR sensor.
[0109] In at least one example, the sensor system 6-102 may include a depth projector 6-112 that is generally forward facing to project electromagnetic waves (e.g., in a predetermined pattern of light dots) into or within the field of view of a user and / or scene camera 6-106, or into or within a field of view that includes and exceeds the field of view of the user and / or scene camera 6-106. In at least one example, the depth projector is capable of projecting electromagnetic waves of light in the form of a pattern of light dots that are reflected from an object and returned to the depth sensors described above, including the depth sensors 6-108, 6-110. In at least one example, the depth projector 6-112 can be used for environment and object reconstruction and hand and body tracking.
[0110] In at least one example, the sensor system 6-102 may include downward facing cameras 6-114 whose fields of view are generally pointed downward on the Z axis relative to the HMD device 6-100. In at least one example, the downward cameras 6-114 may be disposed on the left and right sides of the HMD device 6-100 as shown and used for hand and body tracking, headset tracking, and facial avatar detection and creation for displaying a user avatar on a forward facing display screen of the HMD device 6-100 as described elsewhere herein. For example, the downward cameras 6-114 may be used to capture facial expressions and movements of a user's face below the HMD device 6-100, including cheeks, mouth, and chin.
[0111] In at least one example, the sensor system 6-102 may include a jaw camera 6-116. In at least one example, the jaw camera 6-116 may be disposed on the left and right sides of the HMD device 6-100 as shown and used for hand and body tracking, headset tracking, and facial avatar detection and creation for displaying a user avatar on a forward-facing display screen of the HMD device 6-100 as described elsewhere herein. For example, the jaw camera 6-116 may be used to capture facial expressions and movements of a user's face beneath the HMD device 6-100, including the user's jaw, cheeks, mouth, and chin. Used for hand and body tracking, headset tracking, and facial avatars
[0112] In at least one example, the sensor system 6-102 may include a side camera 6-118. The side camera 6-118 may be oriented to capture left and right side views in an X-axis or direction relative to the HMD device 6-100. In at least one example, the side camera 6-118 may be used for hand and body tracking, headset tracking, and facial avatar detection and re-creation.
[0113] In at least one example, the sensor system 6-102 may include a plurality of eye tracking and gaze tracking sensors for determining the identity, status, and gaze direction of the user's eyes during and / or prior to use. In at least one example, the eye / gaze tracking sensors may include a nose-eye camera 6-120 that is disposed on either side of the user's nose and adjacent to the user's nose when the HMD device 6-100 is worn. The eye / gaze sensors may also include a bottom eye camera 6-122 disposed below the respective user's eyes for capturing images of the eyes for facial avatar detection and creation, gaze tracking, and iris identification functions.
[0114] In at least one example, the sensor system 6-102 may include an infrared illuminator 6-124 that points outward from the HMD device 6-100 to illuminate the external environment and any objects therein with IR light for IR detection using one or more IR sensors of the sensor system 6-102. In at least one example, the sensor system 6-102 may include a flicker sensor 6-126 and an ambient light sensor 6-128. In at least one example, the flicker sensor 6-126 may detect the overhead light refresh rate to avoid display flicker. In one example, the infrared illuminator 6-124 may include a light emitting diode and may be particularly useful in low light environments for illuminating the user's hands and other objects in low light for detection by the infrared sensors of the sensor system 6-102.
[0115] In at least one example, multiple sensors (including the scene camera 6-106, the downward camera 6-114, the jaw camera 6-116, the side camera 6-118, the depth projector 6-112, and the depth sensors 6-108, 6-110) can be used in combination with an electrically coupled controller to combine depth data with camera data for hand tracking and for size determination to better perform hand tracking and object recognition and tracking functions of the HMD device 6-100. In at least one example, the above-described and Fig. 1I The downward camera 6-114, the jaw camera 6-116, and the side camera 6-118 shown in the figure can be wide-angle cameras capable of operating in the visible and infrared spectrum. In at least one example, these cameras 6-114, 6-116, 6-118 can operate only in black and white light detection to simplify image processing and gain sensitivity.
[0116] Fig. 1I Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination. Figure 1J to Figure 1L Any other examples of devices, features, components and parts shown and described herein. Figure 1J to Figure 1L Any of the features, components and / or parts shown or described (including their arrangement and configuration) may be included alone or in any combination. Fig. 1I Examples of devices, features, components, and parts are shown.
[0117] Figure 1J A lower perspective view of an example of an HMD 6-200 including a cover or shroud 6-204 secured to a frame 6-230 is shown. In at least one example, sensors 6-202 of a sensor system 6-203 may be disposed around the perimeter of the HMD 6-200 such that the sensors 6-203 are disposed outwardly around the perimeter of a display area or region 6-232 so as to not obstruct viewing of displayed light. In at least one example, the sensors may be disposed behind the shroud 6-204 and aligned with a transparent portion of the shroud, thereby allowing the sensor and projector to allow light to pass back and forth through the shroud 6-204. In at least one example, opaque ink or other opaque material or film / layer may be disposed on the shroud 6-204 around the display area 6-232 to hide components of the HMD 6-200 outside of the display area 6-232 rather than the transparent portion defined by the opaque portion through which the sensor and projector send and receive light and electromagnetic signals during operation. In at least one example, the shield 6-204 allows light to pass from the display (eg, within the display area 6-232), but does not allow light to pass radially outward from the display area around the display and the perimeter of the shield 6-204.
[0118] In some examples, the shield 6-204 includes a transparent portion 6-205 and an opaque portion 6-207, as described above and elsewhere herein. In at least one example, the opaque portion 6-204 of the shield 6-207 may define one or more transparent areas 6-209 through which the sensor 6-203 of the sensor system 6-202 may send and receive signals. In the example shown, the sensor 6-203 of the sensor system 6-202 sends and receives signals through the shield 6-204, or more specifically, sends and receives signals through (or defined by) the transparent area 6-209 of the opaque portion 6-207 of the shield 6-204, which sensor may include Fig. 1I The same or similar sensors as those shown in the example of FIG. 6-108, such as depth sensors 6-108 and 6-110, depth projector 6-112, first and second scene cameras 6-106, first and second downward cameras 6-114, first and second side cameras 6-118, and first and second infrared illuminators 6-124. These sensors are also Figure 1K and Figure 1L Other sensors, sensor types, number of sensors, and their relative positions may be included in one or more other examples of the HMD.
[0119] Figure 1J Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination. Fig. 1I and Figure 1K to Figure 1L Any other examples of devices, features, components and parts shown and described herein. Fig. 1I and Figure 1K to Figure 1L Any of the features, components and / or parts shown or described (including their arrangement and configuration) may be included alone or in any combination. Figure 1J Examples of devices, features, components, and parts are shown.
[0120] Figure 1K A front view of a portion of an example of an HMD device 6-300 is shown, the HMD device including a display 6-334, brackets 6-336, 6-338, and a frame or housing 6-330. Figure 1K The example shown does not include a front cover or shield in order to illustrate the brackets 6-336, 6-338. Figure 1J The illustrated shield 6-204 includes an opaque portion 6-207 that would visually cover / block viewing of anything outside (e.g., radially / peripherally outside) the display / display area 6-334, including the sensor 6-303 and the bracket 6-338.
[0121] In at least one example, the various sensors of the sensor system 6-302 are coupled to brackets 6-336, 6-338. In at least one example, the scene cameras 6-306 include tight tolerances on angles relative to each other. For example, the tolerance on the mounting angles between two scene cameras 6-306 may be 0.5 degrees or less, such as 0.3 degrees or less. In order to achieve and maintain such tight tolerances, in one example, the scene camera 6-306 may be mounted to the bracket 6-338 instead of the shield. The bracket may include a cantilever on which the scene camera 6-306 and other sensors of the sensor system 6-302 may be mounted to maintain position and orientation in the event of a drop by a user causing any deformation of the other brackets 6-226, the housing 6-330, and / or the shield.
[0122] Figure 1K Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination. Figures 1I to 1J and Figure 1L Any other examples of devices, features, components and parts shown and described herein. Figures 1I to 1J and Figure 1L Any of the features, components and / or parts shown or described (including their arrangement and configuration) may be included alone or in any combination in the Figure 1K Examples of devices, features, components, and parts are shown.
[0123] Figure 1L A bottom view of an example of an HMD 6-400 including a front display / cover assembly 6-404 and a sensor system 6-402 is shown. The sensor system 6-402 may be similar to that described above and elsewhere herein (including reference Figures 1I to 1K ) described herein. In at least one example, the jaw camera 6-416 may face downward to capture images of the user's lower facial features. In one example, the jaw camera 6-416 may be directly coupled to the frame or housing 6-430 or one or more internal brackets that are directly coupled to the frame or housing 6-430 as shown. The frame or housing 6-430 may include one or more holes / openings 6-415 through which the jaw camera 6-416 may send and receive signals.
[0124] Figure 1L Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination. Figures 1I to 1K Any other examples of devices, features, components and parts shown and described herein. Figures 1I to 1KAny of the features, components and / or parts shown or described (including their arrangement and configuration) may be included alone or in any combination. Figure 1L Examples of devices, features, components, and parts are shown.
[0125] Figure 1M A rear perspective view of an interpupillary distance (IPD) adjustment system 11.1.1-102 is shown, the IPD adjustment system comprising first and second optical modules 11.1.1-104a-b slidably engaged / coupled to respective guide rods 11.1.1-108a-b and motors 11.1.1-110a-b of left and right adjustment subsystems 11.1.1-106a-b. The IPD adjustment system 11.1.1-102 may be coupled to a bracket 11.1.1-112 and include a button 11.1.1-114 in electrical communication with the motors 11.1.1-110a-b. In at least one example, the button 11.1.1-114 may be in electrical communication with the first and second motors 11.1.1-110a-b via a processor or other circuit components to cause the first and second motors 11.1.1-110a-b to activate and respectively cause the first and second optical modules 11.1.1-104a-b to change position relative to each other.
[0126] In at least one example, the first and second optical modules 11.1.1-104a-b may include respective display screens configured to project light toward the user's eyes when the HMD 11.1.1-100 is worn. In at least one example, the user may manipulate (e.g., press and / or rotate) the button 11.1.1-114 to activate position adjustment of the optical modules 11.1.1-104a-b to match the interpupillary distance of the user's eyes. The optical modules 11.1.1-104a-b may also include one or more cameras or other sensors / sensor systems for imaging and measuring the user's IPD so that the optical modules 11.1.1-104a-b may be adjusted to match the IPD.
[0127] In one example, a user may manipulate the button 11.1.1-114 to cause automatic position adjustment of the first and second optical modules 11.1.1-104a-b. In one example, a user may manipulate the button 11.1.1-114 to cause manual adjustment such that the optical modules 11.1.1-104a-b move farther or closer (e.g., as the user rotates the button 11.1.1-114 one way or another) until the user visually matches her / his own IPD. In one example, the manual adjustment is communicated electronically via one or more circuits, and power for moving the optical modules 11.1.1-104a-b via the motors 11.1.1-110a-b is provided by a power source. In one example, adjustment and movement of the optical modules 11.1.1-104a-b via the manipulation button 11.1.1-114 is mechanically actuated via the movement button 11.1.1-114.
[0128] Figure 1M Any of the features, components, and / or parts shown (including arrangements and configurations thereof) may be included, alone or in any combination, in any other examples of devices, features, components, and parts shown in any other figures and described herein. Similarly, any of the features, components, and / or parts shown or described with reference to any other figures (including arrangements and configurations thereof) may be included, alone or in any combination, in any other examples of devices, features, components, and parts shown in any other figures and described herein. Figure 1M Examples of devices, features, components, and parts are shown.
[0129] Figure 1N A front perspective view of a portion of an HMD 11.1.2-100 is shown, including an outer structural frame 11.1.2-102 and an inner or intermediate structural frame 11.1.2-104 defining a first aperture 11.1.2-106a and a second aperture 11.1.2-106b. Figure 1N 106a-b may be blocked by one or more other components of the HMD 11.1.2-100 coupled to the internal frame 11.1.2-104 and / or the external frame 11.1.2-102, as shown. In at least one example, the HMD 11.1.2-100 may include a first mounting bracket 11.1.2-108 coupled to the internal frame 11.1.2-104. In at least one example, the mounting bracket 11.1.2-108 is coupled to the internal frame 11.1.2-104 between the first and second apertures 11.1.2-106a-b.
[0130] The mounting bracket 11.1.2-108 may include a middle or center portion 11.1.2-109 coupled to the internal frame 11.1.2-104. In some examples, the middle or center portion 11.1.2-109 may not be the geometric middle or center of the bracket 11.1.2-108. Instead, the middle / center portion 11.1.2-109 may be disposed between a first cantilevered extension arm and a second cantilevered extension arm extending away from the middle portion 11.1.2-109. In at least one example, the mounting bracket 108 includes a first cantilever 11.1.2-112 and a second cantilever 11.1.2-114 extending away from the middle portion 11.1.2-109 of the mounting bracket 11.1.2-108 coupled to the internal frame 11.1.2-104.
[0131] like Figure 1N As shown, the external frame 11.1.2-102 may define a curved geometry on its underside to accommodate the user's nose when the user wears the HMD 11.1.2-100. The curved geometry may be referred to as a nose bridge 11.1.2-111 and is centrally located on the underside of the HMD 11.1.2-100 as shown. In at least one example, the mounting bracket 11.1.2-108 may be connected to the internal frame 11.1.2-104 between the holes 11.1.2-106a-b so that the cantilevers 11.1.2-112, 11.1.2-114 extend downwardly and laterally outward away from the middle portion 11.1.2-109 to complement the nose bridge 11.1.2-111 geometry of the external frame 11.1.2-102. In this way, the mounting bracket 11.1.2-108 is configured to accommodate the user's nose, as described above. The geometry of the nose bridge 11.1.2-111 adapts to the nose as the nose bridge 11.1.2-111 provides a curvature that conforms to the shape of the user's nose, providing a comfortable fit from above, over, and around.
[0132] The first cantilever arm 11.1.2-112 may extend away from the middle portion 11.1.2-109 of the mounting bracket 11.1.2-108 in a first direction, and the second cantilever arm 11.1.2-114 may extend away from the middle portion 11.1.2-109 of the mounting bracket 11.1.2-108 in a second direction opposite to the first direction. The first cantilever arm 11.1.2-112 and the second cantilever arm 11.1.2-114 are referred to as "cantilever" or "cantilever" arms because each arm 11.1.2-112, 11.1.2-114 includes a free distal end 11.1.2-116, 11.1.2-118, respectively, which are not attached to the inner frame 11.1.2-102 and the outer frame 11.1.2-104. In this way, the arms 11.1.2-112, 11.1.2-114 depend from the middle portion 11.1.2-109, which may be connected to the inner frame 11.1.2-104, while the distal ends 11.1.2-102, 11.1.2-104 are unattached.
[0133] In at least one example, the HMD 11.1.2-100 may include one or more components coupled to a mounting bracket 11.1.2-108. In one example, the components include a plurality of sensors 11.1.2-110a-f. Each of the plurality of sensors 11.1.2-110a-f may include various types of sensors, including cameras, IR sensors, and the like. In some examples, one or more of the sensors 11.1.2-110a-f may be used for object recognition in three-dimensional space, such that maintaining accurate relative positions of two or more of the plurality of sensors 11.1.2-110a-f is important. The cantilever nature of the mounting bracket 11.1.2-108 may protect the sensors 11.1.2-110a-f from damage and change of position in the event of an accidental drop by a user. Because the sensors 11.1.2-110a-f are cantilevered on the arms 11.1.2-112, 11.1.2-114 of the mounting bracket 11.1.2-108, stresses and deformations of the inner frame and / or outer frame 11.1.2-104, 11.1.2-102 are not transmitted to the cantilevered arms 11.1.2-112, 11.1.2-114 and therefore do not affect the relative positions of the sensors 11.1.2-110a-f coupled / mounted to the mounting bracket 11.1.2-108.
[0134] Figure 1NAny of the features, components, and / or parts shown (including arrangements and configurations thereof) may be included alone or in any combination in any other examples of devices, features, components, and parts described herein. Likewise, any of the features, components, and / or parts shown and described herein (including arrangements and configurations thereof) may be included alone or in any combination in any other examples of devices, features, components, and parts described herein. Figure 1N Examples of devices, features, components, and parts are shown.
[0135] Fig.1O An example of an optical module 11.3.2-100 for use in an electronic device such as an HMD, including an HMD device as described herein, is shown. As shown in one or more other examples described herein, the optical module 11.3.2-100 can be one of two optical modules within the HMD, where each optical module is aligned to project light toward an eye of a user. In this way, a first optical module can project light to a first eye of a user via a display screen, and a second optical module of the same device can project light to a second eye of a user via another display screen.
[0136] In at least one example, the optical module 11.3.2-100 may include an optical frame or housing 11.3.2-102, which may also be referred to as a barrel or optical module barrel. The optical module 11.3.2-100 may also include a display 11.3.2-104 coupled to the housing 11.3.2-102, the display including one or more display screens. The display 11.3.2-104 may be coupled to the housing 11.3.2-102 such that the display 11.3.2-104 is configured to project light toward the eyes of a user when the HMD to which the display module 11.3.2-100 belongs is worn during use. In at least one example, the housing 11.3.2-102 may surround the display 11.3.2-104 and provide connection features for coupling other components of the optical module described herein.
[0137] In one example, the optical module 11.3.2-100 may include one or more cameras 11.3.2-106 coupled to the housing 11.3.2-102. The camera 11.3.2-106 may be positioned relative to the display 11.3.2-104 and the housing 11.3.2-102 such that the camera 11.3.2-106 is configured to capture one or more images of a user's eye during use. In at least one example, the optical module 11.3.2-100 may also include a light strip 11.3.2-108 surrounding the display 11.3.2-104. In one example, the light strip 11.3.2-108 is disposed between the display 11.3.2-104 and the camera 11.3.2-106. The light strip 11.3.2-108 may include a plurality of lights 11.3.2-110. The plurality of lights may include one or more light emitting diodes (LEDs) or other lights configured to project light toward the eyes of the user when the HMD is worn. The individual lights 11.3.2-110 in the light strip 11.3.2-108 may be spaced around the light strip 11.3.2-108 and thus evenly or unevenly spaced around the display 11.3.2-104 at various locations on the light strip 11.3.2-108 and around the display 11.3.2-104.
[0138] In at least one example, the housing 11.3.2-102 defines a viewing opening 11.3.2-101 through which a user can view the display 11.3.2-104 when wearing the HMD device. In at least one example, the LEDs are configured and arranged to emit light through the viewing opening 11.3.2-101 onto the user's eyes. In one example, the camera 11.3.2-106 is configured to capture one or more images of the user's eyes through the viewing opening 11.3.2-101.
[0139] As mentioned above, Fig.1O Each of the components and features of the illustrated optical module 11.3.2-100 may be replicated in another (eg, second) optical module provided with the HMD to interact with (eg, project light and capture images) the user's other eye.
[0140] Fig.1O Any of the features, components and / or parts shown (including their arrangement and configuration) may be included alone or in any combination. Figure 1P any other examples of devices, features, components, and parts shown or otherwise described herein. Figure 1P Any of the features, components and / or parts shown or described herein (including their arrangement and configuration) may be included alone or in any combination. Fig.1OExamples of devices, features, components, and parts are shown.
[0141] Figure 1P A cross-sectional view of an example of an optical module 11.3.2-200 is shown, including a housing 11.3.2-202, a display assembly 11.3.2-204 coupled to the housing 11.3.2-202, and a lens 11.3.2-216 coupled to the housing 11.3.2-202. In at least one example, the housing 11.3.2-202 defines a first hole or channel 11.3.2-212 and a second hole or channel 11.3.2-214. The channels 11.3.2-212, 11.3.2-214 can be configured to slidably engage corresponding tracks or guides of the HMD device to allow the optical module 11.3.2-200 to adjust its position relative to the user's eyes to match the user's interpupillary distance (IPD). The housing 11.3.2-202 can slidably engage the guides to secure the optical module 11.3.2-200 in place within the HMD.
[0142] In at least one example, the optical module 11.3.2-200 may also include a lens 11.3.2-216 coupled to the housing 11.3.2-202 and disposed between the display assembly 11.3.2-204 and the user's eyes when the HMD is worn. The lens 11.3.2-216 may be configured to direct light from the display assembly 11.3.2-204 to the user's eyes. In at least one example, the lens 11.3.2-216 may be part of a lens assembly including a corrective lens that is removably attached to the optical module 11.3.2-200. In at least one example, the lens 11.3.2-216 is disposed above the light strip 11.3.2-208 and the one or more eye tracking cameras 11.3.2-206 such that the camera 11.3.2-206 is configured to capture images of the user's eyes through the lens 11.3.2-216, and the light strip 11.3.2-208 includes lights configured to project light into the user's eyes through the lens 11.3.2-216 during use.
[0143] Figure 1P Any of the features, components, and / or parts shown (including arrangements and configurations thereof) may be included alone or in any combination in any other example of the devices, features, components, and parts described herein. Likewise, any feature, component, and / or part (including arrangements and configurations thereof shown and described herein) may be included alone or in any combination in any other example of the devices, features, components, and parts described herein. Figure 1P Examples of devices, features, components, and parts shown in .
[0144] Figure 21 is a block diagram of an example of a controller 110 in 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. 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.
[0145] 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.
[0146] 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.
[0147] 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 transmission unit 248.
[0148] In some embodiments, the data acquisition unit 241 is configured to obtain Figure 1A 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.
[0149] In some embodiments, tracking unit 242 is configured to map scene 105 and track at least display generation component 120 relative to Figure 1A 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 of one or more parts of the user's hand relative to the scene 105. Figure 1A 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.
[0150] 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.
[0151] In some embodiments, data transfer unit 248 is configured to transfer data (e.g., presentation data, position data, etc.) to at least display generation component 120, and optionally to one or more of input device 125, output device 155, sensor 190, and / or peripheral device 195. To this end, in various embodiments, data transfer unit 248 includes instructions and / or logic for instructions as well as heuristics and metadata for the heuristics.
[0152] 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 transmission 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 transmission unit 248 may be located in separate computing devices.
[0153] 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 can be implemented in a single module, and the various functions of a single functional block can 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.
[0154] Figure 31 is a block diagram of an example of a display generation component 120 in 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, IEEE 802.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.
[0155] 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.
[0156] 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 are capable of presenting MR and VR content. In some embodiments, one or more XR displays 312 are capable of presenting MR or VR content.
[0157] 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.
[0158] The memory 320 includes a high-speed random access memory, such as a DRAM, SRAM, DDR RAM, or other random access solid-state memory device. 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 a subset thereof, including an optional operating system 330 and an XR rendering module 340.
[0159] 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.
[0160] In some embodiments, the data acquisition unit 342 is configured to at least Figure 1A 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.
[0161] 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.
[0162] 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.
[0163] In some embodiments, the data transmission unit 348 is configured to transmit 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 transmission unit 348 includes instructions and / or logic for the instructions and heuristics and metadata for the heuristics.
[0164] Although the data acquisition unit 342, the XR rendering unit 344, the XR map generation unit 346, and the data transfer unit 348 are shown as residing on a single device (e.g., Figure 1A , 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 transmission unit 348 may be located in a separate computing device.
[0165] 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.
[0166] 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 1A ) 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 1AThe 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 (which 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).
[0167] 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 at a sufficient resolution so that fingers and their corresponding positions can be distinguished. The image sensor 404 typically captures images of other parts of the user's body, or may also capture images of all parts of the body, and may have zoom capabilities or 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 that captures 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.
[0168] 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.
[0169] 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 at a specific distance from the image sensor 404 relative to a predetermined reference plane. 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.
[0170] 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.
[0171] 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.
[0172] 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)).
[0173] In 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 in some embodiments by movement of a user's fingers relative to other fingers (or parts of the user's hands). 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 amount of rotation of a part of the user's body)).
[0174] 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.
[0175] 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).
[0176] In some embodiments, the input gestures (e.g., air gestures) used in the various examples and embodiments described herein include pinch inputs and tap inputs for interacting with a virtual or mixed reality environment in some embodiments. For example, the pinch inputs and tap inputs described below are performed as air gestures.
[0177] 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).
[0178] 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).
[0179] 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 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).
[0180] 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 that 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 that 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).
[0181] 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.
[0182] In scenarios where input is described with reference to in-air gestures, it should be understood that similar gestures may be detected using a hardware input device attached to or held by one or more hands of a user, where optical tracking, one or more accelerometers, one or more gyroscopes, one or more magnetometers, and / or one or more inertial measurement units may be used to track the positioning of the hardware input device in space, and the positioning and / or movement of the hardware input device is used in place of the positioning and / or movement of the one or more hands in the corresponding in-air gesture. In scenarios where input is described with reference to in-air poses, it should be understood that similar poses may be detected using a hardware input device attached to or held by one or more hands of a user. User input may be detected using controls contained in a hardware input device, such as one or more touch-sensitive input elements, one or more pressure-sensitive input elements, one or more buttons, one or more knobs, one or more dials, one or more joysticks, one or more hand or finger overlays that can detect the position or change of position of parts of a hand and / or finger relative to each other, relative to the user's body and / or relative to the user's physical environment, and / or other hardware input device controls, wherein user input using the controls contained in the hardware input device is used in place of hand and / or finger gestures such as air taps or air pinches in corresponding air gestures. For example, a selection input described as being performed using an air tap or air pinch input may alternatively be detected using a button press, a tap on a touch-sensitive surface, a press on a pressure-sensitive surface, or other hardware input. As another example, a movement input described as being performed using an air pinch and drag may alternatively be detected based on an interaction with a hardware input control (such as a button press and hold, a touch on a touch-sensitive surface, a press on a pressure-sensitive surface, or other hardware input following movement of the hardware input device (e.g., along with a hand associated with the hardware input device) through space). Similarly, two-handed input involving movement of the hands relative to each other may be performed using an air gesture and a hardware input device in the hand that is not performing the air gesture, two hardware input devices held in different hands, or two air gestures performed by different hands using various combinations of air gestures and / or inputs detected by one or more of the above hardware input devices.
[0183] 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 integrated with any other suitable computerized device (such as a game console or media player). The sensing functions of the image sensor 404 may also be integrated into a computer or other computerized device to be controlled by the sensor output.
[0184] Figure 4 Also included is a schematic representation of a depth map 410 captured by the image sensor 404 in some embodiments. As described above, the depth map includes a matrix of pixels with corresponding depth values. Pixels 412 corresponding to the hand 406 have been segmented from the background and wrist in the figure. The brightness of each pixel within the depth map 410 is inversely proportional to its depth value (i.e., the measured z distance from the image sensor 404), where gray shades become darker as depth increases. The controller 110 processes these depth values in order to identify and segment 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 motion from frame to frame in the depth map sequence.
[0185] Figure 4 Also schematically shown is a hand skeleton 414 that the controller 110 ultimately extracts from the depth map 410 of the hand 406 in 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 a 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, in some embodiments, a gesture performed by the hand or the current state of the hand.
[0186] Figure 5 The eye tracking device 130 ( Figure 1A ). 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.
[0187] 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.
[0188] like Figure 5As shown in , 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.
[0189] 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. The user-specific calibration process may include estimating the eye parameters of a specific user, such as pupil position, foveal position, optical axis, visual axis, eye spacing, etc. In 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 user's current visual axis and gaze point relative to the display.
[0190] like Figure 5As shown in , 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.) 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 ).
[0191] 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.
[0192] 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.
[0193] In some embodiments, the eye tracking device is part of a head mounted device that includes a display (e.g., display 510), two eye lenses (e.g., eye lenses 520), an eye tracking camera (e.g., eye tracking camera 540), and a light source (e.g., illumination source 530 (e.g., IR or NIR LED)). 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 illumination sources 530 (eg, LEDs) are arranged around each lens 520. However, more or fewer illumination sources 530 may be used, and other arrangements and locations of illumination sources 530 may be used.
[0194] 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.
[0195] like Figure 5 Embodiments of the gaze tracking system shown 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.
[0196] Figure 6 The flash-assisted gaze tracking pipeline in some embodiments is shown. In some embodiments, the gaze tracking pipeline is implemented by a flash-assisted gaze tracking system (e.g., Figure 1A and Figure 5 The flash-assisted gaze tracking system can maintain a tracking state. Initially, the tracking state is off or "no". When in the tracking state, the flash-assisted gaze tracking system uses previous information from previous frames when analyzing the current frame to track the pupil outline and 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.
[0197] like Figure 6 As shown in , the gaze tracking camera can capture left and right images of the user's left and right eyes. The captured images are then input to the gaze tracking pipeline for processing starting at 610. As indicated by the arrow returning to element 600, the gaze tracking system can continue to capture images of the user's eyes at a rate of, for example, 60 to 120 frames per second. In some embodiments, each 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.
[0198] 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.
[0199] 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.
[0200] Figure 6 It is intended to be used as an example of eye tracking technology that may be used for a particular implementation. As recognized by one of ordinary skill in the art, in some embodiments, other eye tracking technologies currently existing or developed in the future may be used in computer system 101 in place of or in combination with the flash-assisted eye tracking technology described herein for providing an XR experience to a user.
[0201] In some embodiments, the captured portion of the real-world environment 602 is used to provide an XR experience to the user, such as a mixed reality environment in which one or more virtual objects are superimposed on top of a representation of the real-world environment 602 .
[0202] Thus, the description herein describes some embodiments of a three-dimensional environment (e.g., an XR environment) including representations of real-world objects and representations of virtual objects. For example, the three-dimensional environment optionally includes a representation of a table present in a physical environment, which is captured and displayed in the three-dimensional environment (e.g., actively displayed via a camera and display of a computer system or passively displayed via a transparent or translucent display of a computer system). As previously described, the three-dimensional environment is optionally a mixed reality system, wherein the three-dimensional environment is based on a physical environment captured by one or more sensors of a computer system and displayed via a display generation component. As a mixed reality system, the computer system is optionally capable of selectively displaying parts and / or objects of the physical environment so that the corresponding parts and / or objects of the physical environment appear as if they exist in the three-dimensional environment displayed by the computer system. Similarly, the computer system is optionally capable of displaying virtual objects in a three-dimensional environment by placing virtual objects at corresponding positions in the three-dimensional environment that have corresponding positions in the real world to appear as if the virtual objects exist in the real world (e.g., a physical environment). For example, the computer system optionally displays a vase so that the vase appears as if a real vase is placed on top of a table in the physical environment. In some embodiments, a corresponding position in the three-dimensional environment has a corresponding position in the physical environment. Thus, when a computer system is described as displaying a virtual object at a corresponding position relative to a physical object (e.g., such as a position at or near a user's hand or at or near a physical table), the computer system displays the virtual object at a specific position in the three-dimensional environment so that it appears as if the virtual object is at or near the physical object in the physical environment (e.g., the virtual object is displayed at a position in the three-dimensional environment that corresponds to the position in the physical environment where the virtual object would be displayed if it were a real object at that specific position).
[0203] In some embodiments, real-world objects present in the physical environment that are displayed in the three-dimensional environment (e.g., and / or visible via a display generation component) can interact with virtual objects that only exist in the three-dimensional environment. For example, the three-dimensional environment may include a table and a vase placed on top of the table, where the table is a view (or representation) of a physical table in the physical environment and the vase is a virtual object.
[0204] In a three-dimensional environment (e.g., a real environment, a virtual environment, or an environment comprising a mixture of real objects and virtual objects), an object is sometimes referred to as having depth or simulated depth, or an object is referred to as being visible, displayed, or placed at different depths. In this context, depth refers to a dimension different from height or width. In some embodiments, depth is defined relative to a fixed coordinate set (e.g., where a room or object has a height, depth, and width defined relative to a fixed coordinate set). In some embodiments, depth is defined relative to the user's position or viewpoint, in which case the depth dimension varies based on the position and angle of the user's position and / or the user's viewpoint. In some embodiments where depth is defined relative to the user's position relative to the surface of the environment (e.g., the surface of the floor or ground of the environment), an object farther away from the user along a line extending parallel to the surface is considered to have greater depth in the environment, and / or the depth of an object is measured along an axis extending outward from the user's position and parallel to the surface of the environment (e.g., depth is defined in a cylindrical or substantially cylindrical coordinate system, where the user's position is at the center of a cylinder extending from the user's head toward the user's feet). In some embodiments where depth is defined relative to a user's viewpoint (e.g., relative to a direction of a point in space that determines which portion of an environment is visible via a head-mounted device or other display), objects that are farther away from the user's viewpoint along a line extending parallel to the user's viewpoint are considered to have greater depth in the environment, and / or the depth of an object is measured along an axis extending outward from the user's viewpoint and parallel to the user's viewpoint (e.g., depth is defined in a spherical or substantially spherical coordinate system with the origin of the viewpoint at the center of a sphere extending outward from the user's head). In some embodiments, depth is defined relative to a user interface container (e.g., a window or application in which applications and / or system content are displayed), where the user interface container has a height and / or width, and the depth is a dimension orthogonal to the height and / or width of the user interface container. In some embodiments, where the depth is defined relative to a user interface container, when the container is placed in a three-dimensional environment or is initially displayed (e.g., such that the depth dimension of the container extends outward away from the user or the user's viewpoint), the height and / or width of the container is generally orthogonal or substantially orthogonal to a straight line extending from a user-based position (e.g., the user's viewpoint or the user's position) to the user interface container (e.g., the center of the user interface container or another feature point of the user interface container). In some embodiments, where the depth is defined relative to the user interface container, the depth of an object relative to the user interface container refers to the position of the object along the depth dimension of the user interface container. In some embodiments, multiple different containers may have different depth dimensions (e.g., different depth dimensions extending away from the user or the user's viewpoint in different directions and / or from different starting points).In some embodiments, when depth is defined relative to a user interface container, the direction of the depth dimension remains constant for the user interface container as the position of the user interface container, the user, and / or the user's viewpoint changes (e.g., or when multiple different viewers are viewing the same container in a three-dimensional environment, such as during an in-person collaboration session and / or when multiple participants are in a real-time communication session with shared virtual content that includes the container). In some embodiments, for curved containers (e.g., including containers with curved surfaces or curved content areas), the depth dimension optionally extends into the surface of the curved container. In some cases, z separation (e.g., the separation of two objects in the depth dimension), z height (e.g., the distance of one object from another object in the depth dimension), z position (e.g., the position of an object in the depth dimension), z depth (e.g., the position of an object in the depth dimension), or simulated z dimension (e.g., depth used as a dimension of an object, a dimension of an environment, a direction in space, and / or a direction in simulated space) is used to refer to the concept of depth as described above.
[0205] In some embodiments, the user is optionally able to use one or both hands to interact with virtual objects in a three-dimensional environment as if the virtual objects were real objects in a physical environment. For example, as described above, one or more sensors of a computer system optionally capture one or more hands of a user and display representations of the user's hands in a three-dimensional environment (e.g., in a manner similar to displaying real-world objects in a three-dimensional environment as described above), or in some embodiments, due to the transparency / translucency of a portion of a display generation component that is displaying a user interface, or due to a projection of a user interface onto a transparent / translucent surface or a projection of a user interface onto a user's eyes or into the field of view of a user's eyes, the user's hands can be seen via the display generation component, via the ability to see the physical environment through the user interface. Therefore, in some embodiments, the user's hands are displayed at corresponding locations in the three-dimensional environment and are treated as if they were objects in the three-dimensional environment, which can interact with virtual objects in the three-dimensional environment as if these virtual objects were physical objects in the physical environment. In some embodiments, the computer system can update the display of the representation of the user's hands in the three-dimensional environment in conjunction with the movement of the user's hands in the physical environment.
[0206] In some of the embodiments described below, the computer system is optionally capable of determining an "effective" distance between a physical object in the physical world and a virtual object in a three-dimensional environment, for example, to determine whether the physical object is directly interacting with the virtual object (e.g., whether the hand is touching, grabbing, holding, etc. a virtual object or is within a threshold distance of the virtual object). For example, a hand that directly interacts with a virtual object optionally includes one or more of the following: a finger of a hand pressing a virtual button, a user's hand grabbing a virtual vase, a user's hand closing together and pinching / holding the user interface of an application, and two fingers that perform any other type of interaction described herein. For example, when determining whether a user is interacting with a virtual object and / or how a user is interacting with a virtual object, the computer system optionally determines the distance between the user's hand and the virtual object. In some embodiments, the computer system determines the distance between the user's hand and the virtual object by determining the distance between the position of the hand in the three-dimensional environment and the position of the virtual object of interest in the three-dimensional environment. For example, the one or more hands of the user are located at a specific location in the physical world, and the computer system optionally captures the one or more hands and displays the one or more hands at a specific corresponding location in the three-dimensional environment (e.g., if the hand is a virtual hand instead of a physical hand, the location where the hand will be displayed in the three-dimensional environment). The location of the hand in the three-dimensional environment is optionally compared with the location of the virtual object of interest in the three-dimensional environment to determine the distance between the one or more hands of the user and the virtual object. In some embodiments, the computer system optionally determines the distance between the physical object and the virtual object by comparing the location in the physical world (e.g., instead of comparing the location in the three-dimensional environment). For example, when determining the distance between the one or more hands of the user and the virtual object, the computer system optionally determines the corresponding position of the virtual object in the physical world (e.g., if the virtual object is a physical object instead of a virtual object, the location where the virtual object will be located in the physical world), and then determines the distance between the corresponding physical location and the one or more hands of the user. In some embodiments, the same technology is optionally used to determine the distance between any physical object and any virtual object. Therefore, as described herein, when determining whether a physical object is in contact with a virtual object or whether a physical object is within a threshold distance of a virtual object, a computer system optionally executes any of the techniques described above to map the position of the physical object to a three-dimensional environment and / or to map the position of the virtual object to the physical environment.
[0207] In some embodiments, the same or similar techniques are used to determine where and what the user's gaze is directed to, and / or where and what the physical stylus held by the user is pointed to. For example, if the user's gaze is directed to a particular location in the physical environment, the computer system optionally determines the corresponding location in the three-dimensional environment (e.g., the virtual location of the gaze), and if a virtual object is located at the corresponding virtual location, the computer system optionally determines that the user's gaze is directed to the virtual object. Similarly, the computer system is optionally able to determine the direction in which the stylus is pointing in the physical environment based on the orientation of the physical stylus. In some embodiments, based on this determination, the computer system determines a corresponding virtual location in the three-dimensional environment that corresponds to the location in the physical environment that the stylus is pointing to, and optionally determines that the stylus is pointing to the corresponding virtual location in the three-dimensional environment.
[0208] Similarly, the embodiments described herein may refer to the position of a user (e.g., a user of a computer system) in a three-dimensional environment and / or the position of a computer system in a three-dimensional environment. In some embodiments, the user of the computer system is holding, wearing, or otherwise located at or near the computer system. Therefore, in some embodiments, the position of the computer system is used as a proxy for the position of the user. In some embodiments, the position of the computer system and / or the user in the physical environment corresponds to the corresponding position in the three-dimensional environment. For example, the position of the computer system will be a position in the physical environment (and its corresponding position in the three-dimensional environment), and if the user stands at this position, facing the corresponding part of the physical environment visible via the display generation component, the user will see from this position in the physical environment in the same positioning, orientation and / or size (e.g., in an absolute sense and / or relative to each other) of the objects displayed in the three-dimensional environment by the display generation component of the computer system or visible in the three-dimensional environment via the display generation component. Similarly, if the virtual objects displayed in the three-dimensional environment are physical objects in the physical environment (e.g., physical objects placed at the same locations in the physical environment as the virtual objects are located in the three-dimensional environment, and physical objects that have the same size and orientation in the physical environment as they do in the three-dimensional environment), then the position of the computer system and / or user is the position from which the user would see the positions of the virtual objects in the physical environment at the same positions, orientations, and / or sizes (e.g., in an absolute sense and / or relative to each other and real-world objects) as the virtual objects displayed in the three-dimensional environment by the display generation components of the computer system.
[0209] 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.
[0210] User interface and associated processes
[0211] 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 one or more display generating components.
[0212] 7A to 7E An example of displaying representations of participants in a real-time communication session in some embodiments is shown. Figure 8 is a flow chart of an exemplary method 800 for modifying a representation of a participant based on an activity associated with the participant. Fig. 9 is a flow chart of an exemplary method 900 for displaying a self-view representation of an avatar of a user of a computer system. 7A to 7E The user interface in is used to illustrate the processes described below, which include Figures 8 to 9 process.
[0213] Fig. 7A A first computer system 700 having a display generating component (e.g., display 702) and a second computer system 750 having a display generating component (e.g., display 752) are shown. 7A to 7EThe techniques are shown using the first computer system 700 and the second computer system 750 as tablet computers, but these techniques are optionally applicable to head-mounted devices as well. In some embodiments where the first computer system 700 and / or the second computer system 750 is a head-mounted device, each respective computer system optionally includes two displays (one for each eye of each user), wherein each display displays respective various contents to enable the respective users to perceive various depths of various contents (e.g., physical objects and / or virtual objects) of the three-dimensional environment.
[0214] The first computer system 700 is used by a first user, and the second computer system 750 is used by a second user. In some embodiments, each of the first computer system 700 and / or the second computer system 750 is configured to present virtual objects on one or more transparent or semi-transparent displays (e.g., 702 and / or 752), so that a person perceives the virtual objects superimposed on the physical environment using the corresponding system. In some embodiments, each of the first computer system 700 and / or the second computer system 750 is configured to use transparent video (which means that one or more camera sensors or image sensors capture images of the physical environment) and use those images when presenting the AR environment on an opaque display (e.g., 702 and / or 752). In some embodiments, each of the first computer system 700 and / or the second computer system 750 is configured to present virtual objects within a virtual environment.
[0215] In some embodiments, the three-dimensional environment 740 includes physical objects, including a couch 740A and a wall 740B. In some embodiments, the three-dimensional environment 740 is a virtual environment including virtual objects, including a couch 740A and a wall 740B. In some embodiments, the three-dimensional environment 740 is an augmented reality environment including both virtual objects (e.g., a couch 740A) and physical objects (e.g., a wall 740B). In some embodiments, the three-dimensional environment 770 includes physical objects, including a flower 770A and a fence 770B. In some embodiments, the three-dimensional environment 770 is a virtual environment including virtual objects, including a flower 770A and a fence 770B. In some embodiments, the three-dimensional environment 770 is an augmented reality environment including both virtual objects (e.g., a flower 770A) and physical objects (e.g., a fence 770B).
[0216] In some embodiments, the objects (physical objects and / or virtual objects) of three-dimensional environment 740 and three-dimensional environment 770 are the same or similar. 7A to 7EAs shown, the first computer system 700 presents a first three-dimensional environment (e.g., including aspects of a physical room in which the first user is located), and the second computer system 750 presents a second three-dimensional environment that is different from the first three-dimensional environment (e.g., including aspects of an outdoor space in which the second user is located). Regardless of the configuration, both the first computer system 700 and the second computer system 750 optionally share some aspects of their respective three-dimensional environments (e.g., virtual objects, such as representations of participants in a real-time communication session and / or user interface windows for applications).
[0217] exist Fig. 7A At first computer system 700, three-dimensional environment 740 is visible from a first viewpoint in three-dimensional environment 740, and at second computer system 750, three-dimensional environment 770 is visible from a second viewpoint in three-dimensional environment 770 (eg, different from the first viewpoint).
[0218] exist Fig. 7A , a first user of a first computer system 700 and a second user of a second computer system 760 (along with other participants) are participating in a real-time communication session occurring in an extended reality in a three-dimensional environment. The first computer system 700 provides an audio output (e.g., via a speaker and / or headset of the first computer system 700) of audio received from the second computer system 750 (e.g., the second user speaks) and from the computer systems of the other participants. The second computer system 750 provides an audio output (e.g., via a speaker and / or headset of the second computer system 750) of audio received from the first computer system 700 (e.g., the first user speaks) and from the computer systems of the other participants.
[0219] exist Fig. 7A At , the first computer system 700 displays representations 710A-710F of avatars of participants in the real-time communication session and a self-view representation 714 of the avatar of the first user of the first computer system 700. In some embodiments, each respective representation of a participant in the three-dimensional environment 740 is a tile that includes a view of the avatar of the respective participant of the real-time communication session. The self-view representation 714 provides feedback to the first user of the first computer system 700 about the appearance of the first user's avatar when presented to other participants of the real-time communication session. For example, at Fig. 7A At , the second computer system 750 displays representations 760A-760F of avatars of participants in the real-time communication session, where representation 760A corresponds to the avatar of the first user. Thus, when displayed by the second computer system 750, the first user's representation 760A has the same or similar appearance as the self-view representation 714 displayed by the first computer system 700. Fig. 7AAt , the second computer system 750 displays representations 760A-760E and a self-view representation 712 of the second user of the second computer system 750 that corresponds to the representation 710A of the second user displayed by the first computer system 700 (e.g., has the same or similar appearance as the representation of the second user displayed by the first computer system). Thus, when the second user's avatar is presented to other participants of the real-time communication session, the self-view representation 712 provides feedback to the second user of the second computer system 750 regarding the appearance of the second user's avatar. In some embodiments, each respective representation of a participant in the three-dimensional environment 770 is a tile that includes a view of the avatar of the respective participant of the real-time communication session.
[0220] like Fig. 7A As shown in the three-dimensional environment 740 of FIG. 1 , representations 710A-710F and 714 of the participants of the real-time communication session are grouped together in a grouped arrangement in the three-dimensional environment 740 to form a representation 720 of the real-time communication session in the three-dimensional environment 740. For example, a first user can cause an avatar of the first user (e.g., FIG. 10A to FIG. 10H 1010 at 1010) moves around the three-dimensional environment 740 so that, for example, the first user's avatar moves closer to or further away from the representation 720 of the real-time communication session. Additionally, the first user can make the first user's avatar (e.g., FIG. 10A to FIG. 10H 1010 at 3D environment 740) relative to the representation 720 of the real-time communication session. In some embodiments, the first user can also move the representation 720 of the real-time communication session within the three-dimensional environment 720, for example by selecting the grab bar 708A (e.g., via voice commands, via touch input, via gaze and / or gestures, such as air gestures) and repositioning the representation 720 of the real-time communication session in the three-dimensional environment 740 relative to other objects in the three-dimensional environment (e.g., couch 740A and wall 740B). In some embodiments, other participants in the real-time communication session (e.g., the second user) can also move the representation 720 of the real-time communication session in the three-dimensional environment 740 (e.g., by using the grab bar 708B).
[0221] exist 7A to 7C and Fig. 7E , top view 704 corresponds to the spatial arrangement of representations of participants of first computer system 700. Top view 704 provides additional information about the spatial arrangement of representations 710A-710F and self-view representation 714 within three-dimensional environment 740, including the position, size, and orientation of the representations. Top view 704 is shown to provide a more detailed explanation of the technology and is not part of the user interface of first computer system 700 or second computer system 750.
[0222] As indicated by the top view 704, representations 710A-710F are displayed at a depth different from the viewpoint in the three-dimensional environment 740 of the first user, resulting in representations 710A-710F. At the first computer system 700, representations 710A-710D are grouped together in a first area 720A of the representation 720 of the real-time communication session, and representations 710E-710F are grouped together in a second area 720B of the representation 720 of the real-time communication session. In some embodiments, the first area 720A includes more active participants of the real-time communication session, and the second area 720B includes less active participants of the real-time communication session. As the activity level of the participants changes, the corresponding representations of the participants are optionally switched between the first area 720A and the second area 720B. Similarly, at the second computer system 750, representations 760A-760D are grouped together in a first region 780A of the representation 780 of the real-time communication session, and representations 760E-760F are grouped together in a second region 780B of the representation 780 of the real-time communication session. In some embodiments, the first region 780A includes more active participants of the real-time communication session, and the second region 780B includes less active participants of the real-time communication session. As the activity level of the participants changes, the corresponding representations of the participants are optionally switched between the first region 780A and the second region 780B. 7A to 7C At, as shown based on the number of representations of the participants (including self-view representations), the real-time communication session includes seven participants. In some embodiments, the representations of the participants in the second area (e.g., 720B and / or 780B) are not modified based on detecting the activities of the corresponding participants.
[0223] exist Fig. 7A At this point, the participants represented by representations 710B and 760B become more active. For example, the participants represented by representations 710B and 760B begin to speak and / or the participants (or avatars representing the participants) move. Figure 7B1 As shown, in response to detecting an activity associated with a participant represented by representations 710B and 760B, first computer systems 700 and 750 modify representations 710B and 760B, respectively, based on the activity. More specifically, first computer system 700 moves representation 710B forward in the spatial arrangement of representations of the participants of the real-time communication session, for example, by moving representation 710B forward compared to representations 710A and 710D that have not been modified (e.g., not moved forward or backward, not tilted, and not changed in size). Similarly, second computer system 750 moves representation 760B forward in the spatial arrangement of representations of the participants of the real-time communication session, for example, by moving representation 710B forward compared to representations 710A and 710D that have not been modified (e.g., not moved forward or backward, not tilted, and not changed in size).
[0224] Similarly, in Fig. 7A At , the participants represented by representations 710C and 760C become less active. For example, the participants represented by representations 710C and 760C have spoken less than a first threshold amount during the time period, and / or the participants (or avatars representing the participants) have moved less than a threshold amount during the time period. Figure 7B1 As shown, in response to detecting the reduced activity associated with the participants represented by representations 710C and 760C, the first computer systems 700 and 750 modify the representations 710C and 760C, respectively, based on the reduced activity. More specifically, the first computer system 700 moves the representation 710C backward in the spatial arrangement of the representations of the participants of the real-time communication session, for example, by moving the representation 710C backward compared to the representations 710A and 710D that have not been modified (e.g., not moved forward or backward, not tilted, and not changed in size). Similarly, the second computer system 750 moves the representation 760C backward in the spatial arrangement of the representations of the participants of the real-time communication session, for example, by moving the representation 710C backward compared to the representations 710A and 710D that have not been modified (e.g., not moved forward or backward, not tilted, and not changed in size). Therefore, the first computer systems 700 and 750 modify the representations of the participants based on the corresponding activities of the participants.
[0225] exist Figure 7B1 At , the first user's avatar has turned right in the three-dimensional environment 740 relative to the representation 720 of the real-time communication session, as shown in FIG. Fig.10F Further described. In some embodiments, the first user's avatar (e.g., 1010) rotates based on the first computer system 700 detecting (e.g., via one or more camera sensors and / or accelerometers) that the first user has rotated in the physical environment (e.g., the first user physically rotates their head). In embodiments where the first computer system 700 is a head mounted device, the first user turning their head optionally causes the head of the user's avatar to rotate in the same direction. In some embodiments where the first computer system 700 is a head mounted device, the first user turning their head optionally changes the first user's field of view of the three-dimensional environment 740. For example, the first user turns their head to the right, causing their head mounted device to rotate, which causes the first user's avatar to turn their head, causing the view provided to the first user to shift to the right (e.g., causing representation 710B to move away from the left side of the display generating component (e.g., display 702), and additional objects in the three-dimensional environment 740 to enter the view from the right side of the display generating component (e.g., 702)).
[0226] exist Figure 7B1At , in response to the first user's avatar turning to the right, the second computer system 750 modifies the representation 760A of the first user to tilt, as shown via the display generation component (e.g., 752) of the second computer system 750. In some embodiments, the magnitude of the tilt that the second computer system 750 applies to the representation 760A of the first user is based on the magnitude of the rotation of the head of the avatar representing the first user. In some embodiments, the direction of the tilt that the second computer system 750 applies to the representation 760A of the first user is based on the direction of the rotation of the head of the avatar representing the first user.
[0227] In some embodiments, Figure 7B1 The techniques and user interfaces described in Figure 1A to Figure 1P The invention may be provided by one or more of the devices described in . Figure 7B2 The display module X702 of the head mounted device (HMD) X700 is used to present Figure 7B1 700. For example, the first computer system 700 is implemented as device X700. In some embodiments, device X700 includes a pair of display modules that provide stereoscopic content to different eyes of the same user. For example, HMD X700 includes display module X702 (which provides content to the user's left eye) and a second display module (which provides content to the user's right eye). In some embodiments, the second display module displays a slightly different image than display module X702 to create an illusion of stereoscopic depth.
[0228] like Figure 7B2 As shown, in response to detecting an activity associated with the participant represented by representation 710B (e.g., Fig. 7A ), device X 700 modifies representation 710B based on the activity (e.g., relative to Fig. 7A More specifically, device X 700 causes representation 710B to move forward in the spatial arrangement of representations of participants in the real-time communication session, e.g., by moving representation 710B forward compared to representations 710A and 710D, which have not been modified (e.g., not moved forward or backward, not tilted, and not changed in size).
[0229] like Figure 7B2 As shown, in response to detecting a decreased activity associated with the participant represented by representation 710C (e.g., as described above with respect to Fig. 7A ), device X 700 modifies representation 710C based on the reduced activity (e.g., relative to Fig. 7AMore specifically, device X 700 causes representation 710C to move backward in the spatial arrangement of representations of participants in the real-time communication session, such as by moving representation 710C backward compared to representations 710A and 710D that have not been modified (e.g., not moved forward or backward, not tilted, and not changed in size). In some embodiments, another instance of device X 700 is used to present the Figure 7B1 750. For example, second computer system 750 is implemented as another instance of device X 700. It should be understood that another instance of device X 700 can modify representation 760B and representation 760C in a manner similar to that described above with respect to representations 710B and 710C, respectively.
[0230] exist Figure 7B2 At , the first user's avatar has turned right in the three-dimensional environment 740 relative to the representation 720 of the real-time communication session, as shown in FIG. Fig.10F Further described. In some embodiments, the first user's avatar (e.g., 1010) rotates based on the device X700 detecting (e.g., via the camera X704 and / or one or more accelerometers) that the first user has turned in the physical environment (e.g., the first user physically turns their head). The first user turning their head optionally causes the user's avatar's head to turn in the same direction. In some embodiments, the first user turning their head optionally changes the first user's field of view of the three-dimensional environment 740. For example, the first user turns their head to the right, causing the device X700 to rotate, which causes the first user's avatar to turn their head, resulting in the view provided to the first user shifting to the right (e.g., causing representation 710B to move away from the left side of the display module X702, and additional objects in the three-dimensional environment 740 to enter view from the right side of the display module X702).
[0231] Another example of using the device X700 is presented Figure 7B1 In an embodiment of the content of display 752 in FIG. 1 , in response to the first user's avatar turning to the right, another instance of device X 700 modifies the first user's representation 760A to tilt, for example similar to how the second computer system 750 modifies the first user's representation 760A to tilt, as described above with respect to Figure 7B1 described.
[0232] Figure 1B to Figure 1PAny of the features, components, and / or parts shown (including arrangements and configurations thereof) may be included, alone or in any combination, in HMD X700. For example, in some embodiments, HMD X700 includes any of the features, components, and / or parts of HMD 1-100, 1-200, 3-100, 6-100, 6-200, 6-300, 6-400, 11.1.1-100, and / or 11.1.2-100, alone or in any combination. In some embodiments, the display module X702 includes, alone or in any combination, the display unit 1-102, the display unit 1-202, the display unit 1-306, the display unit 1-406, the display generation component 120, the display screen 1-122a-b, the first and second rear-facing display screens 1-322a, 1-322b, the display 11.3.2-104, the first and second display components 1-120a, 1-120b, the display component 1-320, and the display component 1-4 21. Any of the features, components and / or parts of the first and second display subassemblies 1-420a, 1-420b, the display component 3-108, the display component 11.3.2-204, the first and second optical modules 11.1.1-104a and 11.1.1-104b, the optical module 11.3.2-100, the optical module 11.3.2-200, the lenticular lens array 3-110, the display region or area 6-232 and / or the display / display area 6-334. In some embodiments, the HMD X700 includes a sensor that includes, alone or in any combination, any of the features, components, and / or parts of any of the sensor 190, sensor 306, image sensor 314, image sensor 404, sensor assembly 1-356, sensor assembly 1-456, sensor system 6-102, sensor system 6-202, sensor 6-203, sensor system 6-302, sensor 6-303, sensor system 6-402, and / or sensors 11.1.2-110a-f. In some embodiments, the input device X703 includes, alone or in any combination, any of the features, components, and / or parts of any of the first button 1-128, button 11.1.1-114, second button 1-132, and / or dial or button 1-328. In some embodiments, HMD X700 includes one or more audio output components (eg, electronic components 1-112) for generating audio feedback (eg, audio output), optionally based on detected events and / or user input detected by the HMD X700.
[0233] exist Figure 7C, the first computer system 700 modifies representation 710C by tilting representation 710C based on the corresponding avatar and / or the corresponding user tilting their head corresponding to representation 710C. The first computer system 700 also modifies representation 710D by tilting representation 710D based on the corresponding avatar and / or the corresponding user tilting their head corresponding to representation 710D. These modifications to representations 710C and 710D are also shown as part of top view 704. Similarly, in Figure 7C At , the second computer system 750 modifies the representation 760C by tilting the representation 760C based on the corresponding avatar and / or the corresponding user corresponding to the representation 760C tilting its head. The second computer system 750 also modifies the representation 760D by tilting the representation 760D based on the corresponding avatar and / or the corresponding user tilting its head. In some embodiments, the magnitude of the tilt that the computer system applies to the representation is based on the magnitude of the rotation of the head of the avatar corresponding to the representation. In some embodiments, the direction of the tilt that the computer system applies to the representation is based on the direction of the rotation of the head of the avatar corresponding to the representation.
[0234] exist Figure 7C At , the distance between the first user's avatar (e.g., 1010) and the virtual camera in the three-dimensional environment 740 has decreased to less than a threshold distance (e.g., based on the first user's avatar moving toward the virtual camera), such as reference Figure 10G As described. Thus, computer system 700 has faded out (eg, blurred, increased translucency, and / or dimmed) the first user's self-view representation 714. Similarly, computer system 750 has faded out the first user's representation 760A.
[0235] exist Fig.7D At , two participants of the real-time communication session have left the real-time communication session. Specifically, the participant corresponding to representation 710E and representation 760E has left the real-time communication session, and the participant corresponding to representation 710F and representation 760F has left the real-time communication session. Fig.7D At , in response to the first computer system 700 detecting that the number of participants in the real-time communication session has decreased below a threshold number of participants, the computer system 700 switches from displaying representations of the participants of the real-time communication session in a grouped arrangement to displaying representations of the plurality of participants in a spatially distributed arrangement (e.g., 732A-732D). In some embodiments, when the computer system 700 is in a mode for displaying representations in a spatially distributed arrangement, the computer system 700 does not display a self-view representation.
[0236] like Fig.7DAs shown, representations 732A and 734A correspond to the same user as representations 710B and 760B, representations 732B and 734B correspond to the same user as representations 710C and 760C, representations 732C and 734C correspond to the same user as representations 710D and 760D, representation 732D corresponds to the same user as representations 710A and 712 (a second user of second computer system 750), and representation 734D corresponds to the same user as representations 714 and 760A (a first user of first computer system 700). In some embodiments, when in a spatially distributed arrangement, the avatars of the participants of the real-time communication session are optionally not displayed in the tiles. In some embodiments, when in a spatially distributed arrangement, the participants of the real-time communication session have spatial agents and can move their respective representations 732A-732D and 734A-734D within the spatially distributed arrangement (e.g., to get closer to or farther away from another user or virtual object in three-dimensional environments 740 and 770), as shown by the arrows. Fig.7D The arrows within are shown to provide a more detailed explanation and are not part of the user interface of the first computer system 700 or the second computer system 750 .
[0237] exist Fig.7D At , when the first computer system 700 displays representations of the participants of the real-time communication session in a spatially distributed arrangement, the first computer system 700 abandons displaying the self-view representation of the first user. Fig.7D At, when the second computer system 750 displays representations of participants of the real-time communication session in a spatially distributed arrangement, the second computer system 750 abandons displaying the self-view representation of the second user. In some embodiments, when in the spatially distributed arrangement, the activity level of the participant does not result in modification of the representation of the participant (e.g., the representation of the participant does not move forward, backward, tile, and / or resize based on audio and / or movement activity). In some embodiments, the first computer system 700 receives a user input requesting a switch between the spatially distributed arrangement and the grouped arrangement, and in response, switches between the spatially distributed arrangement and the grouped arrangement.
[0238] exist Fig. 7E As a result of the additional participant joining, the first computer system 700 (and the second computer system 750) determines that the number of participants has exceeded a threshold number of participants, and the first computer system 700 (and the second computer system 750) converts the real-time communication session from a representation (e.g., 732A-732D and 734A-734D) that displays multiple participants in a spatially distributed arrangement to a representation that displays the participants of the real-time communication session in a grouped arrangement. In addition, as Fig. 7EAs shown, the first computer system 700 displays a self-view representation 714 of a first user, and the second computer system 750 displays a self-view representation 712 of a second user.
[0239] Refer to the following about Figure 8 Method 800 described Fig. 9 Method 900 described and related Fig.11 The method 1100 described provides for 7A to 7E Additional description of .
[0240] Figure 8 8 is a flow chart of an exemplary method 800 for modifying a representation of a participant based on an activity associated with the participant in some embodiments. In some embodiments, the method 800 is executed on a computer system (e.g., a smart phone, tablet, watch, and / or head-mounted device) (e.g., Figure 1A 101, the first computer system 700, the second computer system 750 and / or the device X 700), the computer system including one or more display generation components (e.g., Figure 1A , Figure 3 and Figure 4 120, 702, 752, and / or X702 in the display generation component 120, 702, 752, and / or X702) (e.g., a visual output device, a 3D display, and / or a display having at least a transparent or semi-transparent portion on which an image can be projected (e.g., a see-through display), a projector, a head-up display, and / or a display controller). 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 (such as one or more processors 202 of computer system 101) (e.g., Figure 1A Some operations in method 800 are optionally combined, and / or the order of some operations is optionally changed.
[0241] A computer system (e.g., 700, 750, and / or X700) displays (802) representations (e.g., 710A-710F and / or 760A-760F) (e.g., real-time camera video or three-dimensional avatar representations) of multiple participants in a real-time communication session in a segmented spatial arrangement (e.g., lines, semicircles, and / or arcs) in a three-dimensional space (e.g., 740 and / or 770) (e.g., a physical environment or a virtual environment) via one or more display generation components (e.g., 702, 752, and / or X702). Displaying (802) representation includes simultaneously: displaying a representation (804) (e.g., 710A-710F and / or 760A-760F) of a first participant in a plurality of participants in a first tile in a spatial arrangement of tiles (e.g., 720 and / or 780), and displaying a representation (806) (e.g., 710A-710F and / or 760A-760F) of a second participant in a plurality of participants in a second tile in a spatial arrangement of tiles (e.g., 720 and / or 780), wherein the second participant is different from the first participant and the second tile is different from the first tile. In some embodiments, the tiles are two-dimensional. In some embodiments, the tiles are three-dimensional. In some embodiments, some tiles are two-dimensional and some tiles are three-dimensional. In some embodiments, the tiles are separate objects that include individual representations of different participants of the real-time communication session. In some embodiments, each tile includes a representation of a single participant of the real-time communication session.
[0242] While displaying representations of multiple participants in a real-time communication session in three-dimensional space, a computer system (e.g., 700, 750 and / or X700) detects (808) activity associated with a first participant of the multiple participants (e.g., 710A-710F and / or 760A-760F).
[0243] In response to detecting an activity associated with a first participant of the plurality of participants, the computer system (e.g., 700, 750, and / or X700) modifies (810) (e.g., moves forward or backward, changes size, and / or changes display angle) a representation of the first participant computer system (e.g., 700, 750, and / or X700) based on the activity, including causing a first tile to move relative to a second tile in a spatial arrangement of tiles (e.g., 720 and / or 780) (e.g., as in Fig. 7A and Figure 7B1 In the conversion between Fig. 7A and Figure 7B2 between, and / or as in Figure 7B1 and Figure 7CIn some embodiments, moving the first block relative to the second block in the spatial arrangement of the blocks includes moving the first block forward without moving the second block. In some embodiments, moving the first block relative to the second block in the spatial arrangement of the blocks includes moving the second block backward without moving the first block. In some embodiments, moving the first block relative to the second block in the spatial arrangement of the blocks includes moving the first block forward and moving the second block backward. Modifying the representation of the participant based on the activity of the first participant provides visual feedback to the user about the activity, thereby providing improved visual feedback.
[0244] In some embodiments, modifying (810) the representation of the first participant (e.g., 710B, 710C, 769B, and / or 760C) based on the activity includes moving the representation of the first participant (e.g., 710B, 710C, 769B, and / or 760C) in the first segment forward or backward relative to the representation of the second participant (e.g., 710D and / or 760D) in the second segment. FIG. 7A to FIG. 7B1 or 7A to 7B2 ). Moving the representation of the first participant forward or backward relative to the second participant based on the first participant's activity provides visual feedback to the user regarding the activity, thereby providing an improved control scheme for managing the view of the avatar and providing improved visual feedback.
[0245] In some embodiments, modifying (810) the representation of the first participant (e.g., 710B, 710C, 769B, and / or 760C) based on the activity includes changing the size (e.g., as shown in FIG. 1 ) relative to the representation of the second participant (e.g., 710D and / or 760D). FIG. 7A to FIG. 7B2 In some embodiments, modifying the representation of the first participant based on the activity includes changing (e.g., increasing or decreasing) the size of the first tile relative to the size of the second tile. Changing the size of the representation of the first participant relative to the second participant based on the activity of the first participant provides visual feedback to the user about the activity, thereby providing an improved control scheme for managing the view of the avatar and providing improved visual feedback.
[0246] In some embodiments, modifying (810) the representation of the first participant (e.g., 710C, 710D, 769C, and / or 760D) based on the activity includes changing the angle relative to the second participant (e.g., 710B and / or 760B) (e.g., FIG. 7B1 to FIG. 7CIn some embodiments, modifying the representation of the first participant based on the activity includes changing the angle of the first tile relative to the angle of the second tile (e.g., tilted forward, tilted backward, tilted left, and / or tilted right). Changing the tilt of the first participant relative to the second participant based on the activity of the first participant provides visual feedback to the user about the activity, thereby providing improved visual feedback.
[0247] In some embodiments, detecting an activity associated with a first participant (e.g., as represented by representations 710B, 710C, 769B, and / or 760C) includes detecting a sound from the first participant and / or movement of the representation of the first participant. In some embodiments, modifying the representation of the first participant (e.g., moving forward or backward, changing size, and / or changing display angle) based on the activity (including moving the first tile relative to the second tile in the spatial arrangement of the tiles) includes: modifying the representation of the first participant based on determining that the sound from the first participant has a first magnitude is a first modification (e.g., based on the first magnitude, moving a first amount, and / or changing to a first size), and modifying the representation of the first participant based on determining that the sound from the first participant has a second magnitude different from the first magnitude (e.g., louder or quieter) is a second modification different from the first modification (e.g., based on the second magnitude, moving a second amount and / or changing to a second size). In some embodiments, modifying the representation of the first participant based on the activity (e.g., moving forward or backward, changing size, and / or changing display angle) (including moving the first tile relative to the second tile in the spatial arrangement of the tiles) includes: modifying the representation of the first participant based on determining that the movement from the first participant has a first magnitude and / or a first direction is a first modification (e.g., moving a first amount and / or changing to a first size based on the first magnitude, based on the first direction), and modifying the representation of the first participant based on determining that the movement from the first participant has a second magnitude and / or a second direction different from the first magnitude and / or the first direction is a second modification different from the first modification (e.g., moving a second amount and / or changing to a second size based on the second magnitude, based on the second direction). Modifying the representation of the first participant based on the sound and / or movement of the first participant provides visual feedback to the user about the sound and / or movement, thereby providing improved visual feedback.
[0248] In some embodiments, the activity associated with the first participant (e.g., as represented by representations 710B, 710C, 769B, and / or 760C) is based on movement of the first participant relative to a reference point (e.g., 720, 780, 700, and / or 750) corresponding to the real-time communication session (e.g., the location of a representation of the real-time conversation or the location of a device used by the first participant to participate in the real-time communication session). In some embodiments, the detected activity associated with the first participant includes movement of the representation of the first participant. In some embodiments, modifying the representation of the first participant (moving the first tile relative to the second tile in the spatial arrangement of the tiles) based on the activity (e.g., moving forward or backward, changing size, and / or changing display angle) includes: modifying the representation of the first participant based on determining that the movement of the first participant relative to a reference point has a first magnitude and / or a first direction is a first modification (e.g., moving a first amount and / or changing to a first size based on the first magnitude, based on the first direction), and modifying the representation of the first participant based on determining that the movement of the first participant relative to the reference point has a second magnitude and / or a second direction different from the first magnitude and / or the first direction is a second modification different from the first modification (e.g., moving a second amount and / or changing to a second size based on the second magnitude, based on the second direction). Modifying the representation of the first participant based on the movement of the first participant relative to the reference point provides visual feedback to the user about the movement, thereby providing improved visual feedback.
[0249] In some embodiments, movement of the first participant (e.g., as represented by representations 710C, 710D, 760C, and / or 760D) relative to a reference point (e.g., 720, 780, 700, and / or 750) corresponding to the real-time communication session (e.g., the location of the representation of the real-time conversation or the location of a device used by the first participant to participate in the real-time communication session) is a change in the orientation of the first participant's face relative to the reference point corresponding to the real-time communication session (e.g., as represented by representations 710C, 710D, 760C, and / or 760D). Figure 7C ) (e.g., based on a left tilt or a right tilt of the first participant's head), and modifying the representation of the first participant (and / or the first tile) includes tilting the representation of the first participant (and / or the first tile) based on the change in orientation (e.g., as Figure 7CAs shown). In some embodiments, modifying the representation of the first participant (moving the first block relative to the second block in the spatial arrangement of the blocks) based on the activity (e.g., moving forward or backward, changing the size and / or changing the display angle) includes: modifying the representation of the first participant based on determining that the change in the orientation of the first participant's face has a first magnitude and / or a first direction is a first modification (e.g., based on the first magnitude, based on the first direction, tilting the representation of the first participant by a first degree, moving a first amount and / or changing to a first size), and modifying the representation of the first participant based on determining that the change in the orientation of the first participant's face has a second magnitude and / or a second direction different from the first magnitude and / or the first direction is a second modification different from the first modification (e.g., based on the second magnitude, based on the second direction, tilting the representation of the first participant by a second degree, moving a second amount and / or changing to a second size). Modifying the tilt of the first participant relative to the representation of the second participant based on the change in the orientation of the first participant's face provides visual feedback to the user about the activity, thereby providing improved visual feedback.
[0250] In some embodiments, the activity associated with the first participant (e.g., as represented by representations 760A and / or 714) is based on a reference point (e.g., 720) corresponding to the real-time communication session (e.g., the location of the representation of the real-time conversation or the location of a device that the first participant is using to participate in the real-time communication session) relative to the first participant (e.g., Figure 10G 1010) of the movement (for example, as Figure 10G ) (e.g., when the first participant is using the device to participate in a real-time communication session). In some embodiments, the detected activity associated with the first participant includes movement of the representation of the first participant. In some embodiments, modifying the representation of the first participant based on the activity (e.g., moving forward or backward, changing size, and / or changing display angle) (moving the first block relative to the second block in the spatial arrangement of the blocks) includes: modifying the representation of the first participant based on determining that the movement of the reference point relative to the first participant has a first magnitude and / or a first direction is a first modification (e.g., based on the first magnitude, based on the first direction, moving a first amount and / or changing to a first size), and modifying the representation of the first participant based on determining that the movement of the reference point relative to the first participant has a second magnitude and / or a second direction different from the first magnitude and / or the first direction is a second modification different from the first modification (e.g., based on the second magnitude, based on the second direction, moving a second amount and / or changing to a second size). Modifying the representation of the first participant based on the movement of the reference point relative to the first participant provides visual feedback to the user about the movement, thereby providing improved visual feedback.
[0251] In some embodiments, modifying (810) the representation of the first participant (e.g., 710B, 710C, 769B, and / or 760C) based on the activity includes: moving the representation of the first participant (and / or the first tile) (e.g., 710C and / or 760C) forward relative to the representation of the second participant (e.g., 710D) (e.g., as shown in Figure 1) based on the activity associated with the first participant being the first participant moving closer to a reference point corresponding to the real-time communication session (e.g., the location of the representation of the real-time conversation or the location of a device used by the first participant to participate in the real-time communication session). Figure 7B1 or Figure 7B2 and, based on the activity associated with the first participant being the first participant moving further away from a reference point corresponding to the real-time communication session (e.g., the location of a representation of the real-time conversation or the location of a device used by the first participant to participate in the real-time communication session), causing the representation of the first participant (and / or the first segment) (e.g., 710B and / or 769B) to move backward relative to the representation of the second participant (e.g., 710D) (e.g., as Figure 7B1 or Figure 7B2 In some embodiments, when the corresponding user is closer to a reference point corresponding to the real-time communication session, the blocks of the representation of the corresponding user move forward in the spatial arrangement of the blocks, and when the corresponding user is further away from the reference point corresponding to the real-time communication session, the blocks of the representation of the corresponding user move backward in the spatial arrangement of the blocks. In some embodiments, the magnitude and / or speed of the movement of the representation of the first participant is based on the magnitude and / or speed of the movement of the first participant relative to the reference point corresponding to the real-time communication session. Moving the representation of the first participant based on the participant moving closer to / away from the device provides an improved control scheme for managing the view of the avatar and providing visual feedback to the user about the movement.
[0252] In some embodiments, displaying (802) representations of multiple participants in a real-time communication session (e.g., 710A-710F and / or 760A-760F) (e.g., real-time camera video or three-dimensional avatar representations) in a block-by-block spatial arrangement (e.g., 720 and / or 780) in a three-dimensional space (e.g., 740 and / or 770) includes displaying representations of a first subset of the multiple participants (e.g., 710A-710D and / or 760A-760D) in a first area (e.g., 720A and / or 780A), and displaying representations of a second subset of the multiple participants (e.g., 710E-710F and / or 760E-760F) that is different from the first subset of the multiple participants in a second area (e.g., 720B and / or 780B) that is different from the first area (e.g., 720A and / or 780A). A computer system (e.g., 700 and / or 750) detects an activity associated with a corresponding participant of a plurality of participants. In response to detecting the activity associated with the corresponding participant of the plurality of participants: based on determining that the representation of the corresponding participant (e.g., 710A-710D and / or 760A-760D) belongs to a first subset of the plurality of participants displayed in the first area, modifying (e.g., moving forward or backward, changing the size, and / or changing the display angle) the representation of the corresponding participant based on the activity associated with the corresponding participant; and based on determining that the representation of the corresponding participant (e.g., 710E-710F and / or 760E-760F) belongs to a second subset of the plurality of participants displayed in the second area, abandoning modification (e.g., abandoning moving forward or backward, changing the size, and / or changing the display angle) of the representation of the corresponding participant based on the activity associated with the corresponding participant. In some embodiments, the representation of the corresponding participant moves between the first area and the second area based on user input (e.g., a request from the first participant) and / or based on the activity (or lack of activity) associated with the corresponding participant. In some embodiments, the representation of the corresponding participant moves from the first area to the second area based on the activity associated with the corresponding participant being less than a threshold amount of activity (e.g., within a first time period). In some embodiments, the representation of the corresponding participant moves from the second area to the first area based on the activity associated with the corresponding participant being greater than a second threshold amount of activity (e.g., within a second time period). Displaying some participants (and / or segments of participants) so that the participants do not move relative to the detected activity corresponding to those participants provides an improved control scheme for managing the view of the avatar.
[0253] In some embodiments, aspects / operations of methods 800, 900, and 1100 may be interchanged, replaced, and / or added between these methods. For example, the representation of a participant is optionally the same representation. For another example, the self-view representation of a user is optionally the same as the representation of a participant. For another example, a real-time communication session is optionally the same real-time communication session, and a three-dimensional environment is optionally the same three-dimensional environment. For the sake of simplicity, these details are not repeated here.
[0254] Fig. 9 900 is a flow chart of an exemplary method 900 for displaying a self-view representation of an avatar of a user of a computer system in some embodiments. In some embodiments, the method 900 is performed on a computer system (e.g., Figure 1A 101 in a computer system 102 (e.g., a smart phone, a tablet, a watch, and / or a head-mounted device), which is executed at the computer system 101 in a computer system 102 (e.g., a smart phone, a tablet, a watch, and / or a head-mounted device), and the computer system is connected to one or more display generation components (e.g., Figure 1A , Figure 3 and Figure 4 In some embodiments, method 900 communicates with display generation components 120, 702, 752, and / or X702 in the computer system (e.g., a visual output device, a 3D display, and / or a display having at least a transparent or semi-transparent portion on which an image can be projected (e.g., a see-through display), a projector, a head-up display, and / or a display controller) and one or more input devices (e.g., one or more cameras and / or accelerometers). In some embodiments, method 900 is performed by storing in a non-transitory (or transient) computer-readable storage medium and by one or more processors of a computer system (such as one or more processors 202 of computer system 101) (e.g., Figure 1A Some operations in method 900 are optionally combined, and / or the order of some operations is optionally changed.
[0255] When (902) a user of a computer system (e.g., 700, 750, and / or X700) is viewing a video in which the user is using a three-dimensional avatar (e.g., FIG. 10A to FIG. 10HWhen participating in a real-time communication session in an augmented reality environment (e.g., three-dimensional environment 740 and / or 770) in which the user of the computer system (e.g., 700, 750, and / or X700) is represented to other participants in the real-time communication session, the computer system (e.g., 700, 750, and / or X700) displays (904) via one or more display generation components a self-view representation (e.g., 712 and / or 714) of an avatar of the user of the computer system (e.g., 700, 750, and / or X700), the self-view representation providing a three-dimensional avatar (e.g., 1010, as shown in FIG. 1010 ) of the user of the computer system (e.g., 700, 750, and / or X700) from a perspective corresponding to one or more other participants (e.g., 710A-710D and / or 760A-760D) in the real-time communication session. FIG. 10A to FIG. 10H )’s appearance.
[0256] When (902) a user of a computer system (e.g., 700, 750, and / or X700) is participating in a real-time communication session and when a self-view representation of an avatar of the user of the computer system is displayed, the computer system (e.g., 700, 750, and / or X700) detects (906) movements of the user of the computer system via one or more input devices.
[0257] When (902) a user of a computer system (e.g., 700, 750, and / or X700) is participating in a real-time communication session, in response to detecting movement of the user of the computer system, the computer system (e.g., 700, 750, and / or X700) updates (908) (e.g., changes and / or animates) a display of a self-view representation (e.g., 712 and / or 714) of an avatar of the user of the computer system via one or more display generation components (e.g., 702 and / or 752) that provides an indication of the appearance of a three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants (e.g., 710A-710D and / or 760A-760D) in the real-time communication session. Updating the display of the self-view representation of the user's avatar in response to detecting movement of the user provides an improved control scheme for managing the view of the three-dimensional avatar and provides visual feedback to the user that movement of the user has been detected, thereby providing improved visual feedback.
[0258] In some embodiments, updating (906) a display of a self-view representation (e.g., 712 and / or 714) of an avatar of a user of the computer system (the self-view representation providing an indication of the appearance of a three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session) includes: based on determining that a movement of the user of the computer system (e.g., 700, 750, and / or X700) includes a first expression (e.g., a smile, a wink, a frown, a first facial expression, and / or a first movement of a facial feature of the user of the computer system), the computer system (e.g., 700, 750, and / or X700) based on (e.g., using and / or reflecting ) a first expression to update the display of the self-view representation (e.g., 712 and / or 714) of the avatar of the user of the computer system (e.g., 700, 750, and / or X700); and based on determining that the movement of the user of the computer system (e.g., 700, 750, and / or X700) includes a second expression different from the first expression (e.g., a smile, a wink, a frown, the first facial expression, and / or a first movement of a facial feature of the user of the computer system), update the display of the self-view representation (e.g., 712 and / or 714) of the avatar of the user of the computer system (e.g., 700, 750, and / or X700) based on (e.g., using and / or reflecting) the second expression. In some embodiments, when the expression of the user of the computer system changes, the computer system captures the expression and animates the three-dimensional avatar and the self-view representation of the avatar based on the expression (e.g., including the expression). Updating the avatar's self-view representation to have expressions based on the user's expressions captured by the computer system provides feedback to the user as to what expressions are being captured by the computer system and what expressions are being seen by other participants in the real-time communication session, thereby providing an improved control scheme for managing the view of a three-dimensional avatar.
[0259] In some embodiments, an avatar of a user of a computer system (e.g., 700, 750, and / or X700) is displayed (e.g., as part of 712 and / or 714) with a simplified background compared to the physical background of the user of the computer system and / or compared to the background of the augmented reality environment of the avatar. In some embodiments, the simplified background is a background composed of a solid color. In some embodiments, the simplified background is a background composed of a color gradient. Displaying the self-view representation of the avatar on the simplified background enables a viewer of the self-view representation to better identify updates to the self-view representation, thereby providing an improved control scheme for managing the view of a three-dimensional avatar. In addition, using a simplified background for the self-view representation of the avatar provides visual feedback to the viewer that the representation of the avatar is a self-view rather than another avatar, thereby providing an improved control scheme for managing the view of a three-dimensional avatar.
[0260] In some embodiments, an avatar of a user of a computer system (e.g., 700, 750, and / or X700) is displayed with a background that does not include elements (e.g., 740A, 740B, 770A, 770B) (e.g., physical elements (e.g., representations of elements from the physical world) and virtual elements) behind the three-dimensional avatar in an augmented reality environment (e.g., in three-dimensional environment 740 and / or 770) in which the user is presented as a three-dimensional avatar to other participants in a real-time communication session. In some embodiments, the computer system forgoes displaying elements behind the three-dimensional avatar in the augmented reality environment as part of and / or with the avatar's self-view representation. Not including elements behind the three-dimensional avatar in the augmented reality environment as part of the avatar's self-view representation enables the computer system to provide the user with a representation of the avatar that the user can more easily examine, and provides an improved control scheme for managing the view of the three-dimensional avatar.
[0261] In some embodiments, the self-view representation (e.g., 712 and / or 714) of the avatar of the user of the computer system is based on a virtual camera (e.g., 712 and / or 714) located at a corresponding location in the augmented reality environment in which the user is represented as a three-dimensional avatar to other participants in the real-time communication session. FIG. 10A to FIG. 10H 1004 at). In some embodiments, a three-dimensional avatar representing a user of the computer system is within the field of view of the virtual camera. In some embodiments, the virtual camera is invisible to participants of the real-time communication session and is invisible in the augmented reality environment. In some embodiments, elements (e.g., physical elements (e.g., representations of elements from the physical world) and / or virtual elements) between the virtual camera and the three-dimensional avatar in the augmented reality environment are not included in the self-view representation of the avatar. Displaying the self-view representation of the avatar of the user of the computer system based on the virtual camera located at a corresponding position in the augmented reality environment enables the computer system to provide an accurate representation of the three-dimensional avatar to the user of the computer system, and provides an improved control scheme for managing the view of the three-dimensional avatar.
[0262] In some embodiments, the corresponding position in the augmented reality environment is based on a perspective corresponding to a representation (e.g., a static two-dimensional image and / or an animated three-dimensional avatar) of one or more other participants (e.g., 710A-710D and / or 760A-760D) in the real-time communication session. In some embodiments, the corresponding position is a position in the augmented reality environment where a representation of an application corresponding to the real-time communication session is displayed. In some embodiments, the self-view representation of the avatar is determined based on a virtual camera located at a corresponding position (e.g., a first position in the three-dimensional environment that the participant is using to participate in the real-time communication session). In some embodiments, the self-view representation of the avatar (e.g., a three-dimensional avatar) generated by the virtual camera located at the corresponding position corresponds to the view of the three-dimensional avatar in the real-time communication session, which is presented to the other participants of the real-time communication session. Displaying the self-view representation of the avatar of the user of the computer system based on a virtual camera located at a corresponding position based on a perspective corresponding to the representation of one or more other participants in the real-time communication session enables the computer system to provide an accurate representation of the three-dimensional avatar to the user of the computer system from the view of the other participants, and provides an improved control scheme for managing the view of the three-dimensional avatar.
[0263] In some embodiments, based on determining that the head of the three-dimensional avatar (and / or the head of the user of the computer system) is turned to one side relative to the virtual camera, the computer system (e.g., 700, 750, and / or X700) updates (e.g., changes and / or animates) a display of a self-view representation (e.g., 712 and / or 714) of the user's avatar of the computer system (e.g., 700, 750, and / or X700) via one or more display generation components (e.g., 702, 752, and / or X702) to the three-dimensional avatar (e.g., Figure 7B1 , Figure 7B2 and Fig.10F In some embodiments, the self-view representation of the avatar of the user of the computer system includes a front view of the head of the three-dimensional avatar based on determining that the head of the three-dimensional avatar is facing the virtual camera. In some embodiments, the first side of the head is displayed when the avatar is turned to the first side, and the second side of the head is displayed when the avatar is turned to the second side. In some embodiments, the movement of the three-dimensional avatar is based on the detected movement of the user of the computer system. Displaying the view of the three-dimensional avatar's turned head provides feedback to the user of the computer system (and the participant viewing the representation) that the avatar has left the position of the virtual camera, and provides an improved control scheme for managing the view of the three-dimensional avatar.
[0264] In some embodiments, based on determining that the three-dimensional avatar moves away from the corresponding position, the computer system (e.g., 700, 750, and / or X700) updates (e.g., changes and / or animates) a display of a self-view representation (e.g., 712 and / or 714) of the avatar (e.g., 700, 750, and / or X700) of a user of the computer system via one or more display generation components (e.g., 702, 752, and / or X702) including: displaying a view of the three-dimensional avatar moving away from the corresponding position (e.g., as shown in FIG. 1 ); Fig. 10B The avatar is shown as being in the virtual camera's field of view (e.g., the avatar becomes smaller and / or more of the avatar is in the virtual camera's field of view), and the view of the virtual camera moving toward the three-dimensional avatar (e.g., the avatar in the virtual camera's field of view becomes larger and / or the avatar becomes smaller) after the three-dimensional avatar moves away from the view in the virtual camera's field of view (e.g., as Fig. 10C Neutralize and / or Figure 7C Displaying a view of the three-dimensional avatar moving away from the virtual camera provides an improved control scheme for managing the view of the three-dimensional avatar. Displaying a view of the virtual camera moving toward the three-dimensional avatar provides a user of the computer system (and a participant viewing the representation) with a better (e.g., closer and / or more detailed) view of the avatar, thereby providing an improved control scheme for managing the view of the three-dimensional avatar.
[0265] In some embodiments, based on determining that the three-dimensional avatar (and / or the head of the user of the computer system) is moving toward the corresponding position, the computer system (e.g., 700, 750 and / or X700) updates (e.g., changes and / or animates) a display of a self-view representation (e.g., 712 and / or 714) of the avatar of the user of the computer system (e.g., 700, 750 and / or X700) via one or more display generation components (e.g., 702, 752 and / or X702) of the computer system (e.g., 700, 750 and / or X700) including: displaying a view of the three-dimensional avatar moving toward the virtual camera (e.g., as Figure 10G The avatar may be enlarged and / or reduced in size in the field of view of the virtual camera) and a view in which the virtual camera moves away from the three-dimensional avatar (based on the three-dimensional avatar moving away from the virtual camera) may be displayed after a view in which the three-dimensional avatar moves toward the virtual camera (e.g., as shown in FIG. 1 ). Fig. 10H Displaying a view of the three-dimensional avatar moving toward the virtual camera provides an improved control scheme for managing the view of the three-dimensional avatar. Displaying a view of the virtual camera moving away from the three-dimensional avatar provides a user of the computer system (and a participant viewing the representation) with a better (e.g., wider view) view of the avatar, thereby providing an improved control scheme for managing the view of the three-dimensional avatar.
[0266] In some embodiments, based on determining that the distance between the virtual camera and the three-dimensional avatar is less than a first threshold distance (e.g., a minimum distance), the computer system (e.g., 700, 750, and / or X700) fades out the self-view representation of the avatar of the user of the computer system (e.g., 700, 750, and / or X700) (e.g., Figure 7C 714 at ). In some embodiments, fading out the self-view representation of the avatar of the user of the computer system is abandoned based on determining that the distance between the virtual camera and the three-dimensional avatar is greater than the first threshold distance and optionally less than the fourth threshold distance. In some embodiments, when the three-dimensional avatar is within the first threshold distance of the virtual camera, the self-view representation of the avatar is faded out, and when the three-dimensional avatar is not within the first threshold distance of the virtual camera, the self-view representation of the avatar is not faded out. In some embodiments, fading out or fading out an element / object includes blurring, increasing translucency, and / or darkening the element / object. Fading out the self-view representation of the avatar of the user of the computer system provides visual feedback to the user that the three-dimensional avatar is too close to the virtual camera, thereby providing an improved control scheme for managing the view of the three-dimensional avatar and providing improved visual feedback to the user.
[0267] In some embodiments, fading the self-view representation of the avatar of the user of the computer system (e.g., Figure 7C 714 at 714) includes: applying a first fade amount (e.g., blurring so that movement of the user of the computer system is reflected in the self-view representation of the avatar, increasing translucency, and / or a first amount of darkening) to the self-view representation of the avatar of the user of the computer system based on determining that the distance between the virtual camera and the three-dimensional avatar is less than a first threshold distance and greater than a third threshold distance (where the third threshold distance is less than the second threshold distance); and applying a second fade amount (e.g., so that movement of the user of the computer system is not reflected in the self-view representation of the avatar, further increasing translucency, and / or a second amount of darkening greater than the first level of darkening) to the self-view representation of the avatar of the user of the computer system based on determining that the distance between the virtual camera and the three-dimensional avatar is less than the third threshold distance, the second fade amount being greater than the first fade amount. Further fading the self-view representation of the avatar of the user of the computer system as the avatar gets closer to the virtual camera provides visual feedback to the user that the user is too close to the virtual camera and is approaching the virtual camera, thereby providing an improved control scheme for managing the view of the three-dimensional avatar and providing improved visual feedback.
[0268] In some embodiments, based on determining that the distance between the virtual camera and the three-dimensional avatar is greater than a fourth threshold distance, the computer system (e.g., 700, 750, and / or X700) fades out the self-view representation (e.g., 712 and / or 714) of the avatar of the user of the computer system (e.g., 700, 750, and / or X700). In some embodiments, based on determining that the distance between the virtual camera and the three-dimensional avatar is less than the fourth threshold distance and optionally greater than the first threshold distance, fading out the self-view representation of the avatar of the user of the computer system is abandoned. In some embodiments, when the three-dimensional avatar is outside the fourth threshold distance of the virtual camera, the self-view representation of the avatar is faded out, and when the three-dimensional avatar is not outside the fourth threshold distance of the virtual camera, the self-view representation of the avatar is not faded out. Fading out the self-view representation of the avatar of the user of the computer system provides visual feedback to the user that the three-dimensional avatar is too far from the virtual camera, thereby providing an improved control scheme for managing the view of the three-dimensional avatar and providing improved visual feedback to the user.
[0269] In some embodiments, fading the self-view representation of the avatar of the user of the computer system (e.g., 712 and / or 714) based on determining that the distance between the virtual camera and the three-dimensional avatar is greater than a fourth threshold distance includes: applying a third fade amount (e.g., blurring so that movement of the avatar of the user of the computer system is reflected in the self-view representation of the avatar, increasing translucency and / or a first amount of darkening) to the self-view representation of the avatar of the user of the computer system (e.g., 712 and / or 714) based on determining that the distance between the virtual camera and the three-dimensional avatar is greater than a fifth threshold distance and less than a sixth threshold distance (where the sixth threshold distance is greater than the fifth threshold distance); and applying a fourth fade amount (e.g., so that movement of the user of the computer system is not reflected in the self-view representation of the avatar, further increasing translucency, and / or a second darkening level greater than the first darkening level) to the self-view representation of the avatar of the user of the computer system (e.g., 712 and / or 714) based on determining that the distance between the virtual camera and the three-dimensional avatar is greater than the sixth threshold distance, the fourth fade amount being greater than the third fade amount. Further fading the self-view representation of the avatar of the user of the computer system as the avatar moves away from the virtual camera provides visual feedback to the user that the user is too far away and moving away from the virtual camera, thereby providing an improved control scheme for managing the view of the three-dimensional avatar and providing improved visual feedback.
[0270] In some embodiments, the virtual camera at the corresponding position points to a first direction. In some embodiments, based on determining that the angle at the corresponding position between the first direction and the three-dimensional avatar is greater than a first threshold angle, the computer system (e.g., 700, 750 and / or X700) fades out the self-view representation of the avatar of the user of the computer system (e.g., 712 and / or 714). In some embodiments, based on determining that the angle at the corresponding position between the first direction and the three-dimensional avatar is less than the first threshold angle, the self-view representation of the avatar of the user of the computer system is abandoned. In some embodiments, when the three-dimensional avatar is offset from the first direction by more than the first threshold angle, the self-view representation of the avatar is faded out, and when the three-dimensional avatar is not offset from the first direction by more than the first threshold angle, the self-view representation of the avatar is not faded out. Fading out the self-view representation of the avatar of the user of the computer system provides the user with visual feedback that the three-dimensional avatar is too far away from the virtual camera, thereby providing an improved control scheme for managing the view of the three-dimensional avatar and providing enhanced visual feedback to the user.
[0271] In some embodiments, fading the self-view representation of the avatar of the user of the computer system (e.g., 712 and / or 714) based on determining that the angle at the corresponding position between the first direction and the three-dimensional avatar is greater than a first threshold angle includes: applying a fifth fade amount (e.g., blurring so that movements of the user of the computer system are reflected in the self-view representation of the avatar, increasing translucency and / or dimming) to the self-view representation of the avatar of the user of the computer system (e.g., 712 and / or 714) based on determining that the angle at the corresponding position between the first direction and the three-dimensional avatar is greater than a second threshold angle and less than a third threshold angle (where the third threshold angle is greater than the second threshold angle); and applying a sixth fade amount (e.g., so that movements of the user of the computer system are not reflected in the self-view representation of the avatar, further increasing translucency, and / or a second dimming level greater than the first dimming level) to the self-view representation of the avatar of the user of the computer system (e.g., 712 and / or 714) based on determining that the angle at the corresponding position between the first direction and the three-dimensional avatar is greater than the third threshold angle, the sixth fade amount being greater than the fifth fade amount. In some embodiments, when the head of the three-dimensional avatar begins to turn, the computer system begins to fade out the self-view representation of the three-dimensional avatar. The further the head of the three-dimensional avatar turns, the blurrier the representation of the self-view representation of the three-dimensional avatar becomes. As the avatar further deviates from the direction of the virtual camera, further fading the self-view representation of the avatar of the user of the computer system provides visual feedback to the user that the user has deviated too far from the direction of the virtual camera and is deviating further, thereby providing an improved control scheme for managing the view of the three-dimensional avatar and providing improved visual feedback.
[0272] In some embodiments, a computer system (e.g., 700, 750, and / or X700) displays representations of multiple other participants (e.g., one or more other participants, less than all other participants, and / or all other participants (excluding the user of the computer system)) in a real-time communication session in a grouped arrangement (e.g., 720 and / or 780) in a three-dimensional environment (e.g., 740 and / or 770) of an augmented reality environment via one or more display generation components (e.g., 702, 752, and / or X702), while displaying a self-view representation (e.g., 712 and / or 714) of an avatar of a user of the computer system (e.g., 700, 750, and / or X700).
[0273] In some embodiments, displaying representations of multiple other participants in a real-time communication session in a grouped arrangement (e.g., 720 and / or 780) includes: displaying representations of multiple other participants facing substantially the same direction (e.g., multiple other participants in the real-time communication session arranged in a group facing directions within a threshold angle of the same direction). Having the representations of the multiple other participants facing substantially the same direction provides visual feedback to the viewer that the representations are part of a grouped arrangement, thereby providing improved feedback.
[0274] In some embodiments, a self-view representation (e.g., 712 and / or 714) of an avatar of a user of a computer system (e.g., 700, 750, and / or X700) is displayed as part of a group arrangement (e.g., 720 and / or 780) in a three-dimensional environment (e.g., 740 and / or 770). Displaying the self-view representation of the avatar of the user of the computer system as part of the group arrangement enables the user to view representations of other participants at the same time as the self-view representation, thereby providing an improved control scheme for managing the view of the three-dimensional avatar and providing improved visual feedback.
[0275] In some embodiments, while displaying representations of multiple other participants in the real-time communication session in a grouped arrangement (e.g., 720 and / or 780), the computer system (e.g., 700, 750, and / or X700) detects an event (e.g., detecting a participant leaving the real-time communication session and / or detecting a request to switch to a spatially distributed arrangement). In response to detecting the event: the computer system (e.g., 700, 750, and / or X700) switches the real-time communication session from displaying representations of multiple other participants in a grouped arrangement (e.g., 720 and / or 780) to displaying representations of multiple other participants in a spatially distributed arrangement (e.g., 720 and / or 780). Fig.7DThe computer system may be configured to display a plurality of other participants (as shown) and cease displaying a self-view representation of an avatar of a user of the computer system (e.g., 712 and / or 714). Ceasing to display the self-representation of the avatar provides visual feedback to the user that the computer system has transitioned to displaying the participant in a spatially distributed arrangement. In some embodiments, in response to detecting an event, the representations of the plurality of other participants are transitioned from being grouped together to being in a spatially distributed arrangement (e.g., distributed like people having a conversation in a room). When in the spatially distributed arrangement, these participants optionally have spatial agents and can move their respective representations within the spatially distributed arrangement (e.g., to get closer to or further away from another user or virtual object in a three-dimensional environment). In some embodiments, in the spatially distributed arrangement: the representations of the plurality of other participants are spaced apart from each other in a first non-vertical direction in a three-dimensional reality environment (e.g., a 3D augmented reality environment) by at least a threshold amount; and the representations of the plurality of other participants are spaced apart from each other in a second non-vertical direction different from the first non-vertical direction in the three-dimensional reality environment by at least a threshold amount. In some embodiments, in a grouped arrangement: representations of multiple other participants are spaced apart from each other in a first non-vertical direction in a three-dimensional environment by less than a threshold amount; the representation of a first participant in the grouped arrangement has a different position than the representation of the first participant in the spatially distributed arrangement; and the representation of a second participant in the grouped arrangement has a different position than the representation of the second participant in the spatially distributed arrangement.
[0276] In some embodiments, representations of multiple other participants in a real-time communication session are displayed in a spatially distributed arrangement (e.g., Fig.7D In response to detecting the second event, the computer system (e.g., 700, 750, and / or X700) displays representations of multiple other participants (e.g., 720 and / or 780) in a group arrangement via one or more display generation components (e.g., 702, 752, and / or X702) while displaying a self-view representation (e.g., 712 and / or 714) of an avatar of a user of the computer system (e.g., 700, 750, and / or X700). Redisplaying the avatar's self-representation provides visual feedback to the user that the computer system has transitioned to displaying the participants in a group arrangement.
[0277] In some embodiments, the computer system (e.g., 700, 750, and / or X700) receives a user input (e.g., via 708A and / or 708B) corresponding to a request to reposition the grouped arrangement of representations of multiple other participants (e.g., 720 and / or 780). In response to receiving the user input corresponding to the request to reposition the grouped arrangement of representations of multiple other participants, the computer system (e.g., 700, 750, and / or X700) repositions the grouped arrangement of representations of the multiple other participants from a first position in the three-dimensional environment (e.g., as in FIG. 10A to FIG. 10G or Fig. 10H The grouped arrangement may be moved (e.g., in unison and / or as a group) to a second location (e.g., 740 and / or 770) in the three-dimensional environment that is different from the first location. Repositioning the grouped arrangement enables a user of the computer system to move the grouped arrangement to a location in the three-dimensional environment that best suits the user, thereby improving the human-computer interface.
[0278] In some embodiments, a computer system (e.g., 700, 750, and / or X700) receives a request (e.g., of a user of the computer system) to change a grouped arrangement (e.g., 720 and / or 780) of representations of multiple other participants in a three-dimensional environment (e.g., Fig. 10B , Fig.10D1 , Fig.10D2 and / or Fig.10F In response to receiving a user input corresponding to a request to change the viewpoint at which the grouped arrangement of representations of multiple other participants is displayed in the three-dimensional environment (e.g., 740), the computer system (e.g., 700, 750, and / or X700) updates the viewpoint at which the grouped arrangement of representations of multiple other participants (e.g., 720 and / or 780) is displayed from a f...
Claims
1. A method, comprising: At a computer system in communication with one or more display generating components: Displaying, via the one or more display generating components, representations of a plurality of participants in a real-time communication session in a tiled spatial arrangement in three-dimensional space, comprising simultaneously displaying: a representation of a first participant of the plurality of participants in a first tile in the spatial arrangement of tiles; as well as a representation of a second participant of the plurality of participants in a second tile in the spatial arrangement of tiles, wherein the second participant is different from the first participant and the second tile is different from the first tile; detecting an activity associated with the first participant of the plurality of participants while displaying the representations of the plurality of participants in the real-time communication session in the three-dimensional space; as well as In response to detecting an activity associated with the first participant of the plurality of participants, modifying the representation of the first participant based on the activity includes moving the first tile relative to the second tile in the spatial arrangement of tiles.
2. The method of claim 1, wherein modifying the representation of the first participant based on the activity comprises moving the representation of the first participant in the first tile forward or backward relative to the representation of the second participant in the second tile.
3. The method of any one of claims 1 to 2, wherein modifying the representation of the first participant based on the activity comprises changing a size of the representation of the first participant relative to a size of the representation of the second participant.
4. The method of any one of claims 1 to 3, wherein modifying the representation of the first participant based on the activity comprises changing an angle of the representation of the first participant relative to an angle of the representation of the second participant.
5. The method of any one of claims 1 to 4, wherein detecting activity associated with the first participant comprises detecting sound from the first participant and / or movement of the representation of the first participant.
6. The method of any one of claims 1 to 5, wherein the activity associated with the first participant is based on movement of the first participant relative to a reference point corresponding to the real-time communication session.
7. A method according to claim 6, wherein the movement of the first participant relative to the reference point corresponding to the real-time communication session is a change in the orientation of the face of the first participant relative to the reference point corresponding to the real-time communication session, and modifying the representation of the first participant includes tilting the representation of the first participant based on the change in the orientation.
8. The method of any one of claims 1 to 7, wherein the activity associated with the first participant is based on movement of a reference point corresponding to the real-time communication session relative to the first participant.
9. The method of claim 8, wherein modifying the representation of the first participant based on the activity comprises: moving the representation of the first participant forward relative to the representation of the second participant based on the activity associated with the first participant being the first participant moving closer to a reference point corresponding to the real-time communications session; and Based on the activity associated with the first participant being the first participant moving further away from a reference point corresponding to the real-time communication session, the representation of the first participant is moved backward relative to the representation of the second participant.
10. The method according to any one of claims 1 to 9, wherein displaying representations of the plurality of participants in the real-time communication session in the three-dimensional space in the spatial arrangement of the tiles comprises: displaying representations of a first subset of the plurality of participants in a first area, and displaying representations of a second subset of the plurality of participants different from the first subset of the plurality of participants in a second area different from the first area, the method further comprising: detecting an activity associated with a respective participant of the plurality of participants; and In response to detecting an activity associated with the respective participant of the plurality of participants: Based on determining that the representation of the respective participant belongs to the first subset of the plurality of participants displayed in the first area, modifying the representation of the respective participant based on the activity associated with the respective participant; and Based on determining that the representation of the respective participant belongs to the second subset of the plurality of participants displayed in the second area, modifying the representation of the respective participant based on the activity associated with the respective participant is foregone.
11. 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 communicating with one or more display generating components, the one or more programs comprising instructions for executing the method according to any one of claims 1 to 10.
12. A computer system configured to communicate with one or more display generation components, 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 10.
13. A computer system configured to communicate with one or more display generation components, the computer system comprising: Device for carrying out the method according to any one of claims 1 to 10.
14. 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 one or more display generating components, the one or more programs comprising instructions for performing the method according to any one of claims 1 to 10.
15. 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: Displaying, via the one or more display generating components, representations of a plurality of participants in a real-time communication session in a tiled spatial arrangement in three-dimensional space, comprising simultaneously displaying: a representation of a first participant of the plurality of participants in a first tile in the spatial arrangement of tiles; as well as a representation of a second participant of the plurality of participants in a second tile in the spatial arrangement of tiles, wherein the second participant is different from the first participant and the second tile is different from the first tile; detecting an activity associated with the first participant of the plurality of participants while displaying the representations of the plurality of participants in the real-time communication session in the three-dimensional space; as well as In response to detecting an activity associated with the first participant of the plurality of participants, modifying the representation of the first participant based on the activity includes moving the first tile relative to the second tile in the spatial arrangement of tiles.
16. A computer system configured to communicate with one or more display generation components, 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, via the one or more display generating components, representations of a plurality of participants in a real-time communication session in a tiled spatial arrangement in three-dimensional space, comprising simultaneously displaying: a representation of a first participant of the plurality of participants in a first tile in the spatial arrangement of tiles; as well as a representation of a second participant of the plurality of participants in a second tile in the spatial arrangement of tiles, wherein the second participant is different from the first participant and the second tile is different from the first tile; detecting an activity associated with the first participant of the plurality of participants while displaying the representations of the plurality of participants in the real-time communication session in the three-dimensional space; as well as In response to detecting an activity associated with the first participant of the plurality of participants, modifying the representation of the first participant based on the activity includes moving the first tile relative to the second tile in the spatial arrangement of tiles.
17. A computer system configured to communicate with one or more display generation components, the computer system comprising: Means for displaying, via the one or more display generating components, representations of a plurality of participants in a real-time communication session in a tiled spatial arrangement in three-dimensional space, including simultaneously displaying: a representation of a first participant of the plurality of participants in a first tile in the spatial arrangement of tiles; as well as a representation of a second participant of the plurality of participants in a second tile in the spatial arrangement of tiles, wherein the second participant is different from the first participant and the second tile is different from the first tile; means for detecting an activity associated with the first participant of the plurality of participants while displaying the representations of the plurality of participants in the real-time communication session in the three-dimensional space; and In response to detecting an activity associated with the first participant of the plurality of participants, means for modifying the representation of the first participant based on the activity, including moving the first tile relative to the second tile in the spatial arrangement of tiles.
18. 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 one or more display generating components, the one or more programs comprising instructions for: Displaying, via the one or more display generating components, representations of a plurality of participants in a real-time communication session in a tiled spatial arrangement in three-dimensional space, comprising simultaneously displaying: a representation of a first participant of the plurality of participants in a first tile in the spatial arrangement of tiles; as well as a representation of a second participant of the plurality of participants in a second tile in the spatial arrangement of tiles, wherein the second participant is different from the first participant and the second tile is different from the first tile; detecting an activity associated with the first participant of the plurality of participants while displaying the representations of the plurality of participants in the real-time communication session in the three-dimensional space; as well as In response to detecting an activity associated with the first participant of the plurality of participants, modifying the representation of the first participant based on the activity includes moving the first tile relative to the second tile in the spatial arrangement of tiles.
19. A method comprising: At a computer system in communication with one or more display generating components and one or more input devices: While a user of the computer system is participating in a real-time communication session in an augmented reality environment in which the user is represented to other participants in the real-time communication session as a three-dimensional avatar: displaying, via the one or more display generating components, a self-view representation of the avatar of the user of the computer system, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session; detecting, via the one or more input devices, movement of the user of the computer system while displaying the self-view representation of the avatar of the user of the computer system; as well as In response to detecting the movement of the user of the computer system, updating, via the one or more display generating components, a display of the self-view representation of the avatar of the user of the computer system, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session.
20. The method of claim 19, wherein the self-view representation provides an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session, updating the display of the self-view representation of the avatar of the user of the computer system comprises: in response to determining that the movement of the user of the computer system includes a first expression, updating a display of the self-view representation of the avatar of the user of the computer system based on the first expression; as well as Based on determining that the movement of the user of the computer system includes a second expression different from the first expression, updating a display of the self-view representation of the avatar of the user of the computer system based on the second expression.
21. The method of any one of claims 19 to 20, wherein the avatar of the user of the computer system is displayed with a simplified background compared to a physical background of the user of the computer system and / or compared to a background of the augmented reality environment of the avatar.
22. A method according to any one of claims 19 to 21, wherein the avatar of the user of the computer system is displayed with a background that does not include elements behind the three-dimensional avatar in the augmented reality environment in which the user is represented to other participants in the real-time communication session with the three-dimensional avatar.
23. A method according to any one of claims 19 to 22, wherein the self-view representation of the avatar of the user of the computer system is based on a virtual camera located at a corresponding position in the augmented reality environment in which the user is represented to other participants in the real-time communication session as the three-dimensional avatar.
24. The method of claim 23, wherein the corresponding position in the augmented reality environment is based on a perspective corresponding to a representation of one or more other participants in the real-time communication session.
25. The method according to any one of claims 19 to 24, further comprising: Based on determining that the head of the three-dimensional avatar is turned to one side relative to the virtual camera, updating the display of the self-view representation of the avatar of the user of the computer system to the view of the one side of the head of the three-dimensional avatar via the one or more display generation components.
26. The method according to any one of claims 23 to 25, further comprising: Based on determining that the three-dimensional avatar moves away from the corresponding position, updating, via the one or more display generation components, a display of the self-view representation of the avatar of the user of the computer system, comprising: displaying a view of the three-dimensional avatar moving away from the virtual camera, and A view of the virtual camera moving toward the three-dimensional avatar is displayed after the three-dimensional avatar moves away from the view of the virtual camera.
27. The method according to any one of claims 23 to 26, further comprising: Based on determining that the three-dimensional avatar moves toward the corresponding location, updating, via the one or more display generation components, a display of the self-view representation of the avatar of the user of the computer system, comprises: displaying a view of the three-dimensional avatar moving toward the virtual camera, and A view in which the virtual camera moves away from the three-dimensional avatar is displayed after the view in which the three-dimensional avatar moves toward the virtual camera.
28. The method according to any one of claims 19 to 27, further comprising: The self-view representation of the avatar of the user of the computer system is faded out based on determining that a distance between a virtual camera and the three-dimensional avatar is less than a first threshold distance.
29. The method of claim 28, wherein fading the self-view representation of the avatar of the user of the computer system based on determining that the distance between the virtual camera and the three-dimensional avatar is less than the first threshold distance comprises: applying a first fade amount to the self-view representation of the avatar of the user of the computer system based on determining that the distance between the virtual camera and the three-dimensional avatar is less than a second threshold distance and greater than a third threshold distance, wherein the third threshold distance is less than the second threshold distance; as well as Based on determining that the distance between the virtual camera and the three-dimensional avatar is less than the third threshold distance, applying a second fade amount greater than the first fade amount to the self-view representation of the avatar of the user of the computer system.
30. The method according to any one of claims 19 to 29, further comprising: The self-view representation of the avatar of the user of the computer system is faded out based on determining that the distance between the virtual camera and the three-dimensional avatar is greater than a fourth threshold distance.
31. The method of claim 30, wherein fading the self-view representation of the avatar of the user of the computer system based on determining that the distance between the virtual camera and the three-dimensional avatar is greater than the fourth threshold distance comprises: applying a third fade amount to the self-view representation of the avatar of the user of the computer system based on determining that the distance between the virtual camera and the three-dimensional avatar is greater than a fifth threshold distance and less than a sixth threshold distance, wherein the sixth threshold distance is greater than the fifth threshold distance; as well as Based on determining that the distance between the virtual camera and the three-dimensional avatar is greater than the sixth threshold distance, applying a fourth fade amount greater than the third fade amount to the self-view representation of the avatar of the user of the computer system.
32. The method of any one of claims 23 to 31, wherein the virtual camera at the corresponding position is pointing in a first direction, the method further comprising: The self-view representation of the avatar of the user of the computer system is faded out based on determining that the angle at the corresponding position between the first direction and the three-dimensional avatar is greater than a first threshold angle.
33. The method of claim 32, wherein fading the self-view representation of the avatar of the user of the computer system based on determining that the angle between the first direction and the corresponding position of the three-dimensional avatar is greater than the first threshold angle comprises: applying a fifth fade amount to the self-view representation of the avatar of the user of the computer system based on determining that the angle at the corresponding position between the first direction and the three-dimensional avatar is greater than a second threshold angle and less than a third threshold angle, wherein the third threshold angle is greater than the second threshold angle; as well as Based on determining that the angle at the corresponding position between the first direction and the three-dimensional avatar is greater than the third threshold angle, applying a sixth fade amount greater than the fifth fade amount to the self-view representation of the avatar of the user of the computer system.
34. The method according to any one of claims 19 to 33, further comprising: Representations of a plurality of other participants in the real-time communication session are displayed in a grouped arrangement in a three-dimensional environment of the augmented reality environment via the one or more display generation components while displaying the self-view representation of the avatar of the user of the computer system.
35. The method of claim 34, wherein displaying the representations of the plurality of other participants in the real-time communication session in the grouped arrangement comprises: The representations of the plurality of other participants are displayed facing in substantially the same direction.
36. The method of any one of claims 34 to 35, wherein the self-view representation of the avatar of the user of the computer system is displayed as part of the grouped arrangement in the three-dimensional environment.
37. The method according to any one of claims 34 to 36, further comprising: detecting an event while displaying the representations of the plurality of other participants in the real-time communication session in the grouped arrangement; as well as In response to detecting the event: converting the real-time communication session from displaying the representations of the plurality of other participants in the grouped arrangement to displaying the representations of the plurality of other participants in a spatially distributed arrangement; as well as Displaying the self-view representation of the avatar of the user of the computer system is stopped.
38. The method of claim 37, further comprising: detecting a second event while displaying the representations of the plurality of other participants in the real-time communication session in the spatially distributed arrangement; as well as In response to detecting the second event, via the one or more display generating components, simultaneously: displaying representations of a plurality of other participants in said grouped arrangement; as well as The self-view representation of the avatar of the user of the computer system is displayed.
39. The method according to any one of claims 34 to 38, further comprising: receiving user input corresponding to a request to reposition the grouped arrangement of the representations of the plurality of other participants; as well as In response to receiving the user input corresponding to the request to reposition the grouped arrangement of the representations of the multiple other participants, the grouped arrangement of the representations of the multiple other participants is repositioned from a first position in the three-dimensional environment to a second position in the three-dimensional environment that is different from the first position.
40. The method according to any one of claims 34 to 39, further comprising: receiving a user input corresponding to a request to change a viewpoint at which the grouped arrangement of the representations of the plurality of other participants is displayed in the three-dimensional environment; as well as In response to receiving user input corresponding to a request to change the viewpoint at which the grouped arrangement of the representations of the multiple other participants is displayed in the three-dimensional environment, the viewpoint at which the grouped arrangement of the representations of the multiple other participants is displayed is updated from a first viewpoint in the three-dimensional environment to a second viewpoint in the three-dimensional environment that is different from the first viewpoint.
41. 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 communicating with one or more display generating components and one or more input devices, the one or more programs comprising instructions for executing a method according to any one of claims 19 to 40.
42. A computer system configured to communicate with one or more display generating components and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 19 to 40.
43. A computer system configured to communicate with one or more display generating components and one or more input devices, the computer system comprising: Device for carrying out the method according to any one of claims 19 to 40.
44. 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 one or more display generating components and one or more input devices, the one or more programs comprising instructions for performing the method according to any one of claims 19 to 40.
45. 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 one or more display generating components and one or more input devices, the one or more programs comprising instructions for: While a user of the computer system is participating in a real-time communication session in an augmented reality environment in which the user is represented to other participants in the real-time communication session as a three-dimensional avatar: displaying, via the one or more display generating components, a self-view representation of the avatar of the user of the computer system, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session; detecting, via the one or more input devices, movement of the user of the computer system while displaying the self-view representation of the avatar of the user of the computer system; as well as In response to detecting the movement of the user of the computer system, updating, via the one or more display generating components, a display of the self-view representation of the avatar of the user of the computer system, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session.
46. A computer system configured to communicate with one or more display generating components and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: While a user of the computer system is participating in a real-time communication session in an augmented reality environment in which the user is represented to other participants in the real-time communication session as a three-dimensional avatar: displaying, via the one or more display generating components, a self-view representation of the avatar of the user of the computer system, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session; detecting, via the one or more input devices, movement of the user of the computer system while displaying the self-view representation of the avatar of the user of the computer system; as well as In response to detecting the movement of the user of the computer system, updating, via the one or more display generating components, a display of the self-view representation of the avatar of the user of the computer system, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session.
47. A computer system configured to communicate with one or more display generating components and one or more input devices, the computer system comprising: While a user of the computer system is participating in a real-time communication session in an augmented reality environment in which the user is represented to other participants in the real-time communication session as a three-dimensional avatar, means for: displaying, via the one or more display generating components, a self-view representation of the avatar of the user of the computer system, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session; detecting, via the one or more input devices, movement of the user of the computer system while displaying the self-view representation of the avatar of the user of the computer system; as well as In response to detecting the movement of the user of the computer system, updating, via the one or more display generating components, a display of the self-view representation of the avatar of the user of the computer system, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session.
48. 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 one or more display generating components and one or more input devices, the one or more programs comprising instructions for: While a user of the computer system is participating in a real-time communication session in an augmented reality environment in which the user is represented to other participants in the real-time communication session as a three-dimensional avatar: displaying, via the one or more display generating components, a self-view representation of the avatar of the user of the computer system, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session; detecting movement of the user of the computer system via the one or more input devices while displaying the self-view representation of the avatar of the user of the computer system; as well as In response to detecting the movement of the user of the computer system, updating, via the one or more display generating components, a display of the self-view representation of the avatar of the user of the computer system, the self-view representation providing an indication of the appearance of the three-dimensional avatar of the user of the computer system from a perspective corresponding to one or more other participants in the real-time communication session.
49. A method comprising: At a computer system in communication with one or more display generating components: displaying, via the one or more display generating components, in a real-time communication session, a view of a three-dimensional avatar corresponding to a participant in the real-time communication session, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a first position in a three-dimensional environment that the participant is using to participate in the real-time communication session; When the view of the three-dimensional avatar is displayed in the real-time communication session, a change of the participant's viewpoint relative to a representation of the real-time communication session occurs in the three-dimensional environment that the participant is using to participate in the real-time communication session; and In response to the change in the viewpoint of the participant relative to the representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session, updating the view of the three-dimensional avatar in the real-time communication session, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a second position in the three-dimensional environment that the participant is using to participate in the real-time communication session, wherein the second position is based on the change in the viewpoint of the participant relative to the representation of the real-time communication session in the three-dimensional environment that the participant is using to participate in the real-time communication session.
50. A method according to claim 49, wherein the first position of the virtual camera in the three-dimensional environment that the participant is using to participate in the real-time communication session is determined based on the position of the representation of the real-time communication session in the three-dimensional environment that the participant is using to participate in the real-time communication session.
51. A method according to any one of claims 49 to 50, wherein the first position of the virtual camera in the three-dimensional environment that the participant is using to participate in the real-time communication session is determined based on the viewpoint of the participant in the three-dimensional environment that the participant is using to participate in the real-time communication session.
52. A method according to any one of claims 49 to 51, wherein the virtual camera moves on a line that intersects the representation of the real-time communication session and the viewpoints of the participants in the three-dimensional environment.
53. The method according to any one of claims 49 to 52, wherein the virtual camera moves within the three-dimensional environment so that the distance between the virtual camera in the three-dimensional environment and the viewpoint of the participant reaches a corresponding distance.
54. A method according to any one of claims 49 to 53, wherein the change in the viewpoint of the participant relative to the representation of the real-time communication session is based on movement of the viewpoint of the participant in the three-dimensional environment.
55. A method according to any one of claims 49 to 54, wherein the change in the viewpoint of the participant relative to the representation of the real-time communication session is based on movement of the representation of the real-time communication session in the three-dimensional environment.
56. A method according to any one of claims 49 to 55, wherein the changing of the viewpoint of the participant relative to the representation of the real-time communications session is based on re-centering the representation of an application in the three-dimensional environment.
57. A method according to any one of claims 49 to 56, wherein: Based on determining that the change in the participant's viewpoint relative to the representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session is a movement of the participant away from the representation of the real-time communication session, the movement of the virtual camera from the first position to the second position in the three-dimensional environment that the participant is using to participate in the real-time communication session is a movement of the virtual camera toward the viewpoint of the participant.
58. A method according to any one of claims 49 to 57, wherein: Based on determining that the change in the participant's viewpoint relative to the representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session is a movement of the participant toward the representation of the real-time communication session, the movement of the virtual camera from the first position to the second position in the three-dimensional environment that the participant is using to participate in the real-time communication session is a movement of the virtual camera away from the viewpoint of the participant.
59. The method of any one of claims 49 to 58, wherein updating the view of the three-dimensional avatar in the real-time communication session as the virtual camera moves from the first position to the second position comprises: A change in the view of the three-dimensional avatar over a period of time is animated.
60. The method of claim 59, wherein animating the change in the view of the three-dimensional avatar over the time period comprises: in response to determining that the change in the viewpoint of the participant relative to the representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session is a movement of the participant away from or toward the representation of the real-time communication session in the three-dimensional environment, animating a first change within the time period; and Based on determining that the change in the viewpoint of the participant relative to the representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session is a movement away from or toward the participant in the three-dimensional environment, animating a second change that is different from the first change within the time period.
61. The method of any one of claims 59 to 60, wherein animating the change in the view of the three-dimensional avatar over the time period comprises: in response to determining that the change in the viewpoint of the participant relative to the representation of the real-time communications session occurring in the three-dimensional environment being used by the participant to participate in the real-time communications session is a lateral movement of the participant in the three-dimensional environment, animating a third change within the time period; and Based on determining that the change in the viewpoint of the participant relative to the representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session is a lateral movement of the representation of the real-time communication session, the third change within the time period is animated.
62. A method according to any one of claims 59 to 61, wherein the time period is a substantially fixed amount of time.
63. A method according to any one of claims 49 to 62, wherein updating the view of the three-dimensional avatar in the real-time communication session is initiated after a corresponding delay after a change in the viewpoint of the participant relative to the representation of the participant occurs in the three-dimensional environment that the participant is using to participate in the real-time communication session.
64. The method according to any one of claims 49 to 63, further comprising: When the view of the three-dimensional avatar is displayed in the real-time communication session based on the virtual camera being located at a third position in the three-dimensional environment that the participant is using to participate in the real-time communication session, a rotation of the viewpoint of the participant relative to the representation of the real-time communication session occurs in the three-dimensional environment that the participant is using to participate in the real-time communication session; and In response to the rotation of the viewpoint of the participant relative to the representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session, updating the view of the three-dimensional avatar in the real-time communication session based on the virtual camera being located at the third position in the three-dimensional environment that the participant is using to participate in the real-time communication session.
65. The method of claim 64, wherein updating the view of the three-dimensional avatar in the real-time communication session based on the virtual camera being located at the third position comprises: Based on determining that the viewpoint of the participant is toward the representation of the real-time communication session, the view of the three-dimensional avatar in the real-time communication session is a front view of the three-dimensional avatar; as well as Based on determining that the viewpoint of the participant is not toward the representation of the real-time communication session, the view of the three-dimensional avatar in the real-time communication session is not a front view of the three-dimensional avatar.
66. A method according to any one of claims 49 to 65, wherein: Based on determining that the change in the viewpoint of the participant relative to the representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session is a movement of the viewpoint of the participant away from or toward the representation of the real-time communication session, the movement of the virtual camera from the first position to the second position in the three-dimensional environment that the participant is using to participate in the real-time communication session is a movement of the virtual camera away from or toward the viewpoint of the participant; as well as Based on determining that a second change of the participant's viewpoint relative to the representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session is a movement of the representation of the real-time communication session away from or toward the participant's viewpoint, the position of the virtual camera is maintained in the three-dimensional environment that the participant is using to participate in the real-time communication session.
67. A method according to any one of claims 49 to 66, wherein: updating the view of the three-dimensional avatar based on movement of the virtual camera in response to determining that a change in the viewpoint of the participant relative to the representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session is a lateral movement of the viewpoint of the participant relative to the representation of the real-time communication session; as well as The position of the virtual camera is maintained in the three-dimensional environment that the participant is using to participate in the real-time communication session based on determining that a change in the participant's viewpoint relative to the representation of the real-time communication session that occurs in the three-dimensional environment that the participant is using to participate in the real-time communication session is a lateral movement of the representation of the real-time communication session relative to the participant's viewpoint.
68. A method according to any one of claims 49 to 67, wherein: The representation of the real-time communications session includes a representation of a second participant in the real-time communications session; and The first position of the virtual camera in the three-dimensional environment that the participant is using to participate in the real-time communication session is based on the position of the representation of the second participant.
69. 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 communicating with one or more display generating components, the one or more programs comprising instructions for executing a method according to any one of claims 49 to 68.
70. A computer system configured to communicate with one or more display generation components, 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 49 to 68.
71. A computer system configured to communicate with one or more display generation components, the computer system comprising: Apparatus for carrying out the method according to any one of claims 49 to 68.
72. 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 one or more display generating components, the one or more programs comprising instructions for performing a method according to any one of claims 49 to 68.
73. 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: displaying, via the one or more display generating components, in a real-time communication session, a view of a three-dimensional avatar corresponding to a participant in the real-time communication session, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a first position in a three-dimensional environment that the participant is using to participate in the real-time communication session; When the view of the three-dimensional avatar is displayed in the real-time communication session, a change of the participant's viewpoint relative to a representation of the real-time communication session occurs in the three-dimensional environment that the participant is using to participate in the real-time communication session; and In response to the change in the viewpoint of the participant relative to the representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session, updating the view of the three-dimensional avatar in the real-time communication session, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a second position in the three-dimensional environment that the participant is using to participate in the real-time communication session, wherein the second position is based on the change in the viewpoint of the participant relative to the representation of the real-time communication session in the three-dimensional environment that the participant is using to participate in the real-time communication session.
74. A computer system configured to communicate with one or more display generating components, 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, via the one or more display generating components, in a real-time communication session, a view of a three-dimensional avatar corresponding to a participant in the real-time communication session, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a first position in a three-dimensional environment that the participant is using to participate in the real-time communication session; When the view of the three-dimensional avatar is displayed in the real-time communication session, a change of the participant's viewpoint relative to a representation of the real-time communication session occurs in the three-dimensional environment that the participant is using to participate in the real-time communication session; and In response to the change in the viewpoint of the participant relative to the representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session, updating the view of the three-dimensional avatar in the real-time communication session, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a second position in the three-dimensional environment that the participant is using to participate in the real-time communication session, wherein the second position is based on the change in the viewpoint of the participant relative to the representation of the real-time communication session in the three-dimensional environment that the participant is using to participate in the real-time communication session.
75. A computer system configured to communicate with one or more display generation components, the computer system comprising: Means for: displaying, via the one or more display generating components, in a real-time communication session, a view of a three-dimensional avatar corresponding to a participant in the real-time communication session, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a first position in a three-dimensional environment that the participant is using to participate in the real-time communication session; while displaying the view of the three-dimensional avatar in the real-time communications session, means for causing a change in the participant's viewpoint relative to a representation of the real-time communications session to occur in the three-dimensional environment that the participant is using to participate in the real-time communications session; and Means for updating the view of the three-dimensional avatar in the real-time communication session in response to the change in the viewpoint of the participant relative to the representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a second position in the three-dimensional environment that the participant is using to participate in the real-time communication session, wherein the second position is based on the change in the viewpoint of the participant relative to the representation of the real-time communication session in the three-dimensional environment that the participant is using to participate in the real-time communication session.
76. 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 one or more display generating components, the one or more programs comprising instructions for: displaying, via the one or more display generating components, in a real-time communication session, a view of a three-dimensional avatar corresponding to a participant in the real-time communication session, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a first position in a three-dimensional environment that the participant is using to participate in the real-time communication session; When the view of the three-dimensional avatar is displayed in the real-time communication session, a change of the participant's viewpoint relative to a representation of the real-time communication session occurs in the three-dimensional environment that the participant is using to participate in the real-time communication session; and In response to the change in the viewpoint of the participant relative to the representation of the real-time communication session occurring in the three-dimensional environment that the participant is using to participate in the real-time communication session, updating the view of the three-dimensional avatar in the real-time communication session, wherein the view of the three-dimensional avatar is determined based on a virtual camera located at a second position in the three-dimensional environment that the participant is using to participate in the real-time communication session, wherein the second position is based on the change in the viewpoint of the participant relative to the representation of the real-time communication session in the three-dimensional environment that the participant is using to participate in the real-time communication session.
77. A method comprising: At a computer system in communication with one or more display generating components and one or more input devices: displaying, via the one or more display generating components, a first user interface associated with the graphical representation of a user of the computer system without displaying the graphical representation of a user of the computer system; detecting, via the one or more input devices, a gaze of the user while displaying the first user interface associated with the graphical representation of the user of the computer system without displaying the graphical representation of the user of the computer system; as well as In response to detecting the gaze of the user: Based on determining that a set of one or more criteria are satisfied, the graphical representation of the user is displayed in the first user interface via the one or more display generating components, and the set of one or more criteria includes criteria that are satisfied when the user's gaze is directed to a first location in the first user interface.
78. The method of claim 77, wherein the graphical representation of the user comprises a video input.
79. The method of claim 77, wherein the graphical representation of the user comprises an animated avatar representing the user.
80. The method of claim 79, wherein the animated avatar representing the user moves based on movements of the user of the computer system.
81. A method according to any one of claims 77 to 79, wherein the graphical representation includes a static representation of the user.
82. The method of any one of claims 77 to 81, further comprising: In response to detecting the gaze of the user: Based on determining that the set of one or more criteria are not satisfied, displaying the graphical representation of the user is foregone.
83. The method of any one of claims 77 to 82, further comprising: while displaying, via the one or more display generating components, the graphical representation of the user in the first user interface, determining, via the one or more input devices, that a second set of one or more criteria is satisfied, the second set of one or more criteria comprising a second criterion that is satisfied when the gaze of the user is no longer directed toward a second location in the first user interface; as well as In response to determining that the second set of one or more criteria are satisfied, ceasing to display the graphical representation of the user in the first user interface.
84. The method of claim 83, wherein: The first position in the first user interface occupies a first area of the first user interface; and The second position in the first user interface occupies a second area of the first user interface that is larger than the first area.
85. A method according to any one of claims 77 to 84, wherein the first position corresponds to a first object displayed in the first user interface.
86. A method according to claim 85, wherein the corresponding appearance of the first object provides a visual indication that one or more cameras associated with the computer system are recording, and when the one or more cameras associated with the computer system are not recording, the first object is not displayed with the corresponding appearance.
87. The method of claim 86, wherein displaying the first object comprises: displaying the first object in a first color based on determining that the one or more cameras associated with the computer system are recording; and Based on determining that the one or more cameras associated with the computer system are not recording, the first object is displayed in a second color different from the first color.
88. The method of any one of claims 85 to 87, wherein: detecting the gaze of the user while displaying the first object as part of the first user interface without displaying the graphical representation of the user of the computer system; and The method further comprises: In response to detecting the gaze of the user: Based on determining that the set of one or more criteria is satisfied, the first object is ceased to be displayed.
89. A method according to any one of claims 77 to 88, wherein the graphical representation of the user is displayed with an appearance based on a viewpoint corresponding to the first position in the first user interface.
90. The method of claim 89, wherein the graphical representation of the user is displayed with an appearance based on the viewpoint of a virtual camera positioned at a location corresponding to the first location.
91. The method of claim 89, wherein the graphical representation of the user is displayed from the viewpoint of a physical camera positioned at a location corresponding to the first location.
92. A method according to any one of claims 77 to 91, wherein the first user interface is a real-time communication user interface, and the real-time communication user interface corresponds to the real-time communication session between the user of the computer system and one or more participants in the real-time communication session who are different from the user of the computer system.
93. The method of claim 92, wherein displaying the first user interface comprises displaying representations of the one or more other participants in the real-time communication session, wherein the one or more other participants are different than the user of the computer system.
94. The method of claim 93, wherein displaying the graphical representation of the user in the first user interface comprises simultaneously displaying the representations of the one or more other participants in the real-time communication session and the graphical representation of the user in the first user interface.
95. A method according to any one of claims 93 to 94, wherein displaying the graphical representation of the user in the first user interface includes displaying the graphical representation of the user in the first user interface, with the graphical representation overlaying at least one of the representations of the one or more other participants in the real-time communication session.
96. The method of any one of claims 93 to 95, wherein: Displaying the first user interface without displaying the graphical representation of the user of the computer system includes: displaying the representation of the one or more participants in a first visual appearance; and The method further comprises: In response to detecting the gaze of the user: Based on determining that the set of one or more criteria are satisfied, the representations of the one or more participants are displayed in a second visual appearance different from the first visual appearance while displaying the graphical representation of the user of the computer system.
97. The method of any one of claims 92 to 96, wherein the first position in the first user interface does not overlap with content displayed within the real-time communication session.
98. The method of any one of claims 77 to 97, further comprising: displaying, via the one or more display generating components, the graphical representation of the user in the first user interface; After displaying the graphical representation of the user in the first user interface, receiving, via the one or more display generating components, one or more user inputs corresponding to a request to change the graphical representation of the user; as well as In response to receiving the one or more user inputs corresponding to the request to change the graphical representation of the user, displaying a second graphical representation of the user different from the graphical representation of the user in the first user interface via the one or more display generating components.
99. A method according to any one of claims 77 to 98, wherein the set of one or more criteria includes a second criterion that is satisfied when the user's gaze is directed to the first position in the first user interface for a threshold duration.
100. The method of any one of claims 77 to 99, wherein displaying the graphical representation of the user in the first user interface comprises: Based on determining that a third set of one or more criteria is satisfied, displaying, via the one or more display generating components, a visual representation that changes based on changes in one or more audio parameters of speech from the user of the computer system.
101. A method according to any one of claims 77 to 100, wherein the set of one or more criteria includes criteria that are satisfied when a first type of representation is selected to represent the user of the computer system.
102. 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 that communicates with one or more display generating components and one or more input devices, the one or more programs comprising instructions for executing a method according to any one of claims 77 to 101.
103. A computer system configured to communicate with one or more display generating components and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 77 to 101.
104. A computer system configured to communicate with one or more display generating components and one or more input devices, the computer system comprising: Apparatus for carrying out the method according to any one of claims 77 to 101.
105. 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 one or more display generating components and one or more input devices, the one or more programs comprising instructions for performing a method according to any one of claims 77 to 101.
106. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with one or more display generating components and one or more input devices, the one or more programs comprising instructions for: displaying, via the one or more display generating components, a first user interface associated with the graphical representation of a user of the computer system without displaying the graphical representation of a user of the computer system; detecting, via the one or more input devices, a gaze of the user while displaying the first user interface associated with the graphical representation of the user of the computer system without displaying the graphical representation of the user of the computer system; as well as In response to detecting the gaze of the user: Based on determining that a set of one or more criteria are satisfied, the graphical representation of the user is displayed in the first user interface via the one or more display generating components, and the set of one or more criteria includes criteria that are satisfied when the user's gaze is directed to a first location in the first user interface.
107. A computer system configured to communicate with one or more display generating components and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying, via the one or more display generating components, a first user interface associated with the graphical representation of a user of the computer system without displaying the graphical representation of a user of the computer system; detecting, via the one or more input devices, a gaze of the user while displaying the first user interface associated with the graphical representation of the user of the computer system without displaying the graphical representation of the user of the computer system; as well as In response to detecting the gaze of the user: Based on determining that a set of one or more criteria are satisfied, the graphical representation of the user is displayed in the first user interface via the one or more display generating components, and the set of one or more criteria includes criteria that are satisfied when the user's gaze is directed to a first location in the first user interface.
108. A computer system configured to communicate with one or more display generating components and one or more input devices, the computer system comprising: means for: displaying, via the one or more display generating components, a first user interface associated with the graphical representation of a user of the computer system without displaying the graphical representation of the user of the computer system; means for detecting, via the one or more input devices, a gaze of the user while displaying the first user interface associated with the graphical representation of the user of the computer system without displaying the graphical representation of the user of the computer system; and Means for: in response to detecting the gaze of the user: Based on determining that a set of one or more criteria are satisfied, the graphical representation of the user is displayed in the first user interface via the one or more display generating components, and the set of one or more criteria includes criteria that are satisfied when the user's gaze is directed to a first location in the first user interface.
109. 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 one or more display generating components and one or more input devices, the one or more programs comprising instructions for: displaying, via the one or more display generating components, a first user interface associated with the graphical representation of a user of the computer system without displaying the graphical representation of a user of the computer system; detecting, via the one or more input devices, a gaze of the user while displaying the first user interface associated with the graphical representation of the user of the computer system without displaying the graphical representation of the user of the computer system; as well as In response to detecting the gaze of the user: Based on determining that a set of one or more criteria are satisfied, the graphical representation of the user is displayed in the first user interface via the one or more display generating components, and the set of one or more criteria includes criteria that are satisfied when the user's gaze is directed to a first location in the first user interface.