IP Library Granted Patent US 8,648,864
Granted Patent B2
US 8,648,864 · App. 12/175,420 · Granted Feb 11, 2014

System and method for blended animation enabling an animated character to aim at any arbitrary point in a virtual space

Inventor: Steven Thomas Wrinch (Vancouver, CA)
Assignee: Disney Enterprises, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,648,864
App. No.
12/175,420
Granted
Feb 11, 2014
Kind
B2
Abstract

A method for blended animation by providing a set of animation sequences associated with an animated character model is disclosed. In one embodiment, a geometric representation of a blend space is generated from the set of animation sequences using locator nodes associated with each animation sequence. A subset of animation sequences is selected from the set of animation sequences by casting a ray from a reference bone to a target through the geometric representation and selecting animation sequences that are geometrically close to the intersection of the cast ray and the geometric representation. A blend weight is determined for each member animation sequence in the selected subset of animation sequences. A blended animation is generated using the selected subset of animation sequences and the blend weights, then rendered to create a final animation.

Claims (54)

1. A computer-implemented method of blended animation in an animation environment, wherein the method is implemented in a computer comprising one or more processors configured to perform operations of the method, the method comprising:

providing a set of pre-rendered animation sequences associated with an animated character model;

generating a geometric representation of a blend space from the set of pre-rendered animation sequences;

selecting a subset of pre-rendered animation sequences from the set of pre-rendered animation sequences;

determining a blend weight for each member pre-rendered animation sequence in the selected subset of pre-rendered animation sequences; and

generating a blended animation using the selected subset of pre-rendered animation sequences and the blend weights such that during display of the blended animation, all of the selected subset of pre-rendered animations are displayed concomitantly, and weighted in accordance with the blend weights.

2. The method of claim 1 , wherein providing a set of pre-rendered animation sequences comprises generating a plurality of pre-rendered animation sequences and associating a locator node with each of the plurality of pre-rendered animation sequences.

3. The method of claim 2 , wherein the locator node comprises a point in space that is an approximation of an aim point or contact point for the associated pre-rendered animation sequence.

4. The method of claim 1 , wherein the animated character model comprises a plurality of bones and wherein generating a geometric representation comprises:

choosing a reference bone from the bones in the animated character model;

generating a three-dimensional shape radiating from the chosen reference bone;

drawing a ray from each locator node to a surface of the three-dimensional shape, wherein each ray intersects a surface of the three-dimensional shape at a point; and

generating a three-dimensional convex hull comprising a plurality of polygons, the polygons having vertices at the intersection points of the rays and the three-dimensional shape, wherein the three dimensional convex hull represents a blend space of the animation set.

5. The method of claim 4 , wherein the three-dimensional shape is a sphere.

6. The method of claim 4 , wherein the polygons are triangles.

7. The method of claim 4 , wherein each vertex of a polygon is associated with one pre-rendered animation sequence in the animation set.

8. The method of claim 4 , wherein selecting a subset of pre-rendered animation sequences comprises:

identifying a location of a target in the animation environment;

casting a ray from the reference bone to the target and passing through the convex hull;

determining a polygon that is intersected by the ray cast from the reference bone to the target; and

selecting the pre-rendered animation sequences associated with the vertices of the intersected polygon as the subset of pre-rendered animation sequences.

9. The method of claim 8 , wherein generating a blend weight comprises:

computing a barycentric coordinate for each vertex of the intersected polygon and the intersection point between the ray cast from the reference bone to the target; and

determining a blend weight for each pre-rendered animation sequence using the barycentric coordinate.

10. The method of claim 9 , further comprising computing the square of each barycentric coordinate of a particular vertex as the blend weight for the pre-rendered animation sequence associated with the particular vertex.

11. An animation control system, comprising:

a storage;

a set of pre-rendered animation sequences associated with an animated character model stored in the storage;

one or more processors in data communication with the storage wherein the one or more processors are configured to:

generate a geometric representation of a blend space;

select a subset of pre-rendered sequence from the set of pre-rendered animation sequences;

determine a blend weight for each member pre-rendered animation sequence in the selected subset of pre-rendered animation sequences; and

generate a blended pre-rendered animation using the selected subset of pre-rendered animation sequences and the blend weights such that during display of the blended animation, all of the selected subset of pre-rendered animations are displayed concomitantly, and weighted in accordance with the blend weights.

12. The animation control system of claim 11 , wherein the set of pre-rendered animation sequences comprises a plurality of pre-rendered animation sequences wherein each pre-rendered animation sequence is associated with a locator node.

13. The animation control system of claim 12 , wherein the locator node comprises a point in space that is an approximation of an aim point or contact point for the associated pre-rendered animation sequence.

14. The animation control system of claim 11 , wherein the processor is further configured to:

choose a reference bone in the animated character model;

generate a three-dimensional shape radiating from the chosen reference bone;

draw a ray from each locator node to a surface of the three-dimensional shape, wherein each ray intersects a surface of the three-dimensional shape at a point; and

generate a three-dimensional convex hull comprising a plurality of polygons, the polygons having vertices at the intersection points of the rays and the three-dimensional shape, where the three dimensional convex hull represents a blend space of the animation set.

15. The animation control system of claim 14 , wherein the three-dimensional shape is a sphere.

16. The animation control system of claim 14 , wherein the polygons are triangles.

17. The animation control system of claim 14 , wherein each vertex of a polygon is associated with one pre-rendered animation sequence in the animation set.

18. The animation control system of claim 14 , wherein the processor is further configured to:

identify a location of a target;

cast a ray from the reference bone to the target and passing through the convex hull;

determine a polygon that is intersected by the ray cast from the reference bone to the target; and

select the pre-rendered animation sequences associated with the vertices of the intersected polygon as the subset of pre-rendered animation sequences.

19. The animation control system of claim 18 , wherein the processor is further configured to:

compute a barycentric coordinate for each vertex of the intersected polygon and the intersection point between the ray cast from the reference bone to the target; and

determine a blend weight for each pre-rendered animation sequence using the barycentric coordinate.

20. The animation control system of claim 19 , wherein the processor is further configured to compute the square of each barycentric coordinate of a particular vertex as the blend weight for the pre-rendered animation sequence associated with the particular vertex.

21. A non-transient electronic storage medium having stored therein a model of an animated character wherein the model comprises a plurality of pre-rendered animation sequences, wherein each pre-rendered animation sequence is associated with a locator node indicating a point in space that is an approximation of where in space, with respect to an anchor point, the pre-rendered animation sequence is aiming.

22. The storage medium of claim 21 , wherein the model further comprises a skeletal structure and the locator node is implemented as an auxiliary bone in the skeletal structure.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2008
From: WRINCH, STEVEN THOMAS
To: DISNEY ENTERPRISES, INC.
Reel/Frame 021604/0712 →
Continuity (2)
Provisional Application 61026405 · Feb 5, 2008
Related Publication 20090195544A1 · Aug 6, 2009