DOI QR코드

DOI QR Code

Representation of Curl Exaggeration, Cohesion, Adhesion and Stiffness in Wet Curly Hair

  • Jong-Hyun Kim (College of Software and Convergence (Dept. of Design Technology), Inha University)
  • Received : 2023.08.21
  • Accepted : 2023.10.16
  • Published : 2023.10.31

Abstract

Simulating the cohesion and stiffness of wet hair or fur in physics-based simulations is one of the most challenging problems. Wet hair or fur is characterized by bunching and stiffening at the ends, a phenomenon that can be seen in wet animal fur or hair. In addition, when wet hair interacts with a solid, adhesion occurs, but this problem becomes difficult to solve due to the different distribution and balance of forces in curly hair. In traditional methods, wet hair is represented by hand or by using static hairstyles to represent wet curls and hair. However, how to depict the details of wet curly hair has not been actively researched. In this paper, we propose a new algorithm to efficiently model the curl exaggeration, cohesion, adhesion, and stiffness of wet curly hair. The proposed method efficiently simulates cohesion and integrates stiffness constraints with curl dynamics to reliably control hair elasticity.

물리 기반 시뮬레이션에서 젖은 머리카락이나 털의 응집력과 뻣뻣함을 시뮬레이션 하는 것은 어려운 문제 중 하나이다. 젖은 머리카락이나 털은 끝부분이 뭉치고 뻣뻣해지는 것이 특징이며, 이는 젖은 동물의 털이나 머리카락에서 볼 수 있는 현상이다. 또한 젖은 머리카락은 고체와 상호작용을 하면 접착력이 발생하지만, 이 문제는 곱슬머리에서 힘의 분산과 균형이 달라지기 때문에 해결하기 어려워진다. 기존 방법에서는 수작업을 통해 젖은 머리를 표현하거나 정적인 헤어스타일로 젖은 곱슬머리 및 털을 표현한다. 그러나 젖은 곱슬머리의 디테일을 묘사하는 방법에 대한 연구는 아직 활발히 연구되지 않았다. 따라서 본 논문에서는 젖은 곱슬머리의 컬 과장, 응집력, 접착력 그리고 강성을 효율적으로 모델링하는 새로운 알고리즘을 제안한다. 제안하는 방법은 응집력을 효율적으로 시뮬레이션하고 강성 제약 조건을 곱슬머리 역학과 통합하여 안정적으로 모발의 탄성을 제어한다.

Keywords

I. Introduction

모발의 수분 흡수에 따른 다양한 인터랙션을 표현하기 위해 Rungjiratananon et al.은 격자 형태로 모세관 시스템(Capility system)을 설계하여 머리카락의 수분 분산 방향을 모델링했다[1]. Lin은 이 방법을 기반으로 SPH(Smoothed particle hydrodynamics)에 사용되는 경계처리를 통해 유체와 모발 사이의 복잡한 상호작용을 시뮬레이션했다[2]. 특히 Lin은 라그랑지안(Lagrangian) 접근법을 사용하여 가닥의 포화도를 고려하여 유체와 머리카락 사이의 상호작용인 응집력을 효과적으로 계산했다. 그러나 이전 방법들은 직모를 가정으로 알고리즘이 설계되었기 때문에 곱슬머리로 적용하기에는 충분하지 않다. 새로운 애니메이션 프레임워크를 설계하기 전에 실제 젖은 곱슬머리 사진을 관찰하여 가닥이 서로 가까이 있을 때 젖은 머리카락의 미세한 특성을 확인했다.

Fig. (1)은 실제 마른 상태에서의 곱슬머리와 젖은 상태에서의 모발을 비교한 결과이다. 주요 특징으로는 젖은 곱슬머리끼리의 뭉치는 힘과 빳빳함, 그리고 곱슬 형태가 더 강하게 표현된다. 이전 연구에서는 주로 삼각형 기반의 헤어 메쉬(Hair meshes) 또는 격자 기반 헤어 모델링 접근 방식을 사용하여 실제와 같은 젖은 머리카락을 시뮬레이션했다[3]. 그러나 미리 정해진 헤어 메쉬는 수분 흡수와 관련된 세부적인 상호작용을 시뮬레이션을 할 수 없다. Kim et al.은 SPH에서 활용되는 표면 최소화(Surface minimization) 힘을 젖은 헤어의 뭉침(Clumping)에 적용함으로써 가닥끼리 뭉쳐지는 효과를 안정적으로 표현했지만[4], 이 방법 역시 직모를 가정으로 알고리즘이 설계되었으며, 곱슬머리 형태에서는 헤어 입자가 불규칙하게 꼬여 있기 때문에 시스템 안정성이 떨어져 젖은 헤어의 특징을 온전히 표현하기 힘들어진다.

