IP Library Granted Patent US 11,830,121
Granted Patent B1
US 11,830,121 · App. 17/305,214 · Granted Nov 28, 2023

Neural animation layering for synthesizing martial arts movements

Inventors: Wolfram Sebastian Starke (Edinburgh, GB); Yiwei Zhao (Sunnyvale, CA); Mohsen Sardari (Redwood City, CA); Harold Henry Chaput (Castro Valley, CA); Navid Aghdaie (San Jose, CA)
Assignee: ELECTRONIC ARTS INC.
G06T13/40A63F13/573G06N3/02G06T7/75G06T15/503A63F2250/1094A63F2300/646A63F2300/6607
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 11,830,121
App. No.
17/305,214
Granted
Nov 28, 2023
Kind
B1
Abstract

In some embodiments, the dynamic animation generation system can provide a deep learning framework to produce a large variety of martial arts movements in a controllable manner from unstructured motion capture data. The system can imitate animation layering using neural networks with the aim to overcome challenges when mixing, blending and editing movements from unaligned motion sources. The system can synthesize movements from given reference motions and simple user controls, and generate unseen sequences of locomotion, but also reconstruct signature motions of different fighters. For achieving this task, the dynamic animation generation system can adopt a modular framework that is composed of the motion generator, that maps the trajectories of a number of key joints and root trajectory to the full body motion, and a set of different control modules that map the user inputs to such trajectories.

Claims (43)

1. A computer-implemented method for dynamically generating animation of a virtual character performing certain actions in a virtual environment of an instance of a video game, the method comprising:

receiving a current frame of a virtual character within a virtual environment of an instance of a video game, wherein the current frame includes current pose data for the virtual character;

identifying a plurality of possible behaviors for the virtual character for the next frame based on the current pose data in the current frame, wherein the next frame is a subsequent frame to the current frame;

receiving, from a user of the video game, an input to perform at least a first and second behavior of the plurality of possible behaviors;

determining a plurality of pose data for the first and second behavior;

performing layering of the plurality of pose data corresponding to the first and second behavior on the current pose data to generate layered data;

applying the layered data to a gating network to generate weights; and

applying the weights to a pose predictor network configured to generate next pose data for the next frame.

2. The computer-implemented method of claim 1 , wherein the gating network receives velocity magnitudes of future joint trajectories for the next pose data, wherein the weights generated by the gating network are blended weights of the future joint trajectories.

3. The computer-implemented method of claim 1 , wherein performing layering comprises applying additive layering to the pose data corresponding to the first and second behavior.

4. The computer-implemented method of claim 1 , wherein performing layering comprises applying override layering to the pose data corresponding to the first and second behavior.

5. The computer-implemented method of claim 1 , wherein performing layering comprises applying blend layering to the pose data corresponding to the first and second behavior.

6. The computer-implemented method of claim 1 , wherein the pose predictor network blends weights of a fixed number of structurally identical networks.

7. The computer-implemented method of claim 6 , wherein applying the layered data to the gating network comprises applying velocity magnitudes of future joint trajectories for the layered data, wherein generated weights by the gating network comprises blended weights dictating the influence of each of the structurally identical networks.

8. The computer-implemented method of claim 1 , wherein the method further comprises applying the current frame with current pose data to the pose predictor network, wherein the pose predictor network is configured to generate next pose data for the next frame based on the current pose data.

9. A system comprising one or more processors and non-transitory computer storage media storing instructions that when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving a current frame of a virtual character within a virtual environment of an instance of a video game, wherein the current frame includes current pose data for the virtual character;

identifying a plurality of possible behaviors for the virtual character for the next frame based on the current pose data in the current frame, wherein the next frame is a subsequent frame to the current frame;

receiving, from a user of the video game, an input to perform at least a first and second behavior of the plurality of possible behaviors;

determining a plurality of pose data for the first and second behavior;

performing layering of the plurality of pose data corresponding to the first and second behavior on the current pose data to generate layered data;

applying the layered data to a gating network to generate weights; and

applying the weights to a pose predictor network configured to generate next pose data for the next frame.

10. The system of claim 9 , wherein the next pose data for the next frame does not match pose data previously stored by the system.

11. The system of claim 9 , wherein the gating network applies gating variables according to the following:

={C i+1 ,P i ,g i }.

12. The system of claim 9 , wherein the pose predictor network generates the next pose data according to the following:

( C i+1 ,P i )→ P i+1 .

13. The system of claim 9 , wherein the operations further comprise:

mapping trajectories of a number of key joints and a root trajectory of the virtual character in the current frame, wherein the plurality of possible behaviors are identified based on the mapped trajectories and root trajectory.

14. The system of claim 9 , wherein the plurality of possible behaviors for the virtual character for the next frame are identified by a neural network configured to determine possible behaviors for the virtual character for the next frame based on the current frame.

15. The system of claim 9 , wherein the plurality of possible behaviors for the virtual character for the next frame are identified by a motion matching system for the virtual character in the instance of the video game.

16. A non-transitory computer storage media storing instructions that when executed by a system of one or more processors, cause the one or more processors to perform operations comprising:

receiving a current frame of a virtual character within a virtual environment of an instance of a video game, wherein the current frame includes current pose data for the virtual character;

identifying a plurality of possible behaviors for the virtual character for the next frame based on the current pose data in the current frame, wherein the next frame is a subsequent frame to the current frame;

receiving, from a user of the video game, an input to perform at least a first and second behavior of the plurality of possible behaviors;

determining a plurality of pose data for the first and second behavior;

performing layering of the plurality of pose data corresponding to the first and second behavior on the current pose data to generate layered data;

applying the layered data to a gating network to generate weights; and

applying the weights to a pose predictor network configured to generate next pose data for the next frame.

17. The non-transitory computer storage media of claim 16 , wherein identifying the plurality of possible behaviors is further based on a distance from an opponent.

18. The non-transitory computer storage media of claim 17 , wherein the operations further comprise determining the distance from the opponent based on a root position of the virtual character and a root position for the opponent.

19. The non-transitory computer storage media of claim 17 , wherein the operations further comprise determining the distance from the opponent based on a position and velocity information of a body limb for the virtual character and a position and velocity information of a body limb for the opponent.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2021
From: STARKE, WOLFRAM SEBASTIAN; ZHAO, YIWEI; SARDARI, MOHSEN; CHAPUT, HAROLD HENRY; AGHDAIE, NAVID
To: ELECTRONIC ARTS INC.
Reel/Frame 057051/0935 →
Continuity (1)
Provisional Application 63141782 · Jan 26, 2021
Cited By (6)
US 12,205,214 US 12,322,015 US 12,374,014 US 12,403,400 US 12,524,944 US 12,688,649