Accompanying Animations in MPEG Format

   These are accompanying animations to the thesis Believable Automatically Synthesized Motion by Knowledge-Enhanced Motion Transformation by F. Sebastian Grassia

Chapter 5, Chapter 6, Chapter 8

 

Chapter 5: Motion Models

The Four Throw Base Motions

 

 

Chapter 6: Motion Combinations

Check-Watch Segues into Arms-Akimbo (figure 6.2)

Using blending for transition

   This animation shows the transition from check-watch to arms-akimbo that we get by overlapping and blending the final/beginning intervals of the two motions.   Note how the left arm comes down before tucking under the right.

Using Hermite interpolation for transition

   Here is the same sequence of motions, but using Hermite motion curves (spherical Beziers for quaternion motion curves) to interpolate between the release pose of the first motion and the sustain pose of the latter.   The left arm moves more naturally, right into the tuck.

 

Separating Timing from Geometry (figure 6.3)

   This animation shows the timing of the constituent motions cannot be separated from the geometry in a blended transition.   The transition duration is the average of the durations of the overlapped segments.

Using blending for transition

   Here is the same sequence of motions, but using Hermite interpolation and calculating the duration of the transition using our pose-distance-proportional metric (described in section 6.1.3.2)

Using independent transition duration computation

 

Space-Warping for Transitions: Good and Bad

Ah-What?

   This animation shows a segue into the ah-ha gesture, whose entrance motion contains many high frequencies.   In this version, the transition was computed by hermite interpolation, thus losing the high frequencies; the result is a robotic, lethargic gesture.

Ah-Ha!

   Here is the same sequence of motions, but computing the transition geometry by space-warping the prototype transition.   The gesture now has its original snap.

Warping produces extraneous motion here

   On the left we see a situation in which warping a prototype transition produces artifacts.   The two segued reaches' targets are very close to each other.   However, the prototype transition for the second reach has a strong outward-reaching component (since it starts from a neutral pose).   When we warp its starting pose to the terminal pose of the previous reach, it still makes an outward motion, even though it doesn't need to and shouldn't.   On the right we see that interpolating the ending and starting poses works better.

Hermite pose interpolation looks better

 

Some Examples of Layering

   In this animation, the actor makes a broad jump, and then reaches for something off to his right-hand side. As he is rising from the jump recovery, however, he also checks his watch simultaneously. We achieve this by segueing jump-both-feet into reach, while also layering a check-watch off of the jump-both-feet.

Bored already?

   Here is a more subtle use of layering.   The main action consists of a jump followed by a foot-shuffle to pivot around a bit, then another jump to the final destination.   During the foot-shuffle, however, the actor looks at his feet.   We would prefer him to gaze at his next landing spot in anticipation of the jump, so we have layered a peer on top of the foot-shuffle.

Watch where you're going!

 

Hold vs. Pause+Layering

look-segue.mpg (1.5M)

look-hold.mpg (1.5M)

look-pause.mpg (1.5M)

   This is a demonstration of several ways in which we can combine motions. All three animations above consist of the same three actions: a sequence of two jumps, with a "look over the shoulder" in-between when the actor hears a noise behind him. On the left is the default segue we get from simply chaining the three motions together. In the middle, we have specified that the peer action should try to hold the pose it began in, subject to achieving its own goals (i.e. gazing at the specified target). On the right, we have instead paused the first jump just before it segues into the second jump, and layered the peer on top of it during the pause. The motion here is less muted than that of the hold, and we have more combinatorial freedom, since we can pause the underlying motion at any time (whereas with the hold we must terminate it), and we can layer ad infinitum. However, layered motions must compete for resources with the underlying motion, whereas the hold does not, since it is segueing from the "underlying" motion.

 

 

 

Chapter 8: Results

 

An Animated Scene

   Here is an example of what one can do with Shaker in a short time (under a half hour).   This is a scene from an adventure story or "platform" game. The Hero enters the stage from above, landing on a platform. He surveys his position and his surroundings, and realizes he must jump to the other platform to progress forward.   However (although it is not obvious from this camera angle), the other platform is quite far away - too far to jump.  The Hero notices, however, that he has a brick, which he proceeds to pick up and throw at the platform.  Hitting the platform with a brick was the correct hing to do, and it causes the platform to move closer to the Hero.   The Hero is now able to jump to the other platform; upon doing so he surveys right and left trying to figure out what to do next.  Unimpressed, he shrugs as the scene ends.   The sequence is composed of twelve primitive motion models segued together.

High adventure on platforms

 

High Level Animation Editing

The default animation

   This sequence is the default animation you get from my system if you sequentially compose the actions jump, foot-shuffle, jump, fist-shake, fist-shake.   Use your imagination and picture him making a fist.

A more interesting animation

  This is the result of six simple editing operations, each equivalent to dragging an object in 3-space from one place to another.  The six things changed are starting and landing positions for the first jump, direction in which to shuffle the feet, landing position for the second jump, and the target of his rage for each fist-shake.

 

Changing Styles

   This is a simple sequence of jumps to traverse the three pillars.  Inbetween the jumps, the actor must turn to the right to execute the second jump more naturally.  This is accomplished by inserting a foot-shuffle motion inbetween them.  foot-shuffle can generate both turns and small steps in any direction.

jumping in the default Style

   Here is the same animation, but by performing two menu-selections, we've changed the style of both jumps from my hand-animated style to "spiff-jump", which is more or less me motion captured (some of the data was not usable, so I rotoscoped it with some fill in the blanks).  This causes the animation to change in several subtle ways, including its duration; however, the goals are still satisfied, and all the motions automatically adjust to the changes.

jumping a la Spiff Style

 

Wide Task Domains

reach-throw.mpg

   Here we demonstrate part of the domain of the reach and throw motion models.  We have three actors reaching for three objects, and subsequently throwing them at different targets.  Since we are not modeling articulated hands, the grasp is rather simplistic.   Nevertheless, from ten base motions we can synthesize a plausible reach for practically any target a human could reach,  and from just four base motions (per style) we can plausibly throw at any target (with control over the ballistic trajectory, if desired) out to 15 meters or so. All three variations shown here use the same two motion models (reach and throw).  Things to note: the actors track their targets with their eyes - this behavior is selectable (on by default);  the green fellow throws sidearm while the other two throw overhand (just a style change).

 

Spread-Eagle through Tweaking

   Here is a simple example of what we can do with tweaking.   On the left is an actor performing a simple broad jump in our hand-animated style.  On the right is another actor performing the same jump, but we have placed four warp tweaks on each arm, and three on each leg to achieve a "spread-eagle" jump.

Some simple tweaking