IP Library Granted Patent US 10,565,768
Granted Patent B2
US 10,565,768 · App. 16/025,767 · Granted Feb 18, 2020

Generating smooth animation sequences

Inventors: Stefano Corazza (San Francisco, CA); Emiliano Gambaretto (San Francisco, CA)
Assignee: Adobe Inc.
G06T13/40G06T2200/16
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 10,565,768
App. No.
16/025,767
Granted
Feb 18, 2020
Kind
B2
Abstract

Systems and methods for generating recommendations for animations to apply to animate 3D characters in accordance with embodiments of the invention are disclosed. One embodiment includes an animation server and a database containing metadata describing a plurality of animations and the compatibility of ordered pairs of the described animations. In addition, the animation server is configured to receive requests for animation recommendations identifying a first animation, generate a recommendation of at least one animation described in the database based upon the first animation, receive a selection of an animation described in the database, and concatenate at least the first animation and the selected animation.

Claims (60)

1. A computer-implemented method of generating sequences of animations comprising:

identifying a first animation for a 3D character;

locating a node on a taxonomy tree that corresponds to the first animation, wherein traversing the taxonomy tree between two adjacent nodes results in a smooth sequence of animations;

traversing the taxonomy tree from the located node to a connected node to identify an additional animation that results in a smooth sequence of animations when added to the first animation; and

concatenating the additional animation to the first animation in an animation sequence.

2. The computer-implemented method of claim 1 , further comprising:

identifying a plurality of nodes connected to the located node;

determining compatibility scores of animations corresponding to the plurality of nodes, the compatibility scores representing a compatibility of the first animation with the animations corresponding to the plurality of nodes; and

ranking the animations corresponding to the plurality of nodes according to the compatibility scores.

3. The computer-implemented method of claim 2 , further comprising:

generating a recommendation list comprising the animations corresponding to the plurality of nodes connected to the located node; and

receiving a selection of the additional animation from the recommendation list.

4. The computer-implemented method of claim 2 , further comprising:

selecting the additional animation based on the additional animation having a highest compatibility score.

5. The computer-implemented method of claim 2 , wherein determining the compatibility scores of the animations corresponding to the plurality of nodes comprises comparing a similarity between a final 3D motion model pose of the 3D character at an end of the first animation and an initial 3D motion model pose at a start of an animation from the animations corresponding to the plurality of nodes.

6. The computer-implemented method of claim 1 , further comprising:

identifying a second animation; and

traversing the taxonomy tree from the located node to a node representing the second animation that passes through the connected node to identify the additional animation that results in a smooth sequence from the first animation to the second animation.

7. An animation server system for providing recommendations for adding animations to a sequence of animations comprising:

at least one processor;

a database containing a taxonomy tree comprising a plurality of nodes representing animations, wherein traversing the taxonomy tree between two adjacent nodes results in a smooth sequence of animations; and

at least one non-transitory computer readable storage medium storing instructions that, when executed by the at least one processor, cause the system to:

identify a first animation for a 3D character;

locate a node on the taxonomy tree that matches the first animation;

traverse the taxonomy tree from the located node to a connected node to identify an additional animation that results in a smooth sequence of animations when added to the first animation; and

concatenate the additional animation to the first animation in an animation sequence.

8. The animation server system of claim 7 , wherein the instructions, when executed by the at least one processor, cause the system to identify the additional animation by identifying animations that have an initial 3D motion model pose that matches a final 3D motion model pose of the 3D character at an end of the first animation.

9. The animation server system of claim 7 , further comprising instructions that, when executed by the at least one processor, cause the system to:

determine compatibility scores for a plurality of animations, the compatibility scores representing a compatibility of the first animation with the plurality of animations; and

rank the plurality of animations according to the compatibility scores.

10. The animation server system of claim 9 , wherein the instructions, when executed by the at least one processor, cause the system to determine the compatibility scores by comparing a similarity between a final 3D motion model pose of the 3D character at an end of the first animation and an initial 3D motion model pose at a start of an animation from the plurality of animations.

11. The animation server system of claim 10 , wherein the instructions, when executed by the at least one processor, cause the system to compare the similarity between the final 3D motion model pose of the 3D character at the end of the first animation and the initial 3D motion model pose at the start of the animation from the plurality of animations using a weighted least squares comparison.

12. The animation server system of claim 7 , further comprising instructions that, when executed by the at least one processor, cause the system to:

identify a second animation; and

traverse the taxonomy tree from the located node to a node representing the second animation that passes through the connected node to identify the additional animation that results in a smooth sequence from the first animation to the second animation.

13. The animation server system of claim 12 , further comprising instructions that, when executed by the at least one processor, cause the system to:

insert the additional animation after the first animation in a concatenated animation sequence; and

insert the second animation in the concatenated animation sequence after the additional animation.

14. The animation server system of claim 7 , further comprising instructions that, when executed by the at least one processor, cause the system to use inverse kinematics based on metadata from the first animation and the additional animation to blend the first animation and the additional animation in the animation sequence.

15. The animation server system of claim 14 , wherein the metadata for the first animation comprises:

information about a start pose and end pose;

a number of frames of the first animation;

a global orientation of the 3D character in a first frame of the first animation;

a global orientation of the 3D character in a last frame of the first animation;

whether the first animation is in place or in motion; and

whether there is any foot planting in the first animation.

16. A non-transitory computer readable storage medium comprising instructions that, when executed by at least one processor, cause a computer system to:

identify a first animation for a 3D character;

locate a node on a taxonomy tree that corresponds to the first animation, wherein traversing the taxonomy tree between two adjacent nodes results in a smooth sequence of animations;

traverse the taxonomy tree from the located node to a connected node to identify an additional animation that results in a smooth sequence of animations when added to the first animation; and

concatenate the additional animation to the first animation in an animation sequence.

17. The non-transitory computer readable storage medium of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the computer system to:

identify a plurality of nodes connected to the located node;

determine compatibility scores of animations corresponding to the plurality of nodes, the compatibility scores representing a compatibility of the first animation with the animations corresponding to the plurality of nodes; and

rank the animations corresponding to the plurality of nodes according to the compatibility scores.

18. The non-transitory computer readable storage medium of claim 17 , further comprising instructions that, when executed by the at least one processor, cause the computer system to:

generate a recommendation list comprising the animations corresponding to the plurality of nodes connected to the located node; and

receive a selection of the additional animation from the recommendation list.

19. The non-transitory computer readable storage medium of claim 17 , further comprising instructions that, when executed by the at least one processor, cause the computer system to select the additional animation based on the additional animation having a highest compatibility score.

20. The non-transitory computer readable storage medium of claim 17 , wherein the instructions, when executed by the at least one processor, cause the computer system to determine the compatibility scores of the animations corresponding to the plurality of nodes comprises comparing a similarity between a final 3D motion model pose of the 3D character at an end of the first animation and an initial 3D motion model pose at a start of an animation from the animations corresponding to the plurality of nodes.

Assignments (3)
CHANGE OF NAME Recorded Nov 30, 2018
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 047688/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2018
From: MIXAMO, INC.
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 046305/0470 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2018
From: CORAZZA, STEFANO; GAMBARETTO, EMILIANO
To: MIXAMO, INC.
Reel/Frame 046295/0541 →
Continuity (3)
Continuation 13555548 · Jul 23, 2012
Provisional Application 61510679 · Jul 22, 2011
Related Publication 20180315231A1 · Nov 1, 2018