IP Library › Granted Patent US 10,717,004
Granted Patent B2
US 10,717,004 · App. 16/444,977 · Granted Jul 21, 2020

Method and system for real-time animation generation using machine learning

Inventor: Michael Buttner (Georgetown, CA)
Assignee: Unity IPR ApS
A63F13/573A63F13/65G06N3/08G06T13/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,717,004
App. No.
16/444,977
Filed
Jun 18, 2019
Granted
Jul 21, 2020
Kind
B2
Art Unit
2613
USPC
345/474
Abstract

A method of generating an image frame for depicting a posing of a character in a game is disclosed. A dominant atom from a set of active atoms associated with the character is determined. A motion controlling ability from a plurality of abilities of the character is determined. A motion fragment for the dominant atom is determined based on pose data and future trajectory data in a motion library associated with the dominant atom; A predicted future trajectory of the character is calculated. Based on a detection of a future collision or problem between the predicted future trajectory and an environment within the game, a combined future trajectory is calculated based on the predicted future trajectory and an additional future trajectory. The character is posed in the image frame based on a weighted combination of poses associated with the set of active atoms.

Claims (53)

1. A system comprising:

one or more computer processors;

one or more computer memories;

a set of instructions incorporated into the one or more computer memories, the set of instructions configuring the one or more computer processors to perform operations comprising:

determining a dominant atom from a set of active atoms associated with a character based on weights associated with the set of active atoms, each atom of the set of active atoms including a reference to data defining a character pose within a motion library;

determining a motion controlling ability from a plurality of abilities of the character based on priorities of the abilities and a current game state produced within a game;

determining a motion fragment for the dominant atom based on pose data and future trajectory data in the motion library associated with the dominant atom;

calculating a predicted future trajectory of the character based on the motion fragment, the controlling ability, and control data from an input device;

based on a detection of a future collision or problem between the predicted future trajectory and an environment within the game, calculating a combined future trajectory based on the predicted future trajectory and an additional future trajectory;

determining a combined motion fragment by replacing the future trajectory of the motion fragment with the predicted future trajectory or combined future trajectory;

converting the combined motion fragment to a hash value using a hashing function and using a nearest neighbor search to find the closest match between the hash value and a second hash value in the motion library;

adding the atom associated with the second hash value to the set of active atoms as a target atom;

posing the character in a frame based on a weighted combination of poses associated with the set of active atoms; and

changing the weights associated with the set of active atoms based on a time function, the changing including increasing the weight of the target atom and decreasing the weight of all other atoms.

2. The system of claim 1 , wherein the predicted future trajectory and the additional future trajectory are determined using a trajectory prediction neural network trained on animation data to predict trajectories of animated characters.

3. The system of claim 1 , wherein the motion library comprises a plurality of animation clip data organized into motion fragments centered on a plurality of poses in the motion library, and with the motion fragments converted to hash values by the hashing function.

4. The system of claim 1 , wherein the additional future trajectory is determined starting from a location of the collision or problem and with a new direction to avoid the collision or problem.

5. The system of claim 1 , wherein the motion fragment includes a plurality of character poses from the motion library preceding the dominant atom and a future trajectory following the dominant atom.

6. The system of claim 1 , wherein the converting the combined future trajectory to a hash value includes using a hash function determined by a siamese hash neural network trained on motion fragments within the motion library.

7. The system of claim 2 , wherein the trajectory prediction neural network is trained on a type of motion, and the motion controlling ability is associated with the type of motion, and has a priority based on the type of motion.

8. A method comprising:

determining a dominant atom from a set of active atoms associated with a character based on weights associated with the set of active atoms, each atom of the set of active atoms including a reference to data defining a character pose within a motion library;

determining a motion controlling ability from a plurality of abilities of the character based on priorities of the abilities and a current game state produced within a game;

determining a motion fragment for the dominant atom based on pose data and future trajectory data in the motion library associated with the dominant atom;

calculating a predicted future trajectory of the character based on the motion fragment, the controlling ability, and control data from an input device;

based on a detection of a future collision or problem between the predicted future trajectory and an environment within the game, calculating a combined future trajectory based on the predicted future trajectory and an additional future trajectory;