CPTSCQ_2023_v28n10_77_f0001.png 이미지

Fig. 1. Real images of dry and wet curly hairs.

II. Related Work

1. Hair Dynamics

컴퓨터 그래픽스를 통해 표현하고자 하는 헤어에 대한 연구는 헤어의 사실적인 움직임에 초점을 맞추고 있으며, 일반적으로 사용되는 방법은 1차원 탄성바(Elastic bars) 세트로 시뮬레이션하는 것이다. 개별 헤어 가닥을 시뮬레이션하기 위한 연구 중 하나는 질량-스프링(Mass-spring) 시스템이며[5,6], 헤어 가닥이 늘어나는 문제를 스프링 역학을 통해 완화시킨다. 그러나 이 방법은 가닥이 늘어나는 것을 완화시키는 과정에서 수치적 불안정성이 발생한다. PBD(Position-based dynamics)를 FTL(Follow the leader)접근법과 결합하여 실시간으로 수천 개의 헤어 가닥을 시뮬레이션하고 큰 타임스텝(Time-step)에서도 헤어의 가닥이 과도하게 늘어나지 않도록 제한을 했다[7,8]. 최근에는 인공지능을 이용하여 저해상도 헤어 시뮬레이션을 고해상도로 표현할 수 있는 새로운 헤어 지오메트리 합성 기법을 제안했다[17]. 또한 가닥 시뮬레이션 늘어나지 않고 안정적이게 표현하기 위해 혼합 프레임워크 기반의 해법도 제안되었다[18]. 이외에 곱슬 형태의 헤어나 동물의 털을 사실적으로 표현할 수 있는 기법을 제안했으며[9], 본 논문에서는 이 기법을 기반으로 수분 흡수 시 표현되는 헤어의 복잡한 움직임을 시뮬레이션한다.

2 Porous Medium

물리 기반 시뮬레이션 분야에서는 습윤 효과의 물리적 메커니즘을 모델링하기 위한 다양한 방법이 제안되었다. 물리 기반 시뮬레이션 분야에선 입자 기반 모델을 사용하여 다공성 매체로 물을 흡수하는 방법을 제안했고[1], 유체의 흡수 및 흐름을 입증하기 위해 스펀지와 옷감 시뮬레이션을 이용하여 사실적인 습윤성 재질을 표현하기 위한 방법도 제안되었다[10,11]. 또한 다양한 스케일에서 표현되는 흙탕물 효과를 시뮬레이션하기 위해 입자 기반 유체와 모래 사이의 상호 작용을 사용하여 흙탕물을 사실적으로 시뮬레이션하는 방법을 제시했다[12]. 또한, 옷감과 같은 얇은 쉘에서의 습윤 효과를 시뮬레이션하기 위한 프레임워크를 제안했고[13,14], 물로부터 발생하는 마찰력을 고려하여 젖은 의상을 사실적으로 시뮬레이션했다[13]. 포화도를 표현하기 위해 얇은 쉘 상에서 흐르는 물의 포화를 시뮬레이션하기 위한 이중층(Double-layer) 기법이 제안되었고[14], 액체-옷감 상호작용에서 표현되는 물리적 현상을 모델링한 기법도 있다[15]. 이 방법은 혼합물 이론(Mixture theory)과 다공성 흐름이 PIC(Particle in cell)에서 표현될 수 있는 통합형 프레임워크를 제안했다. 이들은 비선형 항력 및 기공 압력(Pore pressure)을 표현하기 위한 이방성 직물 미세구조 모델(Anisotropic fabric microstructure model)을 개발했다.

3 Wet Hair

