Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of generating a target animation of a virtual object, the target animation comprising a blend of two or more animations from a plurality of predetermined animations, the blend comprising a weighted combination of the two or more animations based on respective blend weights for the two or more animations, the method comprising: receiving an input identifying a first point, specifying the target animation, in a control parameter space, the control parameter space comprising one or more predetermined groupings of predetermined points, wherein each predetermined grouping corresponds to a respective portion of the control parameter space and each predetermined point corresponds either to a respective one of the two or more animations or a respective blend of the two or more animations, wherein there are one or more predetermined properties for animations of the virtual object and wherein each predetermined point further defines a corresponding value for at least one of the predetermined properties; determining that the first point is situated outside of the respective portions of the control parameter space; identifying a particular predetermined grouping that corresponds to a portion closest to the first point; identifying the two or more animations via one or more predetermined points, in the particular predetermined grouping, that correspond to the two or more animations; projecting the first point onto a surface of the portion closest to the first point; identifying a projected point in the particular predetermined grouping that corresponds to the portion closest to the first point; using a predetermined displacement function to determine, based on the projected point, a corresponding second point in the particular predetermined grouping that corresponds to the portion closest to the first point; and determining a barycentric coordinate for the second point, the barycentric coordinate being defined relative to one or more of the predetermined points in the control parameter space, wherein the blend weights for the two or more animations are based on the barycentric coordinate for the second point.
2. The method of claim 1 , comprising: determining a barycentric coordinate for the first point, the first barycentric coordinate being defined relative to the predetermined points in the control parameter space; wherein said predetermined displacement function determines the second point using the barycentric coordinate of the first point.
3. The method of claim 1 , wherein the displacement function corresponds to one of: a displacement field and a vector field.
4. The method of claim 1 , wherein the predetermined displacement function comprises receiving data identifying the first point and to generate output comprising a displacement corresponding to the first point, wherein said second point is the first point displaced by the displacement.
5. The method of claim 1 , wherein the predetermined function is used to generate an animation of the virtual object according to the blend weights for the two or more animations that are based on the barycentric coordinate of the second point defined relative to the predetermined points that is substantially the same as the first point.
6. The method of claim 5 , wherein generating the animation further comprises: using blend weights for the two or more animations that are based on a barycentric coordinate of the first point defined relative to predetermined points substantially different from the first point.
7. The method of claim 1 , further comprising: blending the two or more animations according to respective blend weights based on a barycentric coordinate of a given predetermined point in the control parameter space, and wherein the second point compensates for non-linearities introduced by the blending.
8. The method of claim 1 , wherein projecting the first point onto the surface of the portion closet to the first point comprises: linearly projecting the first point towards one of the predetermined points in the particular predetermined grouping that corresponds to the portion closest to the first point.
9. The method of claim 8 , wherein: for each predetermined grouping there are one or more corresponding predetermined displacement functions; and the displacement function used to determine the second point is a predetermined displacement function associated with the particular predetermined grouping that corresponds to the portion closest to the first point.
10. The method of claim 9 , wherein the displacement function used to determine the second point is selected based on a predetermined point, included in the particular predetermined grouping, towards which the first point is projected.
11. A computer system, comprising: a processor; a memory device holding at least one instruction set executable on the processor to cause the computer system to perform operations for generating a target animation of a virtual object, the target animation comprising a blend of two or more animations from a plurality of predetermined animations, the blend comprising a weighted combination of the two or more animations based on respective blend weights for the two or more animations, the operations comprising: receiving an input identifying a first point, specifying the target animation, in a control parameter space, the control parameter space comprising one or more predetermined groupings of predetermined points, wherein each predetermined grouping corresponds to a respective portion of the control parameter space and each predetermined point corresponds either to a respective one of the two or more animations or a respective blend of the two or more animations, wherein there are one or more predetermined properties for animations of the virtual object and wherein each predetermined point further defines a corresponding value for at least one of the predetermined properties; determining that the first point is situated outside of the respective portions of the control parameter space; identifying a particular predetermined grouping that corresponds to a portion closest to the first point; identifying the two or more animations via one or more predetermined points, in the particular predetermined grouping, that correspond to the two or more animations; projecting the first point onto a surface of the portion closest to the first point; identifying a projected point in the particular predetermined grouping that corresponds to the portion closest to the first point; using a predetermined displacement function to determine, based on the projected point, a corresponding second point in the particular predetermined grouping that corresponds to the portion closest to the first point; and determining a barycentric coordinate for the second point, the barycentric coordinate being defined relative to one or more of the predetermined points in the control parameter space, wherein the blend weights for the two or more animations are based on the barycentric coordinate for the second point.
12. The computer system of claim 11 , the operations comprising: determining a barycentric coordinate for the first point, the first barycentric coordinate being defined relative to the predetermined points in the control parameter space; wherein said predetermined displacement function determines the second point using the barycentric coordinate of the first point.
13. The computer system of claim 11 , wherein the displacement function corresponds to one of: a displacement field and a vector field.
14. The computer system of claim 11 , wherein the predetermined displacement function comprises at least one operation for receiving data identifying the first point and to generate output comprising a displacement corresponding to the first point, wherein said second point is the first point displaced by the displacement.
15. The computer system of claim 11 , wherein the predetermined function comprises at least one operation used to generate an animation of the virtual object according to the blend weights for the two or more animations that are based on the barycentric coordinate of the second point defined relative to the predetermined points that is substantially the same as the first point.
16. The computer system of claim 15 , wherein generating the animation further comprises at least one operation for: using blend weights for the two or more animations that are based on a barycentric coordinate of the first point defined relative to predetermined points substantially different from the first point.
17. The computer system of claim 11 , the operations further comprising: blending the two or more animations according to respective blend weights based on a barycentric coordinate of a given predetermined point in the control parameter space, and wherein the second point compensates for non- linearities introduced by the blending.
18. The computer system of claim 11 , wherein projecting the first point onto the surface of the portion closest to the first point comprises at least one operation for: linearly projecting the first point towards one of the predetermined points in the particular predetermined grouping that corresponds to the portion closest to the first point.
19. The computer system of claim 18 , wherein: for each predetermined grouping there are one or more corresponding predetermined displacement functions; and the displacement function used to determine the second point is a predetermined displacement function associated with the particular predetermined grouping that corresponds to the portion closest to the first point.
20. The computer system of claim 19 , wherein the displacement function used to determine the second point is selected based on a predetermined point, included in the particular predetermined grouping, towards which the first point is projected.
21. A non-transitory computer-readable medium storing executable instructions thereon, which, when executed by a processor, cause the processor to perform operations for generating a target animation of a virtual object, the target animation comprising a blend of two or more animations from a plurality of predetermined animations, the blend comprising a weighted combination of the two or more animations based on respective blend weights for the two or more animations, the operations including: receiving an input identifying a first point, specifying the target animation, in a control parameter space, the control parameter space comprising one or more predetermined groupings of predetermined points, wherein each predetermined grouping corresponds to a respective portion of the control parameter space and each predetermined point corresponds either to a respective one of the two or more animations or a respective blend of the two or more animations, wherein there are one or more predetermined properties for animations of the virtual object and wherein each predetermined point further defines a corresponding value for at least one of the predetermined properties; determining that the first point is situated outside of the respective portions of the control parameter space; identifying a particular predetermined grouping that corresponds to a portion closest to the first point; identifying the two or more animations via one or more predetermined points, in the particular predetermined grouping, that correspond to the two or more animations; projecting the first point onto a surface of the portion closest to the first point; identifying a projected point in the particular predetermined grouping that corresponds to the portion closest to the first point; using a predetermined displacement function to determine, based on the projected point, a corresponding second point in the particular predetermined grouping that corresponds to the portion closest to the first point; and determining a barycentric coordinate for the second point, the barycentric coordinate being defined relative to one or more of the predetermined points in the control parameter space, wherein the blend weights for the two or more animations are based on the barycentric coordinate for the second point.
22. The computer-readable medium of claim 21 , the operations comprising: determining a barycentric coordinate for the first point, the first barycentric coordinate being defined relative to the predetermined points in the control parameter space; wherein said predetermined displacement function determines the second point using the barycentric coordinate of the first point.
23. The computer-readable medium of claim 21 , wherein the displacement function corresponds to one of: a displacement field and a vector field.
24. The computer-readable medium of claim 21 , wherein the predetermined displacement function comprises at least one operation for receiving data identifying the first point and to generate output comprising a displacement corresponding to the first point, wherein said second point is the first point displaced by the displacement.
25. The computer-readable medium of claim 21 , wherein the predetermined function comprises at least one operation used to generate an animation of the virtual object according to the blend weights for the two or more animations that are based on the barycentric coordinate of the second point defined relative to the predetermined points that is substantially the same as the first point.
26. The computer-readable medium of claim 25 , wherein generating the animation further comprises at least one operation for: using blend weights for the two or more animations that are based on a barycentric coordinate of the first point defined relative to predetermined points substantially different from the first point.
27. The computer-readable medium of claim 21 , the operations further comprising: blending the two or more animations according to respective blend weights based on a barycentric coordinate of a given predetermined point in the control parameter space, and wherein the second point compensates for non- linearities introduced by the blending.
28. The computer-readable medium of claim 21 , wherein projecting the first point onto the surface of the portion closest to the first point comprises at least one operation for: linearly projecting the first point towards one of the predetermined points in the particular predetermined grouping that corresponds to the portion closest to the first point.
29. The computer-readable medium of claim 28 , wherein: for each predetermined grouping there are one or more corresponding predetermined displacement functions; and the displacement function used to determine the second point is a predetermined displacement function associated with the particular predetermined grouping that corresponds to the portion closest to the first point.
30. The computer-readable medium of claim 29 , wherein the displacement function used to determine the second point is selected based on a predetermined point, included in the particular predetermined grouping, towards which the first point is projected.
Unknown
May 16, 2017
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.