determining a combined motion fragment by replacing the future trajectory of the motion fragment with the predicted future trajectory or combined future trajectory;

converting the combined motion fragment to a hash value using a hashing function and using a nearest neighbor search to find the closest match between the hash value and a second hash value in the motion library;

adding the atom associated with the second hash value to the set of active atoms as a target atom;

posing the character in a frame based on a weighted combination of poses associated with the set of active atoms; and

changing the weights associated with the set of active atoms based on a time function, the changing including increasing the weight of the target atom and decreasing the weight of all other atoms.

9. The method of claim 8 , wherein the predicted future trajectory and the additional future trajectory are determined using a trajectory prediction neural network trained on animation data to predict trajectories of animated characters.

10. The method of claim 8 , wherein the motion library comprises a plurality of animation clip data organized into motion fragments centered on a plurality of poses in the motion library, and with the motion fragments converted to hash values by the hashing function.

11. The method of claim 8 , wherein the additional future trajectory is determined starting from a location of the collision or problem and with a new direction to avoid the collision or problem.

12. The method of claim 8 , wherein the motion fragment includes a plurality of character poses from the motion library preceding the dominant atom and a future trajectory following the dominant atom.

13. The method of claim 8 , wherein the converting the combined future trajectory to a hash value includes using a hash function determined by a siamese hash neural network trained on motion fragments within the motion library.

14. The method of claim 9 , wherein the trajectory prediction neural network is trained on a type of motion, and the motion controlling ability is associated with the type of motion, and has a priority based on the type of motion.

15. A non-transitory machine-readable medium storing a set of instructions that, when executed by at least one processor, cause the at least one processor to perform operations comprising:

determining a dominant atom from a set of active atoms associated with a character based on weights associated with the set of active atoms, each atom of the set of active atoms including a reference to data defining a character pose within a motion library;

determining a motion controlling ability from a plurality of abilities of the character based on priorities of the abilities and a current game state produced within a game;

determining a motion fragment for the dominant atom based on pose data and future trajectory data in the motion library associated with the dominant atom;

calculating a predicted future trajectory of the character based on the motion fragment, the controlling ability, and control data from an input device;

based on a detection of a future collision or problem between the predicted future trajectory and an environment within the game, calculating a combined future trajectory based on the predicted future trajectory and an additional future trajectory;

determining a combined motion fragment by replacing the future trajectory of the motion fragment with the predicted future trajectory or combined future trajectory;

converting the combined motion fragment to a hash value using a hashing function and using a nearest neighbor search to find the closest match between the hash value and a second hash value in the motion library;

adding the atom associated with the second hash value to the set of active atoms as a target atom;

posing the character in a frame based on a weighted combination of poses associated with the set of active atoms; and

changing the weights associated with the set of active atoms based on a time function, the changing including increasing the weight of the target atom and decreasing the weight of all other atoms.

16. The non-transitory machine-readable medium of claim 15 , wherein the predicted future trajectory and the additional future trajectory are determined using a trajectory prediction neural network trained on animation data to predict trajectories of animated characters.

17. The non-transitory machine-readable medium of claim 15 , wherein the motion library comprises a plurality of animation clip data organized into motion fragments centered on a plurality of poses in the motion library, and with the motion fragments converted to hash values by the hashing function.

18. The non-transitory machine-readable medium of claim 15 , wherein the additional future trajectory is determined starting from a location of the collision or problem and with a new direction to avoid the collision or problem.

19. The non-transitory machine-readable medium of claim 15 , wherein the motion fragment includes a plurality of character poses from the motion library preceding the dominant atom and a future trajectory following the dominant atom.

20. The non-transitory machine-readable medium of claim 15 , wherein the converting the combined future trajectory to a hash value includes using a hash function determined by a siamese hash neural network trained on motion fragments within the motion library.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2025
From: UNITY IPR APS
To: UNITY TECHNOLOGIES APS
Reel/Frame 072926/0322 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2019
From: BUTTNER, MICHAEL
To: UNITY IPR APS
Reel/Frame 050881/0919 →
Continuity (2)
Provisional Application 62686546 · Jun 18, 2018
Related Publication 20190381404A1 · Dec 19, 2019
Cited By (4)
US 12,403,402 US 12,434,739 US 12,555,043 US 12,728,350