| CPC G06T 13/40 (2013.01) [G06F 3/011 (2013.01)] | 18 Claims |

|
1. A method for controlling a virtual avatar, comprising:
dividing a virtual avatar into a plurality of skeleton chains; wherein each of the plurality of skeleton chains comprises a plurality of skeleton points;
acquiring state information of control points and initial state information of at least one skeleton point; wherein the state information comprises location information and orientation information;
determining movement information of at least one skeleton point based on at least one of the state information of the control points or the initial state information of the at least one skeleton point; wherein the movement information comprises at least one of translation information or rotation information; and
controlling the at least one skeleton point whose movement information is determined to move according to the movement information;
wherein the plurality of skeleton chains comprise a torso skeleton chain, two arm skeleton chains, and two leg skeleton chains, wherein the torso skeleton chain comprises a head skeleton point and a plurality of torso skeleton points, each of the two arm skeleton chains comprises a shoulder skeleton point, an upper arm skeleton point, an elbow skeleton point, a forearm skeleton point, and a wrist skeleton point, and each of the two leg skeleton chains comprises a thigh skeleton point, a knee skeleton point, and an ankle skeleton point; and the control points comprise two hand control points; and
wherein for the plurality of torso skeleton points, determining the movement information of the at least one skeleton point based on the at least one of the state information of the control points or the initial state information of the at least one skeleton point comprises:
determining two directions from two shoulder skeleton points of the two arm skeleton chains to the two hand control points respectively corresponding to the two shoulder skeleton points according to location information of the two shoulder skeleton points and location information of the two hand control points, and adding vectors corresponding to the two directions to obtain a direction vector corresponding to a target orientation of a chest skeleton point so as to determine the target orientation of the chest skeleton point;
determining torso rotation information according to the target orientation of the chest skeleton point and an initial orientation of the chest skeleton point; and
determining first rotation information of the plurality of torso skeleton points according to the torso rotation information.
|