언어:
페이지 정보
엔진 버전:
언리얼 엔진

다이내믹 씬 섀도

언리얼 엔진

Dynamic Scene Shadows 콘텐츠 예제 맵에서는 디렉셔널 라이트 액터 전용 섀도잉 메서드인 Cascading Shadow Mapping (캐스케이드 섀도 매핑)을 통해 구워진 라이팅으로 동적인 섀도잉 효과를 내는 법을 확인할 수 있습니다. 미리 구워둔 그림자에 비할 때, 바람에 나부끼는 잎사귀 풍성한 나무같은 다이내믹 오브젝트에도 그림자를 드리워 훨씬 사실적인 씬을 만들 수 있다는 장점이 있습니다.

캐스케이드 섀도 맵 작동방식

캐스케이드 섀도 맵 메서드 는 뷰 프러스텀을 거리에 따른 섀도 캐스케이드 시리즈로 나누며, 그 각각은 카메라와의 거리에 따라 해상도가 점점 낮아집니다. 즉 플레이어의 시야에 가장 가까이 있는 그림자는 해상도가 가장 높은 반면, 가장 멀리 있는 것은 해상도가 가장 낮습니다. Dynamic Shadow Distance (다이내믹 섀도 디스턴스) 프로퍼티의 범위를 넘어서는 부분에 대해서, 시스템은 정적으로 구워진 그림자와 다시 블렌딩합니다. 이런 식으로 오브젝트에서 멀어지면서 라이팅이 구워진 씬을 가지고 정적으로 구워진 그림자에 부드럽게 전환할 수 있습니다.

CascadedShadowMapsImage.png

위 그림에서 (카메라 근처의) 다이내믹 섀도 부분이 다이내믹 섀도 디스턴스를 나타내는 데 사용되는 노랑 선에 가까워 질수록 희미해 지는 것을 볼 수 있습니다.

  1. 스태틱 섀도 표시 영역

  2. 카메라 근처, 캐스케이드 섀도 맵 표시 영역

캐스케이드 섀도 맵 프로퍼티

디렉셔널 라이트 액터에 대한 디테일 패널에서는, Cascaded Shadow Map (캐스케이드 섀도 맵) 카테고리를 찾을 수 있습니다. 그 안에는 다음과 같은 프로퍼티가 있습니다.

프로퍼티

설명

Dynamic Shadow Distance (MovableLight and StationaryLight)

다이내믹 섀도 디스턴스 (무버블 라이트 & 스테이셔너리 라이트) - 카메라에서 이 거리까지는 캐스케이드 섀도 맵이 보입니다. 0 으로 세팅하면 사실상 다이내믹 섀도가 꺼집니다. 참고로 무버블 라이트와 스테이셔너리 라이트용 세팅이 있습니다.

Num Dynamic Shadow Cascades

다이내믹 섀도 캐스케이드 수 - 다이내믹 섀도 디스턴스를 총 몇 개의 캐스케이드로 나눌 것인지 조절합니다. 높을수록 원거리에서의 그림자 해상도가 좋아지지만, 퍼포먼스 비용도 높아집니다.

Cascade Distribution Exponent

캐스케이드 분포 지수 - 캐스케이드 사이의 카메라 전환이 얼마나 가까이 일어나는지를 조절합니다. 이 값은 다이내믹 섀도 디스턴스에 분수로 적용됩니다. 값이 1 이면 해상도에 비례한 거리에서 전환이 일어나도록 합니다. 값이 1 보다 크면 전환이 카메라 가까이로 당겨집니다.

Cascade Transition Fraction

캐스케이드 전환 비율 - 한 캐스케이드간 전환시의 페이드 비율을 조절합니다. 값이 0 에 수렴할 수록 전환은 빡빡해 집니다. 0 은 전환이 없으며, 캐스케이드 사이에 하드 에지가 납니다.

Shadow Distance Fadeout Fraction

섀도 디스턴스 페이드아웃 비율 - 캐스케이드 섀도 맵으로의 전체적인 전환을 부드럽게 만듭니다. 0 은 딱딱한, 0 은 완전히 부드러운 전환입니다. 보통 0.1 이 좋습니다. 퍼포먼스 비용과 관계 없는 값입니다.

Use Inset Shadows for Movable Objects

무버블 오브젝트에 삽입 그림자 사용 - 스테이셔너리 라이트를 받은 무버블 오브젝트에 삽입 그림자를 사용할 수 있도록 합니다. 무버블 오브젝트가 다이내믹 섀도 디스턴스 범위 밖으로 움직일 때, 특히 다이내믹 섀도 디스턴스 값이 낮게 설정되어 있을 때 좋습니다. 다이내믹 섀도 디스턴스가 (현재 8000 이상으로) 매우 클 경우, 이 옵션은 강제로 꺼집니다.