젖은 헤어 분야에서는 물의 헤어 흡수와 관련된 미세 투과성을 시뮬레이션하기 위한 격자 기반 접근법을 제안했다[1]. 또한 헤어와 물의 상호작용에서 표현되는 흡수와 분산을 시뮬레이션하기 위한 방법을 모델링하기 위해 유체고체 상호작용 기술을 활용했으며[2], 젖은 가닥 사이에서 발생하는 접착력과 응집력을 표현할 수 있는 알고리즘을 제안했다. 앞에서 언급했듯이 액체-옷감 상호작용 알고리즘을 액체-헤어 상호작용으로 확장하여 젖은 헤어에서 표현되는 상호작용 현상을 사실적으로 표현한 기법도 제안되었다[15]. 이 기법에서는 관성력을 도입하여 헤어 가닥에 따라 이동하고 확산되는 액체의 디테일한 움직임을 표현했다. 또한 젖은 헤어 사이에서 발생하는 표면 장력에 의한 응집력, 물에 잠긴 헤어의 움직임, 액체 사이의 힘에 대한 항력 등을 새롭게 모델링했다. 그러나 위 방법들은 직모에 해당하는 결과를 만들어 냈으며, 곱슬머리에서는 헤어입자들의 분산이 불규칙하기 때문에 힘의 불안정하게 계산되는 경우가 있고, 이러한 문제가 젖은 헤어의 응집력, 접착력에 영향을 준다. 본 논문에서는 이러한 문제를 효율적으로 처리할 수 있는 방법을 제시하고자 한다.

III. The Proposed Scheme

1. Curly Hair Dynamics

본 논문에서는 곱슬머리를 표현하기 위해 Iben et al.이 제안한 기법을 활용하며[9], 이번 장에서는 곱슬머리 동역학을 계산하기 위한 3가지 스프링 방식에 대해 설명한다.

1.1. Stretch Springs

이 스프링에서는 선형 스프링으로 연결된 입자 위치 집합을 사용하여 헤어 모델을 정의한다. 각 헤어는 현재 입자 위치의 셋인 P = {p0,...,pN-1}와 초기 입자의 위치인 \(\begin{aligned}\overline {P}\end{aligned}\)를 정의한다. 여기서 -.는 초기 양을 나타낸다. 입자의 현재 속도는 V = {v0,...,vN-1}이며, 헤어 입자를 연결하는 에지는 다음과 같이 나타낸다 : ei = pi+1 - pi. 입자 i에 대한 선형 스프링 힘은 다음과 같이 계산한다 (수식 (1) 참조).

\(\begin{aligned}f_{s}\left(k_{s}, c_{s}\right)=k_{s}\left(\left\|e_{i}\right\|-\left\|\overline{e_{i}}\right\|\right) \hat{e_{i}}+c_{s}\left(\Delta v_{i} \cdot \hat{e_{i}}\right) \hat{e_{i}}\end{aligned}\)       (1)

여기서 ks와 cs는 각각 스트레치에 해당하는 스프링/댐핑(Damping) 상수이고, ∆vi는 다음과 같다 : ∆vi = vi+1 - vi. 스프링은 두 입자들을 연결하기 때문에 각 스프링 힘은 두 입자의 반대 방향으로 동일하게 적용한다. 빳빳한 스프링(Stiff spring)을 사용하지 않고도 헤어를 표현하기 위해 Selle et al.이 제안한 방법과 유사하게 에지의 변형률을 제한한다[6]. 댐핑을 계산하는 동안 ∆v2i가 임계값을 초과하면 루트(Root)에서 팁(Tip)까지 재귀하여 입자의 속도를 제한한다.

1.2. Bending Springs

Iben et al.에서 사용하는 밴딩 스프링은 탄성 끈 모델(Elastic rods model)과 유사하다[9]. Λ = {λ0,...,λN-1}는 입자의 위치나 속도와 같이 헤어와 연관된 요소이다. 이 방법에서는 IIR(Infinite impulse response)을 기반으로 스무딩 함수를 다음과 같이 정의한다 : di = ζ(Λ,α)i. 이 필터는 재귀 함수형태로, 입력 결과와 이전 결과를 합하여 새로운 결과를 만들어 내는 함수이다. 여기서 커브를 따라 정의된 스무딩 양인 α는 0보다 크게 설정하고, 재귀적으로 벡터인 di를 다음과 같이 계산한다 (수식 (2) 참조).

di = 2(1 - β)di-1 - ( 1 - β)2di-2 + β2i+1 - λi)       (2)

여기서 β는 β = min(1,1 - exp(-l/α))이고, l은 헤어 가닥의 초기 길이이다. 이 과정에서 계수를 다음과 같이 초기화하면 : d2 = d1 = λ1 - λ0, 방정식은 다음과 같이 줄어든다 : d0 = λ1 - λ0 at i = 0.

Λ가 위치의 집합일 경우, 고정된 루트 헤어 입자에서 벡터를 재귀적으로 추가하여 가닥을 재계산할 수 있으며, 새로운 지점은 다음과 같이 계산한다 (수식 (3) 참조).

p'i = p'i-1 + di-1       (3)

