Interactive motion data animation system
First Claim
1. A method for animating a character figure in a video image memory responsive to stored motion data, said character figure being represented in said memory as having a first plurality of joints and a plurality of links coupled between respective pairs of said first plurality of joints, said plurality of links representing respective limbs of said character figure, said method further responsive to an input goal to animate said character subject to at least one constraint, said method comprising:
- storing a representation of each of said first plurality of joints in said memory;
storing a representation of each of said plurality of links in said memory;
storing a representation of the respective positions of said first plurality of joints and said plurality of links in said memory;
computing, responsive to said stored motion data, a first set of motions derived from said stored motion data for each of said first plurality of joints respectively;
computing, responsive to said input goal, a second set of motions subject to said constraint for each of said first plurality of joints respectively;
combining said first set of motions with said second set of motions to form a combined set motions;
modifying said stored representation of the positions of said first plurality of joints and said plurality of links in said memory using said combined set of motions; and
rendering said stored representation of said links as the limbs of said character figure in said video image memory.
2 Assignments
0 Petitions
Accused Products
Abstract
Recorded motion data is combined with interactive control techniques to manipulate the animation of articulated figures. The methods enable computer animated characters to produce fully interactive goal-directed behaviors, such as bipedal walking, through simultaneous satisfaction of position, alignment, posture, balance, obstacle avoidance, and joint limitation constraints while retaining qualitative characteristics of the original non-interactive motion data. Goal-based motion primitives, called synergies, are used to coordinate sets of joint movements that attempt to satisfy each of the above constraints. Non-interactive motion capture and keyframe data, representing examples of desired character movements, are accommodated in the present animation system in three ways: 1) direct approach--non-interactive motion data used directly to specify desired body posture synergy goals as a function of time, 2) hybrid approach--non-interactive motion data and program control commands blended to specify elements of desired position, alignment and/or balance synergy goals as a function of time, and 3) template approach--non-interactive motion data used to auto-tune adjustable parameters, enabling program control commands to generate fully interactive movements that qualitatively resemble the non-interactive motion data. The disclosed methods allow libraries of pre-configured goal-directed behaviors, such as reaching, sitting, walking, jumping, etc., to be constructed and used to animate a wide variety of characters.
-
Citations
42 Claims
-
1. A method for animating a character figure in a video image memory responsive to stored motion data, said character figure being represented in said memory as having a first plurality of joints and a plurality of links coupled between respective pairs of said first plurality of joints, said plurality of links representing respective limbs of said character figure, said method further responsive to an input goal to animate said character subject to at least one constraint, said method comprising:
-
storing a representation of each of said first plurality of joints in said memory; storing a representation of each of said plurality of links in said memory; storing a representation of the respective positions of said first plurality of joints and said plurality of links in said memory; computing, responsive to said stored motion data, a first set of motions derived from said stored motion data for each of said first plurality of joints respectively; computing, responsive to said input goal, a second set of motions subject to said constraint for each of said first plurality of joints respectively; combining said first set of motions with said second set of motions to form a combined set motions; modifying said stored representation of the positions of said first plurality of joints and said plurality of links in said memory using said combined set of motions; and rendering said stored representation of said links as the limbs of said character figure in said video image memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. In an interactive method for animating a character figure in a video image memory responsive to stored motion data, said character figure being represented in said memory as having a first plurality of joints and a plurality of links coupled between respective pairs of said first plurality of joints, said plurality of links representing respective limbs of said character figure, said method further responsive to an input goal to animate said character subject to at least one constraint, wherein said interactive method for animating said character figure has at least one adjustable motion parameter, a method for adjusting said adjustable motion parameter in accordance with said stored data, said method comprising:
-
calculating a value of said adjustable motion parameter from said stored motion data; using said calculated value of said adjustable motion parameter in said interactive method for animating a character figure to generate interactive motion data; comparing said stored motion data to said interactive motion data; quantifying the error between said stored motion data and said interactive motion data; comparing said error to a predetermined error value; and modifying said calculated value of said adjustable motion parameter if said error is greater than said predetermined error value; whereby said adjustable motion parameter is adjusted in accordance with said stored motion data. - View Dependent Claims (11, 12, 13)
-
-
14. In an interactive method for animating a character figure in a video image memory responsive to stored motion data, said character figure being represented in said memory as having a first plurality of joints and a plurality of links coupled between respective pairs of said first plurality of joints, said plurality of links representing respect limbs of said character figure, said method further responsive to an input goal to animate said character subject to at least one constraint, wherein said interactive method for animating said character figure has at least one adjustable motion parameter, a method for adjusting said adjustable motion parameter in accordance with said stored data, said method comprising:
-
calculating stored motion joint angle commands from said stored motion data; determining a stored input goal from said stored motion data; generating interactive motion data using said stored input goal in said interactive method, wherein said interactive method uses at least one synergy, wherein a synergy is a process which produces a set of interactive joint angle movements subject to said constraint, which interactive joint angle movements attempt to satisfy said stored input goal; calculating the error between said stored motion joint angle commands and said interactive joint angle commands; comparing said error to a predetermined error value; and modifying at least one parameter of said interactive method if said error is greater than said predetermined error value; whereby said parameter of said interactive method is adjusted in accordance with said stored motion data. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
-
22. An apparatus for animating a character figure in a video image memory responsive to stored motion data, said character figure being represented in said memory as having a first plurality of joints and a plurality of links coupled between respective pairs of said first plurality of joints, said plurality of links representing respective limbs of said character figure, said apparatus further responsive to an input goal to animate said character subject to at least one constraint, said apparatus comprising:
-
means for storing a representation of each of said first plurality of joints in said memory; means for storing a representation of each of said plurality of links in said memory; means for storing a representation of the respective positions of said first plurality of joints and said plurality of links in said memory; means for computing, responsive to said stored motion data, a first set of motions derived from said stored motion data for each of said first plurality of joints respectively; means for computing, responsive to said input goal, a second set of motions subject to said constraint for each of said first plurality of joints respectively; means for combining said first set of motions with said second set of motions to form a combined set motions; means for modifying said stored representation of the positions of said first plurality of joints and said plurality of links in said memory using said combined set of motions; and means for rendering said stored representation of said links as the limbs of said character figure in said video image memory. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. In an interactive apparatus for animating a character figure in a video image memory responsive to stored motion data, said character figure being represented in said memory as having a first plurality of joints and a plurality of links coupled between respective pairs of said first plurality of joints, said plurality of links representing respective limbs of said character figure, said apparatus further responsive to an input goal to animate said character subject to at least one constraint, wherein said interactive apparatus for animating said character figure has at least one adjustable motion parameter, an apparatus for adjusting said adjustable motion parameter in accordance with said stored data, said apparatus comprising:
-
means for calculating a value of said adjustable motion parameter from said stored motion data; means for using said calculated value of said adjustable motion parameter in said interactive apparatus for animating a character figure to generate interactive motion data; means for comparing said stored motion data to said interactive motion data; means for quantifying the error between said stored motion data and said interactive motion data; means for comparing said error to a predetermined error value; and means for modifying said calculated value of said adjustable motion parameter if said error is greater than said predetermined error value; whereby said adjustable motion parameter is adjusted in accordance with said stored motion data. - View Dependent Claims (32, 33, 34)
-
-
35. In an interactive apparatus for animating a character figure in a video image memory responsive to stored motion data, said character figure being represented in said memory as having a first plurality of joints and a plurality of links coupled between respective pairs of said first plurality of joints, said plurality of links representing respective limbs of said character figure, said apparatus further responsive to an input goal to animate said character subject to at least one constraint, wherein said interactive apparatus for animating said character figure has at least one adjustable motion parameter, an apparatus for adjusting said adjustable motion parameter in accordance with said stored data, said apparatus comprising:
-
means for calculating stored motion joint angle commands from said stored motion data; means for determining a stored input goal from said stored motion data; means for generating interactive motion data using said stored input goal in said interactive apparatus, wherein said interactive apparatus uses at least one synergy, wherein a synergy is a process which produces a set of interactive joint angle movements subject to said constraint, which interactive joint angle movements attempt to satisfy said stored input goal; means for calculating the error between said stored motion joint angle commands and said interactive joint angle commands; means for comparing said error to a predetermined error value; and means for modifying at least one parameter of said interactive apparatus if said error is greater than said predetermined error value; whereby said parameter of said interactive apparatus is adjusted in accordance with said stored motion data. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42)
-
Specification