0:13

So the motivation here is, creation

Â of character animation is tedious and difficult.

Â So here's a list of, popular techniques,

Â so Key framing, Motion capture, Physics and Scripting.

Â Keyframe is by the way the most popular technique.

Â So you set key bodies of each time frame.

Â So, as a program we want to address here

Â is the creation of character animation is tedious and difficult.

Â Here are a list of current popular techniques

Â of Key framing, Motion capture, Physics, and Scripting.

Â So by ways the most popular technique is key framing.

Â So you get a character and for each time you place a pose

Â like time zero, this pose, time one, this pose, time two, this pose.

Â So individual key framing.

Â But however, this is very difficult to do.

Â Especially, for now we use to get a smooth animation using this key framing.

Â If you do it poorly, it's like a robotic motion.

Â And the another popular technique is motion capture.

Â You can directly record body motion using the tracking systems.

Â However this one requires special device, special space,

Â and also scale, skilled actors which is difficult.

Â The physics simulation is also used for

Â but not good for designing character animation.

Â And scripting is also used for a robotic

Â motion, like change angle this to change this angle.

Â However, this is not good for expressive character animation.

Â So what we want to do is easily sketch

Â or create, you know dynamic form motions or character.

Â So the basic idea is very simple.

Â We believe that the best, easiest way is to

Â directly manipulate a character in front of the camera.

Â And then press record, and then manipulate, and then

Â stop and play back and do the same thing.

Â So direct recording of performers should be the best way to do it.

Â One problem here is that the typical input device is very limited degree of freedom.

Â So for example, if you use a mouse, you

Â only have X and Y inputs, two dimensional inputs.

Â However, character usually has a high degree of freedom.

Â So each joint has three degrees of

Â rotation freedom, and you have many many joints.

Â So you have to control many joints with single

Â mouse, which can be very difficult for a performance-based recording.

Â So our proposal is to use spatial

Â key-framing, so user or designer first specifies or

Â prepares key poses in the 3D space and

Â then blend them, depending on the control handle.

Â 3:16

So, our process is to directly record a motion.

Â Particularly, if but, if you use one by one, it's very tedious.

Â In this you can only head, arm, or

Â leg, but you cannot manipulate all of them together.

Â So our approach is to use a predefined key frame.

Â So you say, this pose is associated with this

Â position, and then next pause is associated with this position.

Â And then, so you have two key frames.

Â So, standard key frames associate with timeline.

Â But here, key frames are associated with spatial locations.

Â And by clicking you can jump to the key

Â frames and by dragging you can plan these too.

Â So now, you can only control three joints by a single mass.

Â 4:05

An interesting point here, is that you can add more, and more key poses very easily.

Â So, you know have three key poses.

Â And they blend together, and then you get a reasonably interesting motion already.

Â And you can add more, and more operation of

Â key poses, like a kick and kick and so on.

Â All right, let me show you a couple more examples.

Â 4:57

And then another example is this one.

Â So again, each individual coordinates are not so expressive.

Â However, as you start moving them around, you can make him dance like this way.

Â So here you know, your hand motion is directly

Â appears in the character motion, so that the resulting motion is very expressive.

Â So of course, you can let go of this motion: you know, one, two, one, two, mm.

Â 5:47

Okay.

Â Now let me show you a couple more examples.

Â So here is a kicking motion.

Â So you have many, many couple of key poses.

Â And then by dragging this lead ball you can make the

Â teddy bear make a high kick, as well as a low kick.

Â And this is a mushroom, jumping, so you have five or six key bodies

Â and then by directly manipulating that ball you can make this animation.

Â [BLANK_AUDIO]

Â And this is a teddy bear in trouble, I think six key poses.

Â And then, you know, he says no first, and they get idea, and be happy.

Â So, you can make this kind of expressive emotion

Â by using your hand motion integrated into the final.

Â [BLANK_AUDIO]

Â Here this eyeballs also have a separate joint so you can control their rotation.

Â [BLANK_AUDIO]

Â Okay, so let me briefly describe the algorithm to do this.

Â 7:09

So input to this system is handle coordinates.

Â So, you have 2D mouse, and then you

Â control the lead ball position using a mouse.

Â And the output is the orientation of each joint.

Â So, you have many in rotation angles.

Â So, the question here is how to represent orientation angle, rotation joint angle.

Â And there are a couple ways to represent joint angles like euler

Â angles or quaternions but here we use a rotation matrix, so nine elements.

Â Like this way, so each joint has a three by three

Â matrix for these represents also on our axis for each joint.

Â And then what we need to control these nine

Â parameters for each joint depending on the user input.

Â 7:59

So, this joint has suppose we have three special key frames,

Â and then each key frame has this nine parameters for each joint.

Â And then as user specifies the new handle position and then we

Â need to compute three by three matrix for this position for this joint.

Â To do this we basically blend these nearby three key poses.

Â So you won't have to do this.

Â Let's take, we compute interpretation for individual elements

Â or individual entry of these three by three matrix.

Â So this is just a simple skeletal body interpolation and

Â here we use a technique called radial basis function interpolation.

Â So this is a scattered data interpolation using radial basis functions.

Â This is a kind of stand out technique

Â and you can use as a possible interpolation techniques.

Â This is very easy to implement, very easy to use.

Â The idea is very simple.

Â So for a supposed example you have three skeletal bodies with special location.

Â And then for each location, we have a kernel function.

Â Kernel function, and then we eh, compute

Â most appropriate waiting or coefficients for each kernels.

Â And then just by adding them together,

Â you will get a very smooth, interpolating function.

Â And if you want to know more, you can, I

Â recommend you to take out paper by Turk in 2002.

Â So

Â 9:32

after computing this up line, this skeletal body interpolation for individual

Â elements, you have nine elements in a three by three matrix.

Â But unfortunately, if you apply our interpolation independently to these

Â entries in resulting matrix, is not necessarily orthonormal, you know.

Â Rotation matrix needs to be, orthonormal.

Â And also perpendicular to each other and

Â also the directions should be equal to one.

Â So after that we apply orthonomalization operation to

Â these three by three matrix to get this one.

Â I always skip details of this

Â orthonormalization but there's a standard approach.

Â 10:40

So to learn more, original paper

Â was published as Spatial Keyframing for Performance-driven

Â Animation, and if you want to learn

Â more about interpolation by radial basis functions.

Â There's a paper titled Modeling with implicit surfaces that interpolate.

Â Here's an example.

Â So use a space prior positions in 3D space.

Â And then this technique generates a

Â very beautiful smooth surface interpolating these points.

Â And interpolation of 3D angles is popular topic discussion in graphics community.

Â And the popular technique used is Quaternion interpretation.

Â And then I recommend you take a lot of original paper published in SIGGRAPH 85.

Â Thank you.

Â