여기서 p′0는 p′0 = λ0이며, 이것은 헤어 가닥의 루트 입자이다. 곱슬의 나선형 모양을 유지하려면 헤어의 나머지 부분과 현재 포즈 사이의 구부러짐을 안정적으로 제어하기 위해 굽힘 스프링 힘을 계산해야 한다. 또한 현재 형태의 가닥 ei와 타겟 벡터인 ti사이에 스프링 힘을 추가하여 굽힘에 대한 힘을 계산한다 (수식 (4) 참조).

\(\begin{aligned}f_{b}\left(k_{b}, c_{b}\right)_{i}=k_{b}\left(e_{i}-t_{i}\right)+c_{b}\left(\Delta v_{i}-\left(\Delta v_{i} \cdot \hat{e}_{i}\right) \hat{e}_{i}\right)\end{aligned}\)       (4)

여기서 kb와 cb는 각각 밴딩에 해당하는 스프링/댐핑 상수이고, ti는 헤어 가닥의 초기 곱슬 형태를 고려하여 계산된 타겟 위치이며, ti에 대한 자세한 계산 과정은 이전 논문을 참조하길 권장한다[9].

1.3. Core Springs

곱슬 헤어를 시뮬레이션 할 때 스트레치와 밴딩 스프링만으로는 디자이너의 요구 사항을 만족시키기 어렵다. 스트레치 및 밴딩 스프링은 곱슬머리를 유지할 수 있지만 헤어가 구부러지는 형태를 제약하기에는 충분하지 않다. 곱슬 형태가 외력에도 풀리지 않고 자연스럽게 표현하기 위해 코어 스프링을 추가한다 (수식 (5) 참조).

\(\begin{aligned}f_{c}\left(k_{c}, c_{c}\right)=k_{c}\left(\left\|b_{i}\right\|-\left\|\bar{b}_{i}\right\|\right) \hat{b}_{i}+c_{c}\left(\nu_{i} \cdot \hat{b}_{i}\right) \hat{b}_{i}\end{aligned}\)       (5)

여기서 kc와 cc는 각각 코어에 해당하는 스프링/댐핑 상수이고, 𝜈i는 스무딩 함수가 적용된 속도이다 : 𝜈i = ζ(V,αc)i. \(\begin{aligned}\overline {b_i}\end{aligned}\)는 초기 헤어 입자의 위치로부터 계산한 곱슬 가닥의 코어 힘이며 : \(\begin{aligned}\bar{b}_{i}=\zeta\left(\bar{P}, \alpha_{c}\right)_{i}\end{aligned}\), bi는 헤어의 현재 입자 위치로부터 계산한 코어 힘이다 : bi = ζ(V,αc)i.

Fig. (2)는 앞에서 설명한 스트레치, 밴딩, 코어 스프링들을 이용하여 표현된 곱슬머리 결과를 보여주고 있다. 위/아래로 움직이는 장면에서는 곱슬이 풀리지 않고 유지하는 결과를 보여주고 있으며, 다음 장에서는 젖은 곱슬머리의 형태로 해법을 확장하여 디테일한 젖은 곱슬머리 역학에 대해서 설명한다.

CPTSCQ_2023_v28n10_77_f0002.png 이미지

Fig. 2. Curly hair simulations.

2. Exaggerated Curl Motion in Wet Hairs

본 논문에서 사용한 헤어 모델은 앞에서 설명한 곱슬머리 동역학 시뮬레이션을 활용한다. 이전 방법과 유사하게 3가지 스프링 모델을 구성하고 나선 구조 모델에서 컬 형태를 제어하는 새로운 힘을 설계하여 곱슬의 상태변화를 모델링한다. 수분 흡수에 따라 헤어의 원본 곱슬 형태를 벗어나는 상태 변화를 모델링하기 위해 전처리 과정에서 3D 공간에서의 곡선인 나선 구조 모델을 계산한다 (수식 (6) 참조). 이때 헤어 입자와 나선 구조 모델의 입자 수는 동일해야 하며, 헤어 입자의 수가 헤어의 가닥마다 동일하지 않는 경우, 각 헤어 가닥의 입자 수와 동일한 입자 수를 갖는 나선 구조 모델의 계산이 필요하다.

x(t) = rcos(t), y(t) = rsin(t), z(t) = pt       (6)

