Appearance
서브서피스 스캐터링(SSS)에 의한 스킨 셰이더(3)~서브서피스 스캐터링(SSS)과 스킨 셰이더(1)
[칼럼 핵심 요약]
하프라이프2의 방법은 어디까지나 간이적이고 그렇게 보여주기 위한 궁리였다. 실제 인간의 피부의 음영은 표피에 닿은 빛이 단순히 반사하거나 확산하는 것만으로 결정되지 않는다. 피부의 음영은 매우 복잡한 빛의 경로의 집대성에 의한 것이다.🌐 원문 링크: 表面下散乱によるスキンシェーダ(3)~表面下散乱とスキンシェーダ(1) (Mynavi News)
📅 원문 발행일: 2009-04-17 | ✍️ 저자: 西川善司 (니시카와 젠지 / Zenji Nishikawa)
NOTE
💡 현대 그래픽스 관점에서의 발전사 (Modern Retrospective)
- 스크린 공간 SSS (SSSS): Jorge Jimenez 등이 제안한 화면 공간 분리 가능 서브서피스 스캐터링(Separable SSSS) 기법이 정립되면서 피부 렌더링의 성능 효율이 비약적으로 상승했습니다.
- 다층 표면 모델 (Multi-layer SSS): 표피(Epidermis), 진피(Dermis), 피하지방층으로 세분화된 빛 흡수/산란 계수를 개별 프로파일링하여 영화 CG 수준의 디지털 휴먼 렌더링이 실시간으로 구현됩니다.
📖 본문 해설
[원문 리드문] > 하프라이프2의 방법은 어디까지나 간이적이고 그렇게 보여주기 위한 궁리였다. 실제 인간의 피부의 음영은 표피에 닿은 빛이 단순히 반사하거나 확산하는 것만으로 결정되지 않는다. 피부의 음영은 매우 복잡한 빛의 경로의 집대성에 의한 것이다.
하프라이프2의 방법은 어디까지나 간이적이고 그렇게 보여주기 위한 궁리였다.
실제 인간의 피부의 음영은 표피에 닿은 빛이 단순히 반사하거나 확산하는 것만으로 결정되지 않는다. 입사한 빛은 표피로 반사, 확산할 뿐만 아니라 피부 아래로 침투하여 피부하에서 난반사하여 다시 표피에서 튀어나오는 것도 있다. 피부의 음영은 매우 복잡한 빛의 경로의 집대성에 의한 것이다.
이 빛이 피부 아래에서 산란하는 현상을 '피하 산란'(Subskin Scattering)이라고 하며, 이러한 반투명 물체에 빛이 침투하여 내부에서 산란하고 나서 튀어나오는 일반적인 현상을 '서브서피스 스캐터링(SSS)'(Subsurface Scattering)이라고 한다.
또, 인간의 피부의 셰이딩(Shading)용으로 특별히 설계한 쉐이더를 「스킨 셰이더」라고 부르고, 이 스킨 셰이더의 실장에는 서브서피스 스캐터링(SSS)의 어떠한 실장을 피할 수 없다고 하고 있다.
덧붙여 전회까지 소개한 하프·램버트·라이팅과 경면 반사 분포의 조정에 의한 의사적인 피부 표현은, 피하 산란이야말로 무시하고 있지만, 피부 표현용으로 튜닝했다고 하는 것으로 광의로는 스킨 셰이더라고 해도 틀림없을지도 모른다.
표피에서 반사, 피하에서 산란
서브서피스 스캐터링(SSS)을 진지하게 실장한 사람 피부의 셰이딩(Shading)는 매우 복잡해 보인다.
그러나, 요소의 하나 하나를 나누어 생각해, 각각의 요소를 근사 모델이나 간이적으로 재현해 가는 것으로 어떻게든 실현할 수 있을지도 모른다. NVIDIA는 이렇게 생각해, 이 회사의 GeForce 8800 시리즈용 데모 「Adrianne」용의 스킨 셰이더의 개발에 나섰다고 한다.
그런데 피부는 대략 생각하면 아래 그림과 같이 얇은 지질 부분, 표피, 진피라는 층으로 나뉜다.
인간의 피부의 단면도
측정에 의하면 입사한 빛의 6%까지가 지질층까지 반사해 버리고, 나머지 94%가 피하의 영향을 받는다고 한다.
스케쥴로 생각하면 피부의 최표층에 있어서의 반사와, 피부하 산란의 2개의 처리로 나누어 생각하면 실장할 수 있는 것이 아닐까, 라고 생각해 온다.
피하 산란 개념 그림
지질층에서의 반사
우선은 지질층까지 일어나는 반사에 대해 생각해 본다.
지질층에서의 반사의 셰이딩(Shading)는 실시간 3D 그래픽스에서는 폰(Phong) 쉐이딩이나 블린(Bling) 쉐이딩과 같은 반사방정식을 이용하는 것이 일반적이다.
그러나 엔비디아에 따르면 피부면을 긁어내는 각도로 본 경우의 하이라이트가 나오는 방식이 블린 쉐이딩이나 폰 쉐이딩에서는 사람 피부의 실물과는 너무 다르기 때문에 "인 피부의 표현에는 적합하지 않다"고 한다.
거기서 NVIDIA가 선택한 것은 Csaba Kelemen, Laszlo Szirmay-Kalos 등이 2001년에 발표한 「A Microfacet Based Coupled Specular-Matte BRDF Model with Importance Sampling」의 논문 베이스의 KS BRDF법이다. KS는 Kelemen과 Szirmay-Kalos의 이니셜, BRDF는 Bidirectional Reflectance Distribution Function의 약자로, 일본어 번역에서는 양방향 반사율 분포 함수가 된다.
BRDF란 간단하게 말하면, 빛이 어떻게 반사하는지를 광학 현상에 따른 사고방식으로 일반화한 것이다. BRDF의 실장법으로서는 「어떻게 반사할까」를 1개의 방정식으로 표현하는 것이 곤란한 경우는, 측정기를 사용해 측정해 데이터 테이블(텍스처 데이터)을 작성해, 이것을 렌더링시에 참조해 음영 계산에 이용하는 방법이 자주 보인다. NVIDIA가 실장한 경면 반사의 BRDF는 초미세한 요철을 표면에 가지는 재질의 표현에 적합한 벡맨 분포(Beckmann Distribution)로, 계산 부하 저감을 위해 벡맨 분포를 사전 계산해 텍스처 데이터에 떨어뜨리고 있다.
빛과 3D 모델의 위치 관계는 동일하게 하고, 보는 위치를 바꾸었을 경우의 폰 쉐이딩과 KS BRDF법과의 비교도. 정면에서 본 경우(상단)는 그다지 차이가 보이지 않지만, 하이라이트가 나오는 면을 긁는 각도로 본 경우(하단)에서는 분명히 하이라이트의 출방이 다르다. KS BRDF 법이 사실입니다.
결국, NVIDIA의 실장에서는, 피부의 표면의 음영 계산에는 노멀 벡터(N), 시선 벡터(V), 광원 벡터(L)라고 하는 3대 요소 외에, 경면 반사 강도(ρs), 면의 거칠기(m), 굴절률(η)을 배려하게 된다.
ρs와 m은 전절에서도 등장했지만, 경면 반사 강도는 하이라이트의 강도에 상당하고, 표면의 거칠기는 초미세면의 기울기를 나타낸다. 감각적으로 표면의 거칠기는 값이 작을수록 하이라이트가 좁고 날카로운 경향이 있습니다. 굴절률 η는 후술하는 프레넬 반사의 계산에 사용된다.
ρs와 m은 전절에서 소개한 「Analysis of Human Faces using a Measurement-Based Skin Reflectance Model」(Tim Weyrich, SIGGRAPH 2006)의 얼굴의 10개의 에리어에 대한 측정 정보를 참고로 하면 좋지만, NVIDIA의 실장에서는, 꽤 스케치에 이 측정 결과로부터 적당히 견해한 평균치 ρs=0.18, m=0.3라고 하는 정수를 이용했다고 한다.
왼쪽이 경면 반사 강도 ρs의 분포 텍스처, 오른쪽이 면의 거칠기 m의 분포 텍스처
왼쪽이 적절하게 설정된 평균값을 이용한 상수 ρs, m에 의한 결과. 오른쪽은 측정치 베이스로 ρs, m의 분포 텍스처를 바탕으로 한 결과. 엔비디아의 BRDF 기반 구현에서는 그다지 큰 차이가 없다고 판단했다.
프레넬 반사는, 이 연재에서는 수면편에서 해설하고 있지만, 한 번 더 간단하게 개념을 거슬러 올라가면, 수면의 보이는 방법으로 말하면, 「수면상의 비쳐와 수저의 보이 상태를 조정하는 것」이라고 하는 처리에 상당한다. 일반적으로 입사 된 빛이 시선에 대해 어떤 각도에서 얼마나 반사되는지 / 굴절되는지를 나타냅니다.
사람의 얼굴에서도 빛과 시선의 각도 관계에 따라 하이라이트가 나오는 방식이 다르기 때문에 이를 배려하자는 것이다. 이 계산에는 굴절률 η이 크게 관련되어 오는 데다, 실제의 인간의 얼굴에서는 사람에 의해서 부위에 따라서도 다르다고 한다. NVIDIA의 실장에서는 전체의 평균으로 되는 η=1.4(노멀 입사에서의 반사율로서는 0.028)을 사용했다고 한다. 세세한 것을 말하면 프레넬 반사의 방정식은 정의대로는 아니고, 자주 사용되는 프레넬 반사의 고속 근사형인 Schlick의 근사식을 이용하고 있다.
왼쪽이 정의대로 프레넬 반사 계산을 한 결과. 오른쪽이 Schlick의 프레넬 근사 계산에 의한 결과
계산 된 하이라이트의 색상은 얼굴의 이미지 텍스처의 색상을 고려할 필요가 없으며 광원 색상 그대로 유지할 수 있다고 가정합니다. 즉, 광원이 백색광이라면 하이라이트는 밝은 피부색이 아니라, 그 백색으로 좋다는 것이다. (계속)
(트라이Z 니시카와 젠지)