An Interactive System for 3D Hairstyles
Total Page:16
File Type:pdf, Size:1020Kb
A Rotor Platform Assisted System for 3D Hairstyles Chia-Ying Lee, Wei-Ru Chen, Eugenia Leu*, Ming Ouhyoung Dept. of Computer Science and Information Engineering, National Taiwan University, Taiwan {carollee, wrchen, ming}@cmlab.csie.ntu.edu.tw *[email protected] Figure 1: By interactively editing hair, various realistic hairstyles can be created. ABSTRACT Various models which have been developed aiming at photo-realistic 3D hair. However, CG This paper presents an interactive system for creating methods nowadays can only produce limited hairdos, natural looking 3D hairstyles, by which users can cut, and will take a lot of styling time if traditional tools comb and perm the hair model and generate realistic are used. hair images. The system contains three stages: modeling, styling and rendering. In the first phrase, We want to propose a sound basis for the system produces a physical hair model using a creating realistic looking hairstyles. Our goal is an cantilever beam simulation with collision detection. interactive system, by which users can cut, comb and Then the styling phrase is a hair editing process, perm the hair model and output realistic and performing styling operations to change the lengths, convincing hair images. In this paper, we only deal positions and curvatures of hair strands. Seven with static hair and leave out hair dynamics and operations are developed for styling. A special animation. hardware rotor platform is developed to aid the hair cut process, so that manipulation by two hands that 1.1 PREVIOUS WORK simulate the real styling is made possible. Users can interact with tools and create various convincing Previous hair simulation work can be divided into hairstyles. Our system together with the rotor two categories: explicit and implicit hair models. platform increases the ease of hairstyling 60% time Explicit hair models simulate the physical properties saving and can render natural hair images with of hair and consider the shape and dynamics of each shadow and back-lighting effects. hair strand or a wisp. The basic concepts of implicit hair models are inspired from some techniques such Keywords Hairstyle, virtual hair modeling, hair as fluid flow or volumetric rendering. These styling, collision detection, 3D characters. approaches model hair shape by mathematical functions and offer no geometric definition of individual hairs. 1 INTRODUCTION Thalmann et al presented a survey paper The computer graphic community constantly holds a [Thalm00a], which discuss the advantages and special interest in virtual humans. How to create disadvantages of many approaches. In the explicit realistic-looking hair is one of the most challenging model category, Anjyo [Anjyo92a] simplified each topics. Three typical problems need to be solved for hair as a linearly connected point set and simulated hair simulation: hair modeling, hair dynamics, and hair dynamics using the cantilever beam deformation hair rendering. Many research efforts have been technique. Watanable and Suenaga [Watan89a, devoted to each of these issues. Hair simulation is Watan89b] introduce a wisp-based model, defining a difficult for three reasons: wisp as a group of hairs. Daldegan [Dalde93a] proposed an integrated system dealing with four 1. Huge number of hair strands. problems of the explicit hair model: hair modeling, 2. Complex light effects among hairs. hair motion, collision detection and hair rendering. 3. The fine volume of each individual hair. The second category is implicit hair 3.1 PHYSICAL HAIR MODELS modeling. Some researchers used the volumetric After loading a 3D head model, we first define where approach [Perli89a, Kajiy89a]. Perlin [Perli89a] et al the hair area is. This is done manually with the introduced “Hypertexture” and Kajiya [Kajiy89a] assistance of OpenGL selection functionality. The extended it to tile onto complex geometry. Kajiya hair area is divided into ten regions. used this approach and rendered a realistic furry teddy bear. But the volumetric approach can usually deal with short hair like fur. Hadap et al [Hadap00a] proposed a new styling method based on fluid flow, which models hair shapes as streamlines of fluid flow. 2 SYSTEM OVERVIEW Our system focuses on two goals: the first is the ability to create various convincing hairstyles easily. The second goal is to render photo-real hair images. The process of making a hairstyle in the physical world provides a reference frame for designing our system pipeline. The whole process can be divided into three stages: hair modeling, hair styling, and hair rendering. In an integrated system [Dalde93a], hair styling is part of hair modeling and lacks of flexibility. There are many advantages to let hair styling be an independent phase. Firstly, it makes Figure 2: The hair modeling pipeline. styling process independent from modeling and rendering. This brings more flexibility to each stage. Secondly, styling methods can be developed freely. Next, we define the growth map on the hair There are many possible methods that can be area. The system defines pores on polygons based on innovated and applied. two parameters: the pore density and the wisp size. The result forms the growth map. Then, the hair Based on the system’s purposes, there are growth directions are assigned to give an initial some requirements we have to satisfy. As an orientation to each hair polygon. The modeling interactive system, the efficiency of the styling stage procedure pipeline is shown in Fig. 2. must be close to real-time. And a user-friendly user interface (UI) should be taken into consideration, thus bring in the introduction of a rotor-platform based 3.2 CANTILEVER BEAM SIMULATION interactive system. The natural shape of a hair strand is a downward 3D curve. We adopt Anjyo’s method [Anjyo92a] to 3 HAIR MODELING simulate the bending of the strand under the influence of gravity. Hair strands are treated as cantilever The purpose of hair modeling is to produce a simple beams, each of which consists of several segments and ordinary hairstyle. Based on this hair model, we with equal interval lengths. The details of the can apply styling operations in the second stage. For cantilever beam simulation are described in a 3D human head model, the modeling procedures [Anjyo92a]. need to be carried out just once. For the convenience of description, let us 3.3 THE WISP MODEL clear up some terminology here: a hair strand means an individual hair. One strand consists of a point set The hair wisp concept was introduced by Watanabe which represents the 3D path of one hair. We denote and Suenaga [Watan92a]. It is based on a naturally the points as hair nodes. In a 3D head model, the occurring phenomenon: hairs tend to form clumps polygons with hair attached are hair polygons. due to adhesive/cohesive forces, especially when hair gets wet or becomes oily. But the wisp model not To get a smooth hair curve, we adopt only produces effects such as hair clumping; the Cardinal splines to represent hair strands in the model can also reduce the number of hair strands that rendering stage. Cardinal spline passes all it’s control need to be processed. Without any reduction, styling points. This feature make it suitable in our case. would be difficult and time consuming. The model requires three parameters as input, and the influence modeling stage and the styling stage. of parameters is shown in Fig. 3. Parameters: 1: Wisp size: the number of hair strands per wisp. 2: Clump-degree: the distance the hair strand moves from its original position toward key hair / radius of wisp. 3: Clump-rate: the distance from pore to where hair starts to clump / the length of wisp. (a) (b) (c) Each pore belongs to one wisp, and each Figure 4: (a) Original position; (b) One hair node is wisp has a key hair in the center. Key hairs represent moved inside the model; (c) After collision detection, the overall shape of the hairs in the wisp. The hair the hair node is moved out. model would thus not be controlled by editing hair strands directly, but by key hairs. 4 HAIR STYLING A person’s hairstyle is a consequence of many physical factors and his own hair properties. If we want to create a hairstyle realistically, the styling stage should contain artificial operations to change the position of hair nodes. For the purpose, two issues (a) (b) have to be considered: 1. The algorithms are suitable Figure 3: The wisp with wisp size = 64 and clump- for styling. 2. Styling operations need to be efficient degree –1 (a) and 1 (b). and easy to control. To achieve our purpose, we assume there is Because a braid is made of three bundles of a pseudo force field in the 3D space. When we hairs, we introduce the cluster concept into our model. perform a styling operation, there will be an influence A cluster actually indicates one of the three bundles vector added to hair nodes’ coordinates. of a braid. It may contain many wisps, and we should select one wisp’s key hair to be the cluster’s key hair. To take a user-friendly UI into consideration, In a certain cluster, we make the key hairs of all we find it far easier to use this system with a rotor wisps follow the direction of the cluster’s key hair. platform than by a 2D mouse. With the assistance of 3D trackers and a rotor platform, users can make 3.4 COLLISION DETECTION hairdos in the 3D way like real hairdressers. Collision detection and response are important considerations in hair dynamics simulation. Even in a 4.1 STYLING OPERATIONS static situation, hair-body collision avoidance should The styling operations change the lengths, also be supported to prevent hair strands from orientations and curvatures of hair strands.