An interface for presenting avatars in a 3D environment
By implementing advanced user interfaces with enhanced feedback mechanisms and input reduction techniques, the inefficiencies and complexities of current augmented and virtual reality systems are addressed, resulting in improved user experience and energy efficiency.
Patent Information
- Application Number
- JP2023548256
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-02-08
- Filing Date
- 2022-02-15
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2042-02-15
AI Technical Summary
Existing computer systems for augmented and virtual reality environments are inefficient and complex, requiring multiple inputs and providing insufficient feedback, which leads to a cognitive burden on users and inefficient energy usage, especially in battery-operated devices.
The development of improved user interfaces and methods that reduce the number and complexity of user inputs by providing enhanced visual and tactile feedback, utilizing technologies such as eye tracking, hand tracking, and touch-sensitive displays to create a more intuitive and efficient human-machine interface.
The proposed solution enhances user interaction in virtual and augmented reality environments by reducing cognitive burden, improving efficiency, and conserving energy, thereby extending battery life in portable devices.
Smart Images

Figure 0007654809000001 
Figure 0007654809000002 
Figure 0007654809000003
Abstract
Description
[Technical field]
[0001] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims priority to U.S. Provisional Patent Application No. 63 / 149,989, entitled "INTERFACES FOR PRESENTING AVATARS IN THREE-DIMENSIONAL ENVIRONMENTS," filed February 16, 2021, and U.S. Provisional Patent Application No. 17 / 667,350, entitled "INTERFACES FOR PRESENTING AVATARS IN THREE-DIMENSIONAL ENVIRONMENTS," filed February 8, 2022, the contents of each of which are incorporated by reference in their entirety herein.
[0002] The present disclosure generally relates to computer systems in communication with display generation components, including but not limited to electronic devices that provide virtual reality and mixed reality experiences via a display, and optionally one or more input devices that provide a computer-generated experience. [Background technology]
[0003] The development of computer systems for augmented reality has progressed significantly in recent years. Exemplary augmented reality environments include at least some virtual elements that replace or augment the physical world. Input devices such as cameras, controllers, joysticks, touch-sensitive surfaces, and touch screen displays for computer systems and other electronic computing devices are used to interact with the virtual / augmented reality environment. Exemplary virtual elements include virtual objects such as digital images, videos, text, icons, and control elements such as buttons and other graphics. Summary of the Invention
[0004] Some methods and interfaces for interacting with environments (e.g., applications, augmented reality environments, mixed reality environments, and virtual reality environments) that include at least some virtual elements are cumbersome, inefficient, and limited. For example, systems that provide insufficient feedback to perform actions associated with virtual objects, systems that require a series of inputs to achieve a desired result in an augmented reality environment, and systems in which manipulation of virtual objects is complex and error-prone cause significant cognitive burden to users and detract from the experience of the virtual / augmented reality environment. In addition, the methods take longer than necessary, thereby wasting the energy of the computer system. This latter consideration is particularly important in battery-operated devices.
[0005] Thus, there is a need for a computer system having improved methods and interfaces for providing a user with a computer-generated experience that makes interaction with the computer system more efficient and intuitive for the user. Such methods and interfaces can complement or replace traditional methods of providing an augmented reality experience to a user. Such methods and interfaces reduce the number, extent and / or type of inputs from a user by helping the user understand the connection between the inputs provided and the device response to the inputs, thereby creating a more efficient human-machine interface.
[0006] The above deficiencies and other problems associated with a user interface for a computer system in communication with a display generating component and, optionally, one or more input devices, are reduced or eliminated by the disclosed system. In some embodiments, the computer system is a desktop computer with an associated display. In some embodiments, the computer system is a portable device (e.g., a notebook computer, a tablet computer, or a handheld device). In some embodiments, the computer system is a personal electronic device (e.g., a wearable electronic device such as a watch or a head-mounted device). In some embodiments, the computer system has a touchpad. In some embodiments, the computer system has one or more cameras. In some embodiments, the computer system has a touch-sensitive display (also known as a "touch screen" or "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, the computer system has one or more output devices in addition to the display generating component, the output devices including one or more tactile output generators and one or more audio output devices. In some embodiments, the computer system has a graphical user interface (GUI), one or more processors, memory, and one or more modules, programs, or sets of instructions stored in the memory for performing functions. In some embodiments, a user interacts with the GUI through stylus and / or finger contacts and gestures on a touch-sensitive surface, the movement of the user's eyes and hands in space relative to the GUI (and / or computer system) or the user's body as captured by cameras and other movement sensors, and voice input as captured by one or more audio input devices.In some embodiments, the functions performed through the interactions optionally include image editing, drawing, presenting, word processing, creating spreadsheets, playing games, making phone calls, video conferencing, emailing, instant messaging, training support, digital photography, digital videography, web browsing, playing digital music, taking notes, and / or playing digital videos. Executable instructions to perform those functions are optionally contained in a transitory and / or non-transitory computer-readable storage medium or other computer program product configured to be executed by one or more processors.
[0007] There is a need for electronic devices with improved methods and interfaces for interacting with a three-dimensional environment. Such methods and interfaces can complement or replace conventional methods for interacting with a three-dimensional environment. Such methods and interfaces reduce the number, extent, and / or type of input from a user, creating a more efficient human-machine interface. In the case of battery-operated computing devices, such methods and interfaces conserve power and increase the time between battery charges.
[0008] It should be noted that the various embodiments described above can be combined with any other embodiments described herein. The features and advantages described herein are not exhaustive, and many additional features and advantages will be apparent to those skilled in the art, especially in view of the drawings, the specification, and the claims. Furthermore, it should be noted that the language used in this specification has been selected solely for the purposes of readability and description, and not to define or limit the subject matter of the present invention.
[0009] For a better understanding of the various described embodiments, reference should be made to the following Detailed Description in conjunction with the following drawings, in which like reference numerals refer to corresponding parts throughout: [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is a block diagram illustrating an operating environment for a computer system for providing an extended reality (XR) experience, according to some embodiments. [Diagram 2] FIG. 1 is a block diagram illustrating a controller of a computer system configured to manage and coordinate a user's XR experience, according to some embodiments. [Diagram 3] FIG. 1 is a block diagram illustrating display generation components of a computer system configured to provide a visual component of an XR experience to a user, according to some embodiments. [Figure 4] FIG. 1 is a block diagram illustrating a hand tracking unit of a computer system configured to capture a user's gesture input, according to some embodiments. [Diagram 5] FIG. 1 is a block diagram illustrating an eye-tracking unit of a computer system configured to capture a user's gaze input, according to some embodiments. [Figure 6] FIG. 1 is a flow diagram illustrating a glint-assisted gaze tracking pipeline, according to some embodiments. [Figure 7A] 1 illustrates a user interface for registering one or more characteristics of a user of a computer system, according to some embodiments. [Figure 7B] 1 illustrates a user interface for registering one or more characteristics of a user of a computer system, according to some embodiments. [Figure 7C] 1 illustrates a user interface for registering one or more characteristics of a user of a computer system, according to some embodiments. [Figure 7D] 1 illustrates a user interface for registering one or more characteristics of a user of a computer system, according to some embodiments. [Figure 7E]1 illustrates a user interface for registering one or more characteristics of a user of a computer system, according to some embodiments. [Figure 7F] 1 illustrates a user interface for registering one or more characteristics of a user of a computer system, according to some embodiments. [Figure 7G] 1 illustrates a user interface for registering one or more characteristics of a user of a computer system, according to some embodiments. [Figure 7H] 1 illustrates a user interface for registering one or more characteristics of a user of a computer system, according to some embodiments. [Figure 8] 1 is a flow diagram illustrating an example method for registering one or more characteristics of a user of a computer system, according to some embodiments. [Figure 9A] 1 illustrates various visual effects associated with a virtual avatar presented in an XR environment, according to some embodiments. [Figure 9B] 1 illustrates various visual effects associated with a virtual avatar presented in an XR environment, according to some embodiments. [Figure 9C] 1 illustrates various visual effects associated with a virtual avatar presented in an XR environment, according to some embodiments. [Figure 9D] 1 illustrates various visual effects associated with a virtual avatar presented in an XR environment, according to some embodiments. [Figure 9E] 1 illustrates various visual effects associated with a virtual avatar presented in an XR environment, according to some embodiments. [Figure 9F] 1 illustrates various visual effects associated with a virtual avatar presented in an XR environment, according to some embodiments. [Figure 10] FIG. 1 is a flow diagram illustrating an example method for displaying visual indicators on the hands of a virtual avatar in an XR environment, according to some embodiments. [Figure 11]FIG. 1 is a flow diagram illustrating an example method for displaying objects with different visual characteristics in an XR environment, according to some embodiments. [Figure 12A] 1 illustrates various presentation modes associated with a user represented in an XR environment, according to some embodiments. [Figure 12B] 1 illustrates various presentation modes associated with a user represented in an XR environment, according to some embodiments. [Figure 12C] 1 illustrates various presentation modes associated with a user represented in an XR environment, according to some embodiments. [Figure 12D] 1 illustrates various presentation modes associated with a user represented in an XR environment, according to some embodiments. [Figure 12E] 1 illustrates various presentation modes associated with a user represented in an XR environment, according to some embodiments. [Figure 13A] FIG. 1 is a flow diagram illustrating an example method for switching between different presentation modes associated with a user represented in an XR environment, according to some embodiments. [Figure 13B] FIG. 1 is a flow diagram illustrating an example method for switching between different presentation modes associated with a user represented in an XR environment, according to some embodiments. [Figure 14] FIG. 1 is a flow diagram illustrating an example method for displaying a virtual avatar in an XR environment, according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] The present disclosure relates to a user interface that provides an extended reality (XR) experience to a user, according to some embodiments.
[0012] The systems, methods, and GUIs described herein improve user interface interaction with virtual / augmented reality environments in several ways.
[0013] In some embodiments, a computer system switches between different presentation modes associated with a user represented in an XR environment. The computer system communicates with a display generation component and an external computer system associated with a first user. The computer system displays, via the display generation component, a communication user interface including a representation of the first user of the external computer system in a first presentation mode, the communication user interface displaying the representation of the first user in an augmented reality environment, the first user's representation having a shape that is visually responsive to changes in movement of a first portion of the first user detected by the external computer system while in the first presentation mode. While displaying the representation of the first user in the first presentation mode, the computer system receives first data from the external computer system indicating movement of the first portion of the first user, and in response to receiving the first data, modifies a shape of the representation of the first user based on the movement of the first portion of the first user. After modifying the shape of the representation of the first user, the computer system receives second data indicating that the representation of the first user is to be displayed in a second presentation mode different from the first presentation mode. In response to receiving the second data, the computer system, via the display generation component, displays a representation of the first user in the second presentation mode, the representation having a shape that is visually insensitive to changes in movement of a first portion of the first user detected by the external computer system while the representation of the first user is in the second presentation mode. While displaying the representation of the first user in the second presentation mode, the computer system receives third data indicating movement of the first user from a first location in the physical environment to a second location in the physical environment that is different from the first location in the physical environment, and in response to receiving the third data, displays the representation of the first user moving from the first location in the augmented reality environment to the second location in the augmented reality environment that is different from the first location in the augmented reality environment.
[0014] In some embodiments, the computer system displays a virtual avatar in the XR environment. The computer system communicates with a display generation component and an external computer system associated with the first user. In response to receiving a request to display a representation of the first user in the augmented reality environment, in accordance with a determination that the set of glasses display criteria is met, the computer system displays, via the display generation component, a representation of the first user in the augmented reality environment and, via the display generation component, a representation of glasses disposed on the representation of the first user in the augmented reality environment. In accordance with a determination that the set of glasses display criteria is not met, the computer system displays, via the display generation component, a representation of the first user in the augmented reality environment without displaying a representation of glasses disposed on the representation of the first user in the augmented reality environment.
[0015] In some embodiments, the computer system displays a user interface for registering one or more features of a user of the computer system. The computer system is in communication with a display generating component and one or more cameras. During a registration process that includes capturing facial data of the user via the one or more cameras, the computer system displays the registration interface for registering the one or more features of the user via the display generating component, and includes outputting a first prompt for arranging a first set of one or more of the user's facial features into a first predefined set of one or more facial expressions and outputting a second prompt for arranging a second set of one or more of the user's facial features into a second predefined set of one or more facial expressions different from the first predefined set of one or more facial expressions.
[0016] In some embodiments, the computer system displays visual effects associated with the virtual avatar in the XR environment. The computer system is in communication with the display generation component and the one or more sensors. The computer system displays, via the display generation component, a user feature indicator interface including a set of one or more visual indicators corresponding to a detected location of the set of one or more features of the user's hand in the physical environment, the set of one or more visual indicators being displayed in the augmented reality environment and having a first display position corresponding to a first detected location of the set of one or more features of the user's hand in the physical environment. The computer system detects, via the one or more sensors, a movement of at least one feature of the user's hand in the set of one or more features of the user's hand. In response to detecting a movement of at least one feature of the user's hand in the set of one or more features of the user's hand, the computer system updates a display of the user feature indicator interface and, in accordance with a determination that the set of one or more features of the user's hand has moved to a second detection location in the physical environment, displays, via the display generation component, a set of one or more visual indicators having a second display position in the augmented reality environment corresponding to the second detection location of the set of one or more features of the user's hand in the physical environment, and in accordance with a determination that the set of one or more features of the user's hand has moved to a third detection location in the physical environment that is different from the second detection location, displays, via the display generation component, a set of one or more visual indicators having a third display position in the augmented reality environment corresponding to a third detection location of the set of one or more features of the user's hand in the physical environment, where the third display position in the augmented reality environment is different from the second display position in the augmented reality environment.
[0017] In some embodiments, the computer system displays objects having different visual characteristics in an XR environment. The computer system communicates with a display generation component and an external computer system associated with a first user. The computer system displays, in the augmented reality environment, via the display generation component, a representation of the first user, the representation of the first user displayed in the augmented reality environment having a first pose and a shape based on a shape of at least a portion of the first user, and the shape of the representation of the first user visualized with a first set of visual characteristics. The computer system receives first data including data indicative of a change in the pose of the first user, and updates an appearance of the representation of the first user in the augmented reality environment in response to receiving the first data. Updating the appearance includes displaying, in the augmented reality environment, in accordance with a determination that the first data includes an indication that a first portion of the first user is in contact with the object, wherein the representation of the first user has a second pose based on a change in the first user's pose, a shape of the representation of the first user is visualized with a first set of visual characteristics, the representation of the object has a shape based on a shape of at least a portion of the object, and the shape of the representation of the object is visualized using a second set of visual characteristics different from the first set of visual characteristics.
[0018] 1-6 illustrate an exemplary computer system for providing an XR experience to a user. FIGS. 7A-7H illustrate user interfaces for registering one or more characteristics of a user of a computer system, according to some embodiments. FIG. 8 is a flowchart showing an exemplary method for registering one or more characteristics of a user of a computer system, according to various embodiments. FIGS. 7A-7H are used to explain the process of FIG. 8. FIGS. 9A-9F show various visual effects associated with a virtual avatar in an XR environment, according to some embodiments. FIG. 10 is a flowchart showing an exemplary method for displaying visual indicators on the hands of a virtual avatar in an XR environment, according to some embodiments. FIG. 11 is a flowchart showing an exemplary method for displaying objects having different visual characteristics in an XR environment, according to some embodiments. FIGS. 9A-9F are used to explain the process of FIGS. 10 and 11. FIGS. 12A-12E show various presentation modes associated with a user represented in an XR environment, according to some embodiments. FIGS. 13A and 13B are flowcharts showing an exemplary method for switching between different presentation modes associated with a user represented in an XR environment, according to some embodiments. 14 is a flow chart illustrating an exemplary method for displaying a virtual avatar in an XR environment, according to some embodiments. FIGS. 12A-12E are used to illustrate the processes of FIGS. 13A, 13B, and 14.
[0019] The processes described below enhance usability of the device and streamline the user-device interface (e.g., by helping the user provide appropriate inputs and reduce user errors when operating / interacting with the device) through a variety of techniques, including providing improved visual feedback to the user, reducing the number of inputs required to perform an operation, providing additional control options without cluttering the user interface with additional controls that are displayed, performing an operation without requiring further user input when a set of conditions are met, improving privacy and / or security, and / or other techniques. These techniques also reduce power usage and improve the device's battery life by allowing the user to use the device more quickly and efficiently.
[0020] Furthermore, in methods described herein in which one or more steps are contingent on one or more conditions being met, it should be understood that the described method can be repeated in multiple iterations such that over the course of the iterations, all of the conditions on which the steps of the method are contingent are met in different iterations of the method. For example, if a method requires performing a first step if a condition is met and performing a second step if the condition is not met, one skilled in the art would understand that the steps recited in the claim are repeated in a particular order until the conditions are met and are no longer met. Thus, a method described with one or more steps that are dependent on one or more conditions being met can be rewritten as a method that is repeated until each condition recited in the method is met. However, this is not required for system or computer readable medium claims in which the system or computer readable medium includes instructions to perform a conditional action based on the satisfaction of the corresponding one or more conditions, and thus can determine whether a contingency is met without explicitly repeating the steps of the method until all conditions on which the steps of the method are contingent are met. Those skilled in the art will also appreciate that, as with methods having conditional steps, the system or computer-readable storage medium may repeat the steps of the method as many times as necessary to ensure that all of the conditional steps have been performed.
[0021] In some embodiments, as shown in Figure 1, an XR experience is provided to a user via an operating environment 100 that includes a computer system 101. The computer system 101 includes a controller 110 (e.g., a processor of a portable electronic device or a remote server), a display generation component 120 (e.g., a head-mounted device (HMD), a display, a projector, 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., image sensors, light sensors, depth sensors, tactile sensors, orientation sensors, proximity sensors, temperature sensors, location sensors, motion sensors, speed sensors, etc.), and optionally one or more peripheral devices 195 (e.g., home appliances, wearable devices, etc.). In some embodiments, one or more of the input device 125, the output device 155, the sensors 190, and the peripheral devices 195 are integrated with the display generation component 120 (eg, within a head-mounted or handheld device).
[0022] When describing an XR experience, various terms are used to individually refer to several related, but distinct, environments that a user can sense and / or interact with (e.g., using inputs detected by the computer system 101 that generates the XR experience, causing the computer system that generates the XR experience to generate audio, visual, and / or haptic feedback corresponding to various inputs provided to the computer system 101). Below is a subset of these terms:
[0023] Physical Environment: The physical environment refers to the physical world that people can sense and / or interact with without the aid of electronic systems. A physical environment, such as a physical park, includes physical objects such as physical trees, physical buildings, and physical people. People can sense and / or interact with the physical environment directly, such as through sight, touch, hearing, taste, and smell.
[0024] Augmented reality: In contrast, an extended reality (XR) environment refers to a fully or partially simulated environment that people sense and / or interact with via electronic systems. In XR, a subset of a person's body movements or a representation thereof is tracked, and one or more properties of one or more virtual objects simulated in the XR environment are adjusted accordingly to behave with at least one law of physics. For example, an XR system may detect a person's head rotation and adjust the graphical content and sound field presented to the person accordingly, in a manner similar to how such views and sounds change in a physical environment. In some circumstances (e.g., for accessibility reasons), adjustments to a property(ies) of a virtual object(s) in the XR environment may be made in response to a representation of a body movement (e.g., a voice command). A person may sense and / or interact with an XR object using any one of these senses, including vision, hearing, touch, taste, and smell. For example, a person may sense and / or interact with audio objects that create a 3D or spatial audio environment that provides the perception of a point audio source in 3D space. In another example, audio objects may enable audio transparency that selectively incorporates ambient sounds from the physical environment, with or without computer-generated audio. In some XR environments, a person may sense and / or interact with only audio objects.
[0025] Examples of XR include virtual reality and mixed reality.
[0026] Virtual Reality: A virtual reality (VR) environment refers to an emulated environment designed to be based entirely on computer-generated sensory input for one or more senses. A VR environment includes a number of virtual objects that a person can sense and / or interact with. For example, computer-generated images of trees, buildings, and avatars representing people are examples of virtual objects. A person can sense and / or interact with virtual objects in a VR environment through a simulation of the person's presence in the computer-generated environment and / or through a simulation of a subset of the person's physical movement within the computer-generated environment.
[0027] Mixed reality: A mixed reality (MR) environment refers to a mimetic environment designed to incorporate sensory input from a physical environment or a representation thereof in addition to including computer-generated sensory input (e.g., virtual objects) as opposed to a VR environment designed to be based entirely on computer-generated sensory input. On the virtual continuum, a mixed reality environment is anywhere between but not including a fully physical environment at one end and a virtual reality environment at the other end. In some MR environments, the computer-generated sensory input may respond to changes in sensory input from the physical environment. Some electronic systems for presenting MR environments may also track location and / or orientation relative to the physical environment to allow virtual objects to interact with real objects (i.e., physical items from the physical environment or their representations). For example, the system may take into account movement so that a virtual tree appears stationary relative to the physical ground.
[0028] Examples of mixed reality include augmented reality and augmented virtuality.
[0029] Augmented reality: An augmented reality (AR) environment refers to a mimicked environment in which one or more virtual objects are superimposed on a physical environment or a representation thereof. For example, an electronic system for presenting an AR environment may have a transparent or semi-transparent display through which a person can directly view the physical environment. The system may be configured to present virtual objects on the transparent or semi-transparent display, whereby a person uses the system to perceive the virtual objects superimposed on the physical environment. Alternatively, the system may have an opaque display and one or more imaging sensors that capture images or videos of the physical environment, which are representations of the physical environment. The system composites the images or videos with the virtual objects and presents the composite on the opaque display. The person uses the system to indirectly view the physical environment through the images or videos of the physical environment and perceive the virtual objects superimposed on the physical environment. As used herein, a video of a physical environment shown on an opaque display is referred to as a "pass-through video," meaning that the system uses one or more image sensors to capture images of the physical environment and uses those images in presenting the AR environment on the opaque display. Alternatively, the system may have a projection system that projects virtual objects, for example as holograms, into the physical environment or onto a physical surface, so that a person using the system perceives the virtual objects superimposed on the physical environment. An augmented reality environment also refers to a mimicked environment in which a representation of the physical environment is transformed by computer-generated sensory information. For example, in providing pass-through video, the system may distort one or more sensor images to impose a selected perspective (e.g., viewpoint) other than the perspective captured by the imaging sensor. As another example, the representation of the physical environment may be distorted by graphically modifying (e.g., enlarging) a portion thereof, such that the modified portion is a modified version that represents the original captured image, but is non-photorealistic. As a further example, the representation of the physical environment may be distorted by graphically removing or obscuring a portion thereof.
[0030] Augmented Virtuality: An augmented virtuality (AV) environment refers to a mimicking environment in which a virtual or computer-generated environment incorporates one or more sensory inputs from a physical environment. The sensory inputs may be representations of one or more characteristics of the physical environment. For example, an AV park may have virtual trees and virtual buildings, while people with faces are realistically reproduced from images taken of physical people. As another example, virtual objects may adopt the shape or color of physical items imaged by one or more imaging sensors. As a further example, virtual objects may adopt shadows that match the position of the sun in the physical environment.
[0031] Perspective-locked virtual object: A virtual object is perspective-locked when the computer system displays the virtual object in the same location and / or position within the user's perspective, even as the user's perspective shifts (e.g., changes). In embodiments in which the computer system is a head-mounted device, the user's perspective is locked to the forward-facing orientation of the user's head (e.g., the user's perspective is at least a portion of the user's field of view when the user is looking straight ahead). Thus, the user's perspective remains fixed even as the user's line of sight moves without moving the user's head. In embodiments in which the computer system has a display generating component (e.g., a display screen) that can be repositioned relative to the user's head, the user's perspective is the augmented reality view being presented to the user on the display generating component of the computer system. For example, a perspective-locked virtual object that is displayed in the upper left corner of the user's perspective when the user's perspective is in a first orientation (e.g., the user's head is facing north) continues to be displayed in the upper left corner of the user's perspective when the user's perspective changes to a second orientation (e.g., the user's head is facing west). In other words, the location and / or position at which a viewpoint-locked virtual object is displayed in a user's viewpoint is independent of the user's position and / or orientation in the physical environment. In embodiments in which the computer system is a head-mounted device, the user's viewpoint is locked to the orientation of the user's head such that the virtual object is also referred to as a "head-locked virtual object."
[0032] Environment-Locked Virtual Object: A virtual object is environment-locked (or "world-locked") when a computer system displays the virtual object at a location and / or position 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 shifts, the location and / or object in the environment relative to the user's viewpoint changes, resulting in the environment-locked virtual object being displayed at a different location and / or position in the user's viewpoint. For example, an environment-locked virtual object locked to a tree directly in front of the user will be displayed at the center of the user's viewpoint. If the user's viewpoint shifts to the right (e.g., the user's head is turned to the right) and the tree becomes more left in the user's viewpoint (e.g., the position of the tree in the user's viewpoint shifts), the environment-locked virtual object locked to the tree will be displayed more left in the user's viewpoint. In other words, the location and / or position at which the environment-locked virtual object is displayed in the user's viewpoint depends on the position and / or orientation of the location and / or object in the environment to which the virtual object is locked. In some embodiments, the computer system uses a stationary reference frame (e.g., a coordinate system that is fixed to a fixed location and / or object in the physical environment) to determine a position at which to display an environment-locked virtual object in the user's viewpoint. The environment-locked virtual object can be locked to a stationary portion of the environment (e.g., a floor, wall, table, or other stationary object) or can be locked to a moving portion of the environment (e.g., a vehicle, an animal, a person, or a representation of a part of the user's body that moves independent of the user's viewpoint, such as the user's hand, wrist, arm, leg, etc.), such that the virtual object moves as the viewpoint or the part of the environment moves in order to maintain a fixed relationship between the virtual object and the part of the environment.
[0033] In some embodiments, an environment-locked or viewpoint-locked virtual object exhibits a delayed-following behavior that reduces or delays the movement of the environment-locked or viewpoint-locked virtual object relative to the movement of a reference point that the virtual object is following. In some embodiments, when exhibiting a delayed-following behavior, the computer system intentionally delays the movement of the virtual object when it detects movement of a reference point that the virtual object is following (e.g., a part of the environment, the viewpoint, or a point fixed relative to the viewpoint, such as a point between 5 and 300 cm from the viewpoint). For example, when the reference point (e.g., a part of the environment or the viewpoint) moves at a first speed, the virtual object is moved by the device to remain locked to the reference point, but at a second speed that is slower than the first speed (e.g., until the reference point stops or slows down its movement, at which point the virtual object begins to catch up with the reference point). In some embodiments, when the virtual object exhibits a delayed-following behavior, the device ignores small amounts of movement of the reference point (e.g., ignores movement of the reference point that is less than a threshold amount of movement, such as 0-5 degrees movement or 0-50 cm movement). For example, when the reference point (e.g., a viewpoint or portion of the environment to which the virtual object is locked) moves by a first amount, the distance between the reference point and the virtual object increases (e.g., because the virtual object is displayed to maintain a fixed or substantially fixed position with respect to a viewpoint or portion of the environment different from the reference point to which the virtual object is locked) and when the reference point (e.g., a viewpoint or portion of the environment different from the reference point to which the virtual object is locked) moves by a second amount that is greater than the first amount, the distance between the reference point and the virtual object first increases (e.g., because the virtual object is displayed to maintain a fixed or substantially fixed position with respect to a viewpoint or portion of the environment different from the reference point to which the virtual object is locked) and then decreases as the amount of movement of the reference point increases beyond a threshold (e.g., a “lag following” threshold) as the virtual object is moved by the computer system to maintain a fixed or substantially fixed position with respect to the reference point.In some embodiments, a virtual object maintaining a substantially fixed position relative to a reference point includes the virtual object being displayed within a threshold distance (e.g., 1, 2, 3, 5, 15, 20, 50 cm) of the reference point in one or more dimensions (e.g., above / below, left / right, and / or forward / backward relative to the position of the reference point).
[0034] Hardware: There are many different types of electronic systems that allow a person to sense and / or interact with various XR environments. Examples include head-mounted systems, projection-based systems, heads-up displays (HUDs), vehicle windshields with integrated viewing capabilities, windows with integrated viewing capabilities, displays formed as lenses designed to be placed over a person's eyes (e.g., similar to contact lenses), headphones / earphones, speaker arrays, input systems (e.g., wearable or handheld controllers with or without haptic feedback), smartphones, tablets, and desktop / laptop computers. A head-mounted system may have one or more speaker(s) and an integrated opaque display. Alternatively, a head-mounted system may be configured to accept an external opaque display (e.g., a smartphone). A head-mounted system may incorporate one or more imaging sensors for capturing images or video of the physical environment and / or one or more microphones for capturing audio of the physical environment. A head-mounted system may have a transparent or translucent display rather than an opaque display. The transparent or translucent display may have a medium through which light representing an image is directed to the person's eyes. The display may utilize digital light projection, OLED, LED, uLED, liquid crystal on silicon, laser scanned light source, or any combination of these technologies. The medium may be a light guide, a holographic medium, an optical combiner, an optical reflector, or any combination of these. In an embodiment, the transparent or translucent display may be configured to be selectively opaque. The projection-based system may employ retinal projection technology that projects a graphical image onto the person's retina. The projection system may also be configured to project virtual objects into the physical environment, for example, as a hologram or onto a physical surface.
[0035] In some embodiments, the controller 110 is configured to manage and coordinate the XR experience for the user. In some embodiments, the controller 110 includes a suitable combination of software, firmware, and / or hardware. The controller 110 is described in more detail below with reference to FIG. 2. In some embodiments, the controller 110 is a computing device that is local or remote to the scene 105 (e.g., the physical environment). For example, the controller 110 is a local server located within the scene 105. In another example, the controller 110 is a remote server (e.g., a cloud server, a central server, etc.) located outside the scene 105. In some embodiments, the controller 110 is communicatively coupled to the display generation component 120 (e.g., an HMD, a display, a projector, a touch screen, etc.) via one or more wired or wireless communication channels 144 (e.g., BLUETOOTH, IEEE 802.11x, IEEE 802.16x, IEEE 802.3x, etc.). In another example, the controller 110 is contained within the housing (e.g., physical housing) of one or more of the display generation component 120 (e.g., an HMD or a portable electronic device including a display and one or more processors), one or more of the input devices 125, one or more of the output devices 155, one or more of the sensors 190, and / or one or more of the peripheral devices 195, or shares the same physical housing or support structure as one or more of the above.
[0036] In some embodiments, display generation component 120 is configured to provide an XR experience (e.g., at least a visual component of an XR experience) to a user. In some embodiments, display generation component 120 includes a suitable combination of software, firmware, and / or hardware. Display generation component 120 is described in more detail below with reference to FIG. 3. In some embodiments, functionality of controller 110 is provided by and / or combined with display generation component 120.
[0037] According to some embodiments, the display generation component 120 provides an XR experience to the user while the user is virtually and / or physically present within the scene 105.
[0038] 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.). Thus, the display generation component 120 includes one or more XR displays provided to display the 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 smartphone or tablet) configured to present the XR content, where the user holds a device with a display directed to the user's field of view and a camera directed to the scene 105. In some embodiments, the handheld device is optionally disposed in a housing worn on the user's head. In some embodiments, the handheld device is optionally disposed on a support (e.g., a tripod) in front of the user. In some embodiments, the display generation component 120 is an XR chamber, housing, or room configured to present the XR content without the user wearing or holding 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 an interaction with XR content that is triggered based on an interaction that occurs in the space in front of a handheld or tripod-mounted device may be implemented similarly to an HMD where the interaction occurs in the space in front of the HMD and the XR content response is displayed via the HMD. Similarly, a user interface showing an interaction with XR content that is triggered based on movement of a handheld or tripod-mounted device relative to the physical environment (e.g., the scene 105 or a part of the user's body (e.g., the user's eye(s), head, or hand)) may be implemented similarly to an HMD where the movement is caused by movement of the HMD relative to the physical environment (e.g., the scene 105 or a part of the user's body (e.g., the user's eye(s), head, or hand)).
[0039] While relevant features of operating environment 100 are shown in FIG. 1, those skilled in the art will appreciate from this disclosure that various other features have not been shown for the sake of brevity so as not to obscure more pertinent aspects of the exemplary embodiments disclosed herein.
[0040] 2 is a block diagram of an example controller 110, according to some embodiments. While certain features are shown, those skilled in the art will appreciate from this disclosure that various other features are not shown for the sake of brevity so as not to obscure more pertinent aspects of the embodiments disclosed herein. Thus, by way of non-limiting example, in some embodiments, the controller 110 includes one or more processing units 202 (e.g., a microprocessor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a graphics processing unit (GPU), a central processing unit (CPU), a processing core, etc.), one or more input / output (I / O) devices 206, one or more communications interfaces 208 (e.g., Universal Serial Bus (USB), FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Global Positioning System (GPS), Infrared (IR), BLUETOOTH, ZIGBEE, or similar types of interfaces), one or more programming (e.g., I / O) interfaces 210, memory 220, and one or more communications buses 204 for interconnecting these and various other components.
[0041] In some embodiments, the one or more communications buses 204 include circuitry that interconnects and controls communications between the system components. In some embodiments, the one or more I / O devices 206 include at least one of a keyboard, a mouse, a touchpad, a joystick, one or more microphones, one or more speakers, one or more image sensors, one or more displays, etc.
[0042] The memory 220 includes high-speed random-access memory, such as dynamic random-access memory (DRAM), static random-access memory (SRAM), double-data-rate random-access memory (DDRRAM), or other random-access solid-state memory devices. In some embodiments, the memory 220 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. The memory 220 optionally includes one or more storage devices located remotely 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 a subset thereof, including an optional operating system 230 and an XR experience module 240:
[0043] The operating system 230 includes instructions for handling various basic system services and instructions for performing hardware-dependent tasks. In some embodiments, the XR experience module 240 is configured to manage and coordinate one or more XR experiences for one or more users (e.g., a single XR experience for one or more users, or multiple XR experiences for respective groups of one or more users). To that end, in various embodiments, 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.
[0044] 1, and optionally from one or more of the input devices 125, the output devices 155, the sensors 190, and / or the peripheral devices 195. To that end, in various embodiments, the data acquisition unit 241 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.
[0045] In some embodiments, the tracking unit 242 is configured to map the scene 105 and track the location / position of at least the display generation component 120 relative to the scene 105 of FIG. 1, and optionally the position of one or more of the input device 125, the output device 155, the sensor 190, and / or the peripheral device 195. To that end, in various embodiments, the tracking unit 242 includes instructions and / or logic therefor, as well as heuristics and metadata therefor. 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 location / position of one or more parts of the user's hand and / or the movement of one or more parts of the user's hand relative to the scene 105 of FIG. 1, relative to the display generation component 120, and / or relative to a coordinate system defined relative to the user's hand. The hand tracking unit 244 is described in more detail below with respect to FIG. 4. In some embodiments, eye tracking unit 243 is configured to track the position and movement of the user's gaze (or, more broadly, the user's eyes, face, or head) relative to scene 105 (e.g., relative to the physical environment and / or the user (e.g., the user's hands)), or relative to XR content displayed via display generation component 120. Eye tracking unit 243 is described in more detail below with respect to FIG.
[0046] In some embodiments, the coordination unit 246 is configured to manage and coordinate the XR experience presented to the user by the display generation component 120 and, optionally, by one or more of the output devices 155 and / or peripheral devices 195. To that end, in various embodiments, the coordination unit 246 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.
[0047] In some embodiments, data transmission unit 248 is configured to transmit data (e.g., presentation data, location data, etc.) to at least display generation component 120, and optionally to one or more of input devices 125, output devices 155, sensors 190, and / or peripheral devices 195. To that end, in various embodiments, data transmission unit 248 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.
[0048] Although the data acquisition unit 241, the tracking unit 242 (e.g., including the eye tracking unit 243 and the hand tracking unit 244), the adjustment unit 246, and the data transmission unit 248 are shown as being present on a single device (e.g., the controller 110), it should be understood that in other embodiments, any combination of the data acquisition unit 241, the tracking unit 242 (e.g., including the eye tracking unit 243 and the hand tracking unit 244), the adjustment unit 246, and the data transmission unit 248 may be located within separate computing devices.
[0049] Moreover, FIG. 2 is intended more to illustrate the functionality of various features that may be present in certain embodiments, as opposed to a structural overview of the embodiments described herein. As will be appreciated by those skilled in the art, items shown separately may be combined and some items may be separated. For example, some functional modules shown separately in FIG. 2 may be implemented within a single module, and various functions of a single functional block may be performed by one or more functional blocks in various embodiments. The actual number of modules, as well as the division of specific functions and how functions are allocated among them, may vary from implementation to implementation, and in some embodiments will depend in part on the particular combination of hardware, software, and / or firmware selected for a particular implementation.
[0050] 3 is a block diagram of an example of a display generation component 120, according to some embodiments. While certain features are shown, those skilled in the art will appreciate from this disclosure that various other features have not been shown for the sake of brevity so as not to obscure more pertinent aspects of the embodiments disclosed herein. To that end, and by way of non-limiting example, in some embodiments, the display generation component 120 (e.g., an HMD) includes one or more processing units 302 (e.g., 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 communications interfaces 308 (e.g., USB, FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, GSM, CDMA, TDMA, GPS, infrared, BLUETOOTH, ZIGBEE, and / or similar types of interfaces), one or more programming (e.g., I / O) interfaces 310, one or more XR displays 312, one or more optional inward-facing and / or outward-facing image sensors 314, memory 320, and one or more communications buses 304 for interconnecting these and various other components.
[0051] In some embodiments, the one or more communication buses 304 include circuitry that interconnects and controls communications between the system components. In some embodiments, the one or more I / O devices and sensors 306 include at least one of an inertial measurement unit (IMU), an accelerometer, a gyroscope, a thermometer, one or more physiological sensors (e.g., a blood pressure monitor, a heart rate monitor, a blood oxygen sensor, a blood glucose sensor, etc.), one or more microphones, one or more speakers, a haptic engine, one or more depth sensors (e.g., structured light, time of flight, etc.), etc.
[0052] In some embodiments, the one or more XR displays 312 are configured to provide an XR experience to the user. In some embodiments, the one or more XR displays 312 correspond to holographic, digital light processing (DLP), liquid crystal display (LCD), liquid crystal on silicon (LCoS), organic light-emitting field-effect transistor (OLET), organic light-emitting diode (OLED), surface-conduction electron-emissive element display (SED), field emission display (FED), quantum dot light-emitting diode (QD-LED), MEMS, and / or similar display types. In some embodiments, the one or more XR displays 312 correspond to a waveguide display, such as diffractive, reflective, polarized, holographic, etc. 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, the one or more XR displays 312 can present MR or VR content. In some embodiments, the one or more XR displays 312 can present MR or VR content.
[0053] In some embodiments, the one or more image sensors 314 are configured to capture 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 capture image data corresponding to at least a portion of the user's hand(s) and optionally the user's arm(s) (and may be referred to as a hand tracking camera). In some embodiments, the one or more image sensors 314 are configured to face forward (and may be referred to as a scene camera) to capture image data corresponding to a scene as the user would view if the display generating component 120 (e.g., an HMD) were not present. The one or more optional image sensors 314 may include one or more RGB cameras (e.g., with a complementary metal oxide semiconductor (CMOS) image sensor or a charge-coupled device (CCD) image sensor), one or more infrared (IR) cameras, one or more event-based cameras, and / or the like.
[0054] The memory 320 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices. In some embodiments, the memory 320 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. The memory 320 optionally includes one or more storage devices located remotely 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 presentation module 340:
[0055] The operating system 330 includes instructions for handling various basic system services and instructions for performing hardware-dependent tasks. In some embodiments, the XR presentation module 340 is configured to present XR content to a user via one or more XR displays 312. To that end, in various embodiments, the XR presentation module 340 includes a data acquisition unit 342, an XR presentation unit 344, an XR map generation unit 346, and a data transmission unit 348.
[0056] In some embodiments, the data acquisition unit 342 is configured to acquire data (e.g., presentation data, interaction data, sensor data, location data, etc.) from at least the controller 110 of Figure 1. To that end, in various embodiments, the data acquisition unit 342 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.
[0057] In some embodiments, the XR presentation unit 344 is configured to present XR content via one or more XR displays 312. To that end, in various embodiments, the XR presentation unit 344 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.
[0058] 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 augmented reality) based on the media content data. To that end, in various embodiments, the XR map generation unit 346 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.
[0059] In some embodiments, the data transmission unit 348 is configured to transmit data (e.g., presentation data, location data, etc.) to at least the controller 110, and optionally to one or more of the input devices 125, the output devices 155, the sensors 190, and / or the peripheral devices 195. To that end, in various embodiments, the data transmission unit 348 includes instructions and / or logic therefor, as well as heuristics and metadata therefor.
[0060] Although the data acquisition unit 342, the XR presentation unit 344, the XR map generation unit 346, and the data transmission unit 348 are shown as being present on a single device (e.g., the display generation component 120 of FIG. 1), it should be understood that in other embodiments, any combination of the data acquisition unit 342, the XR presentation unit 344, the XR map generation unit 346, and the data transmission unit 348 may be located within separate computing devices.
[0061] Moreover, FIG. 3 is intended more to illustrate the functionality of various features that may be present in a particular implementation, as opposed to a structural overview of the embodiments described herein. As will be appreciated by those skilled in the art, items shown separately can be combined and some items can be separated. For example, some functional modules shown separately in FIG. 3 can be implemented within a single module, and various functions of a single functional block can be performed by one or more functional blocks in various embodiments. The actual number of modules, as well as the division of specific functions and how functions are allocated among them, will vary from implementation to implementation, and in some embodiments will depend in part on the particular combination of hardware, software, and / or firmware selected for a particular implementation.
[0062] 4 is a schematic diagram of an example embodiment of a hand tracking device 140. In some embodiments, the hand tracking device 140 (FIG. 1) is controlled by a hand tracking unit 244 (FIG. 2) to track the location / position of one or more parts of a user's hand and / or the movement of one or more parts of a user's hand relative to the scene 105 of FIG. 1 (e.g., relative to a portion of the physical environment surrounding the user, relative to the display generation component 120, or relative to a coordinate system defined relative to a portion of the user (e.g., the user's face, eyes, or head), and / or relative to the user's hand. In some embodiments, the hand tracking device 140 is part of the display generation component 120 (e.g., embedded in or attached to a head-mounted device). In some embodiments, the hand tracking device 140 is separate from the display generation component 120 (e.g., located in a separate housing or attached to a separate physical support structure).
[0063] 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 hand 406 of a human user. The image sensor 404 captures hand images with sufficient resolution to allow for differentiation of fingers and their respective positions. The image sensor 404 typically captures images of other parts of the user's body, or images of the entire body, and can have either zoom capabilities or dedicated sensors with high magnification to capture images of the hand at a desired resolution. In some embodiments, the image sensor 404 also captures 2D color video images of the hand 406 and other elements of the scene. In some embodiments, the image sensor 404 is used in conjunction with other image sensors that capture the physical environment of the scene 105, or serves as an image sensor that captures the physical environment of the scene 105. In some embodiments, the image sensor 404 is positioned relative to the user or the user's environment such that the field of view of the image sensor, or a portion thereof, is used to define an interaction space in which hand movements captured by the image sensor are processed as inputs to the controller 110.
[0064] In some embodiments, the image sensor 404 outputs a sequence of frames containing 3D map data (and possibly color image data as well) to the controller 110, which extracts high-level information from the map data. This high-level information is provided, typically via an application program interface (API), to an application running on the controller, which drives the display generation component 120 accordingly. For example, a user can interact with software running on the controller 110 by moving their hand 406 and changing the posture of their hand.
[0065] In some embodiments, the image sensor 404 projects a spot pattern onto a scene including the hand 406 and captures an image of the projected pattern. In some embodiments, the controller 110 calculates the 3D coordinates of points in the scene (including points on the surface of the user's hand) by triangulation based on the lateral shift of the spots of the pattern. This approach is advantageous in that it does not require the user to hold or wear any kind of beacon, sensor, or other marker. It gives the depth coordinate of a point in the scene relative to a predefined reference plane at a specific distance from the image sensor 404. In this disclosure, it is assumed that the image sensor 404 defines a set of orthogonal x, y, z axes such that the depth coordinate of a point in the scene corresponds to the z component measured by the image sensor. Alternatively, the image sensor 404 (e.g., a hand tracking device) can use other 3D mapping methods, such as stereoscopic imaging or time-of-flight measurements, based on single or multiple cameras or other types of sensors.
[0066] In some embodiments, the hand tracking device 140 captures and processes a time sequence of depth maps including the user's hand while the user moves the hand (e.g., the entire hand or one or more fingers). Software running on the image sensor 404 and / or a processor in the controller 110 processes the 3D map data to extract patch descriptors of the hand in these depth maps. The software matches these descriptors to patch descriptors stored in the database 408, based on a previous learning process, to estimate the pose of the hand in each frame. The pose typically includes the 3D locations of the user's wrist joints and fingertips.
[0067] The software can also analyze hand and / or finger trajectories across multiple frames in a sequence to identify gestures. The pose estimation functionality described herein may be interleaved with motion tracking functionality, whereby patch-based pose estimation is performed only once every two (or more) frames, while tracking is used to discover pose changes that occur across the remaining frames. The pose, motion, and gesture information is provided to an application program running on the controller 110 via the API described above. The program can, for example, move and modify an image presented on the display generation component 120 or perform other functions in response to the pose and / or gesture information.
[0068] In some embodiments, the gesture includes an air gesture, which is a gesture that is detected without (or independent of) the user touching an input element that is part of a device (e.g., computer system 101, one or more input devices 125, and / or hand tracking device 140) and is based on detected movement of a part of the user's body (e.g., head, one or more arms, one or more hands, one or more fingers, and / or one or more legs) that is in the air, including movement of the user's body relative to an absolute reference (e.g., the angle of the user's arm relative to the ground, or the distance of the user's hand relative to the ground), movement of the user's body relative to another part of the user's body (e.g., movement of the user's hand relative to the user's shoulder, movement of 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 the user's body part (e.g., a tap gesture that includes movement of a hand in a predetermined pose by a predetermined amount and / or speed, or a shake gesture that includes a predetermined speed or amount of rotation of the user's body part).
[0069] In some embodiments, input gestures used in various examples and embodiments described herein include air gestures performed by movement of a user's finger(s) relative to other finger(s) or part(s) of the user's hand to interact with an XR environment (e.g., a virtual or mixed reality environment), according to some embodiments. In some embodiments, an air gesture is a gesture that is detected without the user touching an input element that is part of the device (or independent of an input element that is part of the device) and is based on detected movements in space of a part of the user's body, including movements 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), movements of the user's body relative to another part of the user's body (e.g., the movement of the user's hand relative to the user's shoulder, the movement of the user's other hand relative to one of the user's hands, and / or the movement of the user's finger relative to another finger or part of the user's hand), and / or absolute movements of the user's body part (e.g., a tap gesture that includes the movement of the hand in a predetermined pose by a predetermined amount and / or speed, or a shake gesture that includes the rotation of the user's body part a predetermined speed or amount).
[0070] In some embodiments where the input gesture is an air gesture (e.g., in the absence of physical contact with an input device that provides a computer system with information about which user interface element is the target of the user input, such as contact with a user interface element displayed on a 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., in the case of direct input, as described below). Thus, in implementations that include air gestures, the input gesture is detected attention (e.g., gaze) to a user interface element in combination (e.g., simultaneously) with the movement of the user's finger(s) and / or hand to perform pinch and / or tap input, as described in more detail below.
[0071] In some embodiments, an input gesture directed at a user interface object is performed directly or indirectly with reference to the user interface object. For example, user input is performed directly at a user interface object in response to performing an input gesture with a user's hand at a position corresponding to the position of the user interface object in the three-dimensional environment (e.g., as determined based on the user's current viewpoint). In some embodiments, an input gesture is performed indirectly at a user interface object in response to a user performing an input gesture while the position of the user's hand is not at a position corresponding to the position of the user interface object in the three-dimensional environment while detecting the user's attention (e.g., gaze) to the user interface object. For example, in the case of a direct input gesture, a user can direct the user's input to a user interface object by initiating the gesture at or near a position corresponding to a displayed position of the user interface object (e.g., within a distance of 0.5 cm, 1 cm, 5 cm, or 0-5 cm, measured from an outer edge of an option or a central portion of an option). For indirect input gestures, a user can direct the user's input to a user interface object by paying attention to the user interface object (e.g., by gazing at the user interface object), and while paying attention to the option, the user initiates an input gesture (e.g., in any position detectable by the computer system) (e.g., in a position that does not correspond to the displayed position of the user interface object).
[0072] In some embodiments, input gestures (e.g., air gestures) used in various examples and embodiments described herein include pinch inputs and tap inputs for interacting with a virtual or mixed reality environment, according to some embodiments. For example, pinch inputs and tap inputs, described below, are performed as air gestures.
[0073] In some embodiments, the pinch input is part of an air gesture, including one or more of a pinch gesture, a long pinch gesture, a pinch-and-drag gesture, or a double pinch gesture. For example, the pinch gesture, which is an air gesture, includes moving two or more fingers of a hand to contact each other, i.e., optionally with a short interruption (e.g., within 0-1 seconds) after contacting each other. The long pinch gesture, which is an air gesture, includes moving two or more fingers of a hand to contact each other for at least a threshold amount of time (e.g., at least 1 second) before detecting an interruption in contacting each other. For example, the long pinch gesture includes a user holding a pinch gesture (e.g., when two or more fingers are in contact), and the long pinch gesture continues until an interruption in contact between the two or more fingers is detected. In some embodiments, the double pinch gesture, which is an air gesture, includes two (e.g., or more) pinch inputs (e.g., performed by the same hand) that are detected directly (e.g., within a predetermined period of time) in succession to each other. For example, a user performs a first pinch input (e.g., a pinch input or a long pinch input), releases the first pinch input (e.g., breaking contact between two or more fingers), and performs a second pinch input within a predetermined period of time (e.g., within 1 second or within 2 seconds) after releasing the first pinch input.
[0074] In some embodiments, a pinch-and-drag gesture that is an air gesture includes a pinch gesture (e.g., a pinch gesture or a long pinch gesture) performed in conjunction with (e.g., followed by) a drag input that changes the position of the user's hand from a first position (e.g., a start position of the drag) to a second position (e.g., an end position of the drag). In some embodiments, the user maintains the pinch gesture while performing the drag input and releases the pinch gesture (e.g., spreading two or more fingers apart) to end the drag gesture (e.g., at the second position). In some embodiments, the pinch input and the drag input are performed by the same hand (e.g., the user pinches two or more fingers together to touch each other and moves the same hand to a second position in the air in a drag gesture). In some embodiments, the pinch input is performed by a first hand of the user and the drag input is performed by a second hand of the user (e.g., the second hand of the user moves from a first position to a second position in the air while the user continues the pinch input with the first hand of the user). In some embodiments, an input gesture that is an air gesture includes an input (e.g., a pinch input and / or a tap input) performed using both of a user's hands. For example, an input gesture includes two (e.g., or more) pinch inputs performed in conjunction with one another (e.g., simultaneously or within a predetermined period of time). For example, a first pinch gesture (e.g., a pinch input, a long pinch input, or a pinch and drag input) performed using a first hand of a user and a second pinch input performed using the other hand (e.g., a second hand of the user's two hands) in conjunction with performing the pinch input using the first hand. In some embodiments, a movement between the user's hands (e.g., to increase and / or decrease the distance or relative orientation between the user's hands).
[0075] In some embodiments, a tap input performed as an air gesture (e.g., directed towards a user interface element) includes a movement of a user's finger(s) towards a user interface element, a movement of a user's hand towards a user interface element, optionally with the user's finger(s) extended towards the user interface element, a downward movement of a user's finger (e.g., mimicking a mouse click action or a tap on a touch screen), or other predefined movement of a 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, the movement of the finger or hand away from the user's viewpoint and / or towards the object that is the target of the tap input followed by an end of the movement. In some embodiments, an end of the movement is detected based on a change in movement characteristics of the finger or hand performing the tap gesture (e.g., an end of the movement away from the user's viewpoint and / or towards the object that is the target of the tap input, a reversal of the direction of the finger or hand movement, and / or a reversal of the direction of acceleration of the finger or hand movement).
[0076] In some embodiments, the user's attention is determined to be directed to a portion of the three-dimensional environment based on detection of a gaze directed to the portion of the three-dimensional environment (optionally without requiring other conditions). In some embodiments, the user's attention is determined to be directed to a portion of the three-dimensional environment based on detection of a gaze directed to the portion of the three-dimensional environment with one or more additional conditions, such as requiring the gaze to be directed to the portion of the three-dimensional environment for at least a threshold duration (e.g., dwell time) while the user's viewpoint is within a distance threshold from the portion of the three-dimensional environment for the device to determine that the user's attention is directed to the portion of the three-dimensional environment, and / or requiring the gaze to be directed to the portion of the three-dimensional environment, and if one of the additional conditions is not met, the device determines that the attention is not directed to the portion of the three-dimensional environment to which the gaze is directed (e.g., until one or more additional conditions are met).
[0077] In some embodiments, detection of a ready configuration of a user or a portion of a user is detected by the computer system. Detection of the ready configuration of the hands is used by the computer system as an indication that the user is likely preparing to interact with the computer system using one or more air gesture inputs performed by the hands (e.g., a pinch, tap, pinch and drag, double pinch, long pinch, or other air gestures described herein). For example, the ready state of a hand is determined based on whether the hand has a predefined hand geometry (e.g., a pre-pinch geometry with the thumb and one or more fingers extended and spaced apart, ready to perform a pinch or grab gesture, or a pre-tap with one or more fingers extended and the palm facing away from the user), whether the hand is in a predefined position relative to the user's viewpoint (e.g., under the user's head, on the user's waist, extended at least 15 cm, 20 cm, 25 cm, 30 cm, or 50 cm from the body), and / or whether the hand has moved in a particular manner (e.g., moved toward an area in front of the user, on the user's waist, under the user's head, or away from the user's body or legs). In some embodiments, the ready state is used to determine whether an interactive element of a user interface is responsive to attentional (e.g., gaze) input.
[0078] In some embodiments, the software may be downloaded in electronic form to the controller 110, 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 similarly stored in a memory associated with the controller 110. Alternatively or additionally, some or all of the described functionality of the computer may be implemented in dedicated hardware, such as a custom or semi-custom integrated circuit or a programmable digital signal processor (DSP). Although the controller 110 is shown in FIG. 4 as a separate unit from the image sensor 404, by way of example, some or all of the processing functionality of the controller may be associated with the image sensor 404 by a suitable microprocessor and software, or by a dedicated circuit within the housing of the image sensor 404 (e.g., a hand tracking device), or in another manner. In some embodiments, at least some of these processing functions may be performed by a suitable processor integrated with the display generation component 120 (e.g., in a television set, handheld device, or head-mounted device), or with any other suitable computerized device, such as a game console or media player. The sensing functions of the image sensor 404 may similarly be integrated into a computer or other computerized device that is controlled by the sensor output.
[0079] FIG. 4 further includes a schematic diagram of a depth map 410 captured by the image sensor 404, according to some embodiments. The depth map includes a matrix of pixels with respective depth values, as described above. A pixel 412 corresponding to the hand 406 is segmented from the background and wrist in this map. The brightness of each pixel in the depth map 410 is inversely proportional to the depth value, i.e., the measured z-distance from the image sensor 404, with increasing gray levels as depth increases. The controller 110 processes these depth values to identify and segment components of the image (i.e., groups of adjacent pixels) that have characteristics of a human hand. These characteristics can include, for example, the overall size, shape, and frame-to-frame motion of the sequence of depth maps.
[0080] 4 also illustrates, in accordance with some embodiments, a hand skeleton 414 that the controller 110 ultimately extracts from the depth map 410 of the hand 406. In FIG. 4, the hand skeleton 414 is superimposed on a hand background 416 that was segmented from the original depth map. In some embodiments, key feature points on the hand (e.g., knuckles, fingertips, center of the palm, end of the hand that connects to the wrist, etc.) and optionally the wrist or arm connected to the hand are identified and positioned on the hand skeleton 414. In some embodiments, the location and movement of these key feature points over multiple image frames are used by the controller 110 to determine hand gestures performed by the hand or the current state of the hand, according to some embodiments.
[0081] FIG. 5 illustrates an exemplary embodiment of the eye tracking device 130 (FIG. 1). In some embodiments, the eye tracking device 130 is controlled by the eye tracking unit 243 (FIG. 2) 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, if the display generation component 120 is a head-mounted device such as a headset, helmet, goggles, or glasses, or a handheld device disposed in a wearable frame, the head-mounted device includes both a component for generating XR content for viewing by the user and a component 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, if the display generation component is a handheld device or an XR chamber, the eye tracking device 130 is, optionally, a device separate from the handheld device or the XR chamber. In some embodiments, the eye tracking device 130 is a head-mounted device or part of the head-mounted device. In some embodiments, the head-mounted eye tracking device 130 is optionally used in conjunction with a head-mounted or non-head-mounted display generation component. In some embodiments, the eye tracking device 130 is not a head-mounted device, and is optionally used in combination 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.
[0082] In some embodiments, the display generation component 120 uses a display mechanism (e.g., left and right near-eye display panels) that displays frames including left and right images in front of the user's eyes to provide the user with a 3D virtual view. For example, the head-mounted display generation component may include left and right optical lenses (referred to herein as eyepieces) 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 video cameras that capture video of the user's environment for display. In some embodiments, the head-mounted display generation component may have a transparent or semi-transparent display that allows the user to view the physical environment directly and display virtual objects on the transparent or semi-transparent display. In some embodiments, the display generation component projects virtual objects into the physical environment. The virtual objects are projected, for example, onto a physical surface or as a hologram, whereby an individual using the system can observe the virtual objects superimposed on the physical environment. In such cases, separate display panels and image frames for the left and right eyes may not be required.
[0083] As shown in FIG. 5, in some embodiments, eye tracking device 130 (e.g., gaze tracking device) includes at least one eye tracking camera (e.g., infrared (IR) camera or near-IR (NIR) camera) and an illumination source (e.g., an IR or NIR light source such as an array or ring of LEDs) that emits light (e.g., IR or NIR light) toward the user's eye. The eye tracking camera may be aimed at the user's eye to receive reflected IR or NIR light from the light source directly from the eye, or alternatively, may be aimed at a "hot" mirror disposed between the user's eye and a display panel that reflects the IR or NIR light from the eye to the eye tracking camera while allowing visual light to pass through. Eye tracking device 130 optionally captures images of the user's eye (e.g., as a video stream captured at 60-120 frames per second (fps)), analyzes the images to generate eye tracking information, and communicates the eye tracking information to controller 110. In some embodiments, the user's eyes are tracked separately by respective eye tracking cameras and illumination sources. In some embodiments, only one eye of the user is tracked by a separate eye tracking camera and lighting source.
[0084] 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 the particular operating environment 100, e.g., 3D geometric relationships and parameters of the LEDs, camera, hot mirror (if present), eyepiece, and display screen. The device-specific calibration process may be performed at a factory or another facility prior to delivery of the AR / VR equipment to the end user. The device-specific calibration process may be an automatic calibration process or a manual calibration process. The user-specific calibration process may include estimation of the particular user's eye parameters, e.g., pupil location, central vision location, optical axis, visual axis, eye spacing, etc. According to some embodiments, once the device-specific and user-specific parameters have been determined for the eye tracking device 130, images captured by the eye tracking camera may be processed using a glint-assisted method to determine the user's current visual axis and viewpoint relative to the display.
[0085] As shown in FIG. 5, eye tracking device 130 (e.g., 130A or 130B) includes an eyepiece(s) 520 and an eye tracking system including at least one eye tracking camera 540 (e.g., an infrared (IR) or near-IR (NIR) camera) positioned on the side of the user's face where eye tracking occurs and an illumination source 530 (e.g., an IR or NIR light source such as an array or ring of NIR light emitting diodes (LEDs)) that emits light (e.g., IR or NIR light) toward the user's eye(s) 592. The eye tracking camera 540 may be located between the user's eye(s) 592 and the display 510 (e.g., a left or right display panel of a head-mounted display, or a display of a handheld device, a projector, etc.) and may be pointed at a mirror 550 that reflects IR or NIR light from the eye(s) 592 while transmitting visible light (e.g., as shown in the top of FIG. 5), or may be pointed at the user's eye(s) 592 to receive reflected IR or NIR light from the user's eye(s) 592 (e.g., as shown in the bottom of FIG. 5).
[0086] 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 gaze tracking input 542 from the eye tracking camera 540 for various purposes, e.g., in processing the frames 562 for display. The controller 110 optionally estimates the user's viewpoint on the display 510 based on the gaze tracking input 542 obtained from the eye tracking camera 540, using a glint-assisted method or other suitable method. The viewpoint estimated from the gaze tracking input 542 is optionally used to determine the direction in which the user is currently looking.
[0087] Below, some possible use cases of the user's current gaze direction are described, which are not intended to be limiting. As an exemplary use case, the controller 110 can render virtual content differently based on the determined user's gaze direction. For example, the controller 110 can generate virtual content with higher resolution in a central visual area determined from the user's current gaze direction than in a peripheral area. As another example, the controller can 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 can display certain virtual content in a view based at least in part on the user's current gaze direction. As another exemplary use case in an AR application, the controller 110 can orient an external camera to capture the physical environment of the XR experience and focus in the determined direction. The autofocus mechanism of the external camera can then focus on an object or surface in the environment that the user is currently looking at on the display 510. As another exemplary use case, the eyepiece 520 may be a focusable lens, and the eye tracking information is used by the controller to adjust the focus of the eyepiece 520 so that the virtual object the user is currently looking at has the proper binocular coordination to match the convergence of the user's eyes 592. The controller 110 can leverage the eye tracking information to orient and focus the eyepiece 520 so that a nearby object the user is looking at appears at the correct distance.
[0088] In some embodiments, the eye tracking device is part of a head mounted device that includes a display (e.g., display 510), two eyepieces (e.g., eyepiece(s) 520), an eye tracking camera (e.g., eye tracking camera(s) 540), and a light source (e.g., light source 530 (e.g., IR LED or NIR LED)) attached to the wearable housing. The light source emits light (e.g., IR light or NIR light) toward the user's eye(s) 592. In some embodiments, the light sources may be arranged in a ring or circle around each lens, as shown in FIG. 5. In some embodiments, eight light sources 530 (e.g., LEDs) are arranged around each lens 520 as an example. However, more or fewer light sources 530 may be used, and other arrangements and locations of the light sources 530 may be used.
[0089] In some embodiments, the display 510 emits light in the visible light range and not in the IR or NIR ranges, and therefore does not introduce noise into the eye tracking system. Note that the locations and angles of the eye tracking camera(s) 540 are given by way of example and are not intended to be limiting. In some embodiments, a single eye tracking camera 540 is located on each side of the user's face. In some embodiments, two or more NIR cameras 540 may be used on each side of the user's face. In some embodiments, a camera 540 with a wider field of view (FOV) and a camera 540 with a narrower FOV may be used on each side of the user's face. In some embodiments, a camera 540 operating at one wavelength (e.g., 850 nm) and a camera 540 operating at a different wavelength (e.g., 940 nm) may be used on each side of the user's face.
[0090] Embodiments of an eye tracking system such as that shown in FIG. 5 may be used, for example, in computer-generated reality, virtual reality, and / or mixed reality applications to provide a user with a computer-generated reality, virtual reality, augmented reality, and / or augmented virtual experience.
[0091] FIG. 6 illustrates a glint-assisted eye tracking pipeline according to some embodiments. In some embodiments, the eye tracking pipeline is realized by a glint-assisted eye tracking system (e.g., eye tracking device 130 as shown in FIG. 1 and FIG. 5). The glint-assisted eye tracking system can maintain a tracking state. Initially, the tracking state is off or "no". When in the tracking state, the glint-assisted eye tracking system tracks the pupil contour and glint in the current frame using prior information from the previous frame when analyzing the current frame. When not in the tracking state, the glint-assisted eye tracking system attempts to detect the pupil and glint in the current frame, and if successful, initializes the tracking state to "yes" and continues to the next frame in the tracking state.
[0092] As shown in FIG. 6, an eye tracking camera can capture left and right images of a user's left and right eyes. The captured images are then input into an eye tracking pipeline for processing beginning at 610. As indicated by the arrow returning to element 600, the eye tracking system can continue to capture images of the user's eyes at a rate of, for example, 60-120 frames per second. In some embodiments, each set of captured images may be input into the pipeline for processing. However, in some embodiments, or under some conditions, not all captured frames are processed by the pipeline.
[0093] At 610, if the tracking status is yes for the current captured image, the method proceeds to element 640. If the tracking status is no at 610, the image is analyzed to detect the user's pupil and glint in the image, as shown at 620. If the pupil and glint are successfully detected at 630, the method proceeds to element 640. If not, the method returns to element 610 to process the next image of the user's eye.
[0094] At 640, proceeding from element 610, the current frame is analyzed to track pupils and glints based in part on prior information from the previous frame. At 640, proceeding from element 630, a tracking state is initialized based on the detected pupils and glints in the current frame. The results of the processing at element 640 are checked to ensure that the tracking or detection results are reliable. For example, the results can be checked to determine whether a sufficient number of glints are successfully tracked or detected in the current frame to perform pupil and gaze estimation. At 650, if the results are not reliable, the tracking state is set to no at element 660 and the method returns to element 610 to process the next image of the user's eyes. At 650, if the results are reliable, the method proceeds to element 670. At 670, the tracking state is set to yes (if not already yes) and the pupil and glint information is passed to element 680 to estimate the user's gaze point.
[0095] 6 is intended to serve as an example of eye-tracking technology that may be used in certain implementations. As will be recognized by those skilled in the art, other eye-tracking technologies, either currently existing or developed in the future, may be used in place of or in combination with the glint-assisted eye-tracking technology described herein in computer system 101 to provide a user with an XR experience according to various embodiments.
[0096] In the present disclosure, various input methods are described with respect to interaction with a computer system. If one example is provided using one input device or input method and another example is provided using another input device or input method, it should be understood that each example may be compatible with and optionally utilize the input device or input method described with respect to the other example. Similarly, various output methods are described with respect to interaction with a computer system. If one example is provided using one output device or output method and another example is provided using another output device or output method, it should be understood that each example may be compatible with and optionally utilize the output device or output method described with respect to the other example. Similarly, various methods are described with respect to interaction with a virtual environment or a mixed reality environment via a computer system. If one example is provided using interaction with a virtual environment and another example is provided using a mixed reality environment, it should be understood that each example may be compatible with and optionally utilize the method described with respect to the other example. Thus, the present disclosure discloses embodiments that are combinations of features of multiple examples without exhaustively listing all features of the embodiments in the description of each exemplary embodiment.
[0097] User Interface and Related Processes Attention now turns to embodiments of user interfaces ("UI") and associated processes that may be executed in a computer system, such as a portable multifunction device or a head-mounted device, in communication with a display generation component and (optionally) one or more sensors (e.g., cameras).
[0098] The present disclosure relates to an exemplary process for representing a user in an XR environment. Figures 7A-7H and 8 show examples in which a user is registered for representation in an XR environment. Figures 9A-9F, 10, and 11 show examples in which various visual effects associated with a virtual avatar are presented in an XR environment. Figures 12A-12E, 13A-13B, and 14 show examples of various presentation modes associated with a user represented in an XR environment. The processes disclosed herein are implemented using a computer system (e.g., computer system 101 of Figure 1), as described above.
[0099] 7A-7H illustrate a registration process for registering characteristics of a user 700. The registration process includes capturing data representative of various aspects of the user 700, such as physical characteristics (e.g., facial features), facial expressions, feature movements, skin tone, clothing, and eyeglasses, or other data that can be used to design and / or manipulate a displayed representation of the user 700 in an XR environment. In some embodiments, the user 700 can be represented in the XR environment, for example, as a virtual avatar or audio representation, as discussed in more detail below with respect to FIGS. 9A-9F and 12A-12E.
[0100] 7A shows a user 700 holding an electronic device 701 that includes a display 702 and a camera(s) 703. The user 700 is looking at the device 701 and is wearing glasses 707 and an orange and yellow shirt 709. The electronic device 701 is a computer system (e.g., computer system 101 of FIG. 1).
[0101] In Figure 7A, the device 701 displays a registration interface 704 that is used to guide the user 700 through the registration process. The registration interface 704 includes a camera view 705 that shows a representation of image and / or depth data captured from the camera 703. In the embodiment shown in Figure 7A, the camera view 705 includes a representation 700a of the user 700 (including a representation 709a of a shirt 709 and a representation 707a of glasses 707 worn by the user 700). The registration interface 704 also includes various prompts that instruct the user 700 to complete portions of the registration process, as described in more detail below.
[0102] In the embodiment depicted in FIG. 7A, the registration interface 704 includes a prompt 706 instructing the user 700 to hold the head still and move the device 701 to scan the user's face and, in some embodiments, other parts of the user's body, such as the user's head. The device 701 performs the scan by collecting image data and / or depth data representative of the user's face / head. In some embodiments, this collected data is referred to herein as facial data. In addition, because the device 701 detects that the user 700 is wearing glasses, the prompt 706 also instructs the user 700 to remove the glasses 707 to collect facial data that more accurately represents the contours of the user's face and head. In some embodiments, the prompt displayed on the registration interface 704 can include further instructions. For example, if the user has long hair covering the head or part of the face, the prompt can include an instruction or instructions to pull the hair back to expose a hidden part of the head / face (e.g., an ear).
[0103] 7B shows user 700 with glasses 707 removed and moving device 701 to scan his face as instructed by prompt 706. In some embodiments, device 701 instructs the user to keep his head still to reduce any potential light glare movement on the user's face that may affect facial data collected from the scan. Enrollment interface 704 also includes a progress indicator 708 that updates to indicate the progress of the scan as device 701 collects facial data representing the user's face and / or head.
[0104] Figure 7C shows an alternative embodiment of the face / head scan of Figures 7A and 7B. In the embodiment shown in Figure 7C, the enrollment interface 704 includes a prompt 710 instructing the user 700 to move their head in a circular motion to complete the face / head scan. In this embodiment, the user 700 holds the device 701 in front of them while moving their head so that different parts of their head are visible to the camera 703, which captures facial data from the user's face / head as it moves in a circle.
[0105] 7D-7G illustrate a portion of an enrollment process in which a user is prompted to perform various facial expressions while device 701 captures facial data of user 700 (e.g., via camera 703). Device 701 prompts user 700 to perform different facial expressions in order to capture facial data representing the movement and posture of the user's facial features for each of the facial expressions. This facial data may be used (in some embodiments, in combination with facial data obtained from a face / head scan) to inform the creation and behavior of a virtual avatar that is used to represent the user in an XR environment, for example. The prompts illustrated in FIGS. 7D-7G represent an example embodiment of the enrollment process. Thus, the enrollment process may include more prompts, use different prompts, or use different combinations of prompts in order to obtain sufficient facial data to enroll the physical features of user 700.
[0106] In Figure 7D, the device 701 displays an enrollment interface 704 having a camera preview 712 (similar to camera preview 705) and a prompt 714 instructing the user 700 to smile. After displaying the prompt 714, the device 701 evaluates facial data collected (e.g., via the camera 703) and determines whether the facial data indicates that the facial expression made by the user matches the prompt displayed in the enrollment interface 704. After the device 701 determines that the user 700 has made the requested facial expression (smiling), the device 701 stops displaying the prompt 714 and confirms that the user has made the requested facial expression, for example, by displaying a confirmation indication(s) 716, as shown in Figure 7E.
[0107] In FIG. 7F, the device 701 displays an enrollment interface 704 with a camera preview 712 and a prompt 718 instructing the user 700 to say "ah." After displaying the prompt 718, the device 701 evaluates facial data collected (e.g., via the camera 703) and determines whether the facial data indicates that the facial expression made by the user matches the prompt displayed in the enrollment interface 704. After the device 701 determines that the user 700 is making the requested facial expression (saying "ah"), the device 701 stops displaying the prompt 718 and confirms that the user made the requested facial expression, for example, by displaying a confirmation indication(s) 719, as shown in FIG. 7G.
[0108] In some embodiments, such as those depicted in Figures 7D and 7E, the prompts that the device 701 displays in the registration interface 704 are instructions to have the user make a particular facial expression, such as laughing. In some embodiments, such as those depicted in Figures 7F and 7G, the prompts are instructions to instruct the user to say a particular phrase or word, such as "ah." The embodiments shown in Figures 7D-7G are examples of specific prompts that the device 701 may use to register user characteristics and are not intended to be limiting. For example, the prompts may include instructions to make different facial expressions, such as frowning, squinting, and / or looking surprised. Similarly, the prompts may include instructions to say other phrases and / or words. As the user's facial features pose and / or move while making a requested facial expression or saying a requested word or phrase, the device 701 captures the movements / poses of the facial features, detects additional facial features revealed through the movements / poses of the facial features, and uses the captured facial data to register the user's features, such as the user's face, mouth, tongue, lips, nose, etc., so that those features can be properly represented in the XR environment. For example, by instructing the user to smile or say "ah," the device 701 can determine the appearance of the user's teeth, the movement of the user's lips, whether the user has dimples, and other information useful in modeling and / or controlling the movements of an avatar that accurately reflects the user's physical features in the XR environment.
[0109] As shown in Figure 7H, after the device 701 captures facial data from the user's facial expressions, the device 701 displays an enrollment interface 704 with prompts 720 instructing the user 700 to select various appearance options and then scan other physical features of the user 700 (e.g., hands) using a separate device (e.g., a headset). The different appearance options shown in the enrollment interface 704 include height option 722, expression option 724, and glasses option 726. Each of these appearance options is described in more detail below.
[0110] Height option 722 is adjustable to indicate the height of user 700. In some embodiments, height option 722 is omitted and the height of user 700 is determined based on data collected from other sources, such as a headset, a sensor, a wearable device, or other components that can approximate the height of the user.
[0111] The representation options 724 include an audio option 724a and an avatar option 724b. The representation options are selectable to determine the presentation mode used to represent the user 700 in the XR environment. When the audio option 724a is selected, the user 700 is represented by an audio representation in the XR environment. When the avatar option 724b is selected (as shown in FIG. 7H), the user 700 is represented by a virtual avatar in the XR environment. The different representation options are described in more detail below with respect to FIGS. 9A-9F and 12A-12E.
[0112] The glasses options 726 include a no glasses option 726a, a rectangular frame option 726b, a semi-transparent frame option 726c, and a headset option 726d. The glasses options 726 are used to customize the appearance of an avatar used to represent the user 700 in the XR environment. For example, the avatar is shown in the XR environment with glasses corresponding to the selected glasses option. If the no glasses option 726a is selected, the avatar is depicted without glasses. Similarly, if the headset option 726d is selected, the avatar is shown with a headset device (e.g., HMD). In some embodiments, the glasses option 726 is only displayed or selectable when the avatar option 724b is selected. The glasses option 726 may be manually selected by the user 700 or automatically selected by the device 701. For example, if the device 701 determines that the user 700 is not wearing glasses at any point during the enrollment process, the device 701 automatically selects the no glasses option 726a. Similarly, if the device 701 determines that the user 700 is wearing eyeglasses at any point during the enrollment process, the device 701 automatically selects (or creates) an eyeglasses option that optionally matches the eyeglasses detected on the user during enrollment. In the embodiment shown in Figure 7H, the device 701 detected the user's eyeglasses 707 and therefore selected the rectangular frame option 726b, which is similar in style to the eyeglasses 707.
[0113] Once the desired appearance option is selected, the user 700 can select the continuation affordance 728 to begin registering other parts of their body using a separate device. For example, the user can wear a headset device (e.g., an HMD as described above with respect to the display generation component 120) and use the headset, and specifically one or more cameras integrated with the headset, to collect image and / or depth data regarding other physical features of the user 700, such as the user's hands, feet, torso, arms, and shoulders. As another example, the user can use another device, such as the electronic device 901 shown in FIG. 9A, to collect image and / or depth data regarding other physical features of the user 700. In some embodiments, a separate device (e.g., the headset or device 901) can be used to display further prompts. For example, a prompt instructing the user to bend their fingers can be displayed on the display component of the headset device while the camera of the headset device is capturing data about the user's hands and fingers. As well as the facial data collected via device 701, data collected from separate devices is used to register characteristics of user 700, which may be used to create, model, and / or control various characteristics of an avatar used to represent user 700 in the XR environment.
[0114] In the embodiment shown in Figures 7A-7H, device 701 is a smartphone. However, in some embodiments, the registration process can be performed using other devices or components used to interact with a user and / or an XR environment, such as computer system 101 of Figure 1 or device 901 of Figure 9A. Such devices can be used instead of or in addition to device 701.
[0115] Additional discussion regarding FIGS. 7A-7H is provided below with reference to the method 800 described with respect to FIG. 8 below.
[0116] 8 is a flowchart of an example method 800 for registering one or more characteristics of a user of a computer system, according to some embodiments. Method 800 occurs in a computer system (e.g., 101, 701) (e.g., smartphone, tablet, head-mounted display generating component) in communication with a display generating component (e.g., 702) (e.g., visual output device, 3D display, display having at least a portion that is transparent or semi-transparent onto which an image can be projected (e.g., a see-through display), projector, head-up display, display controller) and one or more cameras (e.g., 703) (e.g., infrared camera, depth camera, visible light camera).
[0117] During the enrollment process, which includes capturing facial data (e.g., data representative of the size, shape, position, pose, color, depth, or other characteristics of one or more features of the user's face (e.g., image data, sensor data, and / or depth data)) of the user (e.g., 700) via one or more cameras (e.g., 703), the computer system (e.g., 701), via a display generation component (e.g., 702), displays (802) a registration interface (e.g., 704) for enrolling one or more features (e.g., biometric features, head and / or facial features such as face, head, hair, eyes, nose, ears, mouth, eyebrows, facial hair, skin, characteristics of features such as hair color, hair texture, hairstyle, eye color, skin tone, clothing such as hat, glasses, shirt, etc.) of the user (e.g., 700).
[0118] As part of displaying a registration interface (e.g., 704) for registering one or more characteristics of a user (e.g., 700), the computer system (e.g., 701) outputs (804) a first prompt (e.g., 706, 710, 714, 718) (e.g., a visual, auditory, and / or tactile prompt) to place a first set of one or more of the user's facial features into a first predetermined set of one or more facial expressions (e.g., prompting the user to say a particular facial expression (e.g., a smile, a squint, a surprised expression, etc.) and / or a particular phrase or word).
[0119] As part of displaying a registration interface (e.g., 704) for registering one or more characteristics of a user (e.g., 700), the computer system (e.g., 701) outputs (806) a second prompt (e.g., 706, 710, 714, 718) to place a second set of one or more of the user's facial features (in some embodiments, the second set of one or more facial features includes one or more facial features from the first set) into a second predetermined set of one or more facial expressions that is different from the first predetermined set of one or more facial expressions (e.g., prompting the user to make a different particular facial expression and / or say a different particular phrase or word). Outputting a first prompt to arrange a first set of one or more of the user's facial features into a first predetermined set of one or more facial expressions and outputting a second prompt to arrange a second set of one or more of the user's facial features into a second predetermined set of one or more facial expressions different from the first predetermined set of one or more facial expressions improves the speed and accuracy of the registration process by providing feedback to a user of the computer system indicating a specific set of instructions for moving the user's face to obtain facial data for registering one or more features of the user. Providing improved feedback improves operability of the computer system, improves the speed and accuracy of the registration process (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), makes the user-system interface more efficient, and also reduces power usage and improves the battery life of the system by allowing the user to use the computer system more quickly and efficiently.
[0120] In some embodiments, the first predetermined set of one or more facial expressions is a particular facial expression (e.g., a smile) and the second predetermined set of one or more facial expressions is a particular phrase or word (e.g., "ah"), or vice versa.
[0121] In some embodiments, the computer system (e.g., 701) outputs a first prompt (e.g., 714) pursuant to a determination that a first set of enrollment criteria has not been met (e.g., a first set of facial data has not been captured (e.g., not captured within a predetermined time period)). In some embodiments, the computer system outputs a second prompt (e.g., 718) pursuant to a determination that a first set of enrollment criteria has been met and a second set of enrollment criteria has not been met (e.g., a first set of facial data has been captured and a second set of facial data has not been captured (e.g., not captured within a predetermined time period)). Outputting the first prompt pursuant to a determination that a first set of enrollment criteria has not been met and outputting the second prompt pursuant to a determination that a first set of enrollment criteria has been met and a second set of enrollment criteria has not been met provides feedback to a user of the computer system indicating whether the user has met the criteria for moving the user's face to obtain facial data for enrolling one or more features of the user. By providing improved feedback, the computer system's operability is improved, the user-system interface is made more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and, in addition, power usage is reduced and battery life is improved for the computer system by allowing the user to use the system more quickly and efficiently.
[0122] In some embodiments, after outputting a first prompt (e.g., 714), the computer system (e.g., 701) captures a first set of facial data of the user (e.g., 700) via one or more cameras (e.g., 703) (e.g., capturing the user's facial data while the user is making a first facial expression (e.g., arranging a first set of one or more facial features within a first predefined set of one or more facial expressions)). In some embodiments, after outputting a second prompt (e.g., 718), the computer system captures a second set of facial data of the user via one or more cameras (e.g., capturing the user's facial data while the user is making a second facial expression (e.g., arranging a second set of one or more facial features within a second predefined set of one or more facial expressions).
[0123] In some embodiments, after (e.g., in response to) capturing a first set of facial data of a user (e.g., 700) via one or more cameras (e.g., 703) (in some embodiments, pursuant to a determination that the first set of the user's facial data satisfies a first set of facial expression criteria (e.g., the data is identified as corresponding to a first type of facial expression (e.g., a smile, a facial expression corresponding to a first prompt)), the computer system (e.g., 701) stops displaying the first prompt (e.g., prompt 714 is no longer displayed, as shown in FIG. 7E). In some embodiments, after (e.g., in response to) capturing a second set of the user's facial data via one or more cameras (in some embodiments, pursuant to a determination that the second set of the user's facial data satisfies a second set of facial expression criteria (e.g., the data is identified as corresponding to a second type of facial expression (e.g., a frown, a facial expression corresponding to a second prompt)), the computer system (e.g., 701) stops displaying the second prompt (e.g., prompt 718 is no longer displayed, as shown in FIG. 7G). Ceasing the display of the first prompt after capturing the first set of facial data and ceasing the display of the second prompt after capturing the second set of facial data provides feedback to a user of the computer system indicating that the user has satisfied a particular set of instructions (e.g., the instructions in the first prompt and the instructions in the second prompt) for moving the user's face to obtain facial data for registering one or more features of the user. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0124] In some embodiments, the first predetermined set of one or more facial expressions is selected from the group consisting of a smiling expression, a frowning expression, a narrowed eye expression, and a surprised expression (e.g., eyebrows raised and mouth and eyes open) (e.g., as indicated by prompt 714 in FIG. 7D ).
[0125] In some embodiments, the second prompt (e.g., 718) includes a prompt for the user (e.g., 700) to speak a set of one or more words (e.g., a word or phrase (e.g., "Say 'ah'" as shown by prompt 718 in FIG. 7F). In some embodiments, the user is instructed to speak a particular word or phrase such that the user's face achieves a particular expression while speaking, and the computer system (e.g., 701) captures facial data of the user while the user is speaking.
[0126] In some embodiments, as part of displaying a registration interface (e.g., 704) for registering one or more characteristics of a user (e.g., 700), the computer system (e.g., 701) outputs a third prompt (e.g., 706, 710) (e.g., a visual, auditory, and / or tactile prompt) for varying the position of the user's head (e.g., a prompt for moving the user's head so that a different portion of the head is within the field of view of one or more cameras (e.g., 703)). Outputting the third prompt for varying the position of the user's head provides feedback to the user of the computer system indicating a particular set of instructions for moving the user's head to obtain facial data for registering one or more characteristics of the user. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0127] In some embodiments, the computer system (e.g., 701) outputs a third prompt (e.g., 706, 710) before at least one of the first prompt (e.g., 714) or the second prompt (e.g., 718) (e.g., a prompt for a different facial expression is output after a prompt to move the user's head).
[0128] In some embodiments, as part of displaying a registration interface (e.g., 704) for registering one or more features of a user (e.g., 700), the computer system (e.g., 701) outputs a fourth prompt (e.g., 706) (e.g., a visual, auditory, and / or tactile prompt) for varying the position of one or more cameras (e.g., 703) relative to the user's head while keeping the user's head stationary (e.g., a prompt for moving the one or more cameras around the user's head without moving the user's head). Outputting the fourth prompt for varying the position of the one or more cameras relative to the user's head while keeping the user's head stationary provides feedback to the user of the computer system indicating a particular set of instructions for moving the one or more cameras relative to the user's head to reduce the effects of optical glare while acquiring facial data for registering one or more features of the user. By providing improved feedback, it improves the usability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently. In some embodiments, moving the user's head causes the optical glare to move on the user's head while the head is moving. The change in position of the glare can cause problems with capturing facial data. Therefore, to avoid these problems, the computer system (e.g., 701) prompts the user (e.g., 700) to move the camera (e.g., 703, 701) without moving the user's head, thereby allowing the camera to capture facial data of the user's head from different angles without changing the position of any optical glare from the user's head.
[0129] In some embodiments, as part of displaying a registration interface (e.g., 704) for registering one or more characteristics of a user (e.g., 700), the computer system (e.g., 701) outputs a fifth prompt (e.g., 722) (e.g., a visual, auditory, and / or tactile prompt) indicating the height of the user. Outputting the fifth prompt indicating the height of the user provides feedback to the user of the computer system indicating a particular set of instructions that cause the user to provide data for registering one or more characteristics of the user. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently. In some embodiments, in conjunction with outputting the fifth prompt, the computer system displays one or more user interface objects (e.g., a text entry field, a virtual keyboard or keypad, a slide bar) for entering the height.
[0130] In some embodiments, as part of displaying a registration interface (e.g., 704) for registering one or more characteristics of a user (e.g., 700), the computer system (e.g., 701) outputs a sixth prompt (e.g., 706) (e.g., a visual, auditory, and / or tactile prompt) to remove a set of eyeglasses (e.g., 707) (e.g., eyeglasses, framed corrective lenses, framed decorative lenses, framed protective lenses) from the user's face during at least a portion of the registration process. Outputting the sixth prompt to remove the set of eyeglasses from the user's face during at least a portion of the registration process provides feedback to the user of the computer system indicating a particular set of instructions for eliminating the effects of wearing eyeglasses while acquiring facial data for registering one or more characteristics of the user. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently. In some embodiments, the sixth prompt is output pursuant to a determination (eg, based on data captured by one or more cameras) that the user is currently wearing the glasses.
[0131] In some embodiments, an avatar is generated (e.g., in a computer system (e.g., 701)) using at least a portion of the facial data captured during the enrollment process in another computer system (e.g., 901 and / or 901a described below). In some embodiments, the avatar (e.g., 919 and / or 1220 described below) is displayed using an external computer system (e.g., 901, 901a) different from the computer system (e.g., 701) (e.g., a computer system different from the computer system used to perform the enrollment process) (e.g., an augmented reality, virtual reality, and / or headset device for interacting in an augmented reality environment). In some embodiments, the enrollment process is performed using a first device (e.g., 701) (e.g., a smartphone) and the avatar generated from the enrollment process is displayed (e.g., in an augmented reality environment) using a different device (e.g., 901a) (e.g., a headset device). In some embodiments, using a different device for the enrollment process allows the computer system to offload certain enrollment tasks to a device equipped to facilitate those tasks more conveniently.
[0132] In some embodiments, as part of displaying a registration interface (e.g., 704) for registering one or more features of a user (e.g., 700), the computer system (e.g., 701) outputs a seventh prompt (e.g., 720) (e.g., a visual, auditory, and / or tactile prompt) for capturing a pose of the user's non-facial features (e.g., a prompt for registering non-facial features such as ears, arms, hands, upper body, etc.). Outputting the seventh prompt for capturing a pose of the user's non-facial features provides feedback to a user of the computer system indicating a particular set of instructions for registering one or more non-facial features of the user. Providing improved feedback improves usability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and additionally reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0133] In some embodiments, if the user's hair is covering the ears, a prompt (e.g., 706, 710, 714, 718, 720) instructs the user to pull back the hair to expose the ears so that the ears may be scanned (e.g., data representative of the size, shape, position, pose, color, depth, or other characteristics of the ears may be captured). In some embodiments, a prompt (e.g., 720) instructs the user to put on a device (e.g., a headset) to capture the pose of the non-facial feature. For example, the user (e.g., 700) is instructed to put on the headset and scan their hand. In some embodiments, the user is prompted to move the non-facial feature during enrollment. For example, the user is instructed to curl their fingers while scanning their hand.
[0134] It should be noted that the process details described above with respect to method 800 (e.g., FIG. 8) are also applicable in a similar manner to methods 1000, 1100, 1300, and 1400 described above and below. For example, methods 1000, 1100, 1300, and 1400 optionally include one or more of the characteristics of the various methods described above with respect to method 800. For the sake of brevity, these details will not be repeated below.
[0135] 9A-9F, 10, and 11 show examples in which various visual effects associated with a virtual avatar are presented in an XR environment.
[0136] FIG. 9A shows a user 700 holding an electronic device 901, which is a computer system (e.g., computer system 101 of FIG. 1) used to view an XR environment. The device 901 includes a camera 904 (e.g., a rear-facing camera) and, as shown in FIG. 9B, a display 902 and a camera(s) 903 (e.g., a front-facing camera). In some embodiments, the camera 904 is used to capture image and / or depth data of the physical environment to render the XR environment using the display 902. For example, in FIG. 9A, the user 700 has placed his hand 700-1 within the field of view of the camera 904 to interact with the XR environment. In some embodiments, the device 901 is a tablet. However, the device 901 may be one or more alternative electronic devices capable of viewing the XR environment, such as, for example, a smartphone or a headset device.
[0137] 9B shows device 901 and device 901a displaying an interface showing an XR environment. Device 901a is similar to device 901 and includes similar features to device 901, including display 902a, camera(s) 903a, and in some embodiments, a camera disposed on the opposite side of device 901a, similar to camera 904. Device 901a is used by a second user (e.g., a user represented by avatar 922 on device 901 and rendering 918-1 on device 901a) to view the XR environment. In some embodiments, user 700 and the second user are in the same physical environment (e.g., the same room). In some embodiments, user 700 and the second user are in different physical environments (e.g., different rooms or geographic locations).
[0138] The device 901 displays, via the display 902, an XR interface 906, which is an interface for an XR session to view an XR environment 905. The XR interface 906 includes a rendering of the XR environment 905 using image and / or depth data captured via the camera 904 (e.g., the camera 904 is currently selected to capture image / depth data for rendering the XR environment). The XR interface 906 optionally includes control options 907 and a camera preview 908. The control options 907 are selectable to perform various actions, such as muting audio (e.g., audio at the device 901), inverting the camera view (e.g., switching from a view including data captured from camera 904 to a view including data captured from camera 903), and ending the XR session. The camera preview 908 provides a rendering of data captured within the field of view of a camera that is not currently selected to capture data for rendering the XR environment. For example, in FIG. 9B, camera preview 908 provides a rendering 908-1 of user 700 captured via camera 903.
[0139] Device 901 displays an XR environment 905 having representations of physical objects that are physically present in the physical environment of user 700 and located within the field of view of camera 904. The representations of the physical objects include a bottle 910, a table 912, and a user's hand 914 (having fingers 914-1 through 914-5) (user 700's hand 700-1 is positioned in front of camera 904 as shown in FIG. 9A). In the embodiment shown in FIG. 9B, the representations of the physical objects are displayed as pass-through video of the physical environment. For example, in some embodiments, hand 914 is a pass-through video feed of hand 700-1. In some embodiments, device 901 includes a transparent display component, and the physical objects are visible through the transparent display component due to their transparent nature. In some embodiments, device 901 renders the physical objects as virtual objects, such as, for example, when device 901 is operating in a fully virtual mode (e.g., a VR mode). For example, in such an embodiment, hand 914 is a virtual representation of user's hand 700-1. The position, pose, movement, or other aspect of hand 914 (and / or fingers 914-1 through 914-5) is determined based on the corresponding position, pose, movement, or other aspect of user's physical hand 700-1. However, for simplicity, reference may be made to hand 914 (and / or fingers 914-1 through 914-5) when describing the corresponding position, pose, movement, or other aspect of user's physical hand 700-1 and / or the user's physical fingers.
[0140] The device 901 also displays an XR environment 905 having virtual objects rendered in the XR environment by the device 901. The virtual objects include a highlight 920 and an avatar 922. The avatar 922 is a representation (e.g., a virtual representation) of the second user in the XR environment 905. In some embodiments, the avatar 922 is rendered at the device 901 based on data received at and / or acquired by the device 901 and / or device 901a. The highlight 920 is a visual hand effect (e.g., a visual indicator) displayed around the perimeter of a portion of the user's hand 914, which is positioned within the field of view of the camera 904 and rendered on the display 902. The displayed visual hand effects, such as the highlight 920 and others described below, indicate that the device 901 recognizes the user's hand 914 as a hand. This provides feedback to the user 700 indicating that the device 901 recognizes the hand 700-1 and is therefore responsive to hand movements. Various attributes of highlighting 920 are described below, but it should be understood that these attributes are applicable in a similar manner to other visual effects described herein, unless otherwise specified.
[0141] As the user's hand 700-1 moves within the field of view of the camera 904, the device 901 displays a highlight 920 that moves with the hand 914. In some embodiments, the amount of highlight 920 displayed varies based on the amount of the hand 914 visible on the display 902. For example, as more of the user's hand 700-1 moves within the field of view of the camera 904, a greater amount of the hand 914 is displayed on the display 902, and a greater amount of highlight 920 is displayed around the hand 914 as it moves further on the screen. Similarly, as the user's hand 700-1 moves out of the field of view of the camera 904, less of the hand 914 is displayed on the display 902, and less highlight 920 is displayed around the hand as the hand 914 moves off screen. In some embodiments, as the user manipulates the posture of their hand 700-1 (e.g., making a fist, making a grasping gesture, crossing their fingers, etc.), the highlighting 920 adapts to the changes in the surroundings of the hand 914 as the hand posture is manipulated. In some embodiments, the device 901 displays other visual hand effects in addition to or in place of the highlighting 920. These other visual hand effects are described in more detail below, including with reference to Figures 9C-9F, 10, and 11.
[0142] Device 901a displays an XR interface 916 that is similar to XR interface 906. XR interface 916 includes control options 917 (similar to control options 907) and a camera preview 918 (similar to camera preview 908), which provides a rendering 918-1 of the second user captured via camera 903a. XR interface 916 shows XR environment 915, which is the XR environment rendered on display 902a and displayed to the second user during the XR session.
[0143] As shown in FIG. 9B, device 901a displays an XR environment 915 having an avatar 919. The avatar 919 is a representation of user 700 in the XR environment 915. In the embodiment shown herein, the avatar 919 is a virtual avatar having virtual features such as a virtual shirt 919-1 and a virtual hand 919-2. In the embodiment shown in FIG. 9B, the XR environment 915 does not include a representation of the physical objects shown on device 901 (e.g., a second user is in a different physical environment than user 700). As shown in FIG. 9B-FIG. 9F, device 901b displays an XR environment 915 having an avatar 919 with an avatar hand 919-2 that is a virtual representation of the user's hand 700-1 (e.g., similar to hand 914), but does not display a visual hand effect (e.g., highlighting 920) on the avatar's hand 919-2.
[0144] In some embodiments, one or more attributes of the appearance of the avatar 919 are determined based on profile settings, appearance settings, enrollment data, and / or data acquired at the device 901 (e.g., data collected from one or more cameras / sensors of the device 901 that indicate the position, pose, appearance, etc. of the user 700 (or a portion thereof, e.g., 700-1). In some embodiments, the data collected from the device 901 is transmitted to the device 901a and used to determine various attributes of the appearance of the avatar 919 or other aspects of the XR environment 915. In some embodiments, one or more attributes of the appearance of the avatar 919 are determined based on data collected from the device 901a. For example, if the user 700 and the second user are in the same room, the device 901a can determine the pose of the avatar 919 based on the pose of the user 700 within the field of view of the camera of the device 901a, as described in more detail below.
[0145] In some embodiments, portions of the avatar 919 may be derived from the enrollment of the user 700, as described above with respect to Figures 7A-7H. For example, in Figure 9B, the avatar 919 is shown wearing shirt 919-1, which represents the same orange and yellow shirt 709 that the user 700 was wearing during the enrollment process, even though the user 700 is currently wearing a different shirt, as shown in Figure 9A and preview 908-1. The avatar 919 has an appearance that, in some embodiments, is determined based on various appearance settings selected by the user 700. For example, the avatar 919 is not shown wearing glasses because the user 700 has selected the no glasses option 726a described above with respect to Figure 7H.
[0146] In some embodiments, the appearance of the avatar 919 is determined based on data collected in real time, for example, using the device 901. For example, the avatar 919 is shown with the left hand raised to model the posture of the user's hand 914 based on the position of the user's hand 700-1 detected using the camera 904 of the device 901. In some embodiments, the avatar 919 can have an appearance (e.g., posture) determined based on data collected from other sources, such as the camera 903 of the device 901. For example, when the user 700 opens his mouth, the open mouth is detected by the camera 903. This data is communicated to the device 901a, which then displays the avatar 919 with its mouth open in a similar manner. As yet another example, the device 901 can determine from data collected via the camera 903 that the user 700 is wearing glasses and update the avatar appearance settings accordingly to select the glasses appearance option (e.g., option 726b) for the avatar 919. The update to the appearance settings is then detected by device 901a, which then updates the display of avatar 919 to include the selected glasses.
[0147] 9C illustrates an embodiment similar to that of FIG. 9B, except that user 700 has moved his / her hand 700-1 toward the bottle (as indicated by the position of hand 914 relative to bottle 910), with the visual hand effect now shown as highlighted dot indicators 930 located at the fingertips of fingers 914-1 through 914-5. In response to the detected movement of user's hand 700-1, device 901 updates the display of XR interface 906 to depict hand 914 reaching toward bottle 910, and device 901a updates the display of XR interface 916 to depict avatar 919 moving avatar's hand 919-2 in a similar manner.
[0148] Similar to highlighting 920, highlighted dot indicators 930 are visual hand effects that change based on the movement of user's hand 700-1, specifically the movement of the fingers. Device 901 displays highlighted dot indicators 930 on the tips of fingers 914-1 through 914-5 of hand 914. As the fingertips move, dot indicators 930 move accordingly.
[0149] In some embodiments, the device 901 modifies the displayed visual hand effect in response to detecting a particular gesture performed by the user's hand 700-1. For example, in FIG. 9D, the user 700 performs a pinch gesture with the hand 700-1, as shown by hand 914. In response to detecting the pinch gesture, the device 901 increases the display size and brightness of the highlighted dot indicators 930-1 and 930-2. The modification to the visual hand effect provides feedback to the user 700 indicating that the gesture was recognized by the device 901. In some embodiments, the device 901 responds to the gesture by performing one or more actions (other than modifying the dot indicators 930-1 and 930-2) associated with the gesture.
[0150] As shown in FIG. 9D, the device 901a modifies the display of the XR interface 916 to show the avatar 919 performing a pinch gesture, but does not display the visual hand effect.
[0151] In Figure 9E, the device 901 detects that the user 700 is holding a bottle and, in response, displays a hand 914 holding a bottle 910. In the embodiments shown in Figures 9E and 9F, the visual hand effect is displayed as particles 940 appearing on the fingers of the hand 914. As the user's hand moves, the particles track along the moving fingers, as shown in Figure 9F. In some embodiments, the particles 940 have an animated appearance that moves or shifts around each finger of the hand 914.
[0152] As described above, data collected from device 901 and / or device 901a can be used to determine the posture of user 700. Similarly, such data can be used to determine that user 700 is holding a physical object, i.e., bottle 910. In response to determining that the user is holding a physical object, device 901a updates the display of XR interface 916 to include a rendered bottle 945 in hand 919-2 of avatar 919. Rendered bottle 945 is a representation of a physical bottle held by user 700 that does not have the same appearance as bottle 910. For example, rendered bottle 945 is displayed having a different shape than bottle 910. Additionally, rendered bottle 945 is displayed in FIG. 9E with altered visual characteristics (e.g., represented by hatching 947) that distinguish it from avatar 919.
[0153] In some embodiments, the visual characteristics include one or more of an amount of blur, opacity, color, visual smoothing, attenuation, particle density, resolution, or other visual parameters. The altered visual characteristics differentiate the appearance of the rendered bottle 945 from that of the avatar 919 by contrasting one or more of the visual characteristics of the rendered bottle 945 with the visual characteristics of the avatar 919 (e.g., the avatar's hand 919-2). For example, the rendered bottle 945 may be displayed with a higher (or lower) amount of blur than the avatar 919. As another example, the rendered bottle 945 may be displayed with a lower amount of particle density such that the rendered bottle 945 appears to be a loose collection of particles with more and / or larger gaps between the particles that form the bottle, as compared to the avatar 919 rendered with tightly packed particles with fewer and / or smaller gaps. As another example, the rendered bottle 945 may be displayed with less visual smoothing than the avatar 919. As yet another example, the rendered bottle 945 may be displayed with a more pixelated appearance than the avatar 919. It should be appreciated that the foregoing examples of altered visual characteristics may be switched with respect to the rendered bottle and the avatar. For example, instead of displaying the rendered bottle 945 with a more pixelated appearance, the rendered bottle 945 may be displayed with a less pixelated appearance than the avatar 919.
[0154] As user 700 moves the physical bottle, devices 901 and 901a modify their respective XR interfaces based on the detected movement. For example, as user 700 tilts the bottle in FIG. 9F, device 901 detects the movement within the field of view of camera 904 and updates XR interface 906 accordingly to show hand 914 tilting bottle 910. As hand 914 moves, device 901 also displays particles 940 that move with the fingers of hand 914 and have a trailing effect as shown by particle 940-1.
[0155] The device 901a modifies the representation of the avatar 919 and the rendered bottle 945 (e.g., the position of the rendered bottle 945) based on the detected movement of the user's hand 700-1 and the bottle. In some embodiments, the device 901a displays the rendered bottle 945 having the appearance (e.g., shape and altered visual characteristic(s)) shown in FIG. 9E during the movement.
[0156] In some embodiments, device 901a displays a rendered bottle having an appearance that is generated based on a library of image data (e.g., images, videos, etc.) or other data not received from device 901 and that may be used to generate a rendering of a physical object held by user 700. In the embodiment shown in FIG. 9F, device 901a replaces rendered bottle 945 with rendered bottle 948. Rendered bottle 948 has a different shape than bottle 910 (and rendered bottle 945) because rendered bottle 948 is rendered based on a library of image data rather than data (e.g., image data) captured for a physical bottle. In some embodiments, rendered bottle 948 has a realistic appearance. In some embodiments, rendered bottle 948 has altered visual characteristics. In some embodiments, rendered bottle 948 has the same visual characteristics as avatar 919.
[0157] In some embodiments, the device 901 selectively displays visual hand effects (e.g., highlighting 920, dot indicators 930, particles 940) based on the position, posture, or shape of the user's hand 700-1. For example, in some embodiments, the device 901 does not display visual hand effects unless the user's hand 700-1 is within a predetermined area of the field of view of a camera (e.g., camera 904) or if the hand is determined to be relevant (e.g., the user is looking at his or her hand). In some embodiments, the device 901 does not display visual hand effects depending on the currently enabled visual hand effects and the posture of the user's hand 700-1. For example, if the user's hand is in the shape of a fist, the user's fingertips are not displayed, and therefore the device 901 does not display dot indicators 930 on the fingertips of the hand. In some embodiments, the device 901 does not display any visual hand effects when the hand 700-1 has a particular posture (e.g., a fist) or is otherwise determined to be not relevant to a particular scenario.
[0158] In some embodiments, the device (e.g., device 901) is a headset device and / or the camera (e.g., camera 904) has a position that is offset (e.g., vertically) from the display (e.g., display 902) and the visual hand effect is displayed with a predicted line of sight such that the visual hand effect is aligned with the user's line of sight such that it appears to be positioned at the user's hands when viewing the visual hand effect on the display.
[0159] Additional discussion regarding FIGS. 9A-9F is provided below with reference to methods 1000 and 1100 described with respect to FIGS. 10 and 11 below.
[0160] 10 is a flowchart of an example method 1000 for displaying visual indicators on the hands of a virtual avatar in an XR environment, according to some embodiments. The method occurs in a computer system (e.g., 101, 901) (e.g., smartphone, tablet, head-mounted display generation component) in communication with a display generation component (e.g., 902) (e.g., visual output device, 3D display, display having at least a portion that is transparent or semi-transparent onto which an image can be projected (e.g., see-through display), projector, head-up display, display controller) and one or more sensors (e.g., 903, 904) (e.g., infrared camera, depth camera, visible light camera).
[0161] A computer system (e.g., 901), via a display generation component (e.g., 902), displays (1002) a user feature indicator interface (e.g., 906). The user feature indicator interface includes (1004) a set of one or more visual indicators (920, 930, 940) (e.g., virtual objects and / or visual effects) corresponding to detected locations (e.g., locations detected via one or more sensors) of a set of one or more features (914-1, 914-2, 914-3, 914-4, 914-5) (e.g., a hand, a portion of a hand, one or more fingers, one or more portions of one or more fingers (e.g., fingertip, knuckle)) of a hand (e.g., 700-1, 914) (e.g., a hand of a user of a computer system) of a user (e.g., 700) in a physical environment. A set of one or more visual indicators are displayed within the augmented reality environment (e.g., 905) having a first display position that corresponds to (e.g., is co-located with, is based on, overlaps with) a first detection location of a set of one or more features of the user's hand (e.g., 700-1) in the physical environment (e.g., 920 displayed around hand 914 in FIG. 9B, 930 displayed on fingers 914-1 through 914-5 in FIG. 9C, 940 displayed on finger 914-5 in FIG. 9E). In some embodiments, the set of one or more visual indicators are displayed within the interface to overlap (e.g., overlay) the first detection location such that, from the user's perspective, the set of one or more visual indicators appear to the user to be positioned on at least one feature of the set of one or more features of the user's hand. In some embodiments, the computer system displays the visual indicators within the user's line of sight (e.g., predicted / estimated line of sight) between the user and the user's hand (or portion(s) thereof) such that, to the user, the set of one or more visual indicators appear to be positioned on the user's hand (or portion(s) thereof) in the augmented reality environment. In some embodiments, the location of the user's hands is detected using one or more sensors, and the user's viewpoint is a different line-of-sight viewpoint than the viewpoint of one or more sensors (e.g., cameras) that capture the position of the user's hands in the physical environment.
[0162] A computer system (e.g., 901) detects (1006) via one or more sensors (e.g., 904) a movement (e.g., change in position, change in posture, hand gesture, etc.) of at least one feature (e.g., 914-1, 914-2, 914-3, 914-4, 914-5) of a hand (e.g., 700) of a user in a set of one or more features of the user's hand. In some embodiments, the computer system receives data (e.g., depth data, image data, sensor data (e.g., image data from a camera)) indicative of a change in position (e.g., physical position, orientation, gesture, movement, etc.) of at least a portion of the user's hand in a physical environment.
[0163] In response to detecting a movement of at least one feature of a user's (e.g., 700) hand (e.g., 700-1, 914) in a set of one or more features of the user's hand (e.g., 914-1, 914-2, 914-3, 914-4, 914-5), the computer system (e.g., 901) updates (1008) the display of a user feature indicator interface (e.g., 906).
[0164] As part of updating the display of the user feature indicator interface (e.g., 906), pursuant to a determination that a set of one or more features (e.g., 914-1, 914-2, 914-3, 914-4, 914-5) of a user's (e.g., 700) hand (e.g., 914) moves (in some embodiments, from a first detection location) to a second detection location in the physical environment (e.g., FIG. 9D ) (e.g., the user's hand(s) are detected moving from a first location in the physical environment to a second location in the physical environment), the computer system (e.g., 901), via the display generation component (e.g., 902), displays (1010) a set of one or more visual indicators (e.g., 920, 930, 940) having a second display position in the augmented reality environment corresponding to the second detection location of the set of one or more features of the user's hand in the physical environment. In some embodiments, displaying the set of one or more visual indicators includes displaying one or more of the visual indicators that move to appear to the user as moving in coordination with the one or more features of the user's hand. In some embodiments, the set of one or more visual indicators are positioned and displayed within the interface to overlap (e.g., overlay) the second detection location such that, from the user's perspective, the set appears to the user to be located on at least one feature of the set of one or more features of the user's hand.
[0165] As part of updating the display of the user feature indicator interface (e.g., 906), in accordance with a determination that a set of one or more features (e.g., 914-1, 914-2, 914-3, 914-4, 914-5) of a user's (e.g., 700) hand (e.g., 914) has moved (in some embodiments, from the first detection location) to a third detection location in the physical environment that is different from the second detection location (e.g., FIG. 9E), the computer system (e.g., 901), via the display generation component (e.g., 902), displays (1012) a set of one or more visual indicators (e.g., 920, 930, 940) having a third display position in the augmented reality environment corresponding to the third detection location of the set of one or more features of the user's hand in the physical environment, where the third display position in the augmented reality environment is different from the second display position in the augmented reality environment. Displaying a set of one or more visual indicators having second or third display positions within the augmented reality environment corresponding to a second or third detected location of the set of one or more features of the user's hand within the physical environment provides feedback to a user of the computer system indicative of the detected location of the set of one or more features of the user's hand and increases the accuracy of the displayed visual indicators within the augmented reality environment by taking into account the movement of the set of one or more features of the user's hand within the physical environment. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and additionally reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0166] In some embodiments, as part of detecting a movement of at least one feature (e.g., 914-1, 914-2, 914-3, 914-4, 914-5) of a user's (e.g., 700) hand (e.g., 914) in the set of one or more features of the user's hand, the computer system (e.g., 901) detects (e.g., via one or more sensors (e.g., 904)) a magnitude and / or direction of the movement of the at least one feature of the user's hand in the set of one or more features of the user's hand. In some embodiments, displaying a set of one or more visual indicators (e.g., 920, 930, 940) having a second display position in the augmented reality environment includes displaying a set of one or more visual indicators moving from a first display position to a second display position, the movement from the first display position to the second display position being based on the detected magnitude and / or direction of the movement of the at least one feature of the user's hand in the set of one or more features of the user's hand (e.g., based on a characteristic (e.g., speed, magnitude, direction) of the movement). In some embodiments, displaying the set of one or more visual indicators having a third display position in the augmented reality environment includes displaying the set of one or more visual indicators moving from a first display position to a third display position, where the movement from the first display position to the third display position is based on a detected magnitude and / or direction of movement of at least one feature of the user's hand in the set of one or more features of the user's hand (e.g., based on a characteristic (e.g., speed, magnitude, direction) of the movement). Displaying the movement of the set of one or more visual indicators moving from the first display position to a second or third display position in the augmented reality environment based on the detected magnitude and / or direction of movement of the at least one feature of the user's hand in the set of one or more features of the user's hand provides feedback to a user of the computer system indicative of a detected location of the set of one or more features of the user's hand by taking into account the magnitude and / or direction of the movement of the at least one feature of the user's hand in the set of one or more features of the user's hand and enhances accuracy of the displayed visual indicators.By providing improved feedback, the computer system's operability is improved, the user-system interface is made more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and, in addition, power usage is reduced and battery life is improved for the computer system by allowing the user to use the system more quickly and efficiently.
[0167] In some embodiments, one or more of the visual indicators (e.g., 920, 930, 940) are displayed as moving so as to appear to the user to move with one or more corresponding features (e.g., 914-1, 914-2, 914-3, 914-4, 914-5) of the user's hand (e.g., 914).
[0168] In some embodiments, the display generation component includes a transparent display component (e.g., a see-through display on which content is displayed (e.g., projected) and the physical environment is visible through it due to the transparent nature of the display), and a set of one or more visual indicators (e.g., 920, 930, 940) are predicted (e.g., estimated by a computer system (e.g., 901) to be along a line of sight between the eyes of a user (e.g., 700) and a detected location of a set of one or more features (e.g., 914-1, 914-2, 914-3, 914-4, 914-5) of a hand (e.g., 914). ) (e.g., the visual indicators are displayed on the transparent display such that the user's hand is visible through the transparent display, and the visual indicators appear to be located on the user's hand due to the user's hand being projected onto the transparent display) (e.g., the computer system displays the visual indicators in a user's line of sight (e.g., predicted / estimated line of sight) between the user and the user's hand (or part(s) thereof) such that the visual indicators appear to be located on the user's hand (or part(s) thereof) to the user in an augmented reality environment). Displaying the set of one or more visual indicators at locations on the transparent display component predicted to be along the line of sight between the user's eyes and the detected location of the set of one or more features of the hand provides feedback to a user of the computer system indicative of the detected location of the set of one or more features of the user's hand and improves accuracy of the displayed visual indicators by taking into account a visual offset from the user's line of sight and the viewpoint of a sensor that detected the location of the set of one or more features of the user's hand.By providing improved feedback, the computer system's operability is improved, the user-system interface is made more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and, in addition, power usage is reduced and battery life is improved for the computer system by allowing the user to use the system more quickly and efficiently.
[0169] In some embodiments, the location of a user's hand (e.g., 914) is detected using one or more sensors (e.g., 904), and the viewpoint of the user (e.g., 700) is a different line-of-sight viewpoint than the viewpoint of one or more sensors (e.g., cameras) that capture the position of the user's hand in the physical environment.
[0170] In some embodiments, displaying the set of one or more visual indicators (e.g., 920, 930, 940) includes displaying a virtual highlighting effect (e.g., 920) in the augmented reality environment (e.g., 905) at a location corresponding to (e.g., at or near) a peripheral area (e.g., see FIG. 9B ) of the set of one or more features of the user's (e.g., 700) hand (e.g., 914) (e.g., the visual indicator is displayed to highlight around at least a portion of the user's hand(s)). Displaying the virtual highlighting effect at a location corresponding to the peripheral area of the set of one or more features of the user's hand provides feedback to a user of the computer system indicating a detected location of at least a portion of the set of one or more features of the user's hand. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0171] In some embodiments, as part of displaying a set of one or more visual indicators (e.g., 920, 930, 940) having a second display position in the augmented reality environment (e.g., 905), the computer system (e.g., 901) displays a set of one or more visual indicators (e.g., 940) moving from a first display position to a second display position (e.g., FIG. 9F). In some embodiments, as part of displaying a set of one or more visual indicators (e.g., 920, 930, 940) having a second display position in the augmented reality environment (e.g., 905), the computer system displays a second set of one or more visual indicators (e.g., 940-1) (e.g., particles, particle effects, residual trails of indicators that remain in the wake of the movement of the set of one or more visual indicators) that follow (e.g., track, move along the same path behind the set of one or more visual indicators) the set of one or more visual indicators as the set of one or more visual indicators move from the first display position to the second display position (e.g., FIG. 9F).
[0172] In some embodiments, as part of displaying a set of one or more visual indicators (e.g., 920, 930, 940) having a third display position in an augmented reality environment (e.g., 905), the computer system (e.g., 901) displays a set of one or more visual indicators (e.g., 940) moving from a first display position to a third display position. In some embodiments, as part of displaying a set of one or more visual indicators having a third display position in an XR environment, the computer system displays a third set of one or more visual indicators (e.g., 940-1) (e.g., particles, particle effects, residual trails of indicators that remain in the wake of the movement of the set of one or more visual indicators) that follow (e.g., track, move along the same path behind the set of one or more visual indicators) the set of one or more visual indicators as they move from the first display position to the third display position (e.g., FIG. 9F). Displaying the second or third set of one or more visual indicators that follow the set of one or more visual indicators as they move from the first display position to the second or third display position provides feedback to a user of the computer system indicative of the detected location and movement of the user's fingers. By providing improved feedback, the computer system's operability is improved, the user-system interface is made more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and, in addition, power usage is reduced and battery life is improved for the computer system by allowing the user to use the system more quickly and efficiently.
[0173] In some embodiments, at least one feature of the hand (e.g., 914) of the user (e.g., 700) is the tip of a finger (e.g., 914-1, 914-2, 914-3, 914-4, 914-5) of the user's hand. In some embodiments, displaying the set of one or more visual indicators (e.g., 920, 930, 940) includes displaying a highlighting effect (e.g., 930) (e.g., a highlighted dot or sphere) in the augmented reality environment (e.g., 905) at a location corresponding to (e.g., near) the tip of the finger of the user's hand (e.g., the visual indicator is displayed as a highlighted dot or sphere located at the tip(s) of the user's finger) (e.g., multiple fingers are detected and the visual indicator is displayed as a highlighted dot or sphere located at each of the detected finger tips). Displaying the highlighting effect at a location corresponding to the tip of the finger of the user's hand provides feedback to the user of the computer system indicative of the detected location of the user's finger tips. By providing improved feedback, the computer system's operability is improved, the user-system interface is made more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and, in addition, power usage is reduced and battery life is improved for the computer system by allowing the user to use the system more quickly and efficiently.
[0174] In some embodiments, the computer system (e.g., 901) displays a user characteristic indicator interface (e.g., 906) pursuant to a determination that the device (e.g., computer system 901) is ready to accept input (e.g., the user's hands are in a position and / or orientation available for providing input to the electronic device) based on the position and / or movement of the user's (e.g., 700) hands (e.g., 914) (e.g., a set of one or more characteristics of the user's hands meet a set of indicator display criteria (e.g., the computer system displays a visual indicator only when the user's hand(s) are active (e.g., when the user is looking at the hand, when the user's hand is in a predefined posture, when the user's hand is located in a predefined area of one or more sensors and / or display)). Displaying one or more visual indicators pursuant to determining that the user's hands are ready to accept input based on the position and / or movement of the user's hands conserves computational resources by eliminating the need to perform calculations to track the user's hands and display the visual indicators unless the device is ready to accept input based on the position and / or movement of the user's hands. Reducing the computational workload improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0175] In some embodiments, following a determination that a user's (e.g., 700) hand (e.g., 914) is inactive (e.g., a determination that the user's hand does not meet a movement criterion (e.g., a sufficient degree of movement) and / or a determination (e.g., a prediction) that the user's gaze is not currently directed at the user's hand and / or that the user's hand is not currently within the user's predicted field of view), the computer system (e.g., 901) ceases displaying the visual indicators (e.g., 920, 930, 940) or, in some embodiments, the user characteristic indicator interface (e.g., 906).
[0176] In some embodiments, the device (e.g., computer system 901) is prepared to accept input based on the position and / or movement of a user's (e.g., 700) hand (e.g., 914) when it is determined that the user is looking at the hand (e.g., when the computer system determines and / or predicts that the user's gaze is directed toward a determined position of the user's hand).
[0177] In some embodiments, the device (e.g., computer system 901) is prepared to accept input when a user's (e.g., 700) hand (e.g., 914) is determined to have at least one of a set of one or more pre-defined postures based on the position and / or movement of the hand (e.g., 700) (e.g., when the computer system determines that the user's hand has a pre-defined posture (e.g., open hand, fingers spread, pointing, etc.)).
[0178] In some embodiments, the feature indicator interface (e.g., 906) is displayed pursuant to a determination that a first set of display criteria is met (e.g., the first set of display criteria is met when a mixed reality display mode is enabled). In some embodiments, pursuant to a determination that a second set of display criteria is met (e.g., the second set of display criteria is met when a virtual reality display mode is enabled), the computer system (e.g., 901), via the display generation component (e.g., 902), displays a virtual representation of the user's hand in the virtual reality environment (e.g., the user's hand is displayed entirely virtually in the VR environment). Displaying the virtual representation of the user's hand in the virtual reality environment provides feedback to a user of the computer system about the detected location of the user's hand in the virtual environment. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0179] In some embodiments, while displaying the virtual environment, the display generating component (e.g., 902) is opaque and does not allow light or video from the physical environment to pass through at least the portion of the display generating component that is displaying the virtual representation of the hand. In some embodiments, when the second set of display criteria is met, the computer system (e.g., 901) ceases displaying the set of one or more visual indicators (e.g., 920, 930, 940). In some embodiments, when the second set of display criteria is met, the computer system continues to display the set of one or more visual indicators along with the virtual representation of the user's hand.
[0180] In some embodiments, a computer system (e.g., 901) is in communication with an external computer system (e.g., 901a) (e.g., an external computer system associated with a first user (e.g., operated by the first user (e.g., a user who is in a communications session (e.g., augmented reality, virtual reality, and / or video conferencing) with a user of the computer system)). The external computer system (e.g., 901a) displays a virtual representation of a user's hand (e.g., 919-2) in an augmented reality environment (e.g., 915) (in some embodiments, without displaying the set of one or more visual indicators and / or hand image data (e.g., camera image data)) while the computer system (e.g., 901) displays, via a display generation component (e.g., 902), a user feature indicator interface (e.g., 906) including a set of one or more visual indicators (e.g., 920, 930, 940). Displaying a user feature indicator interface including a set of one or more visual indicators while the external computer system displays a virtual representation of the user's hands in an augmented reality environment provides a user of the external computer system with feedback indicating where the computer system user's hands are located and how they are moving, as well as providing visual feedback to the user of the computer system regarding the location and movement of the hands. Providing improved feedback improves usability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0181] In some embodiments, a user (e.g., 700) of a computer system (e.g., 901) views the augmented reality environment (e.g., 905) with visual indicators (e.g., 920, 930, 940) positioned on a pass-through view of the user's hand (e.g., 914) (e.g., due to the transparent nature of the display, due to video pass-through of the user's hand), and other users viewing the augmented reality environment (e.g., 915) see a virtual representation of the user's hand (e.g., 919-2) (e.g., with or without visual indicators, without displaying image data of the physical hand).
[0182] In some embodiments, the computer system (e.g., 901) detects at least one gesture (e.g., FIG. 9D ) from a set of predefined gestures (e.g., pointing gesture, snapping gesture, pinching gesture, grabbing gesture, predefined movement of the user's hand and / or finger(s)) via one or more sensors (e.g., 904). In response to detecting the at least one gesture, the computer system modifies the appearance of the set of one or more visual indicators (e.g., 930-1, 930-2) (e.g., increasing brightness, changing the shape of the visual indicator(s), displaying additional visual indicators and / or portions thereof, removing displayed portions of the visual indicators). Modifying the appearance of the set of one or more visual indicators in response to detecting the at least one gesture provides feedback to a user of the computer system indicating whether the gesture is recognized by the computer system or not. By providing improved feedback, the computer system's operability is improved, the user-system interface is made more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and, in addition, power usage is reduced and battery life is improved for the computer system by allowing the user to use the system more quickly and efficiently.
[0183] In some embodiments, the modified appearance of the set of one or more visual indicators (e.g., 930-1, 930-2) is temporary, such as a temporary increase in brightness of the visual indicators to indicate that the computer system (e.g., 901) has recognized a gesture. In some embodiments, the computer system continues to move the visual indicators based on the movement of the user's hand (e.g., 914) and modifies the appearance of the visual indicators when one of the gestures is recognized.
[0184] In some embodiments, as part of displaying the set of one or more visual indicators (e.g., 920, 930, 940), the computer system (e.g., 901), via a display generation component (e.g., 902) (e.g., an opaque display, a non-transparent display, a display in which a video feed of the user's hand is displayed and the physical environment is not visible due to the opacity of the display), displays visual indicators positioned on a video feed (e.g., a pass-through video feed) of a set of one or more features of the user's hand (e.g., 914) in the physical environment. Displaying the set of one or more visual indicators positioned on the video feed of the set of one or more features of the user's hand in the physical environment provides feedback to a user of the computer system indicative of a detected location of the set of one or more features of the user's hand relative to the video feed of the set of one or more features of the hand. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0185] It should be noted that the details of the process (e.g., FIG. 10) described above with respect to method 1000 are also applicable in a similar manner to methods 800, 1100, 1300, and 1400 described herein. For example, methods 800, 1100, 1300, and 1400 optionally include one or more of the characteristics of the various methods described above with respect to method 1000. For the sake of brevity, these details will not be repeated below.
[0186] 11 is a flow chart illustrating an example method 1100 for displaying objects having different visual characteristics in an XR environment, according to some embodiments. The method takes place in a display generating component (e.g., 902a) (e.g., a visual output device, a 3D display, a display having at least a portion that is transparent or semi-transparent onto which an image can be projected (e.g., a see-through display), a projector, a head-up display, a display controller) and a computer system (e.g., 101, 901a) (e.g., a smartphone, a tablet, a head-mounted display generating component) in communication with an external computer system (e.g., 901) associated with a first user (e.g., 700) (e.g., being operated by the first user (e.g., a user in a communications session with the user of the computer system (e.g., augmented reality and / or video conferencing)).
[0187] A computer system (e.g., 901a) displays (1102) a representation (e.g., 919) (e.g., an avatar, a virtual avatar (e.g., an avatar is a virtual representation of at least a portion of a first user) via a display generation component (e.g., 902a) in an augmented reality environment (e.g., 915); in some embodiments, a virtual avatar of a first user (e.g., 700) is displayed in the augmented reality environment in place of the first user) (e.g., a user in a physical environment). The representation of the first user is displayed within the augmented reality environment (e.g., 915) and has a first pose (e.g., a physical position, orientation, gesture, etc.) and a shape (e.g., a three-dimensional shape) that is based on a shape of at least a portion of the first user (e.g., the avatar 919 has an avatar hand 919-2 that is based on a shape of the user's hand (e.g., 914) (e.g., has the same pose as the user's hand)). The shape of the representation of the first user is visualized (e.g., visually represented) using a first set of visual characteristics (e.g., a set of one or more visual parameters for the rendering of the avatar, amount of blur, opacity, color, visual smoothing, attenuation / density, resolution, etc.).
[0188] In some embodiments, a representation of the first user (e.g., 919) is displayed having a mode (e.g., virtual presence mode) in which the first user (e.g., 700) is represented in the augmented reality environment (e.g., 915) by a rendering (e.g., a virtual avatar) having anthropomorphic features (e.g., head, arms, legs, hands, etc.) or as an animated character (e.g., an anthropomorphic construct of a non-human character such as a human, cartoon character, dog, robot, etc.). In some embodiments, the representation of the first user is displayed having the same pose of the first user. In some embodiments, the representation of the first user is displayed having a portion (e.g., 919-2) having the same pose as a corresponding portion (e.g., 914) of the first user. In some embodiments, the representation of the first user is an avatar (e.g., a virtual avatar) that changes pose in response to a detected change in pose of at least a portion of the first user in the physical environment. For example, the avatar is displayed in the augmented reality environment (eg, 915) as an animated character that mimics the detected movements of the first user in the physical environment.
[0189] A computer system (e.g., 901a) receives (1104) first data (e.g., depth data, image data, sensor data (e.g., image data from a camera)) including data indicative of a change in posture (e.g., physical position, orientation, gesture, movement, etc.) of a first user (e.g., 700) (e.g., a change in the posture of the first user in a physical environment). In some embodiments, the data includes sensor data (e.g., image data from a camera (e.g., 904, 903)), movement data from an accelerometer, location data from a GPS sensor, data from a proximity sensor, data from a wearable device (e.g., a watch, a headset device)). In some embodiments, the sensor may be connected to or integrated with the computer system (e.g., 901a, 901). In some embodiments, the sensor may be an external sensor (e.g., a sensor of a different computer system (e.g., an electronic device of another user)).
[0190] In response to receiving the first data, the computer system (e.g., 901a) updates (1106) an appearance (e.g., based at least in part on the first data) of a representation of the first user (e.g., 919) in the augmented reality environment (e.g., 915). Updating the appearance of the representation of the first user in the augmented reality environment includes, in accordance with a determination that the first data includes an indication (e.g., data indicating a change in posture) that a first portion (e.g., the first user's physical hand) of the first user (e.g., 914) is in contact with (e.g., touching, holding, grasping, manipulating, interacting, etc.) an object (e.g., 910) (e.g., a physical object in the physical environment) (in some embodiments, the first portion of the first user was not previously determined to be in contact with an object in the physical environment prior to receiving the first data), the computer system (e.g., 901a) displays (1108) within the augmented reality environment the items referenced in steps 1110 and 1112 of method 1100.
[0191] At 1110, the computer system (e.g., 901a) displays a representation of the first user (e.g., 700) having a second pose (e.g., the pose of FIG. 9E) based on the change in pose (e.g., FIG. 9E) (e.g., at least one of its magnitude or direction) of the first user (e.g., 919) (e.g., the avatar's pose is updated with a magnitude and / or direction corresponding to the magnitude and / or direction of the change in pose of the first user). The shape of the representation of the first user (e.g., 919) is visualized using a first set of visual characteristics (e.g., as shown in FIG. 9E).
[0192] At 1112, a computer system (e.g., 901a) displays a representation of an object (e.g., 945, 948) having a shape (e.g., a three-dimensional shape) based on a shape of at least a portion of the object (e.g., 910) (e.g., the representation of the object has a shape similar to a shape of a physical object or portion thereof). The shape of the representation of the object is visualized using a second set of visual characteristics (e.g., 947) that is different from the first set of visual characteristics. Displaying a representation of the first user having a second pose based on a change in the pose of the first user and visualized with the first set of visual characteristics, and displaying a representation of the object having a shape based on the shape of at least a portion of the object and visualized with the second set of visual characteristics that is different from the first set of visual characteristics provides feedback to a user of the computer system that the first user is in contact with an object in the physical environment and the object is moving away from the first user. By providing improved feedback, the computer system's operability is improved, the user-system interface is made more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and, in addition, power usage is reduced and battery life is improved for the computer system by allowing the user to use the system more quickly and efficiently.
[0193] In some embodiments, a physical object (e.g., 910) has a relative position with respect to a first portion of a first user (e.g., 914) in the physical environment, and a representation of the object (e.g., 945) is displayed in the augmented reality environment (e.g., 915) with the same relative position with respect to a representation of a first portion of the first user (e.g., 919-2) in the augmented reality environment.
[0194] In some embodiments, as part of updating an appearance of a representation of the first user (e.g., 919) in the augmented reality environment (e.g., 915), in accordance with a determination that the first data does not include an indication that a first portion (e.g., 914) of the first user (e.g., 700) is touching the object (e.g., 910) (e.g., the first user is not touching the object) (e.g., user 700 is not holding the bottle of FIG. 9D), the computer system (e.g., 901a) displays, in the augmented reality environment (e.g., 915), a representation of the first user (e.g., 919) having a second pose (e.g., FIG. 9D) based on a change in pose of the first user (e.g., 700). The shape of the representation of the first user (e.g., 919) is visualized using a first set of visual characteristics. The computer system also ceases displaying in the augmented reality environment (e.g., 915) a representation of the object (e.g., 945) having a shape based on a shape of at least a portion of the object and visualized with a second set of visual characteristics different from the first set of visual characteristics (e.g., the representation of the object is not displayed in the augmented reality environment if the user is not touching the object (e.g., see FIG. 9D )). Displaying a representation of the first user having a second pose based on a change in the first user's pose and ceasing to display a representation of the object having a shape based on a shape of at least a portion of the object and visualized with the second set of visual characteristics different from the first set of visual characteristics provides feedback to a user of the computer system that the first user is not touching an object in the physical environment and reduces computational burden by eliminating calculations for rendering a representation of the object in the augmented reality environment.Improves operability of the computer system by providing improved feedback and reducing computational workload, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0195] In some embodiments, the first set of visual characteristics includes a first amount of blur (e.g., a first degree of blurriness or sharpness) of a shape of the representation of the first user (e.g., 919), and the second set of visual characteristics (e.g., 947) includes a second amount of blur of a shape of the representation of the object (e.g., 945) that differs from the first amount of blur (e.g., greater than, less than the first amount of blur) (e.g., the shape of the representation of the object is displayed with a greater degree of blur (less sharpness) or lesser degree of blur (greater sharpness) than the shape of the representation of the object). Displaying the shape of the representation of the first user visualized with a different amount of blur from the shape of the representation of the object provides feedback to a user of the computer system that the first user is in contact with an object in the physical environment and that the object is separate (e.g., separate) from the first user. By providing improved feedback, the computer system's operability is improved, the user-system interface is made more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and, in addition, power usage is reduced and battery life is improved for the computer system by allowing the user to use the system more quickly and efficiently.
[0196] In some embodiments, the first set of visual characteristics includes a first density (e.g., amount and / or size of spacing between particles) of particles comprising the shape of the representation of the first user (e.g., 919), and the second set of visual characteristics (e.g., 947) includes a second density of particles comprising the shape of the representation of the object (e.g., 945) that is different from the first density (e.g., greater than the first density, less than the first density) (e.g., the shape of the representation of the first user is displayed with a greater particle density (e.g., smaller and / or fewer gaps between particles) or a lesser particle density (e.g., larger and / or more gaps between particles) than the shape of the representation of the object). Displaying the shape of the representation of the first user visualized with a density of particles different from the shape of the representation of the object provides feedback to a user of the computer system that the first user is in contact with an object in the physical environment and that the object is separate (e.g., separate) from the first user. By providing improved feedback, the computer system's operability is improved, the user-system interface is made more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and, in addition, power usage is reduced and battery life is improved for the computer system by allowing the user to use the system more quickly and efficiently.
[0197] In some embodiments, the first set of visual characteristics includes a first amount of visual smoothing (e.g., image smoothing) of a shape of the representation of the first user (e.g., 919) and the second set of visual characteristics (e.g., 947) includes a second amount of visual smoothing of the shape of the representation of the object (e.g., 945) that differs (e.g., greater, smaller) from the first amount of visual smoothing (e.g., the shape of the first user's representation is displayed with greater visual smoothing (e.g., image smoothing) or less visual smoothing than the shape of the representation of the object). Displaying the shape of the first user's representation visualized with an amount of visual smoothing that differs from the shape of the representation of the object provides feedback to a user of the computer system that the first user is in contact with an object in the physical environment and that the object is separate (e.g., separate) from the first user. By providing improved feedback, the computer system's operability is improved, the user-system interface is made more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and, in addition, power usage is reduced and battery life is improved for the computer system by allowing the user to use the system more quickly and efficiently.
[0198] In some embodiments, the first set of visual characteristics includes a first amount of pixelation (e.g., resolution, size of particles comprising the first user's representation shape) of a shape of the representation of the first user (e.g., 919), and the second set of visual characteristics (e.g., 947) includes a second amount of pixelation of a shape of the representation of the object (e.g., 945), the second amount of pixelation being different from the first amount of pixelation (e.g., the shape of the first user's representation is displayed with less pixelation (e.g., higher resolution) or more pixelation (e.g., lower resolution) than the shape of the representation of the object). Displaying the shape of the first user's representation visualized with a different amount of pixelation than the shape of the representation of the object provides feedback to a user of the computer system that the first user is in contact with an object in the physical environment and that the object is separate (e.g., separate) from the first user. By providing improved feedback, the computer system's operability is improved, the user-system interface is made more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and, in addition, power usage is reduced and battery life is improved for the computer system by allowing the user to use the system more quickly and efficiently.
[0199] In some embodiments, the representation of the object (e.g., 948) is based, at least in part, on data (e.g., image data, model data) from a library of objects (e.g., a library accessible by the computer system and / or an external computer system). In some embodiments, the computer system (e.g., 901a) and / or the external computer system (e.g., 901) determine an identity of the object (e.g., 910) and determine matching data from the library of objects based on the object's identity. Displaying a representation of the object based on data from the library of objects provides feedback to a user of the computer system that the object has been identified from the library of objects and is displayed using data from the library of objects, which reduces computational workload by eliminating calculations for rendering a representation of the object based on other data (e.g., data detected in real-time by the computer system). Providing improved feedback and reducing computational workload improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs when operating / interacting with the computer system and reducing user errors), and also reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0200] In some embodiments, the representation of the first user (e.g., 919-1) is based at least in part on data (e.g., image data) from a registration process (e.g., as described with respect to FIGS. 7A-7H) of the first user (e.g., 700). In some embodiments, the computer system (e.g., 901a) displays the representation of the first user (e.g., 919) having an appearance based on image data from the registration process rather than image data from another source (e.g., a library of images). Displaying the representation of the first user based on data from the registration process for the first user enhances the user-system experience by providing a more realistic appearance of the first user, improves usability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and further reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0201] In some embodiments, while the computer system (e.g., 901a) is displaying, via the display generation component (e.g., 902a), a representation of the first user (e.g., 919) and a representation of the object (e.g., 945), the external computer system (e.g., 901) ceases displaying the representation of the first user (e.g., 919) and the representation of the object (e.g., 945) (e.g., the first user sees a pass-through view of his or her hands and physical objects instead of the representation of the first user's hands and the representation of the object).
[0202] In some embodiments, the computer system (e.g., 901a) receives second data including data indicating movement of at least a first portion of the first user (e.g., 914) while displaying a representation of the object (e.g., 945) having a first position (e.g., FIG. 9E) and a representation of the first user (e.g., 919, 919-2) having a second pose (e.g., FIG. 9E). In response to receiving the second data, the computer system updates the display of the representation of the object (e.g., 945, 948) and the representation of the first user (e.g., 919, 919-2) in the augmented reality environment (e.g., 915). As part of updating the display of the representation of the object and the representation of the first user, the computer system displays a representation of the first user (e.g., 919) having a third pose (e.g., the pose of FIG. 9F) based on the movement of at least a first portion of the user (e.g., the representation of the first user moves based on the movement of the first user's hand) (e.g., the shape of the representation of the first user is visualized with the first set of visual characteristics). The computer system also displays a representation of the object (e.g., 945, 948) having a second position (e.g., the position of FIG. 9F) based on the movement of at least a first portion of the user (e.g., the representation of the object moves with the first user's hand) (e.g., the shape of the object is visualized with the second set of visual characteristics). Displaying the representation of the first user having a third pose and displaying the representation of the object having a second position based on the movement of at least a first portion of the user provides feedback to the user of the computer system that the first user continues to touch the object and has moved the object to a different position. By providing improved feedback, the computer system's operability is improved, the user-system interface is made more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and, in addition, power usage is reduced and battery life is improved for the computer system by allowing the user to use the system more quickly and efficiently.
[0203] It should be noted that the details of the process (e.g., FIG. 11) described above with respect to method 1100 are also applicable in an analogous manner to methods 800, 1000, 1300 and 1400 described herein. For example, methods 800, 1000, 1300 and / or 1400 optionally include one or more of the characteristics of the various methods described above with reference to method 1100. For the sake of brevity, these details will not be repeated below.
[0204] 12A-12E, 13A-13B, and 14 show examples of different presentation modes associated with a user represented in an XR environment.
[0205] FIG. 12A illustrates a physical environment 1200 including a user 700 standing in front of a device 901 (at least partially within the field of view of a camera 904) with head 700-3 facing forward and hands 700-2 raised while participating in an XR session with a second user in a manner similar to that described above with respect to FIGS. 9A-9F. The device 901 displays an XR interface 1206, similar to XR interface 906, via a display 902. The XR interface 1206 includes an XR environment 1205 (similar to XR environment 905) and control options 1207 (similar to control options 907). As shown in FIG. 12A, the XR environment 1205 includes an avatar 1222 (similar to avatar 922) that currently represents the presence of the second user within the XR environment.
[0206] FIG. 12A also shows device 901a displaying, via display 902a, an XR interface 1216 similar to XR interface 916. XR interface 1216 includes a preview 1218 having a rendering 1218-1 of a second user located within the field of view of camera 903a. XR interface 1216 also displays an XR environment 1215 (similar to XR environment 915) and control options 1217. In the embodiment shown in FIG. 12A, XR environment 1215 currently includes a representation of user 700 in the form of an avatar 1220 (similar to avatar 919). Devices 901 and 901a display XR interfaces 1206 and 1216, respectively, in a manner similar to that described above with respect to FIGS. 9A-9F. For the sake of brevity, these details will not be repeated below.
[0207] In the embodiment shown in FIG. 12A, avatar 1220 includes portions 1220-1, 1220-2, 1220-3, and 1220-4 that are displayed as a virtual representation of user 700. Portion 1220-1 forms the avatar's left forearm and hand and has an appearance (e.g., position, pose, orientation, color, shape, etc.) that is determined based on various aspects (e.g., position, pose, orientation, color, movement, etc.) of the user's left forearm and hand 700-1 as detected by camera 904 of device 901. Similarly, portion 1220-2 forms the avatar's right forearm and hand and has an appearance that is determined based on various aspects of the user's right forearm and hand 700-2. Portion 1220-3 forms the avatar's head and shoulder region and has an appearance that is determined based on various aspects of the user's head 700-3 and shoulders. Portion 1220-4 forms the remainder of avatar 1220 and has an appearance that is different from the appearance of portions 1220-1 to 1220-3. For example, as shown in FIG. 12A, portion 1220-4 has an appearance formed of elements 1225 having various colors and optionally shapes (optionally different shapes, optionally overlapping or non-overlapping), and portions 1220-1 to 1220-3 have an appearance that visually represents (e.g., resembles, has a shape of one or more human features) corresponding portions of user 700. For example, portion 1220-2 has the same shape and pose as corresponding portions of user 700 (e.g., user's right forearm and hand 700-2). In some embodiments, portion 1220-4 (sub-portions thereof) has an amorphous shape formed from elements 1225. In some embodiments, portion 1220-4 has the shape of one or more human features, such as a torso, elbow, leg, etc. In some embodiments, elements 1225 (or a subset thereof) generate a visual effect (e.g., a bokeh effect) shaped to resemble one or more human features. In some embodiments, the color of elements 1225 in portion 1220-4 corresponds to the color of clothing worn by user 700 in physical environment 1200. In some embodiments, the color of elements 1225 in portion 1220-4 is selected automatically by device 901 and / or device 901a.For example, in some embodiments, the colors of the elements 1225 in portion 1220-4 are selected to match the colors of the clothing (e.g., shirt 709) worn by user 700 during the registration process described above with respect to FIGS. 7A-7H. In some embodiments, the colors of the elements 1225 in portion 1220-4 are selected to have a warm color palette, while the colors of other aspects (e.g., system elements) of device 901 or device 901a, such as the representation of a virtual assistant, are selected to have a cool color palette. In some embodiments, portion 1220-4 is not displayed. In some embodiments, only a portion of portion 1220-4 is displayed, such as a subset of elements 1225 directly adjacent to portions 1220-1, 1220-2, and / or 1220-3. In some embodiments, portion 1220-4 represents a portion or portions of avatar 1220 where the appearance (e.g., pose) of the corresponding portion or portions of user 700 is unknown, not detected, or there is insufficient data (or less than a threshold amount of data) to determine the appearance.
[0208] As described above, the device 901a displays a representation (e.g., avatar 1220) of the user 700 in the XR environment 1215 based at least in part on various appearance settings that define various aspects of the appearance of the representation of the user 700. For reference, these appearance settings are illustrated in the appearance settings interface 1204, which is illustrated as being displayed by the device 701 (e.g., using the display 702). The appearance settings interface 1204 includes various appearance settings similar to those illustrated in FIG. 7H for controlling the appearance of the representation of the user 700 in the XR environment. For example, the appearance settings interface 1204 includes an expression option 1224 (similar to the expression option 724) and an eyeglasses option 1226 (similar to the eyeglasses option 726). As illustrated in FIG. 12A, the avatar option 1224b and the no eyeglasses option 1226a are selected. Thus, the representation of the user 700 has the appearance of an avatar that does not include eyeglasses, as illustrated by the avatar 1220 displayed on the device 901a.
[0209] In Fig. 12B, the user 700 has rotated the head 700-3, lowered the right arm, and placed the hand 700-2 at the side, and the rectangular frame option 1226b has been selected in the appearance settings interface 1204. Accordingly, the device 901a updates the XR interface 1216 to display the avatar 1220 with an updated appearance based on the change in posture of the user 700 and the updated appearance settings. Specifically, the device 901a displays the avatar 1220 with the portion 1220-2 lowered as shown in Fig. 12B, and the portion 1220-3 is updated to indicate that the avatar's head is turned to the side and the glasses 1221 are displayed on the avatar's face.
[0210] In some embodiments, portions of avatar 1220 change shape based on changes in posture of user 700. For example, portion 1220-2 changes its displayed shape (e.g., geometry, contour) in FIG. 12B when the hand is displayed in a relaxed position, as compared to the shape of portion 1220-2 when in a raised position with fingers spread apart, as shown in FIG. 12A. In some embodiments, as user 700 moves, some portions of the user move in and out of the field of view of camera 904, and different portions of the user are detected (e.g., by device 901) and avatar 1220 is updated accordingly. For example, in FIG. 12B , the shape of portion 1220-2 changes because more of the user's right forearm is visible to camera 904 and, as a result, more of the avatar's right forearm is represented in portion 1220-2 (so that some of element 1225 previously represented in portion 1220-4 is no longer displayed and less of portion 1220-4 is displayed because the corresponding portion of avatar 1220 is now included in the forearm of portion 1220-2).
[0211] In some embodiments, the glasses 1221 include a frame portion, but not arms or temples, as shown in FIG. 12B. In some embodiments, the glasses 1221 have an appearance that corresponds to the selected glasses option. For example, in FIG. 12B, the glasses 1221 are rectangular frames that have the same appearance as the glasses shown in rectangular frame option 1226b. In some embodiments, the glasses 1221 have a default appearance that is not based on the appearance of the user's glasses 707. In some embodiments, the glasses 1221 have an appearance that corresponds to the glasses 707 detected on the user 700. In some embodiments, the glasses option is selected automatically (e.g., by device 701, device 901, and / or device 901a). For example, device 901 detects the glasses 707 on the user's face and changes the appearance settings accordingly to select rectangular frame option 1226b. In some embodiments, rectangular frame option 1226b is selected because that option most accurately depicts the appearance of the glasses 707 on the user 700. In some embodiments, the rectangular frame option 1226b is manually selected by the user 700. In some embodiments, the display of the avatar glasses (e.g., 1221) is automatically enabled (and one of the glasses options is selected) (e.g., by the device 701) in response to detecting the glasses 707 on the user's face during at least a portion of the enrollment process.
[0212] In FIG. 12C, the user 700 remains stationary while speaking, and the translucent frame option 1226c is selected in the appearance setting interface 1204. Thus, the device 901a updates the XR interface 1216 to display the avatar 1220 with the updated appearance based on the updated appearance setting. Specifically, the device 901a displays the avatar 1220 with the glasses 1221 with the updated appearance in the translucent frame, as displayed on the avatar's face in FIG. 12C. Because the user 700 is not moving, the device 901a does not change the shape of the portions 1220-1 to 1220-4. However, because the user 700 is speaking, the device 901a displays the movement of the avatar's mouth without changing the shape of the portions of the avatar 1220. Further, device 901a does not change the appearance of any portion of avatar 1220 (including portion 1220-4 and element 1225) in response to audio detected (e.g., by device 901 and / or device 901a) from a conversing user 700.
[0213] In FIG. 12D, audio option 1224a is selected and device 901a updates XR interface 1216 to display a representation of user 700 transitioning from an avatar representation to an audio representation. In FIG. 12D, the transition is shown as an animation in which portions 1220-1 through 1220-3 are replaced or overlaid by elements 1225 that begin to move around and change the shape of the representation of user 700 to a two- or three-dimensional shape (e.g., a cube, sphere, or circle) that represents user 700 within XR environment 1215 when the user is in the audio representation mode. During the transition, elements 1225 move together, but some elements begin to overlap and others disappear as the shape of the representation transitions to the cube shape shown in FIG. 12E.
[0214] When user 700 is participating in an XR session in audio presentation mode, audio from user 700 is communicated to device(s) of other users participating in the XR session (e.g., second user's device 901a), and a representation of user 700 is displayed as an audio representation that does not change shape as user 700 moves. For example, as user 700 moves (e.g., walks, raises hand 700-2, and / or turns head 700-3), the audio representation maintains the same geometric shape. In some embodiments, device 901a displays an audio representation that moves around XR environment 1215 based on user 700's movement in physical environment 1200. For example, as user 700 walks around physical environment 1200, device 901a optionally displays an audio representation (e.g., audio representation 1230-1) that similarly moves (e.g., changes location) within XR environment 1215. Various examples of audio representations of a user 700 are shown in Figure 12E, each associated with a different set of conditions detected in the physical environment. Each example audio representation is displayed as a cube. However, it should be understood that the audio representation can have different forms, such as a sphere, an amorphous three-dimensional shape, etc.
[0215] In the embodiments described herein, reference is made to a particular audio representation, such as audio representation 1230-1, to describe various features of the audio representation of the user 700 in the XR environment 1215. However, it should be understood that the reference to a particular audio representation is not intended to limit the features described to the particular audio representation. Thus, various features described with respect to a particular audio representation may be equally applicable to other audio representations described herein (e.g., audio representations 1230-2 through 1230-4). For the sake of brevity, these redundant details will not be repeated herein.
[0216] In some embodiments, the audio representation 1230-1 is formed from a collection of particles 1235 having different sizes and colors. In some embodiments, the particles 1235 are similar to the elements 1225. In some embodiments, the color of the particles 1235 corresponds to the color of the clothes worn by the user 700 in the physical environment 1200 and / or the skin tone of the user 700. In some embodiments, the color of the particles 1235 is automatically selected by the device 901 and / or the device 901a. For example, in some embodiments, the color is selected to match the color of the clothes (e.g., shirt 709) worn by the user 700 during the registration process described above with respect to Figures 7A-7H. In some embodiments, the color of the particles 1235 is selected to have a warm color palette, while the color of other aspects (e.g., system elements) of the device 901 or the device 901a, such as the representation of the virtual assistant, is selected to have a cool color palette. In some embodiments, the particles 1235 can have different morphologies, such as rectangular, square, circular, spherical, etc.
[0217] In some embodiments, the particles 1235 move along the surface(s) of the audio representation 1230-1, changing size and optionally shape. For example, in some embodiments, the particles 1235 change position and size as part of a gradual animation of the audio representation 1230-1. In this way, the audio representation 1230-1 changes appearance over time, independent of whether the user 700 is speaking or not. In some embodiments, the audio representations 1230-1, 1230-2, 1230-3, and 1230-4 represent different appearances of a single audio representation as shown at different points in time, and the particles 1235 forming the audio representations have different positions, sizes, and colors, thereby indicating the appearance of the audio representation changing over time as a result of the animation.
[0218] As described above, the audio representations shown in FIG. 12E correspond to different appearances of the audio representation based on the position and / or behavior of the user 700 in the physical environment 1200 determined at different moments. For example, the device 901a displays the XR interface 1216 with the audio representation 1230-1 representing the user 700 in the XR environment 1215 when the user 700 is at the location 1200-1 and facing away from the camera (e.g., camera 904) of the device 901, as shown in FIG. 12E. Similarly, the device 901a displays the audio representation 1230-2 when the user 700 is at the location 1200-2. The device 901a displays the audio representation 1230-3 when the user 700 is at the location 1200-3. The device 901a displays the audio representation 1230-4 when the user 700 is at the location 1200-4. In some embodiments, different locations (e.g., 1200-1 through 1200-4) in physical environment 1200 correspond to different depths from the camera of device 901. For example, location 1200-2 represents a greater distance from the camera than location 1200-4, and is therefore shown having a smaller size in FIG. 12E. In some embodiments, locations 1200-1, 1200-3, and 1200-4 all have a similar distance from the camera.
[0219] Audio representation 1230-1 includes element 1232, which is a two-dimensional (or substantially two-dimensional) feature that associates the audio representation with user 700. For example, in FIGURE 12E, element 1232 is a monogram including the initials of user 700. In some embodiments, element 1232 may include the user's first and / or last name instead of or in addition to the initials, or other identifying information such as the user's phone number, email address, username, etc.
[0220] In some embodiments, multiple users may participate in the XR session, and for each user participating in the XR session, audio representation 1230-1 appears to face the respective user, regardless of whether user 700 is actually facing the respective user in the physical or XR environment. For example, in FIG. 12E, user 700 faces away from the second user, but device 901a displays audio representation 1230-1 (including element 1232) in XR environment 1215 facing the second user, giving the second user the appearance that user 700 is facing the second user, thereby interacting and / or communicating with the user in XR environment 1215 via audio representation 1230-1. In some embodiments, additional users, such as a third (or fourth, fifth, sixth, etc.) user, are also participating in the XR session with user 700 and the second user. For each of these additional users, the audio representation of user 700 has the same appearance as audio representation 1230-1, such that the audio representation (including element 1232) appears to face that particular user. In some embodiments, audio representation 1230-1 appears to face the respective user even as the user moves around (changes orientation) in the XR environment.
[0221] In some embodiments, device 901a displays audio representation 1230-1 at a location in XR environment 1215 that corresponds to the location of user head 700-3 (e.g., 1200-1) in physical environment 1200 and / or the position where the avatar's head would be displayed if the user were represented in XR environment 1215 by avatar 1220. By displaying audio representation 1230-1 at the position of the user's and / or avatar's head, audio representation 1230-1 remains aligned with the line of sight of user 700 such that a second user appears to maintain eye contact (from the perspective of user 700) when looking at audio representation 1230-1. In some embodiments, device 901a displays audio representation 1230-1 at a location in XR environment 1215 that corresponds to a perceived or determined spatial location of an audio source (e.g., corresponding to audio from user 700) in XR environment 1215.
[0222] In some embodiments, various attributes of element 1232 are used to indicate information about the position and / or location of user 700 within physical environment 1200 or XR environment 1205. For example, in some embodiments, the size of element 1232 is used to convey the distance of user 700 from the camera of device 901. For example, when user 700 is at location 1200-2, device 901a displays audio representation 1230-2 having the same size as audio representation 1230-1, but element 1232 has a smaller size (compared to the size of element 1232 in audio representation 1230-1) to convey the greater distance of user 700 from the camera. Thus, as user 700 moves away from the camera from location 1200-1 to location 1200-2, device 901a displays an audio representation moving from the location of audio representation 1230-1 to the location of audio representation 1230-2, with element 1232 decreasing in size as user 700 moves further away from the camera. Conversely, a larger size of element 1232 in audio representation 1230-1 indicates that user 700 is closer to the camera when at location 1200-1. In some embodiments, device 901a modifies the display size of the entire audio representation (including element 1232) to indicate a change in the distance of user 700 from the camera.
[0223] In some embodiments, device 901a modifies the audio representation in response to detecting audio from user 700 (when user 700 is speaking). In some embodiments, the modification includes changing the size, brightness, or other visual characteristics of the displayed audio representation. For example, in FIG. 12E, audio representation 1230-3 represents a temporarily displayed, larger-sized audio representation in response to detecting user 700 speaking while at location 1200-3. In some embodiments, the audio representation grows and shrinks in sync with detected changes in audio characteristics of user 700 speaking, such as changes in tone, pitch, volume, etc. In some embodiments, display 901a varies other visual characteristics of audio representation 1230-3 in response to the audio, such as, for example, pulsing the brightness of the displayed audio representation. In some embodiments, in response to detecting user 700 speaking, device 901a modifies visual characteristics of audio representation 1230-3, as described above, but does not modify visual characteristics of avatar 1220.
[0224] In some embodiments, device 901a modifies the appearance of the audio representation when user 700's audio (e.g., as detected by device 901) is muted. For example, in FIG. 12E, device 901a displays audio representation 1230-4 with mute icon 1240 to indicate that user 700's audio is muted when user 700 is at location 1200-4.
[0225] In some embodiments, device 901a displays a representation of user 700 with an audio representation (e.g., audio representation 1230-1) when an avatar representation (e.g., avatar 1220) is unavailable. In some embodiments, the audio representation is unavailable when conditions are insufficient to render an avatar in the XR environment (e.g., low lighting in environment 1200 and / or the second user's environment) or when there is insufficient data to render the avatar representation. In some embodiments, there is insufficient data to render the avatar representation if user 700 has not performed the registration operations described above with respect to FIGS. 7A-7H.
[0226] Additional explanation regarding FIGS. 12A-12E is provided below with reference to methods 1300 and 1400 described with respect to FIGS. 13A-13B and 14 below.
[0227] 13A and 13B are flowcharts of an example method 1300 for switching between different presentation modes associated with a user represented in an XR environment, according to some embodiments. The method 1300 is performed in a display generating component (e.g., 902a) (e.g., a visual output device, a 3D display, a display having at least a portion that is transparent or semi-transparent onto which an image can be projected (e.g., a see-through display), a projector, a head-up display, a display controller) and a computer system (e.g., 101, 901a) (e.g., a smartphone, a tablet, a head-mounted display generating component) in communication with an external computer system (e.g., 901) associated with a first user (e.g., 700) (e.g., a user that is in a communication session (e.g., augmented reality and / or video conferencing) with a user (e.g., a second user) of the computer system) that is being operated by the first user.
[0228] The computer system (e.g., 901a), via the display generation component (e.g., 902a), displays (1302) a communication user interface (e.g., 1216) including a representation (e.g., 1220) (e.g., an animated representation, an avatar representation, a virtual avatar (e.g., an avatar is a virtual representation of at least a portion of the first user), in a first presentation mode (e.g., as indicated by 1224b) (e.g., a virtual presence mode, in which the first user is represented in the augmented reality environment by a rendering (e.g., a virtual avatar) having human or anthropomorphic features (e.g., head, arms, legs, hands, etc.) or as an animated character (e.g., an anthropomorphic construct of a non-human character, such as a human, cartoon character, dog, robot, etc.)). In some embodiments, the representation of the first user is displayed having the same pose of the first user. In some embodiments, a representation of the first user is displayed with portions (eg, 700-1, 700-2, 700-3) having the same pose as corresponding portions (eg, 1220-1, 1220-2, 1220-3) of the first user.
[0229] The communication user interface (e.g., 1216) displays (1304) (e.g., a computer system (e.g., 901a) displays a communication user interface having a representation of the first user in the augmented reality environment) of the first user (e.g., 1220) in the augmented reality environment (e.g., 1215). The representation of the first user (e.g., 1220) is configured (e.g., by the computer system (e.g., display generation component (e.g., 902a)) to have a shape (e.g., appearance, geometry) that visually responds (e.g., changes appearance in response to) changes in movement of a first portion (e.g., 700-1, 700-2, 700-3) (e.g., a hand or hand portion (e.g., palm, fingers, etc.)) of the first user (e.g., 700) detected by the external computer system (e.g., 901) while in the first presentation mode (e.g., 1224b). (1306) (e.g., when in the first presentation mode, the representation of the user visually reacts in response to movements of the user's hand(s) detected in the physical environment and / or the augmented reality environment). In some embodiments, the representation of the first user is an avatar (e.g., a virtual avatar) that changes pose in response to detected changes in pose of at least a portion of the first user in the physical environment. For example, the avatar is displayed in the augmented reality environment as an animated character that mimics detected movements of the first user in the physical environment.
[0230] While the computer system (e.g., 901a) displays (1308) a representation of a first user (e.g., 1220) in a first presentation mode (e.g., 1224b), the computer system receives (1310) first data (e.g., depth data, image data, sensor data (e.g., image data from a camera)) from an external computer system (e.g., 901, 904) indicative of movement of a first portion (e.g., 700-1, 700-2, 700-3) of the first user (e.g., 700). In some embodiments, the first data includes sensor data (e.g., image data from a camera (e.g., 904)), movement data from an accelerometer, location data from a GPS sensor, data from a proximity sensor, data from a wearable device (e.g., watch, headset)).
[0231] While the computer system (e.g., 901a) is displaying (1308) a representation of a first user (e.g., 1220) in a first presentation mode (e.g., 1224b), in response to receiving the first data, the computer system modifies (1312) a shape of the first user's representation (e.g., displaying more or less of the user's representation (e.g., virtual avatar), changing the shape of a portion of the user's representation (e.g., 1220-2, 1220-3), changing the geometric shape of a portion of the user's representation, changing the outline of the appearance of the user's representation) based on a movement (e.g., magnitude and / or direction of movement) of a first portion (e.g., 700-1, 700-2, 700-3) of the first user (e.g., 700) (see, e.g., FIG. 12B ).
[0232] After modifying the shape of the representation of the first user (e.g., 1220), the computer system (e.g., 901a) receives (e.g., from an external computer system (e.g., 901) via an input at the computer system (e.g., 701)) second data indicating that the representation of the first user is to be displayed in a second presentation mode (e.g., as indicated by 1224a) that is different from the first presentation mode (e.g., an audio presence mode, a mode in which the first user is represented in the augmented reality environment by renderings (e.g., 1230-1, 1230-2, 1230-3, 1230-4) that do not have anthropomorphic features and / or are inanimate (e.g., icons, monograms)) (1314). In some embodiments, the computer system receives an indication (e.g., from the external computer system) that the first user has transitioned their representation from the first presentation mode to the second presentation mode.
[0233] In response to receiving the second data, the computer system (e.g., 901a), via the display generation component (e.g., 902a), displays (1316) the representation of the first user (e.g., 1230-1, 1230-2, 1230-3, 1230-4) in the second presentation mode, where the representation of the first user has a shape (e.g., appearance, geometric shape (e.g., disk or sphere shape, cube, rectangular prism)) that is not visually responsive to changes in movement of the first portion (e.g., 700-1, 700-2, 700-3) of the first user (e.g., 700) detected by the external computer system (e.g., 901) while in the second presentation mode (e.g., when in the second presentation mode, the representation of the user is not visually responsive in response to movement of the user's hand(s) detected in the physical environment and / or the augmented reality environment).
[0234] While the computer system (e.g., 901a) is displaying (1318) the representation of the first user in the second presentation mode (e.g., 1230-1, 1230-2, 1230-3, 1230-4), the computer system receives (1320) third data (e.g., from an external computer system (e.g., 901), via an input in the computer system, from a sensor detecting movement or positioning) indicating movement of the first user (e.g., 700) from a first location (e.g., 1200-1, 1200-2, 1200-3, 1200-4) in the physical environment (e.g., 1200) (e.g., within the first user's physical environment) to a second location (e.g., 1200-1, 1200-2, 1200-3, 1200-4) in the physical environment that is different from the first location in the physical environment. In some embodiments, the third data includes sensor data (e.g., image data from a camera, movement data from an accelerometer, location data from a GPS sensor, data from a proximity sensor, data from a wearable device (e.g., a watch, a headset device)). In some embodiments, the sensor may be connected to or integrated into the computer system. In some embodiments, the sensor may be an external sensor (e.g., a sensor of a different computer system (e.g., an external computer system)).
[0235] In response to receiving the third data while the computer system (e.g., 901a) displays 1318 a representation of the first user (e.g., 1230-1, 1230-2, 1230-3, 1230-4) in the second presentation mode, the computer system displays 1322 a representation of the first user moving from a first location (e.g., location 1230-1 in FIG. 12E) in the augmented reality environment to a second location (e.g., location 1230-2 in FIG. 12E) in the augmented reality environment that is different from the first location in the augmented reality environment. Displaying the representation of the first user moving from a first location in the augmented reality environment to a second location in the augmented reality environment in response to receiving the third data provides feedback to a user of the computer system that the first user is moving around their physical location and that the movement around the physical location corresponds to the movement of the representation of the first user in the augmented reality environment. By providing improved feedback, the computer system's operability is improved, the user-system interface is made more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and, in addition, power usage is reduced and battery life is improved for the computer system by allowing the user to use the system more quickly and efficiently.
[0236] In some embodiments, a first location (e.g., location 1230-1 in FIG. 12E) in the augmented reality environment (e.g., 1215) represents a first location (e.g., 1200-1) of a first user (e.g., 700) in the first user's physical environment (e.g., 1200), and a second location (e.g., location 1230-2 in FIG. 12E) in the augmented reality environment represents a second location (e.g., 1200-2) of the first user in the first user's physical environment (e.g., a representation of the first user moves around the augmented reality environment to represent the first user's physical movement around the first user's physical environment).
[0237] In some embodiments, while in the second presentation mode (e.g., 1224a), the first user's representation (e.g., 1230-2, 1232) (e.g., a portion of the first user's representation (e.g., 1232)) is displayed changing in size to indicate the relative position of the first user's representation with respect to the computer system user as the first user's representation moves toward or away from the computer system user (e.g., 901a) (e.g., the second user). For example, as the first user's representation moves away from the computer system user, the first user's representation is displayed decreasing in size. Conversely, as the first user's representation moves closer to the computer system user, the first user's representation is displayed increasing in size.
[0238] In some embodiments, the first portion (e.g., 700-1, 700-2) of the first user (e.g., 901) includes at least a portion of the first user's hand (e.g., the user's hand and is detected and / or recognized as at least a portion of the user's hand by at least an external computer system (e.g., 700)).
[0239] In some embodiments, in response to receiving the second data, the computer system (e.g., 901a), via the display generation component (e.g., 902a), displays an animation (e.g., a continuous graphical transition) (see, e.g., FIG. 12D ) of a representation of the first user (e.g., 700) transitioning from the first presentation mode (e.g., 1224b) to the second presentation mode (e.g., 1224a). In some embodiments, the transition is shown as an animation in which particles (e.g., from a bokeh effect) (e.g., 1225) that form the representation of the first user (e.g., 1220) in the first presentation mode move together to form a representation of the first user (e.g., 1230-1) in the second presentation mode.
[0240] In some embodiments, the representation of the first user (e.g., 1230-1) in the second presentation mode includes a set of one or more colors selected (e.g., on particles 1235) based (e.g., automatically, without user input, by the computer system) on one or more colors associated with the first user (e.g., 700) (e.g., a set of colors determined based on the user's appearance). In some embodiments, the one or more colors associated with the first user include a color of clothing (e.g., 709) worn by the first user in the physical environment (e.g., 1200), a color of clothing worn by the first user during a registration process (e.g., the registration process described with respect to Figures 7A-7H), a color of clothing worn by the representation of the first user in the XR environment, a color of the first user's skin tone, and / or a color of the skin tone of the representation of the first user. In some embodiments, data representing the colors of the representation of the first user in the second presentation mode is provided to the computer system (e.g., 901a) by an external computer system (e.g., 901, 701). In some embodiments, a second user, different from the first user, is represented in the second presentation mode using a color associated with the second user that is different from the color associated with the first user.
[0241] In some embodiments, the representation of the first user (e.g., 1230-1) in the second presentation mode (e.g., 1224a) includes a set of one or more colors (e.g., on particles 1235) that are selected (e.g., automatically, without user input, by the computer system) from a predetermined set of color palettes (e.g., a predetermined set of colors that are not determined based on the user's appearance). Displaying the first user's representation in the second presentation mode with a set of one or more colors selected from the predetermined set of color palettes reduces computational resources consumed by the computer system by reducing the number of user inputs required to display the first user's representation in the second presentation mode, by eliminating the need to sample the user's colors, and / or by eliminating problems that can occur when colors associated with a user are undesirable (e.g., black and / or white may obscure the appearance of the first user's representation in the second presentation mode) or are not detected (e.g., during enrollment). Improves operability of the computer system by reducing the computational workload, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs when operating / interacting with the computer system and reducing user errors), and reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0242] In some embodiments, the representation of the first user (e.g., 1230-1) in the second presentation mode (e.g., 1224a) includes a set of one or more colors (e.g., on particles 1235) selected (e.g., automatically, without user input, by the computer system) from a set of warm color palettes (e.g., a set of warm tones (e.g., orange, red, and / or yellow colors, colors having a lower color temperature relative to average)). Displaying the representation of the first user in the second presentation mode with a set of one or more colors selected from the set of warm color palettes provides feedback to a user of the computer system that the representation of the first user represents a person, even if the representation of the first user is not an anthropomorphic construct. Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0243] In some embodiments, the computer system (e.g., 901a) displays, via a display generation component (e.g., 902a), a representation of a system element (e.g., a virtual assistant, a visual representation of something other than a first user), where the representation of the system element includes a set of one or more colors selected (e.g., automatically, without user input, by the computer system) from a set of cool color palettes (e.g., a set of cool tones (e.g., blue, green, and / or purple-based colors, colors with a higher color temperature compared to the average). Displaying the representation of the system element with a set of one or more colors selected from the set of cool color palettes provides feedback to a user of the computer system that the representation of the system element represents something other than a person (e.g., does not represent another user in an augmented reality environment). Providing improved feedback improves operability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and also reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0244] In some embodiments, while displaying a representation of a first user (e.g., 1230-1) in a second presentation mode (e.g., 1224a), a computer system (e.g., 901a) receives data representing audio (e.g., speech) received from the first user (e.g., 700, 901). In response to receiving data representing the audio received from the first user, the computer system modifies an appearance of the representation of the first user (e.g., 1230-3) in the second presentation mode (e.g., the size, color, shape, brightness, and / or pulsation pattern of the representation of the first user in the second presentation mode and / or particles forming the representation of the first user in the second presentation mode) in response to a detected change in one or more characteristics of the audio received from the first user (e.g., audio characteristics such as tone, volume, pitch, etc.) (e.g., as the first user speaks, the representation of the first user in the second presentation mode changes in appearance by changing size, color, shape, brightness, and / or pulsation as the first user's speech changes). Modifying the appearance of the representation of the first user in the second presentation mode in response to a detected change in one or more characteristics of the audio received from the first user provides feedback to a user of the computer system that the first user is speaking, even if the representation of the first user is not an anthropomorphic construct. By providing improved feedback, the computer system's operability is improved, the user-system interface is made more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and, in addition, power usage is reduced and battery life is improved for the computer system by allowing the user to use the system more quickly and efficiently.
[0245] In some embodiments, while displaying a representation of a first user (e.g., 1220) in a first presentation mode (e.g., 1224b), a computer system (e.g., 901a) receives data representing audio (e.g., speech) received from the first user (e.g., 700, 901). In response to receiving the data representing the audio received from the first user, the computer system ceases to modify an appearance of the first user's representation in the first presentation mode (e.g., color, shape, brightness, and / or pulsation of particles forming the first user's representation in the first presentation mode) in response to a detected change in one or more characteristics (e.g., audio characteristics such as tone, volume, pitch, etc.) of the audio received from the first user (e.g., when the first user speaks, the particles forming the first user's representation in the first presentation mode do not change in appearance with changes in the first user's speech). In some embodiments, as the first user speaks, the first user's representation in the first presentation mode optionally changes appearance by moving mouth features or performing another action that mimics speaking movements (see, e.g., FIG. 12C), while the particles (e.g., 1225) forming the first user's representation do not otherwise change appearance. In contrast, when the first user's representation is in the second presentation mode (1230-3), the particles (e.g., 1235) forming the first user's representation change appearance, for example, by changing color, brightness, and / or pulsing behavior.
[0246] In some embodiments, the representation of the first user (e.g., 1230-1, 1230-2, 1230-3, 1230-4) in the second presentation mode (e.g., 1224a) changes at least a portion of its appearance (e.g., particles (e.g., 1235) forming the representation of the first user in the second presentation mode move in a predetermined pattern provided to the computer system (e.g., 901a)) independent of the audio output by the first user (e.g., 700) (e.g., output by an external computer system (e.g., 901)). In some embodiments, part of displaying the representation of the first user in the second presentation mode is that after a predetermined period of time during which a predetermined level of audio has not been detected for the first user (e.g., no audio data has been received for the first user, the first user is not speaking), the computer system (e.g., 901a) modifies the appearance of the first user's representation in the second presentation mode in a predetermined manner (e.g., the appearance of the first user's representation in the second mode gradually changes over time (e.g., particles forming the first user's representation in the second presentation mode move in a predetermined pattern)), regardless of whether the first user is speaking or not.
[0247] In some embodiments, the representation of the first user (e.g., 1230-1) in the second presentation mode (e.g., 1224a) includes elements (e.g., 1232) (e.g., a monogram, the first user's initials) that have a two-dimensional or substantially two-dimensional appearance (e.g., an appearance that does not convey depth, a flat appearance, an appearance in an augmented reality environment that is not modeled to have depth). In some embodiments, the representation of the first user (e.g., 1230-1) in the second presentation mode has a three-dimensional appearance (e.g., a spherical shape, a curved lens shape, a rectangular prism shape, a cube shape, etc.) and elements displayed on the representation of the first user in the second presentation mode have a two-dimensional or substantially two-dimensional appearance (e.g., two-dimensional text that has thickness or visual effects that may give it a somewhat three-dimensional appearance).
[0248] In some embodiments, the external computer system (e.g., 901) communicates with a second external computer system associated with a second user (e.g., a third user). In some embodiments, as part of displaying a representation of a first user (e.g., 1230-1) in a second presentation mode (e.g., 1224a), the computer system (e.g., 901a), via a display generation component (e.g., 902a), displays within the augmented reality environment an element (e.g., 1232) (e.g., the first user's initials) having a first position within the augmented reality environment (e.g., 1215) facing the user of the computer system (e.g., oriented to face the user's viewpoint). In some embodiments, the second external computer system includes displaying a representation of the first user in a second presentation mode (e.g., similar to 1230-1) and displaying an element (e.g., similar to 1232) having a second position (e.g., different from the first position) in the augmented reality environment facing a second user in the augmented reality environment (e.g., the representation of the first user in the second presentation mode is displayed such that the element appears to a user of the computer system to be facing the user of the computer system in the augmented reality environment and to a second user to be facing the second user in the augmented reality environment). In some embodiments, the element is displayed differently for each user viewing the augmented reality environment and receiving a transmission of the representation of the first user in the second presentation mode such that for each user, the element appears to be facing that user. In some embodiments, the display generation component displays the element change position to face an active user in the augmented reality environment. For example, when a user in the augmented reality environment begins speaking, the element moves (e.g., rotates) to face the user who is speaking.
[0249] In some embodiments, while displaying a representation of a first user (e.g., 1230-1) in a second presentation mode (e.g., 1224a) having a first display size, the computer system (e.g., 901a) receives fourth data (in some embodiments, third data) from an external computer system (e.g., 901) (e.g., data indicating the first user's movement in the first user's physical environment (e.g., from location 1200-1 to location 1200-2)). In response to receiving the fourth data, the computer system (e.g., 901a) displays the element (e.g., 1232) changing (e.g., expanding or contracting) from a second display size (e.g., the size of element 1232 shown in 1230-1) to a third display size (e.g., the size of element 1232 shown in 1230-2) that is different from the second display size (e.g., the size of the representation of the first user in the second presentation mode remains constant while the size of the element changes (e.g., based on the first user's movement in the physical environment). Displaying the element changing from the second display size to a third display size that is different from the second display size while the representation of the first user in the second presentation mode is displayed having a first size provides feedback to the user of the computer system that the first user is moving toward or away from the user of the computer system. By providing improved feedback, the computer system's operability is improved, the user-system interface is made more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and, in addition, power usage is reduced and battery life is improved for the computer system by allowing the user to use the system more quickly and efficiently.
[0250] In some embodiments, the size of the representation of the first user in the second presentation mode (e.g., 1230-1) also varies in size. For example, the size of the representation of the first user in the second presentation mode may become larger or smaller to indicate the relative distance of the first user (e.g., 700) from the user of the computer system (e.g., 901a) in the augmented reality environment (e.g., 1215).
[0251] In some embodiments, the representation of the first user (e.g., 1230-4) in the second presentation mode (e.g., 1224a) includes a visual indication (e.g., 1240) (e.g., a glyph) of the first user's (e.g., 700) mute state (e.g., the state of whether audio detectable by the first external computer system (e.g., 901) is being output (or provided) by the computer system (e.g., 901a). Displaying the visual indication of the first user's mute state provides feedback to the user of the computer system indicating whether the first user's audio is muted. Providing improved feedback improves usability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), plus reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0252] In some embodiments, the representation of the first user (e.g., 1230-1) in the second presentation mode (e.g., 1224a) includes a visual indication (e.g., 1232) of the first user's (e.g., 700) identity (e.g., name or initials, text indication). Displaying the visual indication of the first user's identity provides a user of the computer system with feedback that identifies the first user when the first user is not otherwise recognizable in the augmented reality environment. Providing improved feedback improves usability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and additionally reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0253] In some embodiments, the representation of the first user (e.g., 1220) in the first presentation mode (e.g., 1224b) includes an avatar having an avatar head feature (e.g., part of portion 1220-3). In some embodiments, displaying the representation of the first user (e.g., 1230-1) in the second presentation mode (e.g., 1224a) includes ceasing to display the avatar (e.g., 1220) and displaying the representation of the first user (e.g., 1230-1) in the second presentation mode in a first location that overlaps with a second location previously occupied by the avatar head feature (e.g., the representation of the first user in the second presentation mode is displayed at or near the location where the avatar's head was located when the first user transitioned from the first presentation mode to the second presentation mode). Displaying the representation of the first user in a first location overlapping the second location previously occupied by the avatar head feature in the second mode provides feedback to the user of the computer system of the location of the first user's face and aligns the representation of the first user with the focal plane of the user of the computer system such that the user of the computer system, from the perspective of the first user, appears to be in eye contact with the representation of the first user in the augmented reality environment. Providing improved feedback improves usability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and additionally reduces power usage and improves battery life of the computer system by allowing the user to use the system more quickly and efficiently. In some embodiments, the location of the avatar's head is determined based on the perceived or determined spatial location of the audio source in the augmented reality environment.
[0254] It should be noted that the process details described above with respect to method 1300 (e.g., FIGS. 13A-13B) are also applicable in an analogous manner to methods 800, 1000, 1100, and 1400 described herein. For example, methods 800, 1000, 1100, and / or 1400 optionally include one or more of the characteristics of the various methods described above with reference to method 1300. For the sake of brevity, these details will not be repeated below.
[0255] 14 is a flowchart of an example method 1400 for displaying a virtual avatar in an XR environment, according to some embodiments. The method 1400 is performed in a display generating component (e.g., 902a) (e.g., a visual output device, a 3D display, a display having at least a portion that is transparent or semi-transparent onto which an image can be projected (e.g., a see-through display), a projector, a head-up display, a display controller) and a computer system (e.g., 101, 901a) (e.g., a smartphone, a tablet, a head-mounted display generating component) in communication with an external computer system (e.g., 901) associated with a first user (e.g., 700) (e.g., being operated by the first user (e.g., a user in a communications session with a user of the computer system (e.g., augmented reality and / or video conferencing)).
[0256] In method 1400, in response to receiving (1402) a request to display a representation (e.g., 1220) (e.g., an avatar, a virtual avatar (e.g., an avatar is a virtual representation of at least a portion of the first user; in some embodiments, the virtual avatar is displayed in the augmented reality environment on behalf of the first user) of a first user (e.g., 700) (e.g., a user of an external computer system) in an augmented reality environment (e.g., 1215), a computer system (e.g., 901a) performs the following items:
[0257] A set of eyeglasses (e.g., eyeglasses, spectacles, corrective lenses with frames, decorative lenses with frames, protective lenses with frames) display criteria is met (e.g., user settings (e.g., 1226b, 1226c, 1226d) are enabled to display eyeglasses, eyeglasses (e.g., 707) are detected on the first user (e.g., 700) during a registration process (e.g., as described with respect to Figures 7A-7H, display of eyeglasses is manually enabled by the first user, display of eyeglasses is automatically enabled by the computer system or another computer system). Pursuant to a determination (1404) that the glasses are enabled automatically by the system (e.g., 701, 901, 901a) and the first user is known to be wearing the glasses, the computer system (e.g., 901a) displays (1406) a representation of the first user (e.g., 1220) in the augmented reality environment (e.g., 1215) (e.g., display an avatar in the augmented reality environment) via the display generation component (e.g., 902a). In some embodiments, the representation of the first user is displayed in the augmented reality environment (e.g., 1220) as an avatar in the augmented reality environment. The representation of the first user is displayed in a mode (e.g., 1224b) (e.g., virtual presence mode) in which the first user is represented in the real environment by a rendering (e.g., a virtual avatar) having human or anthropomorphic features (e.g., head, arms, legs, hands, etc.) or as an animated character (e.g., an anthropomorphic construct of a non-human character such as a human, cartoon character, dog, robot, etc.). In some embodiments, the representation of the first user (e.g., 1220) is displayed with the same pose of the first user (e.g., 700). In some embodiments, the representation of the first user is displayed with a portion (e.g., 700-2) having the same pose as a corresponding portion (e.g., 1220-2) of the first user. In some embodiments, the representation of the first user is an avatar (e.g., a virtual avatar) that changes pose in response to a detected change in the pose of at least a portion of the first user in the physical environment. For example, the avatar is displayed in the augmented reality environment as an animated character that mimics the detected movement of the first user in the physical environment).
[0258] Pursuant to a determination that the set of glasses display criteria is satisfied, the computer system (e.g., 901a), via the display generation component (e.g., 902a), displays (1408) a representation of glasses (e.g., 1221) (e.g., avatar glasses) positioned over a representation of the first user (e.g., 1220) in the augmented reality environment (e.g., 1215) (e.g., an avatar is displayed in the augmented reality environment wearing the glasses in front of their eyes (e.g., instead of displaying an avatar with a headset device over their eyes)).
[0259] Pursuant to a determination (1410) that the set of glasses display criteria is not satisfied (e.g., option 1226a is selected in FIG. 12A), the computer system (e.g., 901a), via the display generation component (e.g., 902a), displays (1412) (see, e.g., FIG. 12A) a representation of the first user (e.g., 1220) in the augmented reality environment without displaying a representation of glasses disposed on the representation of the first user in the augmented reality environment (e.g., refrain from displaying a representation of glasses disposed on the representation of the first user in the augmented reality environment (e.g., the same avatar is displayed in the augmented reality environment, but without the glasses in front of the eyes)). Selectively displaying a representation of glasses disposed on the representation of the first user in the augmented reality environment depending on whether the set of glasses display criteria is satisfied provides feedback to the user of the computer system regarding the first user's appearance (e.g., whether the first user is wearing glasses or not) and improves human-system interaction by providing a more realistic appearance of the first user's representation. By providing improved feedback, the computer system's operability is improved, the user-system interface is made more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and, in addition, power usage is reduced and battery life is improved for the computer system by allowing the user to use the system more quickly and efficiently.
[0260] In some embodiments, the set of glasses display criteria includes criteria that are met when a user setting (e.g., 1226b, 1226c, 1226d) (e.g., a selectable option (e.g., a toggle switch) in a user setting interface (e.g., 1204, 704)) is enabled (e.g., by a first user (e.g., 700)) to display a representation of the glasses (e.g., 1221).
[0261] In some embodiments, the set of glasses display criteria includes criteria that are met when a set of glasses (e.g., 707) (e.g., a set of glasses worn by a user) is detected (e.g., automatically by an external computer system (e.g., 901, 701)) during the registration process (e.g., the external computer system detects that a first user is wearing or holding a set of glasses during the registration process (e.g., a registration process as discussed in relation to Figures 7A-7H)).
[0262] In some embodiments, as part of displaying a representation of glasses (e.g., 1221) positioned on a representation of a first user (e.g., 1220) in an augmented reality environment (e.g., 1215), a computer system (e.g., 901a) performs the following items: Pursuant to a determination that an option (e.g., 1226b) for a first appearance (e.g., a first appearance of the representation of the glasses (e.g., glasses 1221 of FIG. 12B)) has been selected (e.g., a previous manual selection by the first user) by the first user (e.g., 700) (e.g., the first appearance option is currently selected / enabled by the first user), the computer system displays a representation of the glasses (e.g., 1221) having a first appearance (e.g., as shown in FIG. 12B). Pursuant to a determination that an option (e.g., 1226c) for a second appearance (e.g., a second appearance of the representation of the glasses that differs from the first appearance (e.g., glasses 1221 of FIG. 12C )) has been selected by the first user (e.g., the second appearance option is currently selected / enabled by the first user), the computer system displays a representation of the glasses having the second appearance (e.g., 1221) (e.g., as shown in FIG. 12C ). Displaying a representation of the glasses having the first or second appearance, depending on which option was selected by the first user, provides feedback to a user of the computer system about the first user's appearance (e.g., the appearance of the glasses worn by the first user) and improves human-system interaction by providing a more realistic appearance of the first user's representation. By providing improved feedback, the computer system's operability is improved, the user-system interface is made more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and, in addition, power usage is reduced and battery life is improved for the computer system by allowing the user to use the system more quickly and efficiently.
[0263] In some embodiments, the first appearance is an appearance based on a display generating component of the computer system (e.g., a headset component, e.g., an augmented reality headset) (e.g., option 1226d shown in Figures 7H and 12A). In some embodiments, the representation of the glasses (e.g., 1221) has the appearance of a headset device.
[0264] In some embodiments, as part of displaying a representation of glasses (e.g., 1221) placed on a representation of a first user (e.g., 1220) in an augmented reality environment (e.g., 1215), the computer system (e.g., 901a) performs the following items: Pursuant to a determination that a third appearance criterion is met (e.g., data (e.g., input data, data from a camera (e.g., similar to 904) or sensor of the computer system, data from an external computer system (e.g., 901, 701)) is received indicating that a third appearance has been detected (e.g., automatically by the computer system and / or an external computer system (e.g., during a registration process)) for the representation of the glasses, the computer system (e.g., 901a) displays a representation of the glasses (e.g., 1221) having a third appearance (e.g., the appearance of glasses 1221 in FIG. 12B) selected based on the glasses (e.g., 707) detected on the face of the user (e.g., 700) (e.g., prior to putting on the augmented reality headset, such as during a registration process for using the augmented reality headset). In some embodiments, the third appearance is an appearance of glasses that is automatically detected, for example, by a computer system (e.g., 701) (e.g., an external computer system) during a registration process. For example, during registration, the computer system detects that the user is wearing glasses with thick frames, and therefore automatically selects an appearance of the representation of the glasses that is similar to the detected appearance of the glasses (e.g., having thick frames). Displaying the representation of the glasses with the third appearance pursuant to a determination that the third appearance criteria is met provides feedback to the user of the computer system regarding the appearance of the first user (e.g., the appearance of the glasses worn by the first user) and improves system interaction by providing a more realistic appearance of the representation of the first user.By providing improved feedback, the computer system's operability is improved, the user-system interface is made more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and, in addition, power usage is reduced and battery life is improved for the computer system by allowing the user to use the system more quickly and efficiently.
[0265] In some embodiments, a first user (e.g., 700) is associated with a set of glasses (e.g., 707) having a first set of appearance characteristics (e.g., style, size, color, shape, shade). In some embodiments, the first user is associated with the set of glasses when the set of glasses is detected and / or selected during an enrollment process for the first user. In some embodiments, a representation of the glasses (e.g., 1221) has a second set of appearance characteristics that differ from the first set of appearance characteristics by omitting one or more visual details of the set of glasses (e.g., the representation of the glasses is an abstract representation of the set of glasses associated with the first user).
[0266] In some embodiments, the representation of the glasses (e.g., 1221) has a translucent appearance (e.g., as shown in FIG. 12C ) (e.g., such that the appearance of the representation of the user (e.g., 1220), the appearance of one or more representations of virtual objects, and / or the appearance of one or more physical objects is visible through the representation of the glasses, where the appearance includes one or more of the shape, color, number, or size of the objects).
[0267] In some embodiments, a representation of glasses (e.g., 1221) positioned on a representation of a first user (e.g., 1220) in an augmented reality environment (e.g., 1215) includes a representation of one or more rim portions of the glasses (e.g., as shown in FIG. 12B and FIG. 12C ) (e.g., a lens frame(s) optionally with or without lenses) and does not include a representation of a temple portion (e.g., one or more arms) of the glasses (e.g., the displayed representation of the glasses does not include the arms or temples of the glasses). Displaying the representation of the glasses without a representation of the temple portion of the glasses reduces computational resources expended by the computer system by eliminating the need to consider the positioning and display of the temple portion of the glasses representation. Reducing the computational workload improves the usability of the computer system, makes the user-system interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the computer system), and also reduces power usage and improves the battery life of the computer system by allowing the user to use the system more quickly and efficiently.
[0268] It should be noted that details of the process (e.g., FIG. 14 ) described above with respect to method 1400 are also applicable in a similar manner to the previously described methods 800, 1000, 1100 and 1300. For example, methods 800, 1000, 1100 and / or 1300 optionally include one or more of the features of the various methods described above with reference to method 1400.
[0269] In some embodiments, aspects and / or operations of methods 800, 1000, 1100, 1300, and 1400 may be interchanged, substituted, and / or added between these methods, and for the sake of brevity, the details of which will not be repeated here.
[0270] The above has been described with reference to specific embodiments for purposes of explanation. However, the above exemplary discussion is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teachings. These embodiments have been chosen and described in order to best explain the principles of the invention and its practical application, and thereby enable others skilled in the art to best utilize the invention and the various described embodiments with various modifications suited to the particular uses contemplated.
[0271] As mentioned above, one aspect of the present technology is to collect and use data available from various sources to improve a user's XR experience. This disclosure contemplates that in some cases, this collected data may include personal information data that uniquely identifies a particular person or that can be used to contact or locate a particular person. Such personal information data may include demographic data, location-based data, phone numbers, email addresses, Twitter IDs, home addresses, data or records regarding the user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), date of birth, or any other identifying or personal information.
[0272] This disclosure recognizes that the use of such personal information data in the present technology may be for the benefit of the user. For example, the personal information data may be used to enhance the user's XR experience. Additionally, other uses of personal information data that benefit the user are also contemplated by this disclosure. For example, health and fitness data may be used to provide insight into the user's overall wellness, or may be used as proactive feedback to individuals using the technology in pursuit of wellness goals.
[0273] This disclosure contemplates that entities involved in the collection, analysis, disclosure, transmission, storage, or other use of such personal information data will adhere to robust privacy policies and / or privacy practices. Specifically, such entities should implement and consistently use privacy policies and practices that are generally recognized as meeting or exceeding industry or government requirements for keeping personal information data confidential and secure. Such policies should be easily accessible by users and should be updated as data collection and / or use changes. Personal information from users should be collected for the entity's lawful and legitimate use and should not be shared or sold except for those lawful uses. Furthermore, such collection / sharing should be carried out after informing and obtaining consent from the user. Moreover, such entities should consider taking all necessary measures to protect and secure access to such personal information data and ensure that others who have access to the personal information data adhere to their privacy policies and procedures. Furthermore, such entities may subject themselves to third-party assessments to attest to their adherence to widely accepted privacy policies and practices. Moreover, policies and practices should be adapted to the specific types of personal information data being collected and / or accessed, and should conform to applicable laws and standards, including jurisdiction-specific considerations. For example, in the United States, collection of or access to certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA). Meanwhile, health data in other countries may be subject to other regulations and policies and should be addressed accordingly. Therefore, different privacy practices should be maintained with respect to different types of personal data in each country.
[0274] Notwithstanding the foregoing, the present disclosure also contemplates embodiments in which a user selectively blocks use of or access to personal information data. That is, the present disclosure contemplates that hardware and / or software elements may be provided to prevent or block access to such personal information data. For example, in the case of an XR experience, the technology may be configured to allow a user to choose to "opt-in" or "opt-out" of participating in the collection of personal information data during registration for the service or at any time thereafter. In another example, a user may choose not to provide data for customization of the service. In yet another example, a user may choose to limit the length of time that data is maintained or to completely prohibit the deployment of customized services. In addition to providing "opt-in" and "opt-out" options, the present disclosure contemplates providing notifications regarding access or use of personal information. For example, a user may be informed upon download of an app that will access the user's personal information data, and then again immediately before the personal information data is accessed by the app.
[0275] Moreover, it is the intent of this disclosure that personal information data should be managed and processed in a manner that minimizes the risk of unintended or unauthorized access or use. Risk can be minimized by limiting the collection of data and deleting it when it is no longer needed. In addition, where applicable in certain health-related applications, anonymization of data can be used to protect user privacy. De-identification can be facilitated by removing certain identifiers (e.g., date of birth, etc.) where appropriate, controlling the amount or specificity of data stored (e.g., collecting location data at a city level rather than an address level), controlling how data is stored (e.g., aggregating data across users), and / or other methods.
[0276] Thus, while this disclosure broadly encompasses the use of personal information data to implement one or more of the various disclosed embodiments, this disclosure also contemplates that the various embodiments may be implemented without requiring access to such personal information data. That is, the various embodiments of the technology are not rendered inoperable by the absence of all or a portion of such personal information data. For example, an XR experience may be generated by inferring preferences based on non-personal information data, such as content requested by a device associated with a user, or a minimal amount of personal information, other non-personal information available to the service, or publicly available information.
Claims
1. 1. A method comprising:
1. A computer system in communication with a display generation component and one or more cameras, comprising: and displaying, via the display generation component, a registration interface for registering one or more characteristics of the user during a registration process that includes capturing facial data of the user via the one or more cameras, wherein displaying the registration interface includes: outputting a first facial expression prompt to instruct the user to arrange one or more of the user's facial features into a first particular facial expression in accordance with a determination that a first set of enrollment criteria has not been met; capturing a first set of facial data of the user via the one or more cameras after outputting the first facial prompt; outputting a confirmation that the first set of the user's facial data corresponds to the first particular facial expression in response to a determination that the first set of facial data satisfies a first set of facial expression criteria, the first set of facial expression criteria including a requirement that the first set of facial data corresponds to the first particular facial expression for the first set of facial expression criteria to be satisfied; outputting a second facial expression prompt to instruct the user to place one or more of the user's facial features into a second specific facial expression different from the first specific facial expression; capturing a second set of facial data of the user via the one or more cameras after outputting the second facial prompt; outputting a confirmation that the second set of the user's facial data corresponds to the second particular facial expression in accordance with a determination that the second set of the user's facial data satisfies a second set of facial expression criteria, the second set of facial expression criteria including a requirement that the second set of facial data corresponds to the second particular facial expression for the second set of facial expression criteria to be satisfied.
2. The method of claim 1, wherein the second facial prompt is output pursuant to a determination that the first set of enrollment criteria is met and the second set of enrollment criteria is not met.
3. ceasing display of the first facial prompt after capturing a first set of facial data of the user via the one or more cameras; and 3. The method of claim 1 or 2, further comprising ceasing display of the second facial prompts after capturing a second set of the facial data of the user via the one or more cameras.
4. 4. The method according to claim 1, wherein the first particular facial expression or the second particular facial expression is selected from the group consisting of a smile, a frown, a narrowed eye, and a surprised facial expression.
5. The method of claim 1 , wherein the second facial prompt comprises a prompt for the user to speak a set of one or more words.
6. Displaying the registration interface for registering one or more characteristics of the user. The method of claim 1 , further comprising outputting a third prompt to change the position of the user's head.
7. The method of claim 6 , wherein the third prompt is output before at least one of the first facial prompt or the second facial prompt.
8. Displaying the registration interface for registering one or more characteristics of the user.
8. The method of claim 1, further comprising outputting a fourth prompt to change a position of the one or more cameras relative to the user's head while keeping the user's head stationary.
9. Displaying the registration interface for registering one or more characteristics of the user. The method of claim 1 , further comprising outputting a fifth prompt to indicate a height of the user.
10. Displaying the registration interface for registering one or more characteristics of the user.
10. The method of claim 1, further comprising outputting a sixth prompt to remove a set of eyeglasses from the user's face during at least a portion of the enrollment process.
11. an avatar is generated using at least a portion of the facial data captured during the enrollment process; The method of claim 1 , wherein the avatar is displayed using an external computer system different from the computer system.
12. Displaying the registration interface for registering one or more characteristics of the user. The method of claim 1 , further comprising outputting a seventh prompt for capturing a pose of a non-facial feature of the user.
13. A computer program product causing a computer in communication with a display generation component and one or more cameras to carry out the method of any one of claims 1 to 12.
14. 1. A computer system configured to communicate with a display generation component and one or more cameras, comprising: A memory storing a computer program according to claim 13; and one or more processors capable of executing the computer programs stored in the memory.
15. 1. A computer system configured to communicate with a display generation component and one or more cameras, comprising: A computer system comprising means for carrying out the method according to any one of claims 1 to 12.
Citation Information
Patent Citations
Facial expression inducing device, facial expression inducing method, and facial expression inducing system
JP2008027086A
Method and system for providing a personal emotion icon
JP2016528571A
Information processing device, information processing method and program
JP2020156919A
Biometric authentication implementation
JP2020525868A
Implementation of biometric authentication
US20190080066A1