위 식에서 매개변수 t의 증가에 따라 Z축 방향으로 반지름 r의 나선이 생성된다 (Fig. (3) 참조). Fig. (3a)는 나선형의 곱슬을 표현한 결과이며, Fig. (3b)는 나선형 곱슬의 각 정점에서 표현되는 로컬 축을 나타낸다.

CPTSCQ_2023_v28n10_77_f0003.png 이미지

Fig. 3. A helix defined by the parametric equation.

Fig. (1)에서 보듯이 젖은 곱슬머리에서는 곱슬이 상대적으로 강하게 표현되기 때문에 본 논문에서 나선형(Helix) 패턴을 기반으로 젖은 헤어의 특징을 표현한다. 헤어 입자의 현재 위치를 P = {p0,...,pN-1}으로 정의하였을 때, 나선 구조 모델의 입자 위치를 H = {h0,...,hN-1}으로 정의한다. 시뮬레이션 중에 헤어와 나선형 입자의 루트에서 팁 방향의 벡터 p = pN-1 - p0와 h = hN-1 - h0를 정규화하여 나선형 모델을 현재 헤어의 방향으로 변환하기 위한 행렬 M을 계산한다 (수식 (7) 참조).

\(\begin{aligned}M=I+\Psi+2 \Psi\left(\frac{1-c}{\operatorname{pow}(\|\gamma\|, 2)}\right)\end{aligned}\)       (7)

여기서, \(\begin{aligned}\Psi=\left[\begin{array}{ccc}0 & -\gamma \cdot z & \gamma \cdot y \\ \gamma \cdot z & 0 & -\gamma \cdot x \\ -\gamma \cdot y & \gamma \cdot x & 0\end{array}\right]\end{aligned}\)       (8)

여기서 γ는 γ = p × h이며 , c = p∙h이다. 이러한 회전 행렬 M을 사용하여 현재 위치와 동일한 위치에서의 나선형 모델의 에지를 현재 포즈와 일치 시킨다. 곱슬 상태 변화를 모델링하는 힘인 fw를 다음과 같이 계산한다 (수식 (9) 참조).

fw = M(hi+1 - hi)whws       (9)

여기서 (hi+1 - hi)은 나선의 정점을 기반으로 계산한 지역적인 나선 방향이며, M은 현재 가닥 방향이 나선 방향으로 회전하기 위한 변환 행렬이다. 또한 wh와 ws는 각 각 나선 모델에 대한 가중치와 포화도를 나타낸다. 이 값을 조절하여 다양한 결과를 만들어 낼 수 있다.

Fig. (4)는 원본 곱슬머리 형태와 제안하는 방법을 통해 곱슬을 과장한 결과를 비교한 그림이다. 머리카락의 팁 부분에 포화도를 강하게 설정하였고, 그에 따라 곱슬 형태가 과장되게 표현되는 것을 볼 수 있다.

CPTSCQ_2023_v28n10_77_f0004.png 이미지

Fig. 4. Comparison results with exaggerated curl shape according to saturation.

3. Stable Cohesion Force in Wet Curly Hairs

이번 장에서는 젖은 곱슬머리에서 표현되는 가닥이 뭉치는 응집력(Cohesion)을 표현할 수 있는 방법에 대해 설명한다. 이전 기법들에서는 젖은 헤어에서 표현되는 응집력을 안정적으로 표현하려고 노력했다[2,4]. 인접 헤어 입자의 분포와 포화도를 기반으로 젖었을 때 표현되는 뭉침을 모델링했다. 하지만, 대부분 직모를 기반으로 처리했기 때문에 곱슬머리에서는 인접 헤어 입자들의 불균일한 분포로 인해 응집력이 제대로 표현되지 않는다.

Fig. (5~6)은 이전 접근법들을 이용하여 젖은 곱슬머리에서 응집력을 실험 결과이다. 입력 헤어의 형태에 비해 젖은 머리에서 응집력이 상대적으로 잘 표현되지만 서로 얇은 형태로 뭉치는 경향이 있기 때문에 엉키는 문제가 있으며 (Fig. (5b)와 (6b) 참조), 이러한 부분은 헤어가 회전되었을 때 엉키는 현상이 강하게 표현되어 시뮬레이션을 불안정하게 만드는 요인이 된다 (Fig. (5c)와 (6c) 참조). 이러한 문제가 생기는 근본적인 원인은 다음과 같다. 인접 헤어의 분포가 불균일하기 때문에 힘이 대부분 불균일한 노이즈처럼 적용되어 불안정한 움직임을 만들어 낸다. 이러한 문제는 모발이 젖었을 때 강하게 표현되며, 특히 회전과 같은 외력이 포함되면 노이즈는 더 강하게 나타난다. 본 논문에서는 이 문제를 해결하기 위해 아래와 같은 수식을 이용하여 젖은 헤어 입자의 위치인 pwi를 계산한다 (수식 (10) 참조).

