# US 8,788,973 B2 · Three-dimensional gesture controlled avatar configuration interface

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,788,973 B2
- Document ID: US8788973B2
- Status: Granted
- Kind: B2
- Application number: 13/113,788
- Filed: 2011-05-23
- Published: 2012-11-29
- Granted: 2014-07-22
- Earliest claimed: 2011-05-23
- Assignees: Microsoft Corporation
- Applicants: Charles Tremblay Lavigne; Edward Chin; Eddie Parker
- Inventors: Charles Tremblay Lavigne; Edward Chin; Eddie Parker
- Web page: https://patentgrep.com/patent/US8788973B2

## CPC

- A63F 13/655: by importing photos, e.g. of the player
- A63F 13/213: comprising photodetecting means, e.g. cameras, photodiodes or infrared cells (A63F13/219 takes precedence)
- A63F 13/428: involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
- G06F 3/011: {Arrangements for interaction with the human body, e.g. for user immersion in virtual reality (blind teaching G09B21/00)}
- A63F 13/803: Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
- A63F 13/807: Gliding or sliding on surfaces, e.g. using skis, skates or boards
- A63F 2300/1093: using visible light
- A63F 2300/5553: user representation in the game field, e.g. avatar
- A63F 2300/6607: for animating game characters, e.g. skeleton kinematics
- A63F 2300/695: Imported photos, e.g. of the player
- A63F: CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for controlling presentation to a user of a primary user experience of a software application is provided. The method includes displaying a third-person avatar in a 3D virtual scene that defines a user interface for controlling presentation of the primary user experience. The method further includes sensing controlling movements of the user within a physical space in which the user is located and causing display of controlled movements of the third-person avatar within the 3D virtual scene so that the controlled movements visually replicate the controlling movements. The method further includes detecting a predefined interaction of the third-person avatar with a user interface element displayed in the 3D virtual scene, and controlling presentation of the primary user experience in response to detecting the predefined interaction.

## Claims

### Claim 1

A method for controlling presentation to a user of a primary user experience of a software application, the method comprising:
displaying a third-person avatar in a 3D virtual scene that defines a user interface for controlling presentation of the primary user experience, the user interface being external to, different from, and provided at different times than the primary user experience;
receiving a depth map from a depth camera imaging a physical space in which the user is located, the depth map including a plurality of pixels, each pixel having a depth value that indicates a relative depth of a surface imaged by that pixel;
deriving from the depth map a virtual skeleton that provides a machine readable representation of the user, the virtual skeleton including a plurality of joints, each joint having a three-dimensional position;
recognizing controlling movements of the user within the physical space via at least the three-dimensional positions of two or more different joints of the virtual skeleton;
causing display of controlled movements of the third-person avatar within the 3D virtual scene so that the controlled movements visually replicate the controlling movements;
detecting that the controlled movements include a predefined interaction of the third-person avatar with a user interface element displayed in the 3D virtual scene, the predefined interaction corresponding to selection of a characteristic to be implemented in connection with delivery of the primary user experience; and
controlling presentation of the primary user experience in response to and based upon detecting the predefined interaction, such that the primary user experience varies—as a result of the implemented characteristic—from that which would occur in the event of detecting a different predefined interaction.

### Claim 2 (depends on 1)

The method of claim 1, wherein controlling presentation of the primary user experience includes causing the primary user experience to be selected for startup from a plurality of different primary user experiences that are selectable via the user interface.

### Claim 3 (depends on 1)

The method of claim 1, wherein the predefined interaction with the user interface element is a predefined movement of at least a portion of the third-person avatar toward the user interface element.

### Claim 4 (depends on 1)

The method of claim 1, wherein the predefined interaction with the user interface element is a gesture of the third-person avatar in relation to the user interface element.

### Claim 5

A computing system, comprising,
a data-holding subsystem and logic subsystem that are operatively interconnected, the data-holding subsystem containing instructions that are executable by the logic subsystem to:
cause a display subsystem to display a third-person avatar in a 3D virtual scene that defines a user interface for controlling presentation of a primary user experience of a software application that is executable by the logic subsystem, the user interface being external to, different from, and provided at different times than the primary user experience;
in response to a depth camera imaging a user within a physical space to output a depth map that includes a plurality of pixels, each pixel having a depth value that indicates a relative depth of a surface imaged by that pixel, modeling the user with a virtual skeleton derived from the depth map, the virtual skeleton including a plurality of joints, each joint having a three-dimensional position;
cause the display subsystem to display controlled movements of the third-person avatar so that the controlled movements visually correspond to virtual movements of the virtual skeleton, the controlling movements being based on at least the three-dimensional positions of two or more different joints of the virtual skeleton; and
control presentation of the primary user experience in response to the virtual movements of the virtual skeleton.

### Claim 6 (depends on 5)

The computing system of claim 5, wherein controlling presentation of the primary user experience includes providing the primary user experience with a particular option that is activated via interpretation of the controlled movements.

### Claim 7 (depends on 5)

The computing system of claim 5, wherein the controlled movements of the third-person avatar are one or more of a movement of the third-person avatar toward a user interface element, a pointing of the third-person avatar toward the user interface element, and a touching of the user interface element by the third-person avatar.

### Claim 8

A method for controlling a software application that provides a user with a primary user experience, the method comprising:
displaying a third-person avatar in a 3D virtual scene that defines a user interface for controlling the primary user experience, the user interface being external to, different from, and provided at different times than the primary user experience;
sensing a controlling movement of the user within a physical space in which the user is located, where such sensing is performed optically and in real-time using a depth camera;
in response to sensing the controlling movement of the user, causing a controlled movement of the third-person avatar within the 3D virtual scene so that the controlled movement visually corresponds to the controlling movement;
determining whether the controlled movement includes a predefined action that selects a virtual object that is displayed within the 3D virtual scene; and
if the controlled movement includes the predefined action, controlling the primary user experience to incorporate use of the virtual object in the primary user experience such that the primary user experience varies from that which would occur in the event of the virtual object not being selected, wherein the displaying, sensing, causing of the controlled movement and determining are all performed outside of the primary user experience.

### Claim 9 (depends on 8)

The method of claim 8, wherein controlling the primary user experience includes causing it to be selected, for starting, from a plurality of different primary user experiences.

### Claim 10 (depends on 8)

The method of claim 8, wherein the user interface includes a plurality of user interface elements that are displayed within the 3D virtual scene, the plurality of user interface elements defining, for the primary user experience, a plurality of options that are each selectable via the controlled movement of the third-person avatar.

### Claim 11 (depends on 10)

The method of claim 10, wherein the selection of the user interface element is caused in response to the controlled movement being in a direction within the 3D virtual scene that is toward the user interface element.

### Claim 12 (depends on 10)

The method of claim 10, wherein the selection of the user interface element is caused in response to the third-person avatar walking toward the user interface element.

### Claim 13 (depends on 10)

The method of claim 10, wherein the selection of the user interface element is caused in response to movement of an arm of the third-person avatar.
