# US 2013/0155062 A1 · Looping motion space registration for real-time character animation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0155062 A1
- Document ID: US20130155062A1
- Status: Published application
- Kind: A1
- Application number: 13/768,278
- Filed: 2013-02-15
- Published: 2013-06-20
- Earliest claimed: 2007-08-03
- Assignees: Autodesk, Inc.
- Inventors: Michael GIRARD
- Web page: https://patentgrep.com/patent/US20130155062A1

## CPC

- G06T 13/40: of characters, e.g. humans, animals or virtual beings
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

A method for generating a looping motion space for real-time character animation may include determining a plurality of motion clips to include in the looping motion space and determining a number of motion cycles performed by a character object depicted in each of the plurality of motion clips. A plurality of looping motion clips may be synthesized from the motion clips, where each of the looping motion clips depicts the character object performing an equal number of motion cycles. Additionally, a starting frame of each of the plurality of looping motion clips may be synchronized so that the motion cycles in each of the plurality of looping motion clips are in phase with one another. By rendering an animation sequence using multiple passes through the looping motion space, an animation of the character object performing the motion cycles may be extended for arbitrary length of time.

## Claims

### Claim 1

A method for generating a looping motion space, comprising:
determining a plurality of motion clips to include in the looping motion space based on input from a user input device coupled to a computer system, wherein the plurality of motion clips includes a first motion clip and a second motion clip;
determining a number of motion cycles performed by a character object depicted in each of the plurality of motion clips, wherein a first number of motion cycles performed by the character object in the first motion clip is less than a second number of motion cycles performed by the character object in the second motion clip;
processing each of the first motion clip and the second motion clip to generate a plurality of looping motion clips, wherein each looping motion clip includes the same number of motion cycles bounded by the first number of motion cycles;
synchronizing each of the plurality of looping motion clips so that the motion cycles in each looping motion clip are in phase with one another on a starting frame;
padding each of the plurality of looping motion clips so that the starting frame and an ending frame of each looping motion clip are identical; and
generating a registration curve that temporally and spatially aligns each frame of a particular looping motion clip with a corresponding frame in each of the other looping motion clips.

### Claim 2 (depends on 1)

The method of claim 1, wherein each of the first motion clip and the second motion clip depicts the character object performing a periodic motion.

### Claim 3 (depends on 2)

The method of claim 2, wherein the periodic motion depicts a locomotion action of the character object.

### Claim 4 (depends on 1)

The method of claim 1, further comprising rendering an animation clip of the character object by blending corresponding frames from two of the plurality of looping motion clips to generate frames of a rendered animation clip.

### Claim 5 (depends on 4)

The method of claim 4, wherein a path of the character object through the looping motion space is controlled by a blending weight used to blend corresponding frames from two of the plurality of looping motion clips.

### Claim 6 (depends on 4)

The method of claim 4, wherein the frames of the rendered animation clip are generated in real-time.

### Claim 7 (depends on 4)

The method of claim 4, further comprising transforming the character object depicted in the frames of the rendered animation clip to a world space coordinate system of a graphics scene.

### Claim 8 (depends on 4)

The method of claim 4, further comprising texture mapping the character object depicted in the frames of the rendered animation clip.

### Claim 9 (depends on 4)

The method of claim 4, wherein a rendered animation sequence is generated from multiple passes through the looping motion space.

### Claim 10

A non-transitory computer-readable storage medium storing instructions that when executed by a processor cause the processor to generate a looping motion space, by performing the steps of:
determining a plurality of motion clips to include in the looping motion space based on input from a user input device coupled to a computer system, wherein the plurality of motion clips includes a first motion clip and a second motion clip;
determining a number of motion cycles performed by a character object depicted in each of the plurality of motion clips, wherein a first number of motion cycles performed by the character object in the first motion clip is less than a second number of motion cycles performed by the character object in the second motion clip;
processing each of the first motion clip and the second motion clip to generate a plurality of looping motion clips, wherein each looping motion clip includes the same number of motion cycles bounded by the first number of motion cycles;
synchronizing each of the plurality of looping motion clips so that the motion cycles in each looping motion clip are in phase with one another on a starting frame;
padding each of the plurality of looping motion clips so that the starting frame and an ending frame of each looping motion clip are identical; and
generating a registration curve that temporally and spatially aligns each frame of a particular looping motion clip with a corresponding frame in each of the other looping motion clips.

