UDN
Search public documentation:

DistanceFieldShadowsKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > 빛과 그림자 > 디스턴스 필드 섀도우 (Distance Field Shadow)
UE3 홈 > 라이팅 아티스트 > 디스턴스 필드 섀도우 (Distance Field Shadow)

디스턴스 필드 섀도우 (Distance Field Shadow)


문서 변경내역: Daniel Wright 작성. 홍성진 번역.

개요


부호화된 디스턴스 필드 섀도우는 2009년 7월 QA 승인 빌드 에 처음 도입된 미리계산된 그림자(precomputed shadows)를 다르게 인코딩하기 위한 접근법이며, 현재 도미넌트 라이트 에서만 사용되고 있습니다.

자세한 정보는 테크 블로그 에서 도미넌트 디렉셔널 라이트를 참고해 보시기 바랍니다.

작동 방식


디스턴스 필드 섀도우는 (Valve Software 의) alpha tested magnification(알파 검사 확대) 에 관환 최근 논문을 기반으로 합니다. 개념적으로는 저장된 표준 섀도우 팩터(그늘엔 0, 아니면 1)를 가장 가까운 그림자 전환 부분까지의 거리로 대체하는 것입니다. 그리고서 단순히 원하는 페넘브라(penumbra, 빛과 그림자가 만나는 부분) 속으로 거리를 스케일하고 편향시켜 런타임에 그림자를 재구성하는 것입니다. 섀도우 팩터를 직접 저장할 때는, 해상도를 낮추면 그림자에도 계단 현상이 심해지게 됩니다. 그러나 디스턴스 필드 섀도우의 해상도를 낮추면 그림자 전환 부분은 그대로 선명하게 나오면서 구석이나 빈도가 높은 부분만 그림자 전환 곡선이 심해지게 됩니다. 저희의 테스트 레벨에서 볼 때, 도미넌트 라이트에 부호화된 디스턴스 필드 섀도우를 (각 축으로) 반해상도를 사용했을 때가, 섀도우 팩터를 풀 해상도로 저장했을 때보다 나아 보였습니다. 디스턴스 필드 섀도우는 메모리를 1/4만 쓰는 데도 말입니다.

제한사항


단점은 완전히 밝은 곳에서 어두은 그림자로의 전환만 재구성 가능하기에 포울리지와 같은 디테일한 부분은 예전 그림자 방식이 나으며, 똑같은 페넘브라가 아무데나 사용될 수 있도록 페넘브라 크기도 (메모리 사용량을 줄이기 위해) 저장하지 않습니다. 도미넌트 라이트의 반투명 그림자 역시 지원되지 않으며, 미리계산된 앰비언트 오클루전도 도미넌트 라이트의 직사광에 영향을 끼칠 수 없습니다.

비교 1


다양한 페넘브라 크기의 디스턴스 필드 섀도우. 참고로 메모리를 절반만 사용하기 위해 균등한 페넘브라 크기를 사용한 것을 체크인해 놓았습니다. 텍셀당 2 바이트 입니다:

1DistanceField.jpg

위의 디스턴스 필드 섀도우와 같은 해상도의 섀도우 팩터를 사용한 그림자. 다른 토글가능 라이트가 사용하는 방식으로, 텍셀당 1 바이트 입니다:

1ShadowFactor.jpg

더 높은 해상도의 섀도우 팩터를 사용한 그림자로, 디스턴스 필드 섀도우와 같은 품질을 내기 위해 트윅한 것입니다. 해상도는 각 축별로 2~4배 늘어났으며, 최종 라이트맵 메모리는 텍셀당 2 바이트 디스턴스 필드 버전보다 3.7 배 늘어났습니다:

1ShadowFactorHighRes.jpg

비교 2


디스턴스 필드 섀도우:

2DistanceField.jpg

위의 디스턴스 필드 섀도우와 같은 해상도의 섀도우 팩터 섀도우:

2ShadowFactor.jpg

디스턴스 필드 섀도우와 같은 품질을 내기 위해 해상도를 높인 섀도우 팩터 섀도우:

2ShadowFactorHighRes.jpg