CPTSCQ_2023_v28n10_77_f0005.png 이미지

Fig. 5. Cohesion test in wet curly hairs with Lin’s method[2] (rot. : rotation).

CPTSCQ_2023_v28n10_77_f0006.png 이미지

Fig. 6. Cohesion test in wet curly hairs with Kim et al.[4] (rot. : rotation).

\(\begin{aligned}p_{i}^{w}=\left[\sum_{j}\left(p_{j} \sigma_{j}+p_{i}\left(1-\sigma_{j}\right)\right) \frac{m_{j}}{\rho_{j}} W\left(x_{j}-x_{i}, h\right) / \sum_{j} W_{i j}\right] \lambda\end{aligned}\)       (10)

여기서 xi와 xj는 타겟 헤어 입자와 인접 헤어 입자의 위치이며, mj와 ρj는 각각 질량과 밀도를 나타낸다. 또한 σj는 각 입자의 포화도이며, 마지막으로 λ는 타이트함을 나타내는 값으로 본 논문에서는 0.85로 설정하여 사용하였다. 결국 각 헤어의 입자들은 응집력을 위한 위치를 하나 더 둠으로써 안정적으로 포화도에 의한 뭉치는 효과를 만들었으며, pwi는 원본 곱슬머리 움직임에 영향을 주지 않기 때문에 응집력이 안정적으로 표현된다.

Fig. (7)은 본 논문에서 제안하는 방법을 이용하여 응집력을 표현한 결과이다. 원본 헤어모델에 비해 응집력이 자연스럽게 표현되었으며(Fig. (7b) 참조), 이전 결과와 비교했을 때 얇게 뭉쳐서 엉키는 가닥 없이 젖은 곱슬머리를 표현했다. 특히 회전되는 장면에서도 기존에 엉키는 헤어에 비해 제안하는 방법은 안정적으로 응집력을 표현했다(Fig. (7c) 참조).

CPTSCQ_2023_v28n10_77_f0007.png 이미지

Fig. 7. Cohesion test in wet curly hairs with our method (rot. : rotation).

4. Stable Adhesion Force Between Wet Curly Hairs and Obstacle

이번 장에서는 젖은 곱슬머리와 장애물 사이에서 발생하는 접착력(Adhesion)을 안정적으로 표현할 수 있는 방법을 소개한다. 기존의 방법은 장애물에 경계입자(Boundary particle)을 추가하여 커널 형태로 힘을 표현하고 했지만, 본 논문에서는 좀 더 효율적으로 접착력을 표현하기 위해 부호거리장(Signed distance field)를 이용하여 접착력을 표현한다. 부호거리장과 헤어의 충돌처리는 이전 기법을 이용하여 처리했으며[16], 충돌이 발생하는 부호거리인 ϕ < 0 조건을 만족하는 상황에서 아래와 같은 수식을 통해 접착력에 해당하는 힘인 Fad를 계산한다 (수식 (11)과 (12) 참조).

