Keywords

1 Introduction

Most Japanese animations are created following to the traditional hand-drawn style called “limited animation,” which is a set of techniques for expressing motion using a small number of images [1]. Such products are often called “anime,” and, in this style, the depicted motions of characters and objects are different from the motions predicted by real physics. The motions of characters and objects are depicted in a way specific to limited animation and, as a result, the motions are determined differently from typical computer graphics (CG) motions. A typical example of such an expression is hair motion. The hair of a character is often depicted as a set of bunches, each of which moves according to the style of limited animation.

The purpose of this study is to develop a method that determines the hair motion of CG characters in the style of limited animation. We assume that hair motion is periodic and we formulate the periodic motion of each bunch of hair as a function by observing hand-drawn animes. In addition, we provide a technique to discretize the periodic motion over time so that it is suitable for limited animation.

There are related studies that have tried to reproduce the shape and motion of hair. Sakai et al. [2] reproduced the shape of hair as a three-dimensional (3D) surface model. Yeh et al. [3] developed a method to generate the motion of illustrated hair based on fluid simulation. Our method is suitable for the creation of CG-based animation in which the motion is defined according to style of the limited animation.

2 Proposed Method

The first step is to identify the approach needed to depict hair motion as a set of still pictures used in traditional limited animation. In this study, we assume that the hair motion is periodic and, for simplicity, we assume neither the character nor the camera moves. In the late 1940s, a guideline for depicting periodic hair motion for anime production was presented by Masaoka Kenzo, a creator in the early days of Japanese anime production. Our investigation, conducted using discussion with professional animators and some animation textbooks, shows that most current animes inherit this traditional approach, which mainly consists of two techniques: a hair line is drawn as if a mass of air moves under that line (Fig. 1, left) and periodic motion is depicted by repeatedly applying a few still pictures. The number of pictures is typically between three and eight per cycle.

Fig. 1.
figure 1

Left: example of hair motion in Japanese anime style created by professional animator Shotaro Imai. Right: example of a skeleton model of “Hatsune Miku,” a character created by Crypton Future Media, Inc. (http://www.piapro.net).

The second step is to formulate the hair motion. We assume a given 3D hair model that consists of a set of bunches. Moreover, a skeleton without branches is assigned to each bunch (Fig. 1, right). Our approach is to define the shape of a horizontal hair line as a function of time and position, discretize it in time and space, retrieve rotation angles, and then apply them to the nodes of the 3D skeleton. We define the shape of a horizontal hair line as follows:

$$ f\left( {x,t} \right) = - \frac{a}{s}\left( {\frac{x}{\pi }} \right)^{p} \left( {\cos \left( {\frac{x}{k} - \frac{2\pi }{T}t} \right) + \frac{1}{s}} \right)\quad \left( {0 \le x \le \pi } \right), $$
(1)

where x is the relative distance from the root of the hair line, t is time, and T is the period of hair motion. Parameters a, k, and s respectively determine the amplitude and spatial period of waving hair and the strength of gravity. The remaining parameter p determines the proportions of the wave amplitudes at the root and tip.

The third step is to determine the discretization of (1) in time. We assume that the frame rate of the produced movie is \( N_{\text{FPS}} \), which is typically 24 frames per second. In limited animation, the number of pictures is lower than \( N_{\text{FPS}} \). Hence, one still picture is used for two or three consecutive frames, even if the characters are in motion. Let \( N_{\text{Dup}} \) be the standard number of frames over which a single still picture is duplicated. Note that the number of duplicate frames is typically two or three and changes depending on the scene. In this step, we determine the t at which still pictures are required for the given constants T, \( N_{\text{FPS}} \), and \( N_{\text{Dup}} \).

The given frame rate leads to the fact that \( N_{\text{Frame}} = \left[ {N_{\text{FPS}} T} \right] \) frames are used for one cycle of the periodic hair motion, where the \( \left[ \cdot \right] \) operator denotes rounding to the nearest integer. Such rounding is a requirement for depicting periodic motion by repeatedly using still pictures and, as a result, the period of a produced movie \( N_{\text{Frame}} /N_{\text{FPS}} \) is slightly different from the given period T. In other words, this difference is a requirement of the style of limited animation.

We define the number of still pictures in a cycle as \( N_{\text{Pict}} = N_{\text{Frame}} /N_{\text{Dup}} \), where the \( \left\lceil \cdot \right\rceil \) operation denotes rounding up. This number is determined so that the number of frames to which a still picture is assigned does not exceed the value of standard duplication \( N_{\text{Dup}} \). As a result, a still image is assigned to \( N_{\text{Dup}} \) or \( N_{\text{Dup}} - 1 \) frames. Consequently, we define the interval for the time discretization as \( \Delta t = T/N_{\text{Pict}} \). Finally, we duplicate the former \( N_{\text{Pict}} - K \) pictures \( N_{\text{Dup}} \) times and we duplicate the remaining pictures \( N_{\text{Dup}} - 1 \) times, where \( K = N_{\text{Dup}} N_{\text{Pict}} - N_{\text{Frame}} \). As a result, all the pictures are assigned to \( N_{\text{Frame}} \) frames to depict one cycle of hair motion.

We spatially discretize the shape of hair defined in (1) at each discrete time point, obtain the rotation angles at all the discrete positions, and apply the angles to the nodes of the skeleton to determine the pose corresponding to each still picture. The final movie is given by repeating \( N_{\text{Frame}} \) frames using the \( N_{\text{Pict}} \) pictures rendered according to the above process.

3 Experiment

Figure 2 shows a set of still images produced using our method with \( N_{\text{FPS}} = 24 \), \( N_{\text{Dup}} = 2 \), and \( T = 0.45 \). In this example, we use the model called “Tune-chan,” provided by G-Tune, which has 14 hair bunches. As a result, six pictures are generated to depict a cycle and are assigned to 11 frames. For the error analysis, we defined a skeleton corresponding to a bunch of hair in each scene of some hand-drawn anime products, applied our method to the skeleton, and measured the angular errors and node displacements. Table 1 shows the angular errors and the relative node displacements. In addition, we measured the error between one of the hand-drawn animes and the skeleton obtained using the physics engine provided in MikuMikuDance, a software tool for 3D character animation, to compare the accuracy of our method with that of a physics engine. The average angular error of our method is 11.4° while that of the physics engine is 27.1°. These results indicate that our method provides hair motion that is similar to that of hand-drawn animation and, as far as the above case is concerned, the motion is more accurate than that given by a physics engine in animation software.

Fig. 2.
figure 2

Example of one cycle of hair motion with s = 1.2, k = 1.0, a = 0.8, and T = 0.45. The model “Tune-chan” was provided by G-Tune (http://www.g-tune.jp/campaign/10th/mmd/).

Table 1. Error of generated hair motion

4 Conclusion

We developed a method to produce the anime-like hair motion of a 3D character model with a skeleton when both the character and camera are stationary. We define the motion of a horizontal line as a function of position and time, discretize the motion in time according to the style of limited animation, and apply the node angles to the 3D skeleton to obtain the hair motion of the character.