모빌리티가 무버블(Movable) 로 설정된 라이트는 런타임 도중 어떤 식으로든 동적으로 변경될 수 있는 라이트입니다. 이를 다이내믹 라이트라고도 합니다. 무버블 라이트의 퍼포먼스 비용은 스태틱 또는 스테이셔너리 라이트보다 높으며, 라이트에 영향을 받는 메시의 수 및 해당 메시의 트라이앵글 수에 따라 달라집니다. 예를 들어 반경이 큰 섀도 캐스팅 다이내믹 라이트는 반경이 작은 라이트보다 퍼포먼스 비용이 높습니다.
무버블 라이트는 루멘 글로벌 일루미네이션 및 리플렉션과 함께 사용될 경우 다이내믹 간접광을 지원합니다.
세 가지 라이트 모빌리티 옵션 중에 무버블 라이트는 다양한 퀄리티(사용되는 다이내믹 섀도의 유형에 따라 다름), 최고의 변경 용이성, 가장 높은 퍼포먼스 비용을 갖습니다.
지원되는 섀도 유형
무버블 라이트는 스태틱 및 스테이셔너리 라이트보다 훨씬 많은 다이내믹 라이팅 및 섀도잉 메서드를 지원합니다. 무버블 라이트에서 지원되는 섀도잉 유형은 다음과 같습니다.
- 섀도 맵(Shadow Maps) 은 전체 씬 다이내믹 섀도를 제공합니다. 엔진 내의 모든 다이내믹 섀도잉에 대한 표준 섀도잉 메서드이며, 모든 라이트 유형에 대해 대부분의 플랫폼에서 작동합니다. 섀도 맵은 이 목록의 다른 많은 섀도잉 메서드와 같이 소프트 에리어 섀도잉을 제공하지 않습니다.
- 버추얼 섀도 맵은 영화 퀄리티 에셋 및 동적으로 라이팅된 대규모 오픈 월드에서 잘 작동하는 일관된 고해상도 섀도 맵을 제공합니다. 이는 소프트 에리어 섀도잉을 제공하며 나나이트, 루멘 글로벌 일루미네이션 및 리플렉션, 월드 파티션과 원활히 연동되며 적절한 퍼포먼스 비용으로 최고의 퀄리티를 달성합니다. 버추얼 섀도 맵은 DirectX 11 또는 DirectX 12를 지원하는 최신 콘솔 및 PC 플랫폼에서 지원됩니다.
- 레이 트레이싱 섀도는 소프트 에어리어 라이팅 이펙트를 시뮬레이션하며 적절한 퍼포먼스로 최고의 섀도잉 퀄리티를 달성합니다. DirectX 12를 지원하는 Windows 10(또는 이후 버전)에서 실행되는 NVIDIA GPU로 지원되는 레이 트레이싱 아키텍처를 사용합니다.
- 메시 디스턴스 필드 섀도는 메시의 디스턴스 필드 표현을 바탕으로 메시로부터 라이팅 이펙트 및 소프트 에리어 섀도잉을 제공합니다. 이 메서드는 프로젝트에 디스턴스 필드 메시를 필요로 하며, 이는 루멘 글로벌 일루미네이션 및 리플렉션 및 디스턴스 필드 앰비언트 오클루전에서의 소프트웨어 레이 트레이싱에 필요합니다.
섀도 바이어스
언리얼 엔진의 디폴트 섀도 매핑 기법은 모든 플랫폼에서 작동하며, 무버블 라이트가 다이내믹 섀도잉을 제공하도록 지원합니다. 섀도 매핑에는 곡면에서 깎이는 섀도, 표면 교차점의 섀도 컨택트 하드닝 등의 아티팩트를 유발하여 오브젝트가 떠 있거나 씬에 자리잡고 있지 않은 것처럼 보이게 만드는 약간의 제한이 따릅니다.
섀도 바이어스는 프로퍼티에서 라이트별로 설정되어 이러한 유형의 아티팩트를 줄이는 동시에 이런 라이트 소스에서 자체 섀도잉의 정확도 및 컨택트 하드닝을 개선합니다. 이 바이어스 세팅은 한 영역에서 정확도의 균형을 잡고 다른 영역에서 자체 섀도잉 아티팩트를 줄이는 절충 방식으로 작동합니다.


섀도 기울기 바이어스(Shadow Slope Bias) 를 조정할 경우 자체 섀도잉 아티팩트는 줄지만 섀도 정확도가 감소되어, 씬에서 지면에 놓인 오브젝트의 피터팬(또는 부유) 이펙트를 야기할 수 있습니다. 기울기 바이어스 조정이 다이내믹 라이팅에서 발생하는 모든 자체 섀도잉 문제를 해결해 주지는 않지만, 대부분의 문제를 해결할 수 있습니다. 프로젝트에 적절한 균형을 맞추는 것은 여러분의 몫입니다.
디렉셔널 라이트에는 캐스케이드 섀도 맵(CSM)의 바이어스 세기를 제어하는 추가 뎁스 바이어스 프로퍼티가 있습니다. 이는 캐스케이드 트랜지션 포인트에서 섀도 아티팩트의 불연속성을 줄여 줍니다.


