# US 2019/0379765 A1 · Systems and methods for detecting collaborative virtual gestures

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

- Number: US 2019/0379765 A1
- Document ID: US20190379765A1
- Status: Published application
- Kind: A1
- Application number: 16/313,829
- Filed: 2017-06-28
- Published: 2019-12-12
- Earliest claimed: 2016-06-28
- Assignees: Against Gravity Corp.
- Applicants: Against Gravity Corp.
- Inventors: Nicholas Fajt; Cameron Brown; Dan Kroymann; Omer Bilal Orhan; Jonathan Bevis; Joshua Wehrly
- Web page: https://patentgrep.com/patent/US20190379765A1

## CPC

- H04L 67/131: Protocols for games, networked simulations or virtual reality
- 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
- A63F 13/55: Controlling game characters or game objects based on the game progress
- G06F 3/011: {Arrangements for interaction with the human body, e.g. for user immersion in virtual reality (blind teaching G09B21/00)}
- G06F 3/017: {Gesture based interaction, e.g. based on a set of recognized hand gestures (interaction based on gestures traced on a digitiser G06F3/04883)}
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- A63F 2300/5533: using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- 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

An endpoint system including one or more computing devices receives user input associated with an avatar in a shared virtual environment; calculates, based on the user input, motion for a portion of the first avatar, such as a hand; determines, based on the user input, a first gesture state for first avatar; transmits first location change notifications and a representation of the first gesture state for the first avatar; receives second location change notifications and a representation of a second gesture state for a second avatar; detects a collision between the first avatar and the second avatar based on the first location change notifications and the second location change notifications; and identifies a collaborative gesture based on the detected collision, the first gesture state, and the second gesture state.

## Claims

### Claim 1

A system comprising:
a first endpoint system; and
a second endpoint system;
wherein the first endpoint system comprises one or more computing devices programmed to:
receive first user input associated with a hand of a first avatar in a shared virtual environment;
calculate, based on the first user input, first motion for the hand of the first avatar;
determine, based on the first user input, a first gesture state for the hand of the first avatar;
transmit first location change notifications and a representation of the first gesture state for the hand of the first avatar;
receive second location change notifications and a representation of a second gesture state for a hand of a second avatar;
detect a collision between the hand of the first avatar and the hand of the second avatar based on the first location change notifications and the second location change notifications; and
identify a collaborative gesture based on the detected collision, the first gesture state, and the second gesture state; and
wherein the second endpoint system comprises one or more computing devices programmed to:
receive second user input associated with the hand of the second avatar in the shared virtual environment;
calculate, based on the second user input, second motion for the hand of the second avatar;
determine, based on the second user input, the second gesture state for the hand of the second avatar;
transmit the second location change notifications for the hand of the first avatar and the representation of the second gesture state;
receive the first location change notifications and a representation of the first gesture state for the hand of the first avatar;
detect a collision between the hand of the first avatar and the hand of the second avatar based on the first location change notifications and the second location change notifications; and
identify a collaborative gesture based on the detected collision, the first gesture state, and the second gesture state.

### Claim 2

(canceled)

### Claim 3 (depends on 1)

The system of claim 1, wherein the collaborative gesture comprises a handshake gesture.

### Claim 4 (depends on 3)

The system of claim 3, wherein the first endpoint system is further configured to present the hand of the second avatar as an object held by the hand of the first avatar, and wherein the second endpoint system is further configured to present the hand of the first avatar as an object held by the hand of the second avatar.

### Claim 5 (depends on 4)

The system of claim 4, wherein further location change notifications received by the first endpoint system for the hand of the second avatar are ignored during the handshake gesture, and wherein further location change notifications received by the second endpoint system for the hand of the first avatar are ignored during the handshake gesture.

### Claim 6 (depends on 1)

The system of claim 1, wherein the collaborative gesture comprises a closed-fist gesture or a high-five gesture.

### Claim at position 7

7-8. (canceled)

### Claim 9 (depends on 1)

The system of claim 1, wherein identification of the collaborative gesture is further based on detecting that the first avatar and the second avatar are facing each other in the shared virtual environment.

### Claim 10 (depends on 1)

