Skip to content

서브서피스 스캐터링(SSS)에 의한 스킨 셰이더(1)~하프 라이프 2로 채용의 의사 라디오 시티 라이팅(1)

[칼럼 핵심 요약]
3D 게임 그래픽스에서는 인간 캐릭터 취급이 많고, 그 때 피할 수 없는 것이 사람 피부의 표현이다. 신선하고 살아있는 피부의 느낌을 내기 위해 지금까지 다양한 수단이 시도되어 왔다.

🌐 원문 링크: 表面下散乱によるスキンシェーダ(1)~ハーフライフ2で採用の疑似ラジオシティライティング(1) (Mynavi News)
📅 원문 발행일: 2009-04-04 | ✍️ 저자: 西川善司 (니시카와 젠지 / Zenji Nishikawa)

NOTE

💡 현대 그래픽스 관점에서의 발전사 (Modern Retrospective)

  • 스크린 공간 SSS (SSSS): Jorge Jimenez 등이 제안한 화면 공간 분리 가능 서브서피스 스캐터링(Separable SSSS) 기법이 정립되면서 피부 렌더링의 성능 효율이 비약적으로 상승했습니다.
  • 다층 표면 모델 (Multi-layer SSS): 표피(Epidermis), 진피(Dermis), 피하지방층으로 세분화된 빛 흡수/산란 계수를 개별 프로파일링하여 영화 CG 수준의 디지털 휴먼 렌더링이 실시간으로 구현됩니다.

📖 본문 해설

[원문 리드문] > 3D 게임 그래픽에서는 인간의 캐릭터 취급이 많고, 그 때 피할 수 없는 것이 사람 피부의 표현이다. 신선하고 살아있는 피부의 느낌을 내기 위해 지금까지 다양한 수단이 시도되어 왔다.

3D 게임 그래픽스에서는 인간 캐릭터 취급이 많고, 그 때 피할 수 없는 것이 사람 피부의 표현이다.

다만, 피부색에 바른 텍스처를 붙여 확산 반사의 라이팅을 실시한 것만으로는 야키야키나 플라스틱처럼 보인다. 신선하고 살아있는 피부의 느낌을 내기 위해 지금까지 다양한 수단이 시도되어 왔다.

이번부터는, 가장 기본적인 의사 수법과, 비교적 물리적으로 올바른 처리를 실시해 리얼한 결과를 낼 수 있는 수법을 소개해 가자.

하프 라이프 2에서 채용된 의사 라디오 시티 라이팅 "하프 램버트 라이팅"

미국 VALVE SOFTWARE가 개발한 「하프 라이프 2」(2004년)에서는, 인간 캐릭터 등의 동적 캐릭터에는 동사 독자 개발의 「하프 램버트 라이팅」(Half Lambart Lighting)이라고 불리는 특별한 라이팅이 실장되고 있었다.

이 기법은 물리적으로는 완전히 틀린 완전한 모의 방법이지만, 복잡한 상호 반사에 의한 라이팅(라디오시티: Radiosity) 라이크한 부드러운 음영이 나오기 때문에, 부드러운 빛이 가득한 공간에서의 라이팅 표현이 가능해진다. 하라이프 2에서는 이것이 포토 리얼한 비주얼 이미지의 실현에 큰 역할을 하고 있었다.

하프 램버트 라이팅의 원형은 물론 그 '램버트 라이팅'이다.

램버트 라이팅은 확산 반사의 셰이딩(Shading)의 잘 알려진 일반계로, 시선 방향에 의존하지 않는 광원의 입사 방향과 면의 방향(노멀 벡터)만으로 산출되는 셰이딩(Shading) 기법이 된다. 이 기법에서는 「그 지점의 밝기는, 면의 방향과 빛의 입사 방향이 짜는 각도 θ의 COSθ에 비례한다」라고 하는 「램버트의 코사인 법칙」이 정의되고 있지만, 실제로 이것으로 라이팅하면 명암이 상당히 강렬하게 나오는 특성이 있다.

램버트의 코사인 법칙램버트의 코사인 법칙

🔍 [인포그래픽 도해 한국어 번역: 람베르트 코사인 법칙 vs 하프 람베르트 비교]

  • 적색 커브 (기본 람베르트): cosθ 곡선. θ>90 (빛 반대편)에서는 밝기가 0 이하로 떨어져 완전한 칠흑으로 표현됨
  • 청색 커브 (하프 람베르트): (0.5cosθ+0.5)2 곡선. θ=180 역광에서도 최소 밝기 및 부드러운 감쇠 곡선을 유지하여 인체 피부의 자연스러운 명암 형성

하프 라이프 2에서는 이 드러스틱으로 변화하는 코사인 커브에 바이어스를 걸어 암부 계조를 들어올리는 궁리를 했다. 램버트의 코사인 법칙의 코사인 커브가 절반이 되도록 "1/2"를 곱하여 "1/2"를 더하고, 이를 제곱하여 완만한 곡선으로 변환하여 셰이딩(Shading)를 하기 때문에 ""하프"·램버트·라이팅”이라는 셈이다. (계속)

빨간색 곡선이 램버트의 코사인 법칙의 기본 코사인 곡선. 청색의 곡선이 하프 램버트 라이팅의 곡선. 왼쪽이 일반 램버트 조명 결과, 오른쪽이 하프 램버트 조명 결과빨간색 곡선이 램버트의 코사인 법칙의 기본 코사인 곡선. 청색의 곡선이 하프 램버트 라이팅의 곡선. 왼쪽이 일반 램버트 조명 결과, 오른쪽이 하프 램버트 조명 결과

(트라이Z 니시카와 젠지)


🔗 연관 지식 베이스 (Wiki)

Based on Zenji Nishikawa's 3D Graphics Maniax series. Translated & Knowledge-Based for Korean Game Developers.