라이트에서 섀도 바이어스 조정에 사용할 수 있는 프로퍼티는 다음과 같습니다.
프로퍼티 | 설명 |
---|---|
섀도 캐스케이드 바이어스 분포(Shadow Cascade Bias Distribution) | (디렉셔널 라이트 전용) 캐스케이드 섀도 맵에서 뎁스 바이어스 스케일링을 제어합니다. 여러 캐스케이드 트랜지션 간의 섀도 아티팩트 차이를 완화합니다. 1 값은 각 캐스케이드의 크기를 바탕으로 섀도 바이어스 스케일을 조절합니다. 0 값은 모든 캐스케이드에서 균등하게 섀도 바이어스 스케일을 조절합니다. |
섀도 바이어스(Shadow Bias) | 이 라이트 소스로 인한 전체 씬 섀도의 자체 섀도잉 정확도를 제어합니다. 0인 경우 섀도가 섀도 캐스터 표면에서 시작하지만 아티팩트가 많이 발생합니다. 값이 클수록 섀도가 캐스터에서 먼 위치에서 시작하므로 자체 섀도잉 아티팩트는 발생하지 않지만 오브젝트가 표면 위에 떠 있는 것처럼 보일 수 있습니다. 0.5 정도의 중간 값으로 설정하면 정확도와 자체 섀도잉 아티팩트 감소가 적당히 균형을 이룰 수 있습니다. |
섀도 기울기 바이어스(Shadow Slope Bias) | 섀도 바이어스에 추가로 작동하여 선택된 라이트로 인한 전체 씬 섀도의 자체 섀도잉 정확도를 제어합니다. 이 프로퍼티는 주어진 표면의 기울기에 따라 바이어스의 양을 늘립니다. 0인 경우 섀도가 캐스터 표면에서 시작하지만 자체 섀도잉 아티팩트가 많이 발생합니다. 값이 클수록 섀도가 캐스터에서 먼 위치에서 시작하므로 자체 섀도잉 아티팩트는 발생하지 않지만 오브젝트가 표면 위에 떠 있는 것처럼 보일 수 있습니다. |
섀도 필터 샤프니스(Shadow Filter Sharpen) | 스테이셔너리 또는 무버블 라이트로 인한 직접 섀도잉의 선명도를 조정합니다. 섀도 매핑의 소프트 섀도잉 이펙트를 줄일 수 있습니다. |
섀도 맵 캐싱
섀도 맵 캐싱은 무버블 라이트의 기능으로, 포인트 및 스포트 라이트로 인한 섀도 캐스팅 비용을 게임에서 크게 낮춰 줍니다. 이동할 필요가 없는 에셋이 있는 레벨에서 이러한 에셋의 섀도 계산은 각 프레임마다 퍼포먼스 비용을 초래합니다. 섀도 맵 캐싱은 모빌리티가 스태틱 또는 스테이셔너리 로 설정되어 에셋에 변화가 있거나 라이트가 바뀌지 않는 한 매 프레임마다 재계산할 필요가 없는 에셋을 확인합니다.
섀도 맵 캐싱은 특히 라이트의 영향을 받는 에셋이 많은 레벨에서 퍼포먼스에 상당한 영향을 미칩니다.
예를 들어 섀도를 드리우는 3개의 무버블 포인트 라이트가 있는 중간 규모의 씬에서 이 라이트의 섀도 뎁스 렌더링에는 14밀리초 이상이 걸립니다. 캐시된 섀도를 활성화하면 동일한 3개의 라이트가 섀도 뎁스를 렌더링하는 데 1밀리초 정도밖에 걸리지 않습니다.
섀도 맵 캐싱에는 캐시된 섀도를 저장할 메모리가 필요합니다. 대규모 씬에서는 콘솔 명령 r.Shadow.WholeSceneShadowCacheMb
로 할당된 메모리 크기를 조정해야 할 수도 있습니다.
섀도 맵 캐싱 퍼포먼스
콘솔 명령 r.Shadow.WholeSceneShadows
로 캐싱을 활성화/비활성화하여 섀도 맵 캐싱의 퍼포먼스 비용을 확인할 수 있습니다. 먼저
Stat ShadowRendering
으로 섀도 렌더링 통계 창을 열어서 캐시된 섀도의 퍼포먼스를 확인할 수도 있습니다. 그런 다음 콘솔 명령 r.Shadow.WholeSceneShadows
로 캐시된 섀도를 활성화/비활성화합니다.
![]() |
![]() |
---|---|
섀도 맵 캐싱: 활성화됨 | 섀도 맵 캐싱: 비활성화됨 |
섀도 맵 캐싱 제한 사항
섀도 맵 캐싱을 사용하면 레벨에서 다이내믹 섀도잉 사용 비용을 대폭 줄일 수 있습니다. 그러나 엔진에서 지원되지 않는 기능과 함께 사용할 때 고려해야만 할 몇 가지 제한 사항이 있습니다.
기본적으로 캐싱은 다음과 같은 에셋이 해당 조건을 충족할 때에만 가능합니다.
- 레벨에서 프리미티브의 모빌리티가 스태틱 또는 스테이셔너리 로 설정되어야 합니다.
- 월드 포지션 오프셋(World Position Offset) 을 사용하는 머티리얼은 캐시되지 않습니다.
- 포인트 라이트 및 스포트 라이트 는 지원되며, 섀도 캐스팅 시 모빌리티가 무버블 로 설정되어야 합니다.
- 이동하는 라이트는 섀도가 캐시되지 않습니다.
- 애니메이팅된 테셀레이션(Tessellation) 또는 픽셀 뎁스 오프셋(Pixel Depth Offset) 을 사용하는 머티리얼은 섀도가 캐시되지만 에셋에서 부정확하게 보이므로 아티팩트를 일으킬 수 있습니다.