The diverse interactions between hair and liquid are complex and span multiple length scales, yet are central to the appearance of humans and animals in many situations. We therefore propose a novel multi-component simulation framework that treats many of the key physical mechanisms governing the dynamics of wet hair. The foundations of our approach are a discrete rod model for hair and a particle-in-cell model for fluids. To treat the thin layer of liquid that clings to the hair, we augment each hair strand with a height field representation. Our contribution is to develop the necessary physical and numerical models to evolve this new system and the interactions among its components. We develop a new reduced-dimensional liquid model to solve the motion of the liquid along the length of each hair, while accounting for its moving reference frame and influence on the hair dynamics. We derive a faithful model for surface tension-induced cohesion effects between adjacent hairs, based on the geometry of the liquid bridges that connect them. We adopt an empirically-validated drag model to treat the effects of coarse-scale interactions between hair and surrounding fluid, and propose new volume-conserving dripping and absorption strategies to transfer liquid between the reduced and particle-in-cell liquid representations. The synthesis of these techniques yields an effective wet hair simulator, which we use to animate hair flipping, an animal shaking itself dry, a spinning car wash roller brush dunked in liquid, and intricate hair coalescence effects, among several additional scenarios.

http://www.cs.columbia.edu/cg/liquidhair/

Developer
United States



COMMENTS

  • freaq 7 years, 6 months ago  | 

    very impressive, amazing results especially the sticky hair onto the walls. gorgeous!

    quick question, sometimes the FLIP Fluid looks a little coarse, so it looks like the strands stored more fluid then they were supposed to?
    is that a fair observation or am I off on that front? :)

    • styxal 7 years, 6 months ago  | 

      Yeah that's kinda right. The liquid has two representations here, the particles as well as the height field on strands. The latter is being reconstructed as it is (a cylinder around strand) when we need the liquid surface. But the actual surface should be built between strands when the strands are close to each other. This difference may give people some impression that the strands stored too much liquid than they should. We're still not sure how to do this efficiently and stably in a volume-preserved way.

  • JasonSlab 7 years, 6 months ago  | 

    Impressive work, can't stop watching the demos!

Please log in to leave a comment.