• 沒有找到結果。

1.1 Motivation

Character animation has been widely used in real world, especially in games, cartoon, and movie industry. To acquire accurate, realistic, and natural-looking animation data, motion capture is one of the most satisfactory techniques used in recent years. To capture one’s action, a common approach, optic mocap, is to place numbers of sensors on an actor, usually at important joint positions. When the actor performs actions, several calibrated cameras track these sensors to estimate joint positions and orientations. After data cleaning and correction by the artist manually, clean motion data are produced. With motion capture, one may get almost any kind of motion that the actor is able to perform. For instance, it is used to acquire complex martial art motions in most modern fighting games. However, if all of the motion resources are extracted by motion capture, the cost will be expensive, and they require large storage. Furthermore, motion data itself also lack flexibility. So how to enrich the usage of the original captured data becomes a significant issue. And several motion editing approaches has been proposed.

One of the most known approaches to synthesize motions is motion blending. Suppose we have a set of “logically similar” motion data, which means the actor performs the same action. For example, punching motions in the same style but different in attack directions.

Once these motions are time-warped together, a new motion can be constructed by a weight combination of the whole data set. After applying a denser sampling, that is, using more pre-designed weight combination sets to blend more motions and extract their parameters, a parameterized motion space can be established. Users may control the parameter in the space freely to produce desired motions.

Though the method is quite useful, the range of the parameter space is restricted by the quality and quantity of the original motion data. The range of plausible motion we can produce is also limited within the affine summation space. To build a complete shape of parameter space, a well-designed motion capture procedure has to be accomplished, and sufficient motion clips with the same style are also needed. Suppose we want to construct a parameter space for a set of hook-punch motions. The actor’s facing directions have to be the same, and their ready poses have to be as similar as possible. Then, the actor tries to hook-punch toward various direction with the same ready pose in order to enlarge the parameter space. However, the database may not always be “good” enough for us to build desired space. Usually there are defects.

Our goal is to utilize limited motion captured data but create motions that are able to attack a variety of directions and positions. Since we focus on interactive usages, especially in fighting games, the process should be done in real-time. To achieve this purpose, we proposed an example-based method to extend defective parameter space established from imperfect motion data set.

From our observation, we found that a fighting action can be regarded as combination of two behaviors: waist turning from an initial orientation to a proper direction and arm-or-leg attack at a given height. That is, we no longer treat human body as just one single unit. By contrast, we segment a human body into several parts, and apply blending techniques to those parts individually. Given sets of fighting actions, we separate them into different categories according to the body part that performs the attack. So there will be two main types of motions — punching motion and kicking motion. Then, we establish a defective parameter space using these data, and extend it to a possible partial blending space. When a user assigns a desired attack position which is not within the original space, we query two parameters in

the original space. One is used to decide the turning part; the other one is used to decide the attack part. Once we derive the correlations between the two motions, joint orientation adjustments are applied to each body part so as to make the actor hit the desired target as close as possible. The body parts are then spliced together to get the final result — a new motion attacking a position not in the original parameter space. Due to its simple and interactive control, it can be applied to advanced game controls easily. The proposed blending by body parts allows motions to be extrapolated to new expanded region. While the attack region was known in advance, motion prediction is another evident application.

1.2 Overview

When we get a set of sample motions with a similar action but different in direction, and plan to synthesis motions with more various directions, we need to establish an initial parameter space for the full-body sample motions in advance. The parameters are received by interpolation among the sample motions. To get good blending results, we time-align the motions to the same length for action synchronization. The procedure is described in Chapter 3.

After the space is established and extended, a user can assign a position in the extended space to produce a new motion. If it is not in the original space, partial blending is put into practice. Our system will query two parameters in the original space, and apply angular adjustments dependent on the motions they represent. One stands for the orientation movement, the other one is for the attack height. The result motion is then resized in length for proper timing. More detail is described in Chapter 4.

The following graph (Figure 1) shows the whole framework:

Figure 1: Flowchart of the whole framework.

Preprocess Phase:

Motion Parameterization

Runtime Phase:

Motion Tuning Input: Motion Data Sets

Parameter Space of The Motion Set

Output: Result Motion

Users Assign An Attack Position

There are further detailed steps in the preprocess phase and the runtime phase.

Following are two graphs (Figure 2, Figure 3) that show each step in order:

Figure 2: Detailed steps in the preprocess phase.

Figure 3: Detailed steps in the runtime phase.

Calculate frame distances frame by frame between motions

Time-align all motions of the same style

Extract motion parameters and normalize parameter space

Determine attack region

Segment human body into parts

Query parameters in the original parameter space

Multiple angular adjustments

Rearrange motion length

相關文件