머티리얼에 MLM_Subsurface 이라는 서브서피스 셰이딩 모델이 새로 생겼습니다. 겉은 불투명해 보이지만 그 안에 스며든 빛이 이리저리 산란하다 반대편 표면으로 빛의 일부가 빠져나오는, 왁스나 비취같은 재질에 사용됩니다.
(w:588)
(w:588)
인간과 같은 생명체의 피부를 현실적으로 표현하는 데는 서브서피스 스캐터링(SSS, 피하 산란)이란 기법이 종종 사용됩니다만, 그에 비하면 이 셰이딩 모델의 이펙트는 일반적으로 피부의 렌더링에 사용되는 것 보다는 품질이나 가격 면에서 싼 편입니다.
기술적 세부사항
서브서피스 라이팅에는 컴포넌트가 둘 있습니다. 하나는 최대치를 넘으면 최소치로 돌아가는 'N 도트곱 H' (wrap-around 'N dot H') 부분과, 다른 하나는 라이트가 SSS 오브젝트의 반대편에 있을 때 나타나는 라이트 후방산란 부분입니다. 둘 다 지수형(exponential) 그림자 맵의 반투명 셀프 섀도잉에 의한 마스크가 적용됩니다.
머티리얼 입력 채널
SubsurfaceColor (피하색) 입력 채널은 SSS 라이팅에 영향을 끼치는 머티리얼 내부 색입니다.
머티리얼의 Opacity (불투명) 채널은, 머티리얼이 서브서피스 스캐터링과 MLM_Subsurface 셰이딩 모델을 사용중일 때 약간 다른 의미를 갖습니다. 일단 이런 유형 자체는 완전히 불투명하기 때문에, 여기서 Opacity 는 빛을 산란시킬 때의 농도 뿐만 아니라 다음과 같은 것도 조절합니다:
- 노멀이 서브서피스 라이팅에 영향을 끼치는 양. 머티리얼의 불투명도가 높을 수록 노멀의 영향력도 높아집니다.
- 셀프 섀도잉 때문에 빛이 머티리얼을 통과해 도달하는 거리. 불투명도가 낮을 수록 빛의 이동 거리는 늘어납니다.
- 머티리얼 위의 그림자 농도. 불투명도가 낮을 수록 그림자도 연해지나 그 정도는 제한됩니다.
서브서피스 머티리얼의 Opacity 은 꼭 0.1 정도의 적당한 값으로 설정해 줘야 합니다. 기본값인 1 을 그대로 놔두면 별로 서브서피스 유형같아 보이지 않는 효과가 납니다.
한계
그 이외에도 현재 구현에는 다음과 같은 한계가 있습니다:
- 포인트 라이트 섀도잉은 아직 지원되지 않습니다.
- 캐스케이드 섀도 맵에 이음새 문제가 있습니다.
- SSS 머티리얼은 그림자를 드리우는 것에 일정 이상 가까운 경우, 완전히 불투명한 오브젝트를 통해 새어나오는 빛을 계속해서 받을 수 있습니다.
- 낮은 불투명도에서의 연한 그림자는, 연한 정도에 제한이 있고 계단현상이 보입니다.