### Claim 11 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein each of the first motion clip and the second motion clip depicts the character object performing a periodic motion.

### Claim 12 (depends on 11)

The non-transitory computer-readable storage medium of claim 11, wherein the periodic motion depicts a locomotion action of the character object.

### Claim 13 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the steps further comprise rendering an animation clip of the character object by blending corresponding frames from two of the plurality of looping motion clips to generate frames of a rendered animation clip.

### Claim 14 (depends on 13)

The non-transitory computer-readable storage medium of claim 13, wherein a path of the character object through the looping motion space is controlled by a blending weight used to blend corresponding frames from two of the plurality of looping motion clips.

### Claim 15 (depends on 13)

The non-transitory computer-readable storage medium of claim 13, wherein the frames of the rendered animation clip are generated in real-time.

### Claim 16 (depends on 13)

The non-transitory computer-readable storage medium of claim 13, wherein the steps further comprise transforming the character object depicted in the frames of the rendered animation clip to a world space coordinate system of a graphics scene.

### Claim 17 (depends on 13)

The non-transitory computer-readable storage medium of claim 13, wherein the steps further comprise texture mapping the character object depicted in the frames of the rendered animation clip.

### Claim 18 (depends on 13)

The non-transitory computer-readable storage medium of claim 13, wherein a rendered animation sequence is generated from multiple passes through the looping motion space.

### Claim 19

A method for generating a looping motion space, comprising:
selecting a plurality of motion clips to include in the looping motion space; and
invoking a looping motion space generation tool provided by a rendering application, wherein the looping motion space generation tool is configured to:
determine a plurality of motion clips to include in the looping motion space based on input from a user input device coupled to a computer system, wherein the plurality of motion clips includes a first motion clip and a second motion clip;
determine a number of motion cycles performed by a character object depicted in each of the plurality of motion clips, wherein a first number of motion cycles performed by the character object in the first motion clip is less than a second number of motion cycles performed by the character object in the second motion clip;
process each of the first motion clip and the second motion clip to generate a plurality of looping motion clips, wherein each looping motion clip includes the same number of motion cycles bounded by the first number of motion cycles;
synchronize each of the plurality of looping motion clips so that the motion cycles in each looping motion clip are in phase with one another on a starting frame;
pad each of the plurality of looping motion clips so that the starting frame and an ending frame of each looping motion clip are identical; and
generate a registration curve that temporally and spatially aligns each frame of a particular looping motion clip with a corresponding frame in each of the other looping motion clips.

### Claim 20 (depends on 19)

The method of claim 19, wherein the animation application is further configured to render an animation clip of the character object by blending corresponding frames from two of the plurality of looping motion clips to generate frames of a rendered animation clip.

### Claim 21 (depends on 20)

The method of claim 20, wherein a path of the character object through the looping motion space is controlled by a blending weight used to blend corresponding frames from the two looping motion clips.

### Claim 22 (depends on 20)

The method of claim 20, wherein the frames of the rendered animation clip are generated in real-time.

### Claim 23 (depends on 20)

The method of claim 20, wherein the animation application is further configured to transform the character object depicted in the frames of the rendered animation clip to a world space coordinate system of a graphics scene.

### Claim 24 (depends on 20)

The method of claim 20, wherein the animation application is further configured to texture map the character object depicted in the frames of the rendered animation clip.

### Claim 25 (depends on 20)

The method of claim 20, wherein the animation application is further configured to render an animation sequence from multiple passes through the looping motion space.
