- Number
- 9665966
- Published
- 2017-05-30
- Filed
- 2006-12-01
- Assignee
- LUCASFILM ENTERTAINMENT COMPANY LTD.
- Inventors
- Criswell; Brice, Cooper; Karin, Hatch; Don, Tooley; James Robert
- CPC
- G06T13/20
- Verdict
- Low Notable software
- Source
- Google Patents · FreePatentsOnline
The keeper's note
Represents and manages connections between objects in a physics simulation by identifying source and target connection points.
Abstract
Representing a connection between objects in a simulation includes identifying, on a source object to be used in a simulation process, a source point that is available for creating a connection to another object. On a target object, a target point is identified for use in creating the connection. At least one of the source object and the target object is a rigid object. A spring element having respective ends at the source point and the target point is created, and at least one property thereof is set. A system includes an animation module, anda simulation module that performs a simulation process involving creating, and setting a property of, a spring element having respective ends at a source point on the source object and a target point on the target object.
Background
DESCRIPTION OF DRAWINGS(1) FIG. 1 is an example sketch illustrating a rigid simulation rig of a computer graphics character.(2) FIG. 2 illustrates an example of the creation of spring elements between a source object and a target object.(3) FIG. 3 illustrates the interaction between various libraries and software modules for animating the simulation rig of FIG. 1.(4) FIGS. 4A-B are flow charts of exemplary operations that can be performed to attach and detach contact forces in the simulation rig of FIG. 1.(5) FIG. 5 is a class diagram illustrating a relationship between a dynamic simulation library and a simulation class library.(6) FIG. 6 is a class diagram illustrating a relationship between the dynamic simulation library and a stiction simulation class library.(7) FIG. 7 is a block diagram of a computing system that can be used in connection with computer-implemented methods described in this document.(8) Like reference symbols in the various drawings indicate like elements.DETAILED DESCRIPTION(9) FIG. 1 is an example sketch illustrating a rigid simulation rig of a computer graphics character 100. In particular, the character 100 illustrated here is a portion of the Davy Jones character from the movie “Pirates of the Caribbean 2: Dead Man's Chest.” The Davy Jones character 100 includes a head 102, a body 103 (only partially shown), and a beard104 having several “tentacles” designed to look like the tentacles of an octopus. The head 102 and/or the body 103 may be animated
Claims
1. A computer-implemented method forrepresenting a connection between a source object and a target object in a simulation, the method comprising, for each of a plurality of time steps of the simulation: tracking, bya computer system, a distance between the source object and the target object, wherein the source object and the target object are both visible objects in a rendered scene; determining, by the computer system, that a distance between the source object and the target object at a first time is not within a first distance, wherein: a spring element between thesource object and the target object does not exist at the first time; and the distance between the source object and the target object at the first time is within a second distance; determining, by the computer system, that a distance between the source object and the target object at a second time is within the first distance, the second time being after the first time; responsive at least to determining that the distance between the source object and the target object at the second time is within the first distance identifying, by the computer system, on the source object, a source point that is available for creating the connection to the target object; identifying, by the computer system, on the target object, a target point that is available for creating the connection to the source object; and creating, by the computer system, the spring element having respective ends at the source point and the target point determining, by the computer system, that a distance between the source object and the target object at a third time is within the second distance, thethird time being after the second time, wherein: the spring element continues to exist atthe third time; and the distance between the source object and the target object at the third time is not within the first distance; determining, by the computer system, that a distance between the source object and the target object at a fourth time is not within the second distance, the fourth time being after the third time; responsive at least to determining that the distance between the source object and the target object at the fourth timeis not within the second distance, deleting, by the computer system, the spring element that forms the connection between the source object and the target object; and simulating forces applied to the source object as a result of the spring element being created and deleted during the simulation.
15. A system comprising: one or more processors; one or more memory devices comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: tracking a distance between the source object and the target object, wherein the source object and the target object are both visible objects in a rendered scene; determining that a distance between the source object and the target object at a first time is not within a first distance, wherein: a spring element between the source object and the target object does not exist at the first time; and the distance between the source object and the target object at the first time is within a second distance; determining that a distance between the source object andthe target object at a second time is within the first distance, the second time being after the first time; responsive at least to determining that distance between the source object and the target object at the second time is within the first distance: identifying, on the source object, a source point that is available for creating the connection to the target object; identifying, on the target object, a target point that is available for creating the connection to the source object; and creating the spring element having respective ends at the source point and the target point; determining that a distance between the source object and the target object at a third time is within the second distance, the third time being after the second time, wherein: the spring element continues to exist at the third time; and the distance between the source object and the target object at the third time is not within the first distance; determining that a distance between the source object and the target object at a fourth time is not within the second distance, the fourth time being after the third time; responsive at least to determining that the distance between the source object and the target object at the fourth time is not within the second distance, deleting the spring element that forms the connection between the source object and the target object; and simulating forces applied to the source object as a result of the spring element being created and deleted during the simulation.
21. A computer program product tangibly embodied in a nontransitory computer readable storage device, the computer program product including instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: tracking a distance between the source object and the target object, wherein the source object and the target object are both visible objects in a rendered scene; determining that a distance between the sourceobject and the target object at a first time is not within a first distance, wherein: a spring element between the source object and the target object does not exist at the first time; and the distance between the source object and the target object at the first time is within a second distance; determining that a distance between the source object and the target object at a second time is within the first distance, the second time being after the first time; responsive at least to determining that distance between the source object and the target object at the second time is within the first distance: identifying, on thesource object, a source point that is available for creating the connection to the targetobject; identifying, on the target object, a target point that is available for creating the connection to the source object; and creating the spring element having respective ends at the source point and the target point determining that a distance between the source object and the target object at a third time is within the second distance, the third timebeing after the second time, wherein: the spring element continues to exist at the third time; and the distance between the source object and the target object at the third time is not within the first distance; determining that a distance between the source object andthe target object at a fourth time is not within the second distance, the fourth time being after the third time; responsive at least to determining that the distance between the source object and the target object at the fourth time is not within the second distance, deleting the spring element that forms the connection between the source object and the target object; and simulating forces applied to the source object as a result of the spring element being created and deleted during the simulation.