Fadi = σimivA(|ϕ| ∇ ϕ|ϕ|       (11)

\(\begin{aligned}A(r)=\frac{\frac{0.007}{h^{3.25}}\left(-\frac{4 r^{2}}{h}+6 r-2 h\right)}{|\phi|}\end{aligned}\)       (12)

여기서 σi와 v는 헤어 입자의 포화도와 가중치이며, 본 논문에서는 이 값을 1,300으로 설정했다. 이 값은 실험적으로 얻은 수치이며, 가장 좋은 결과를 나타낸 값이다. 접착력 커널에 해당하는 A(r)의 커널 형태는 젖은 곱슬머리가 장애물과 접촉되었을 때 포화도에 의한 접착에 의해 늘어지는 힘을 유사하게 표현하기 위함이다.

5. Stiffness in Wet Curly Hairs

곱슬머리를 표현하기 위해 다양한 제약함수들이 포함되어 있고, 젖은 효과를 표현하기 위해 추가적으로 포함된 많은 힘들은 시뮬레이션을 불안정하게 만드는 요소가 된다. 이런 수치적 문제를 완화시키고 안정적으로 곱슬머리를 표현하기 위해 이번 장에서는 동적인 강성(Stiffness)을 표현하기 위한 방법을 제시한다. 강성모델은 2가지 형태로 적용되며, 하나는 전체 모발에 적용되는 전역적인 강성인 ξ이며, 나머지 하나는 포화도에 따른 강성 모델인 ζi이다. 전역인 경우 상수로 처리하여 적용하면 되기 때문에 상대적으로 간단하지만 vi ← viξ, 포화도에 따른 강성은 아래와 같은 수식을 이용하여 계산한다 (수식 (13) 참조).

vi = viζi, where ζi = σiγ0 + (1 - σi)r1       (13)

여기서 vi와 σi는 입자의 속도, 포화도이며, γ0와 γ1는 사용자가 정의한 최소/최대 강성의 크기이다. 본 논문에서는 ξ의 값은 0.999995로 설정했고, γ0와 γ1는 각각 0.9999, 1.0으로 설정했다. 이 값은 실험적으로 얻은 수치이며, 가장 좋은 결과를 나타낸 값이다.

IV. Experiment and Results

본 연구의 결과들을 만들기 위한 실험환경을 다음과 같다(Table (1) 참조). 본 연구에서는 1) 젖은 곱슬머리의 곱슬 형태를 과장하기 위한 나선형 변형 기법, 2) 젖은 곱슬머리에서의 응집력과 접착력, 3) 그리고 시뮬레이션 안정성을 개선하기 위한 전역적이고 동적인 강성 모델을 제시했다.

Table 1. Experimental environment

CPTSCQ_2023_v28n10_77_t0001.png 이미지

Fig. (8)은 본 논문에서 제안하는 방법을 통해 표현된 젖은 헤어에서의 곱슬 형태이다. 나선형 곱슬 형태를 기반으로 원본 가닥으로 회전하여 적용되었기 때문에 자연스럽게 곱슬머리의 과장을 표현해냈다.

CPTSCQ_2023_v28n10_77_f0008.png 이미지

Fig. 8. Curl exaggeration in wet curly hairs with our method.

Fig. (9)는 본 논문에서 제시한 방법을 이용하여 표현한 접착력에 대한 결과이다. 그림에서 보듯이 마른 헤어에서는 구에 의해 머리카락이 흘러내리듯 충돌처리를 하였지만, 젖은 헤어에서는 수분에 의해 표현되는 접착력에 의해 쭉 늘어지는 움직임을 표현했다. 뿐만 아니라 이러한 형태는 단순하게 접착력만 있다고 표현될 수 있는 특징이 아니며, 본 논문에서 사용한 수식 (11)과 A(r)의 형태에 따라 가닥을 잡고 있는 힘이 작용된 결과이다.

CPTSCQ_2023_v28n10_77_f0009.png 이미지

Fig. 9. Adhesion force between wet curly hairs and obstacle.

V. Conclusion

본 논문에서는 젖은 곱슬머리에서 표현되는 컬 과장, 응집력과 접착력, 그리고 강성을 안정적으로 표현할 수 있는 기법을 제시했다. 기존의 방법들은 직모를 기반으로 힘이 설계되었기 때문에 곱슬머리 형태에서는 노이즈 같은 불안정한 움직임이 표현되었지만, 본 논문에서 제안하는 방법은 사전에 계산된 나선형 곱슬을 이용하여 헤어 가닥의 곱습 모양을 강제로 표현하기 위한 제약 함수 계산 과정을 완화시켰다. 그럼에도 불구하고 현재 기법은 곱슬머리 역학을 기반으로 설계되었기 때문에 계산양이 크며, 실시간 애플리케이션에서는 활용이 어렵다. 또한 머리카락 사이에서 발생하는 공기 저항이나 자기장 같은 힘이 배제되어 있기 때문에 사실적인 헤어의 움직임이라고 하기에는 충분하지 못하다. 향후 이러한 특징을 고려하여 응집력과 접착력을 디테일하게 설계할 계획이며, 얼음이나 눈과 상호작용하여 상태 변화하는 헤어 시뮬레이션에 대해서도 연구할 계획이다.

