CPC G06T 13/40 (2013.01) | 17 Claims |
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.
|