IP Library Granted Patent US 8,941,664
Granted Patent B2
US 8,941,664 · App. 11/944,602 · Granted Jan 27, 2015

System and method for real-time pose-based deformation of character models

Inventor: Jason Dorie (Petaluma, CA)
Assignee: Take Two Interactive Software, Inc.
G06T13/40
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,941,664
App. No.
11/944,602
Granted
Jan 27, 2015
Kind
B2
Abstract

Systems and methods for animating a character model by deforming the character model based on poses. Embodiments may contain a modeling component in which a user may create a character model that contains a rig representing animation controls applied to the model, and geometric/graphic parameters for graphically rendering the model. The user also may create directed graphs that contain nodes representing operations that act on the character model and directional connections representing data flow between nodes. The embodiments may contain a compiling component that convert a directed graph into a sequence of instructions that perform the operations denoted at the nodes. The embodiments provide tools and methods to reduce redundancies in the sequence of instructions producing an optimized version of instruction sequence. The resulting instructions are then convertible into machine code for running on a video game device or loaded into a plug-in of a graphic rendering engine.

Claims (39)

1. A method for animating a graphic character, comprising:

providing a character model associated with controls for animating the character model;

creating a directed graph which includes nodes representing operations that responsive to the controls, act on the character model, and connections each of which represents data flow from a source end to a destination end;

providing the directed graph to a dependency solver, wherein the order of operations is determined; and

compiling via a processor the directed graph into a sequence of instructions that perform the operations represented by the nodes;

wherein the directed graph includes a zero-dependency node that does not depend on any remaining nodes, the dependency solver commencing with the zero-dependency node to determine dependencies of the remaining nodes resulting in a list of the nodes according to the order of operations.

2. The method of claim 1 , further comprising:

generating an optimized version of the sequence of instructions, wherein redundancies in the sequence of instructions are automatically reduced.

3. The method of claim 1 , further comprising:

converting the sequence of instructions into machine executable codes.

4. The method of claim 1 , further comprising:

loading the machine executable codes onto an interpreter residing in a virtual machine.

5. The method of claim 1 , wherein the nodes contain plugs associated with node properties.

6. The method of claim 5 , wherein the plugs are one of three types, wherein the first type is an output plug denoting a computation result for the node, wherein the second type is an input plug required for computing the node result, wherein the third type is an attribute plug representing an attribute value applied to the node.

7. The method of claim 1 , wherein the connection represents transmission of a value from a first end to a second end of the connection.

8. The method of claim 1 , wherein the first end of the connection is any type of plugs or nodes, and the second end of the connection is input plugs, attribute plugs, or nodes.

9. A computer-readable non-transitory medium encoded with a computer program system for animating a graphic character, comprising:

a modeling component configured to provide via at least one processor a character model associated with controls for animating the character model and to create a directed graph which contains nodes representing operations that responsive to the controls, act on the character model, and connections each of which represents data flow from a source end to a destination end;

a dependency solver component configured to determine via at least one processor the order of operations; and

a graph compiler component configured to compile via at least one processor the directed graph into a sequence of instructions that perform the operations represented by the nodes;

wherein the directed graph includes a zero-dependency node that does not depend on any remaining nodes, the dependency solver commencing with the zero-dependency node to determine dependencies of the remaining nodes resulting in a list of the nodes according to the order of operations.

10. The computer-readable non-transitory medium encoded with a computer program system of claim 9 , further comprising:

an optimization component configured to generate an optimized version of the sequence of instructions, wherein redundancies in the sequence of instructions are automatically reduced.

11. The computer-readable non-transitory medium encoded with a computer program system of claim 9 , further comprising:

a code generator component configured to convert the sequence of instructions into machine executable codes.

12. The computer-readable non-transitory medium encoded with a computer program system of claim 9 , further comprising:

a code loader component configured to load the machine executable codes onto an interpreter residing in a virtual machine; and

a graphic rendering component configured to render the deformation of character model based the controls and parameters of the character model.

13. The computer-readable non-transitory medium encoded with a computer program system of claim 9 , wherein the nodes contain plugs associated with node properties.

14. The computer-readable non-transitory medium encoded with a computer program system of claim 9 , wherein the plugs are one of three types, wherein the first type is an output plug denoting a computation result for the node, wherein the second type is an input plug required for computing the node result, wherein the third type is an attribute plug representing an attribute value applied to the node.

15. The computer-readable non-transitory medium encoded with a computer program system of claim 9 , wherein the connection represents transmission of a value from a first end to a second end of the connection.

16. The computer-readable non-transitory medium encoded with a computer program system of claim 15 , wherein the first end of the connection is a plug of the first node and the second end of the connection is a plug of the second node.

17. The computer-readable non-transitory medium encoded with a computer program system of claim 16 , wherein the first end of the connection is any type of plugs or nodes, and the second end of the connection is input plugs, attribute plugs, or nodes.

18. A computer-readable non-transitory medium encoded with instructions configured to be executed by a processor, the instructions which, when executed by the processor, cause the performance of a method for animating a graphic character, comprising:

providing a character model associated with controls for animating the character model;

creating a directed graph which contains nodes representing operations that responsive to the controls, act on the character model, and connections each of which represents data flow from a source end to a destination end;

providing the directed graph to a dependency solver, wherein the order of operations is determined; and

compiling the directed graph into a sequence of instructions that perform the operations represented by the nodes;

wherein the directed graph includes a zero-dependency node that does not depend on any remaining nodes, the dependency solver commencing with the zero-dependency node to determine dependencies of the remaining nodes resulting in a list of the nodes according to the order of operations.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Jul 22, 2020
From: LESLIE BENZIES; DAN HOUSER; SAM HOUSER; ANOTHER GAME COMPANY LP
To: TAKE TWO INTERACTIVE SOFTWARE, INC.
Reel/Frame 053276/0123 →
RELEASE OF SECURITY INTEREST Recorded Feb 14, 2019
From: WELLS FARGO CAPITAL FINANCE, LLC (F/K/A WELLS FARGO FOOTHILL, INC.)
To: TAKE-TWO INTERACTIVE SOFTWARE, INC.
Reel/Frame 048327/0555 →
CONFIRMATION OF SECURITY INTEREST GRANT (PATENTS) Recorded Oct 18, 2011
From: TAKE-TWO INTERACTIVE SOFTWARE, INC.
To: WELLS FARGO CAPITAL FINANCE INC.
Reel/Frame 027083/0001 →
SECURITY AGREEMENT Recorded Mar 23, 2009
From: TAKE TWO INTERACTIVE SOFTWARE, INC.
To: ANOTHER GAME COMPANY LP; HOUSER, SAM; HOUSER, DAN; BENZIES, LESLIE
Reel/Frame 022436/0328 →
Continuity (2)
Provisional Application 60867038 · Nov 22, 2006
Related Publication 20080117216A1 · May 22, 2008