US2006274070A1PendingUtilityA1

Techniques and workflows for computer graphics animation system

Individually held — no corporate assignee on recordPriority: Apr 19, 2005Filed: Apr 17, 2006Published: Dec 7, 2006
Est. expiryApr 19, 2025(expired)· nominal 20-yr term from priority
G06T 13/20G06T 2200/24G06T 13/40A63F 2300/66A63F 13/52G06F 3/0481A63F 13/10A63F 13/45
42
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

The disclosed implementations describe techniques and workflows for a computer graphics (CG) animation system. In some implementations, systems and methods are disclosed for representing scene composition and performing underlying computations within a unified generalized expression graph with cycles. Disclosed are natural mechanisms for level-of-detail control, adaptive caching, minimal re-compute, lazy evaluation, predictive computation and progressive refinement. The disclosed implementations provide real-time guarantees for minimum graphics frame rates and support automatic tradeoffs between rendering quality, accuracy and speed. The disclosed implementations also support new workflow paradigms, including layered animation and motion-path manipulation of articulated bodies.

Claims

exact text as granted — not AI-modified
1 . An animation method, comprising: 
 providing a display environment for presentation on a display device;    providing a body for display in the display environment; and    determining a motion path for a first portion of the body relative to a second portion of the body.    
   
   
       2 . The method of  claim 1 , where determining a motion path further comprises: 
 displaying a curve in the display environment that defines the motion path in space over time.    
   
   
       3 . The method of  claim 1 , further comprising: 
 providing a control in the display environment for manipulating the motion path; and    manipulating the motion path in response to a user interaction with the control.    
   
   
       4 . The method of  claim 1 , where the display environment is a three-dimensional space.  
   
   
       5 . The method of  claim 1 , where the display environment is a two-dimensional space.  
   
   
       6 . The method of  claim 1 , where the body is from a group of bodies including articulated bodies, rigid bodies and bodies with one or more deformable surfaces.  
   
   
       7 . The method of  claim 1 , further comprising: 
 receiving input from an input device manipulated by a user while viewing the body in the display environment.    
   
   
       8 . The method of  claim 2 , where manipulating the motion path further comprises: 
 deforming one or more surfaces of the body.    
   
   
       9 . The method of  claim 2 , where displaying a curve further comprises: 
 determining points along the motion path at discreet sample times; and    rendering the points to define the curve through space over time.    
   
   
       10 . The method of  claim 9 , further comprising: 
 rendering the curve using a number of points based at least in part on the speed of the body along the motion path.    
   
   
       11 . The method of  claim 9 , further comprising: 
 automatically rendering the curve to pass through a reference point on the body in response to user input.    
   
   
       12 . The method of  claim 9 , further comprising: 
 dilating the curve about a point in space to improve visibility of the curve in the display environment.    
   
   
       13 . The method of  claim 9 , further comprising: 
 stretching the curve out in time to improve visibility of the curve in the display environment.    
   
   
       14 . The method of  claim 9 , further comprising: 
 rendering the line segments relative to a moving camera view.    
   
   
       15 . The method of  claim 1 , further comprising: 
 displaying one or more portions of the curve in one or more colors to improve visibility of the curve in the display environment.    
   
   
       16 . The method of  claim 1 , further comprising: 
 displaying information along the motion path to indicate rate of movement of the body over a section of the motion path.    
   
   
       17 . The method of  claim 1 , further comprising: 
 displaying information along the motion path to indicate timing and one or more values associated with animation key frames.    
   
   
       18 . The method of  claim 3 , further comprising: 
 rendering ghost geometry along a section of the motion path during interactive manipulation of the motion path.    
   
   
       19 . The method of  claim 1 , further comprising: 
 animating the first portion of the body to follow the motion path.    
   
   
       20 . The method of  claim 19 , further comprising: 
 providing ghost images of the first portion of the body along the motion path during animation.    
   
   
       21 . The method of  claim 19 , further comprising: 
 providing cached data associated with frames of animation over time, where at least some of the cached data is used during animation.    
   
   
       22 . The method of  claim 1 , further comprising: 
 defining the body by an expression graph with cycles.    
   
   
       23 . The method of  claim 22 , further comprising: 
 providing one or more articulated variables for changing values within the expression graph.    
   
   
       24 . An animation method, comprising: 
 providing a display environment for presentation on a display device;    providing a body for display in the display environment;    providing a first motion path for a first portion of the body relative to a second portion of the body;    providing a second motion path for the first portion of the body relative to a second portion of the body; and    providing a mechanism for animating the first portion of the body to follow either the first or second motion path.    
   
   
       25 . The method of  claim 24 , further comprising: 
 associating the first motion path with a first layer; and    associating the second motion path with a second layer.    
   
   
       26 . The method of  claim 25 , further comprising: 
 associating the first and second layers with a class from a group of layer classes including: kinematic, forward dynamic, multipoint dynamic, procedural, sampled and stochastic.    
   
   
       27 . The method of  claim 24 , further comprising: 
 defining the first and second layers as a layer set.    
   
   
       28 . The method of  claim 24 , further comprising: 
 performing one or more operations on the first and second layers in response to user input.    
   
   
       29 . A method of creating expression graphs for an animation system, comprising: 
 providing a graphical user interface;    receiving a first node selection from a plurality of node types;    receiving a second node selection from the plurality of node types;    displaying graphical representations of the selected nodes in the graphical user interface; and    providing a connection mechanism for enabling a user to connect at least one output of the first node with at least one input of the second node to form a graphical structure that represents a unified generalized expression graph with cycles.    
   
   
       30 . The method of  claim 29 , where at least some of the node types are templates.  
   
   
       31 . The method of  claim 29 , where the expression includes one or more conditions.  
   
   
       32 . The method of  claim 29 , further comprising: 
 providing an expression language for entering mathematical expressions into an input of one or more of the first and second nodes.    
   
   
       33 . The method of  claim 29 , where at least one of the first and second nodes is associated with a cache structure for storing one or more values for various discrete sample times.  
   
   
       34 . The method of  claim 29 , where at least one of the first and second nodes is configurable to broadcast a value on a named channel which can be received by one or more receiver nodes.  
   
   
       35 . The method of  claim 29 , where at least one of the first and second nodes is configurable to solve kinematic problems.  
   
   
       36 . The method of  claim 29 , where a user can specify either the first node or the second node as a root node.  
   
   
       37 . The method of  claim 29 , where the graphical structure is a hierarchy which is configurable to allow data to flow bi-directionally through the hierarchy.  
   
   
       38 . A method of creating an expression graph for an animation system, comprising: 
 providing a text-based programming language for specifying expression graphs for an animation system;    executing a program developed with the programming language to generate an expression graph; and    animating a body in a display environment using the expression graph.    
   
   
       39 . An animation method, comprising: 
 providing a display environment for presentation on a display device;    providing a first body for display in the display environment;    providing a second body for display in the display environment; and    determining a motion path for a portion of the first body relative to the second body.    
   
   
       40 . An animation method, comprising: 
 providing a display environment for presentation on a display device;    providing a body for display in the display environment; and    determining a motion path for a portion of the body relative to a coordinate system associated with the display environment.    
   
   
       41 . An animation method, comprising: 
 providing a display environment for presentation on a display device;    providing a body for display in the display environment;    evaluating an expression graph associated with the body at a first rate;    processing body geometry at a second rate; and    rendering the body in the display environment at a third rate, where the first and second rates are decoupled from the third rate.    
   
   
       42 . A computer-readable medium having stored thereon instructions which, when executed by a processor, causes the processor to perform the operations of: 
 providing a display environment for presentation on a display device;    providing a body for display in the display environment; and    determining a motion path for a first portion of the body relative to a second portion of the body.    
   
   
       43 . A computer-readable medium having stored thereon instructions which, when executed by a processor, causes the processor to perform the operations of: 
 providing a display environment for presentation on a display device;    providing a body for display in the display environment;    providing a first motion path for a first portion of the body relative to a second portion of the body;    providing a second motion path for the first portion of the body relative to a second portion of the body; and    providing a mechanism for animating the first portion of the body to follow either the first or second motion path.    
   
   
       44 . A computer-readable medium having stored thereon instructions which, when executed by a processor, causes the processor to perform the operations of: 
 providing a display environment for presentation on a display device;    providing a body for display in the display environment;    providing a first motion path for a first portion of the body relative to a second portion of the body;    providing a second motion path for the first portion of the body relative to a second portion of the body; and    providing a mechanism for animating the first portion of the body to follow either the first or second motion path.    
   
   
       45 . A computer-readable medium having stored thereon instructions which, when executed by a processor, causes the processor to perform the operations of: 
 providing a display environment for presentation on a display device;    providing a first body for display in the display environment;    providing a second body for display in the display environment; and    determining a motion path for a portion of the first body relative to the second body.    
   
   
       46 . A computer-readable medium having stored thereon instructions which, when executed by a processor, causes the processor to perform the operations of: 
 providing a display environment for presentation on a display device;    providing a body for display in the display environment; and    determining a motion path for a portion of the body relative to a coordinate system associated with the display environment.    
   
   
       47 . A computer-readable medium having stored thereon instructions which, when executed by a processor, causes the processor to perform the operations of: 
 providing a display environment for presentation on a display device;    providing a body for display in the display environment;    evaluating an expression graph associated with the body at a first rate;    processing body geometry at a second rate; and    rendering the body in the display environment at a third rate, where the first and second rates are decoupled from the third rate.

Join the waitlist — get patent alerts

Track US2006274070A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.