US 12,205,214 B2
Joint twist generation for animation
Wolfram Sebastian Starke, Edinburgh (GB); Harold Henry Chaput, Castro Valley, CA (US); and Yiwei Zhao, Sunnyvale, CA (US)
Assigned to Electronic Arts Inc., Redwood City, CA (US)
Filed by Electronic Arts Inc., Redwood City, CA (US)
Filed on Feb. 23, 2022, as Appl. No. 17/678,947.
Prior Publication US 2023/0267668 A1, Aug. 24, 2023
Int. Cl. G06T 13/40 (2011.01)
CPC G06T 13/40 (2013.01) 17 Claims
OG exemplary drawing
 
1. A system comprising:
at least one memory storing instructions and game application data; and
at least one processor configured to execute the instructions to perform operations, the operations including:
execute an instance of a game application based in part on the game application data;
generate a virtual game environment within the game application;
determine a first pose of a first virtual character model within the virtual game environment, the first virtual character model comprising a virtual rig including a plurality of a rigid bodies connected by a plurality of joints, wherein the first pose is a first arrangement of the rigid bodies and joints of the virtual rig, wherein position data defines positions of the plurality of joints of the first virtual character model;
receive an instruction to change the first pose of the first virtual character model based at least in part on movement of a joint of the first virtual character model;
obtain a set of axis vectors for the virtual rig of the first virtual character model based on the position data, each axis vector of the set of axis vectors points from a parent joint associated with the axis vector to a child joint of the parent joint;
input the set of axis vectors to a twist model to generate a set of twist vectors, wherein the twist model is configured to predict the set of twist vectors based on the set of axis vectors;
determine animation data based at least in part on the set of axis vectors and the set of twist vectors;
determine an updated pose of first virtual character model based, at least in part, on the animation data;
render the first virtual character model based, at least in part on the updated pose of the first virtual character model; and
generate instructions to output a frame comprising at least a portion of the updated pose of the first virtual character model for a user display.