Simulating and Rendering Wet Hair Wei-Chin Lin, Wei-Kai Liao, Chao-Hua Lee Problem Our Approach Hair and Water Simulating hair dynamics is one of the most challenging tasks in computer animation due to its complexity and required realism. Especially when hair is influenced by visual effect elements such as water and fire. We propose a physically-based model to capture the characteristics of wet hair. Wet hair changes its parameters such as weight and stiffness dynamically. We model a hair strand with a series of rigid bodies connected by joints, and represent the water by a group of particles with variant radius. Hair Water Collision Previous Works A fast cohesion process and a diffusion process are then applied to wet hair at each time step to achieve realistic clumping effects. Cohesion & Diffusion Dual-skeleton system [Ward and Lin 2004] [Ward et al 2007] We also introduce a shading model that produces convincing appearance for wet hair. Physically-based rendering [Gupta and Magnenat-Thalmann 2007] Shading The hair model Particles with randomized radius Dynamics of Wet Hair Hair-Water Collision Wwet Absorbing Water wcurrent = Wdry *(1 + ) *C wmax Force of Particles F = V particle * Fatten F : force applied to the segment Wwet : segment weight with water V particle : the velocity of the colliding particle Fatten : force attenuation Wdry : segment weight without water wcurrent : current wetness wmax : max wetness C Gravity : pre-defined constant When a hair segment collides with water particles, the wetness and the weight of the segment increase. The segment becomes heavier and its stiffness changes after absorbing water. Water-to-hair force F is applied to the segment, which moves toward the direction of the colliding particle. Cohesion Sparse Set of Hair The Cohesion Process Vclump = ( Pcenter - Porg ) * w Vclump : clumping vector Pcenter : the center of the clump Porg : the original position before clumping w : the wetness on the segment Only a subset of hair is selected to perform the cohesion process that simulates the clumping effects. Virtual Sphere for Clumping A virtual sphere with variable radius controlled by the wetness is placed at each joint to represent the affecting space of the clumping force. The radius of the virtual sphere on each joint increases when absorbing water. The clumping force brings the affected joints together when the virtual spheres make collide. As the wetness increases, the virtual spheres become larger and collide with other spheres. The simulation result after cohesion and diffusion processes. Shading Diffusion The Diffusion Process The wetness on each hair segment is used to modify primary highlight, secondary highlight and transmission of the hair shader. Additional parameters are provided to artists for further controlling the degree of wetness. The vertices moved toward the center of the clump after applying the cohesion process. Cdiff Move the neighboring joints on each strand. Apply the process toward next neighbor joints on each strand. D = 1 - smoothstep ( ) Rdiff Vdiff = ( Pcenter - Porg ) * Cdiff Cdiff : diffusion amount D : distance from the main joint (0~1) Rdiff : pre-defined diffusion range (0~1) Vdiff : diffusion vector Wetness factor = 0.0 Porg : the original position before clumping Wetness factor = 0.3 Wetness factor = 1.0 Pcenter : the center of the clump Without diffusion With diffusion Results Future Works Long Hair Short Hair Frame 42 Frame 107 Physically accurate wet hair rendering Improvements on clumping for different types of hair Interaction with other substances Frame 75 Frame 42 Gel Frame 47 Frame 66 Mud Fire
© Copyright 2024