1. Field
This disclosure generally relates to computer graphics. More particularly, the disclosure relates to animation in computer graphics.
2. General Background
Conventional animation involves utilizing key frames to provide an indication of how an object should be animated. For each individual movement between key frames, equations are typically programmed to generate conventional animation.
Accordingly, to create natural human motions, conventional animation involves numerous and often complex equations in between key frames as a typical conventional computer animation involves many key frames. Programming such equations for so many key frames is often too burdensome and complex to provide practical conventional animation with natural human motions.
In one aspect of the disclosure, a computer program product is provided. The computer program product includes a computer useable medium having a computer readable program. The computer readable program when executed on a computer causes the computer to receive, at an animation authoring component, an inputted movement of an object displayed in a graphical user interface. Further, the computer readable program when executed on the computer causes the computer to determine, at a physics animation rule engine, a physics generated movement of the object that results from a set of physics animation rules being applied to the inputted movement. In addition, the computer readable program when executed on the computer causes the computer to display, at the graphical user interface, the physics generated movement of the object in addition to the inputted movement of the object. The computer readable program when executed on the computer also causes the computer to record, at the animation authoring component, the physics generated movement of the object in addition to the inputted movement of the object.
In another aspect of the disclosure, a process is provided. The process receives, at an animation authoring component, an inputted movement of an object displayed in a graphical user interface. Further, the process determines, at a physics animation rule engine, a physics generated movement of the object that results from a set of physics animation rules being applied to the inputted movement. In addition, the process displays, at the graphical user interface, the physics generated movement of the object in addition to the inputted movement of the object. The process also records, at the animation authoring component, the physics generated movement of the object in addition to the inputted movement of the object.
In yet another aspect of the disclosure, a system is provided. The system includes an animation authoring component that receives an inputted movement of an object and records the inputted movement of the object in addition to a physics generated movement of the object. Further, the system includes a physics animation rule engine that determines the physics generated movement of the object that results from the set of physics animation rules being applied to the inputted movement. In addition, the system includes a graphical user interface that displays the physics generated movement of the object in addition to the inputted movement of the object.
The above-mentioned features of the present disclosure will become more apparent with reference to the following description taken in conjunction with the accompanying drawings wherein like reference numerals denote like elements and in which:
For example,
Further,
In addition,
A physics rules animation method, system, and computer program product are provided to allow a user to create an animation. The animation reflects natural real life motions as defined by a set of physics rules in physics animation rules engine. In other words, a user may input a movement for an object in a GUI and an additional movement may result based on the set of physics rules. For example, if a user utilizing an animation authoring component picks up a soccer ball from the ground displayed in the GUI and lets go of the soccer ball in the air, the physics engine will cause the soccer ball to fall to the ground and bounce to reflect gravity. In contrast, a conventional animation system would typically just leave the soccer ball in the air unless the author also inputted numerous and complex equations that mapped the specific movements of the ball.
The configurations provided for herein allow a user to create animations in a more intuitive manner. For example, by utilizing an input device, a user may move a character around a screen. Animation may then be created from the user's movement of the character and the user's interaction with objects in the screen. Further, those interactions are realistic interactions resulting from the set of physics rules. A user can expect to see a similar interaction between a character and an object to that of a real world interaction. In addition, in one embodiment, the visual feedback is performed in real-time. As a result, the real world perception of the animation is further enhanced.
In one embodiment, the user may customize the set of physics rules. In other words, the user may select certain physics rules to include and certain physics rules to exclude. For example, the user may include a gravitational physics rule, but may not include an inertia physics rule. In another embodiment, the user may, additionally or alternatively, customize one or more parameters for one or more of the physics rules. As an example, a user may customize the strength or weakness of various forces.
The physics rules are not limited the examples provided herein. For example, other physics rules such as density, friction, restitution, and collision detection may be utilized.
Further, other configurations than those illustrated that implement the physics rules may be utilized. For example, a display of a car driving up a ramp, jumping, and having a collision with another car may utilize the physics rules. As another example, an object with a fixed position such as a wheel may be spun according to the physics rules. As yet another example, a display of a swing may be provided in accordance with the physics rules. As another example, a display of a side view of a bowling game may be provided in accordance with the physics rules. The physics rules may also be applied to displays of more complex motions such as the wheels of a locomotive.
The Input/Output (“I/O”) devices 502 can be coupled directly to the system configuration 500 or through intervening input/output controllers. Further, the I/O devices 502 may include a keyboard, a keypad, a mouse, a microphone for capturing speech commands, a pointing device, and other user input devices that will be recognized by one of ordinary skill in the art. Further, the I/O devices 502 may include output devices such as a printer, display screen, or the like. Further, the I/O devices 502 may include a receiver, transmitter, speaker, display, image capture sensor, biometric sensor, etc. In addition, the I/O devices 502 may include storage devices such as a tape drive, floppy drive, hard disk drive, compact disk (“CD”) drive, etc.
Network adapters may also be coupled to the system configuration 500 to enable the system configuration 500 to become coupled to other systems, remote printers, or storage devices through intervening private or public networks. Modems, cable modems, and Ethernet cards are just a few of the currently available types of network adapters.
Accordingly, the user may artistically draw in a pinball format. For example, the user may move the ball around with paint on that ball so that the ball paints on the virtual canvas. The physics objects may have different bounce values, which generate different paths for the virtual brush.
In yet another embodiment, the movement of the objects may be performed by movement of the device on which the GUI is displayed. For example, device sensor input such as an accelerometer in a smartphone or tablet may sense the motion that the user is making with the device. The physics rules may then be applied to the user's motions with respect to the device. For example, a visual depiction of a coin displayed on the GUI of a table device may slide off the GUI if the user rotates the tablet device.
Any of the configurations described herein may be utilized with various input methods other than device sensor input. The input methods may include mouse cursor input, touch input, multi-touch input, etc. With respect to multi-touch input, multiple objects may be moved at the same. Multiple users may also potentially move multiple objects at the same time with multi-touch input.
The processes described herein may be implemented in a general, multi-purpose or single purpose processor. Such a processor will execute instructions, either at the assembly, compiled or machine-level, to perform the processes. Those instructions can be written by one of ordinary skill in the art following the description of the figures corresponding to the processes and stored or transmitted on a computer readable medium. The instructions may also be created using source code or any other known computer-aided design tool. A computer readable medium may be any medium capable of carrying those instructions and include a CD-ROM, DVD, magnetic or other optical disc, tape, silicon memory (e.g., removable, non-removable, volatile or non-volatile), packetized or non-packetized data through wireline or wireless transmissions locally or remotely through a network. A computer is herein intended to include any device that has a general, multi-purpose or single purpose processor as described above.
It should be understood that the processes and systems described herein can take the form of entirely hardware embodiments, entirely software embodiments, or embodiments containing both hardware and software elements. If software is utilized to implement the method or system, the software can include but is not limited to firmware, resident software, microcode, etc.
It is understood that the processes and systems described herein may also be applied in other types of processes and systems. Those skilled in the art will appreciate that the various adaptations and modifications of the embodiments of the processes and systems described herein may be configured without departing from the scope and spirit of the present processes, systems, and computer program products. Therefore, it is to be understood that, within the scope of the appended claims, the present processes, systems, and computer program products may be practiced other than as specifically described herein.
| Number | Name | Date | Kind |
|---|---|---|---|
| 5124693 | Himelstein et al. | Jun 1992 | A |
| 5301267 | Hassett et al. | Apr 1994 | A |
| 5499366 | Rosenberg et al. | Mar 1996 | A |
| 5577170 | Karow | Nov 1996 | A |
| 5684510 | Brassell et al. | Nov 1997 | A |
| 5715473 | Reed | Feb 1998 | A |
| 5771042 | Santos-Gomez | Jun 1998 | A |
| 5872566 | Bates et al. | Feb 1999 | A |
| 5930408 | Seto | Jul 1999 | A |
| 5943050 | Bullock et al. | Aug 1999 | A |
| 5956736 | Hanson et al. | Sep 1999 | A |
| 6005967 | Nakagawa et al. | Dec 1999 | A |
| RE36704 | Parker et al. | May 2000 | E |
| 6377240 | Baudel et al. | Apr 2002 | B1 |
| 6469709 | Sakai | Oct 2002 | B1 |
| 6678410 | Phinney et al. | Jan 2004 | B1 |
| 6828971 | Uesaki et al. | Dec 2004 | B2 |
| 6959112 | Wagman | Oct 2005 | B1 |
| 7034845 | Perry et al. | Apr 2006 | B2 |
| 7058903 | Jonach et al. | Jun 2006 | B1 |
| 7136067 | Stamm et al. | Nov 2006 | B2 |
| 7222306 | Kaasila et al. | May 2007 | B2 |
| 7236174 | Stamm et al. | Jun 2007 | B2 |
| 7292249 | Stamm et al. | Nov 2007 | B2 |
| 7437683 | Beezer et al. | Oct 2008 | B1 |
| 7583267 | Stamm et al. | Sep 2009 | B2 |
| 7594174 | Truelove et al. | Sep 2009 | B2 |
| 7684619 | Sprang et al. | Mar 2010 | B2 |
| 7769819 | Lerman et al. | Aug 2010 | B2 |
| 8223165 | Jitkoff et al. | Jul 2012 | B1 |
| 8269736 | Wilairat | Sep 2012 | B2 |
| 8386956 | Ording et al. | Feb 2013 | B2 |
| 8416243 | Plummer | Apr 2013 | B2 |
| 8471856 | Stamm et al. | Jun 2013 | B2 |
| 20020051007 | Kitagawa et al. | May 2002 | A1 |
| 20020085018 | Chien | Jul 2002 | A1 |
| 20030038797 | Vazzana | Feb 2003 | A1 |
| 20040066393 | Cragun | Apr 2004 | A1 |
| 20040177323 | Kaasila et al. | Sep 2004 | A1 |
| 20040183817 | Kaasila | Sep 2004 | A1 |
| 20050012755 | Dresevic et al. | Jan 2005 | A1 |
| 20050062758 | Kaasila et al. | Mar 2005 | A1 |
| 20050162430 | Stamm et al. | Jul 2005 | A1 |
| 20050168476 | Levene et al. | Aug 2005 | A1 |
| 20050188309 | Tasker et al. | Aug 2005 | A1 |
| 20050190187 | Salesin et al. | Sep 2005 | A1 |
| 20050237342 | Stamm et al. | Oct 2005 | A1 |
| 20060017733 | Matskewich et al. | Jan 2006 | A1 |
| 20060022956 | Lengeling | Feb 2006 | A1 |
| 20060114258 | Stamm et al. | Jun 2006 | A1 |
| 20070070071 | Terazono et al. | Mar 2007 | A1 |
| 20070097128 | Lim | May 2007 | A1 |
| 20070106929 | Foster et al. | May 2007 | A1 |
| 20070139413 | Stamm et al. | Jun 2007 | A1 |
| 20070139415 | Stamm et al. | Jun 2007 | A1 |
| 20070157097 | Peters | Jul 2007 | A1 |
| 20070188497 | Dowling et al. | Aug 2007 | A1 |
| 20070189708 | Lerman et al. | Aug 2007 | A1 |
| 20070216689 | Stamm et al. | Sep 2007 | A1 |
| 20070240057 | Satterfield et al. | Oct 2007 | A1 |
| 20070266319 | Matsuo | Nov 2007 | A1 |
| 20070266335 | Zielinski et al. | Nov 2007 | A1 |
| 20070268273 | Westerman et al. | Nov 2007 | A1 |
| 20070273668 | Park et al. | Nov 2007 | A1 |
| 20080012862 | Duggan et al. | Jan 2008 | A1 |
| 20080034317 | Fard et al. | Feb 2008 | A1 |
| 20080097621 | Tasker et al. | Apr 2008 | A1 |
| 20080165193 | Stamm et al. | Jul 2008 | A1 |
| 20080229238 | Young | Sep 2008 | A1 |
| 20080238922 | Rhodes et al. | Oct 2008 | A1 |
| 20080294974 | Nurmi et al. | Nov 2008 | A1 |
| 20090184980 | Mansfield | Jul 2009 | A1 |
| 20090288043 | Willis | Nov 2009 | A1 |
| 20090295826 | Good et al. | Dec 2009 | A1 |
| 20090303178 | Koda et al. | Dec 2009 | A1 |
| 20100056221 | Park | Mar 2010 | A1 |
| 20100058228 | Park | Mar 2010 | A1 |
| 20100088632 | Knowles et al. | Apr 2010 | A1 |
| 20100162151 | Class et al. | Jun 2010 | A1 |
| 20100214257 | Wussler et al. | Aug 2010 | A1 |
| 20100271404 | Marr | Oct 2010 | A1 |
| 20100278504 | Lyons et al. | Nov 2010 | A1 |
| 20100313154 | Choi et al. | Dec 2010 | A1 |
| 20100318908 | Neuman et al. | Dec 2010 | A1 |
| 20110025719 | Yanase | Feb 2011 | A1 |
| 20110069085 | Weber et al. | Mar 2011 | A1 |
| 20110072344 | Harris et al. | Mar 2011 | A1 |
| 20110116769 | Suglyama et al. | May 2011 | A1 |
| 20110167349 | Samra et al. | Jul 2011 | A1 |
| 20110181521 | Reid et al. | Jul 2011 | A1 |
| 20110197124 | Garaventa | Aug 2011 | A1 |
| 20110197153 | King et al. | Aug 2011 | A1 |
| 20110246916 | Leskelä et al. | Oct 2011 | A1 |
| 20110302532 | Missig | Dec 2011 | A1 |
| 20110314424 | Gusmorino et al. | Dec 2011 | A1 |
| 20120017153 | Matsuda et al. | Jan 2012 | A1 |
| 20120017163 | Ragan | Jan 2012 | A1 |
| 20120042272 | Hong et al. | Feb 2012 | A1 |
| 20120092340 | Sarnoff et al. | Apr 2012 | A1 |
| 20120110438 | Peraza et al. | May 2012 | A1 |
| 20120198330 | Koppel et al. | Aug 2012 | A1 |
| 20120210222 | Matsuda et al. | Aug 2012 | A1 |
| 20120313865 | Pearce | Dec 2012 | A1 |
| 20130097502 | Langmacher et al. | Apr 2013 | A1 |
| 20130127867 | Tijssen et al. | May 2013 | A1 |
| 20130127910 | Tijssen et al. | May 2013 | A1 |
| 20130132878 | Tijssen | May 2013 | A1 |
| 20130132888 | Tijssen | May 2013 | A1 |
| 20130132907 | Kukulski et al. | May 2013 | A1 |
| 20130145268 | Kukulski | Jun 2013 | A1 |
| 20130145270 | Piran et al. | Jun 2013 | A1 |
| Entry |
|---|
| “Non-Final Office Action”, U.S. Appl. No. 13/039,023, (Jul. 9, 2013),19 pages. |
| “Non-Final Office Action”, U.S. Appl. No. 13/309,924, (Mar. 1, 2013), 19 pages. |
| “Non-Final Office Action”, U.S. Appl. No. 13/225,203, (Apr. 12, 2013), 12 pages. |
| “Final Office Action”, U.S. Appl. No. 13/225,203, (Aug. 29, 2013),10 pages. |
| “Non-Final Office Action”, U.S. Appl. No. 12/893,669, (Sep. 12, 2013),14 pages. |
| “Canvas Tips and Techniques: Creating a Presentation in Canvas”, available at <http://www.adeptscience.co.uk/products/dataanal/canvas/tutorials/presentation.pdf>, (2002), 9 pages. |
| “Surface by Microsoft, Pre-Order the New Windows Tablet”, retrieved from <http://www.microsoft.com/surface/en-US> on Oct. 17, 2012, 5 pages. |
| “The Photo Finishes Corel Draw X4 Suite”, retrieved from <http://thephotofinishes.com/coreldx4.htm> on Oct. 11, 2010, 8 pages. |
| Bain, Steve “Cool Tricks with Paragraph Text in CorelDRAW”, retrieved from <http://mc.corel.com/servlet/Satellite?c=Content—C1&cid=1158342655543&lc=en&pagename=CorelCom%2FLayout> on Jun. 18, 2010, (2010), 8 pages. |
| “Final Office Action”, U.S. Appl. No. 13/309,924, Sep. 25, 2013, 17 pages. |
| “Final Office Action”, U.S. Appl. No. 13/039,023, Oct. 11, 2013, 22 pages. |
| “Fontlab Fontographer 5”, Fontlab, Ltd., Jun. 2010, 525 pages. |
| “Non-Final Office Action”, U.S. Appl. No. 13/339,367, Dec. 26, 2013, 21 pages. |
| “Non-Final Office Action”, U.S. Appl. No. 12/901,799, Sep. 16, 2013, 22 pages. |
| “Adobe PostScript”, Available at <http://www.signwarehouse.com/tech-support/manuals/Laser%20Master.pdf>, 2006, 181 pages. |
| “Final Office Action”, U.S. Appl. No. 12/901,799, Feb. 7, 2014, 23 pages. |
| “Non-Final Office Action”, U.S. Appl. No. 12/893,669, Apr. 21, 2014, 15 pages. |
| “Non-Final Office Action”, U.S. Appl. No. 13/038,871, Mar. 18, 2014, 14 pages. |
| “Non-Final Office Action”, U.S. Appl. No. 13/039,023, Jan. 31, 2014, 33 pages. |
| “Non-Final Office Action”, U.S. Appl. No. 13/225,203, Mar. 20, 2014, 12 pages. |
| “TrueType 1.0 Font Files”, Technical Specification, Revision 1.66, Aug. 1995, 408 pages. |
| “Non-Final Office Action”, U.S. Appl. No. 13/309,924, Jul. 3, 2014, 14 pages. |
| “Final Office Action”, U.S. Appl. No. 13/339,367, Jul. 3, 2014, 19 pages. |
| “Final Office Action”, U.S. Appl. No. 13/039,023, Jul. 3, 2014, 43 pages. |
| “Final Office Action”, U.S. Appl. No. 13/038,871, Aug. 6, 2014, 14 pages. |
| Number | Date | Country | |
|---|---|---|---|
| 20130127878 A1 | May 2013 | US |