References

  1. Rungjiratananon, Witawat, Yoshihiro Kanamori, and Tomoyuki Nishita. "Wetting effects in hair simulation." In Computer Graphics Forum, vol. 31, no. 7, pp. 1993-2002, 2012. DOI:10.1111/j.1467-8659.2012.03191.x
  2. Lin, Wei-Chin. "Boundary handling and porous flow for fluid-hair interactions." Computers & Graphics, vol. 52, pp. 33-42, 2015. DOI: doi.org/10.1016/j.cag.2015.06.005
  3. Yuksel, Cem, Scott Schaefer, and John Keyser. "Hair meshes." ACM Transactions on Graphics (TOG), vol. 28, no. 5, pp. 1-7, 2009. DOI: 10.1145/1618452.1618512
  4. Kim, Jong-Hyun, Wook Kim, Young Bin Kim, Jaeho Im, Jung Lee, and Sun-Jeong Kim. "Robust handling of clumping and stiffness in wet hair animation." Computer Animation and Virtual Worlds, vol. 28, no. 6, pp. e1796, 2017. DOI: 10.1002/cav.1796
  5. Choe, Byoungwon, Min Gyu Choi, and Hyeong-Seok Ko. "Simulating complex hair with robust collision handling." In Proceedings of the 2005 ACM SIGGRAPH/Eurographics symposium on Computer animation, pp. 153-160, 2005. DOI: 10.1145/1073368.1073389
  6. Selle, Andrew, Michael Lentine, and Ronald Fedkiw. "A mass spring model for hair simulation." ACM SIGGRAPH, pp. 1-11, 2008. DOI: 10.1145/1360612.1360663
  7. Muller, Matthias, Tae-Yong Kim, and Nuttapong Chentanez. "Fast Simulation of Inextensible Hair and Fur." Virtual Reality Interactions and Physical Simulations vol. 12, pp. 39-44, 2012. DOI: 10.2312/PE/vriphys/vriphys12/039-044
  8. Muller, Matthias, Bruno Heidelberger, Marcus Hennix, and John Ratcliff. "Position based dynamics." Journal of Visual Communication and Image Representation, vol. 18, no. 2, pp. 109-118, 2007. DOI: 10.1016/j.jvcir.2007.01.005
  9. Iben, Hayley, Mark Meyer, Lena Petrovic, Olivier Soares, John Anderson, and Andrew Witkin. "Artistic simulation of curly hair." In Proceedings of the 12th ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 63-71. 2013. DOI: 10.1145/2485895.2485913
  10. Lenaerts, Toon, Bart Adams, and Philip Dutre. "Porous flow in particle-based fluid simulations." ACM Transactions on Graphics (TOG) 27, no. 3, pp.1-8, 2008. DOI: 10.1145/1360612.1360648
  11. Lenaerts, Toon, and Philip Dutre. "Mixing fluids and granular materials." In Computer Graphics Forum, vol. 28, no. 2, pp. 213-218, 2009. DOI: 10.1111/j.1467-8659.2009.01360.x
  12. Baek, Seungho, Kiwon Um, and JungHyun Han. "Muddy water animation with different details." Computer Animation and Virtual Worlds, vol. 26, no. 3-4, pp. 347-355, 2015. DOI: 10.1002/cav.1646
  13. Chen, Yujun, Nadia Magnenat Thalmann, and Brian Foster Allen. "Physical simulation of wet clothing for virtual humans." The Visual Computer, vol. 28, pp. 765-774, 2012. DOI: 10.1007/s00371-012-0687-y
  14. Um, Kiwon, Tae-Yong Kim, Youngdon Kwon, and JungHyun Han. "Porous deformable shell simulation with surface water flow and saturation." Computer Animation and Virtual Worlds, vol. 24, no. pp. 247-254, 2013. DOI: 10.1002/cav.1497
  15. Fei, Yun, Christopher Batty, Eitan Grinspun, and Changxi Zheng. "A multi-scale model for simulating liquid-fabric interactions." ACM Transactions on Graphics (TOG), vol. 37, no. 4, pp. 1-16, 2018. DOI: 10.1145/3197517.3201392
  16. Bridson, Robert, Sebastian Marino, and Ronald Fedkiw. "Simulation of clothing with folds and wrinkles." In ACM SIGGRAPH 2005 Courses, pp. 3, 2005.
  17. Kim, Jong-Hyun, and Jung Lee. "Efficient and Stable Generation of High-Resolution Hair and Fur with ConvNet Using Adaptive Strand Geometry Images." IEEE Access, Vol. 11, pp. 81101 - 81112, 2023. DOI: 10.1109/ACCESS.2023.3301133
  18. Hsu, Jerry, Tongtong Wang, Zherong Pan, Xifeng Gao, Cem Yuksel, and Kui Wu. "Sag-Free Initialization for Strand-Based Hybrid Hair Simulation." ACM Transactions on Graphics (TOG) Vol. 42, No. 4, pp. 1-14, 2023. DOI: 10.1145/3592143