US 12,444,115 B2
Neural animation layering for synthesizing movement
Wolfram Sebastian Starke, Edinburgh (GB); Yiwei Zhao, Sunnyvale, CA (US); Mohsen Sardari, Redwood City, CA (US); Harold Henry Chaput, Castro Valley, CA (US); and Navid Aghdaie, San Jose, CA (US)
Assigned to Electronic Arts Inc., Redwood City, CA (US)
Filed by Electronic Arts Inc., Redwood City, CA (US)
Filed on Nov. 27, 2023, as Appl. No. 18/520,344.
Application 18/520,344 is a continuation of application No. 17/305,214, filed on Jul. 1, 2021, granted, now 11,830,121.
Claims priority of provisional application 63/141,782, filed on Jan. 26, 2021.
Prior Publication US 2024/0257429 A1, Aug. 1, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06T 13/40 (2011.01); A63F 13/573 (2014.01); G06N 3/02 (2006.01); G06N 3/0442 (2023.01); G06T 7/73 (2017.01); G06T 15/50 (2011.01)
CPC G06T 13/40 (2013.01) [A63F 13/573 (2014.09); G06N 3/02 (2013.01); G06N 3/0442 (2023.01); G06T 7/75 (2017.01); G06T 15/503 (2013.01); A63F 2250/1094 (2013.01); A63F 2300/646 (2013.01); A63F 2300/6607 (2013.01)] 19 Claims
OG exemplary drawing
 
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 the virtual character within the 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 a 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 input to perform at least a first behavior of the plurality of possible behaviors;
determining pose data comprising joint trajectories for at least the first behavior;
performing layering of the pose data corresponding to at least the first 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.