The system of claim 1, wherein the first endpoint system or the second endpoint system is further configured to cause execution of a function in response to identification of the collaborative gesture.

### Claim 11 (depends on 10)

The system of claim 10, wherein the function comprises starting a game or establishing a relationship between a user associated with the first avatar and a user associated with the second avatar.

### Claim at position 11

12-16. (canceled)

### Claim 17

A computer-implemented method comprising:
by a first endpoint system:
receiving first user input associated with a hand of a first avatar in a shared virtual environment;
calculating, based on the first user input, first motion for the hand of the first avatar;
determining, based on the first user input, a first gesture state for the hand of the first avatar;
receiving second location change notifications and a representation of a second gesture state for a hand of a second avatar associated with a second endpoint system;
detecting a collision between the hand of the first avatar and the hand of the second avatar based on the first location change notifications and the second location change notifications; and
identifying a collaborative gesture based on the detected collision, the first gesture state, and the second gesture state;

### Claim 18

(canceled)

### Claim 19 (depends on 17)

The method of claim 17, wherein the collaborative gesture comprises a handshake gesture.

### Claim 20 (depends on 19)

The method of claim 19, wherein the first gesture state and the second gesture state each indicate a clenched grip for a threshold period of time.

### Claim 21 (depends on 19)

The method of claim 19, wherein the first endpoint system is further configured to present the hand of the second avatar as an object held by the hand of the first avatar.

### Claim 22

(canceled)

### Claim 23 (depends on 19)

The method of claim 19, wherein the first endpoint system has temporary object authority over the second avatar's hand during the collaborative gesture.

### Claim 24 (depends on 17)

The method of claim 17, wherein the collaborative gesture comprises a closed-fist gesture or a high-five gesture.

### Claim at position 20

25-26. (canceled)

### Claim 27 (depends on 17)

The method of claim 17, wherein identifying the collaborative gesture is further based on detecting that the first avatar and the second avatar are facing each other in the shared virtual environment.

### Claim 28 (depends on 17)

The method of claim 17 further comprising causing execution of a function in response to identifying the collaborative gesture.

### Claim at position 23

29-31. (canceled)

### Claim 32 (depends on 17)

The method of claim 17 further comprising transmitting the first location change notifications for the hand of the first avatar and a representation of the first gesture state.

### Claim 33 (depends on 32)

The method of claim 32, further comprising:
by the second endpoint system:
receiving second user input associated with the hand of the second avatar in the shared virtual environment;
calculating, based on the second user input, second motion for the hand of the second avatar;
determining, based on the second user input, a second gesture state for the hand of the second avatar;
transmitting the second location change notifications for the hand of the second avatar and the representation of the second gesture state;
receiving the first location change notifications for the hand of the first avatar and the representation of the first gesture state;
detecting a collision between the hand of the first avatar and the hand of the second avatar based on the first location change notifications and the second location change notifications; and
identifying a collaborative gesture based on the detected collision, the first gesture state, and the second gesture state.

### Claim 34

(canceled)

### Claim 35

A computer-implemented method comprising:
by a first endpoint system:
receiving first user input associated with a hand of a first avatar in a shared virtual environment;
determining, based on the first user input, a first gesture state for the hand of the first avatar;
transmitting a representation of the first gesture state;
receiving a representation of a second gesture state for a hand of a second avatar associated with a second endpoint system;
determining that the first avatar and the second avatar are in virtual proximity; and
identifying a collaborative gesture based on the determination of virtual proximity, the first gesture state, and the second gesture state.

### Claim at position 28

36-40. (canceled)

### Claim 41 (depends on 35)

The method of claim 35, further comprising:
by the second endpoint system:
receiving second user input associated with the hand of the second avatar in the shared virtual environment;
determining, based on the second user input, the second gesture state for the hand of the second avatar;
transmitting the representation of the second gesture state;
receiving the representation of the first gesture state for the hand of the first avatar;
determining that the first avatar and the second avatar are in virtual proximity; and
identifying the collaborative gesture based on the determination of virtual proximity, the first gesture state, and the second gesture state.

### Claim at position 30

42-44. (canceled)
