Patent attributes
A computer implemented method and a computer system for animating parts of a virtual object in a virtual world, accesses joint data for each joint of a chain of joints associated with parts of a virtual object, joint data including length data defining a vector length for a vector from the joint to a next joint, the length data corresponding to a length of a part in the virtual world; accesses data for a target curve for use in defining possible target locations for the joints of the parts of the virtual object, and retrieves or estimates a length of the curve; and processes the joint data to determine a total length of the vectors for the joints of the chain using the length data for the vectors; to determine scaled vectors by determining a scaled length for the vector for each joint of the chain based on the length of the curve and the total length of the vectors for the joints of the chain; to fit the scaled vectors for the joints of the chain to the curve by rotating the scaled vectors, with a first joint in the chain fitted to a start point on the curve and the last joint in the chain fitted at or near an end point on the curve; rescale the scaled vector for each joint of the chain to have the vector length; to set the first joint in the chain to the start point on the curve; and to determine locations for the joints by rotating the vectors to fit the last joint in the chain to the end point of the curve and to determine the locations of intermediate joints by distributing vector rotations for the intermediate joints among the vectors.