스테이셔너리 라이트 모빌리티

런타임 도중 프로퍼티 일부를 변경할 수 있는 미리 계산된 부분적 다이내믹 라이팅입니다.

Choose your operating system:

Windows

macOS

Linux

모빌리티가 스테이셔너리(Stationary) 로 설정된 라이트는 한곳에 머무르도록 의도된 라이트지만 밝기나 색 등을 변경할 수 있습니다. 이는 게임플레이 도중에는 변경이 전혀 불가능한 스태틱 라이트(Static Lights)와 차별화되는 점입니다.

선택 가능한 세 가지 라이트 모빌리티 중에서 스테이셔너리 라이트는 최고 퀄리티, 중간 수준 변경 용이성과 중간 수준 퍼포먼스 비용을 보입니다.

스테이셔너리 라이트는 다이내믹 및 스태틱 라이팅 모두를 레벨용 라이트 맵에 저장되는 간접 라이팅 및 섀도잉과 함께 사용하여 결과를 달성합니다. 직접 섀도는 섀도 맵에 저장됩니다. 이 라이트는 디스턴스 필드 섀도를 사용하므로 라이팅된 오브젝트에서 라이트 맵 섀도가 현저히 낮더라도 섀도가 선명하게 유지됩니다.

스테이셔너리 직접 라이팅

스테이셔너리 라이트는 다이내믹 직접 라이팅 및 스태틱 간접 라이팅을 모두 사용하여 결과를 달성합니다. 간접 라이팅 및 섀도잉은 라이트 맵에 저장되며, 직접 섀도잉은 섀도 맵에 저장됩니다. 스테이셔너리 라이트는 디퍼드 셰이딩을 통해 다이내믹하게 렌더링되므로 밝기와 색이 런타임에서 변경될 수 있으며, 라이트 함수IES 프로파일도 같은 방식으로 지원합니다.

또한 스테이셔너리 라이트는 무버블 라이트와 같은 고퀄리티 분석적 스페큘러도 갖습니다.

스테이셔너리 디렉셔널 라이트와 | 무버블 오브젝트

스태틱 디렉셔널 라이트와 | 무버블 오브젝트

스테이셔너리 라이트 섀도잉

스테이셔너리 라이트는 서로 간에 또는 레벨 내의 지오메트리 하나에 4개 이하만 오버랩될 수 있습니다. 따라서 일부 경우 레벨의 특정 부분에서는 더 적은 스테이셔너리 라이트가 오버랩될 수도 있습니다. 섀도잉은 오버랩 테스트에 영향을 미치지 못하므로 디렉셔널 라이트는 일반적으로 라이트가 있는 전체 레벨의 채널을 필요로 합니다. 지하에 있거나 다른 지오메트리에 의해 가려진 영역이더라도 마찬가지입니다. 채널 한계에 도달하면 다이내믹(또는 전체 씬 섀도)만 사용되므로 퍼포먼스 비용이 상당히 높아집니다.

레벨에서 최대 4개의 스테이셔너리 라이트 오버랩 한계를 초과하면, 초과하는 라이트의 아이콘이 오버랩 한계를 충족할 때까지 빨간색 X 아이콘으로 바뀝니다. 오버랩 한계가 충족될 때까지 한계를 초과하는 라이트를 빨간색으로 하이라이트하는 스테이셔너리 라이트 오버랩(Stationary Light Overlap) 시각화 모드가 있습니다.

스테이셔너리 라이트 오버랩 시각화를 활성화하려면 레벨 에디터(Level Editor) 뷰 모드(View Mode) > 최적화 뷰모드(Optimization Viewmodes) 드롭다운으로 이동합니다.

레벨 에디터 메뉴 스테이셔너리 라이트 오버랩 시각화

불투명한 머티리얼에 대한 스테이셔너리 간접 라이팅

라이트매스는 라이팅 빌드 프로세스 도중 스태틱 오브젝트에 대한 스테이셔너리 라이트의 디스턴스 필드 섀도 맵을 생성합니다. 디스턴스 필드 섀도 맵은 낮은 해상도에서도 정확한 섀도 트랜지션을 제공하며 발생하는 런타임 비용이 매우 적습니다. 예를 들어 라이트 맵에는 모빌리티가 스태틱으로 설정되어 있고 스태틱 및 스테이셔너리 라이트 소스의 간접 라이팅을 포함하는 모든 메시에 고유하게 언랩된 UV가 필요합니다.

DistanceFieldShadows.png

불투명한 표면의 정확한 스태틱 메시 액터 섀도잉.

라이팅은 스테이셔너리 또는 스태틱 라이트 소스로부터 섀도를 표시하도록 빌드되어야 하며, 그렇지 않으면 다이내믹 섀도가 사용됩니다.

반투명 머티리얼에 대한 스테이셔너리 간접 라이팅

반투명은 스테이셔너리 라이트를 통해 섀도를 낮은 비용으로 받습니다. 레벨 내 스태틱 지오메트리의 라이트매스가 섀도 뎁스 맵을 미리 계산하기 때문입니다. 이 섀도 뎁스가 런타임에서 반투명에 적용됩니다. 이 형태의 섀도잉은 매우 거칠며 미터 단위의 섀도잉만 캡처합니다.

섀도 없는 반투명

디렉셔널 라이트로부터 | 스태틱 섀도잉을 받는 반투명

스태틱 섀도 뎁스 맵의 해상도는 BaseLightmass.ini 환경설정 파일의 StaticShadowDepthMapTransitionSampleDistanceX 및 `StaticShadowDepthMapTransitionSampleDistanceY`로 제어됩니다. 기본값은 미터당 텍셀이 1개인 100입니다.

스테이셔너리 라이트 다이내믹 섀도잉

모빌리티가 무버블로 설정된 스태틱 메시와 스켈레탈 메시 등의 다이내믹 오브젝트는 섀도 맵으로부터 월드에 통합되어야 하며, 이는 오브젝트별 섀도를 통해 수행됩니다. 각 무버블 오브젝트는 주어진 스테이셔너리 라이트로부터 두 개의 다이내믹 섀도를 생성합니다. 무버블 오브젝트 에 대해 스태틱 월드를 처리하기 위한 섀도와 월드에 드리워지는 무버블 오브젝트를 처리하기 위한 섀도입니다.

이 설정에서는 영향을 받는 무버블 오브젝트에서만 스테이셔너리 라이트의 섀도잉 비용이 발생합니다. 이는 무버블 오브젝트가 몇 개인지에 따라 비용이 크게 달라질 수 있다는 뜻이기도 합니다. 영향을 받는 무버블 오브젝트가 충분히 많다면, 모빌리티를 무버블로 설정한 라이트를 사용하는 것이 더 효율적입니다.

아래 예시 씬에서 구체는 모빌리티가 무버블 로 설정되어 있고 씬의 나머지 지오메트리는 스태틱으로 설정되어 있습니다.

아래 예시 씬에서는 스테이셔너리 디렉셔널 라이트가 씬 라이팅에 사용됩니다. 구체의 모빌리티는 무버블 로 설정되어 있고 씬의 나머지 지오메트리는 스태틱 으로 설정되어 있습니다. 씬에 라이팅이 빌드됐습니다. 각 무버블 구체의 오브젝트별 섀도 프러스텀은 뒤에 있는 오브젝트로부터 섀도를 받고 지면의 섀도와 블렌드되는 자체 섀도를 드리우며 씬에 매끄럽게 통합됩니다.

DynamicObjectShadowFrustums.png

무버블 컴포넌트가 사용하는 오브젝트별 섀도는 오브젝트의 바운드에 섀도 맵을 적용하므로 오브젝트 바운드가 정확해야 합니다. 스켈레탈 메시의 경우, 이는 피직스 에셋이 필요하다는 것을 뜻합니다. 파티클 시스템의 경우, 고정된 바운딩 박스가 생성되는 모든 파티클을 포함할 정도로 커야 합니다.

스테이셔너리 디렉셔널 라이트 다이내믹 섀도잉

디렉셔널 스테이셔너리 라이트는 캐스케이드 섀도 맵(Cascaded Shadow Maps) 을 통해 전체 씬 섀도를 지원하는 동시에 프리컴퓨티드 스태틱 섀도잉을 지원한다는 점에서 특별합니다. 이는 애니메이팅 폴리지가 많아서 플레이어 주변에 움직이는 섀도를 만들고 싶지만 넓은 뷰 범위를 아우르는 다수의 캐스케이드 섀도 맵 레벨에 대한 비용을 지불하고 싶지 않은 경우 유용합니다.

디렉셔널 스테이셔너리 라이트는 다이내믹 섀도 스테이셔너리 라이트(Dynamic Shadow Distance Stationary Light) 로 지정된 범위 내에서 플레이어 근처의 직접 섀도잉을 위해 캐스케이드 섀도 맵을 사용합니다. 이 거리를 넘어서는 섀도는 라이트 맵에 저장된 프리컴퓨티드 스태틱 섀도로 페이드됩니다. 기본적으로 모든 디렉셔널 스테이셔너리 라이트는 다이내믹 섀도잉이 전혀 없는 0 값에서 시작합니다.

씬에 무버블 오브젝트가 많은데 더 작은 다이내믹 섀도 디스턴스를 사용하고 싶은 경우 퍼포먼스 비용을 절약하려면 무버블 오브젝트용 인셋 섀도(Inset Shadows for Movable Objects) 를 활성화합니다. 활성화하면 무버블 오브젝트가 캐스케이드 섀도 맵 범위 밖에 있어도 섀도를 가질 수 있으며 씬에 무버블 오브젝트가 많은 경우 섀도잉 비용이 대폭 줄어듭니다.

스테이셔너리 라이트 간접 섀도잉

스테이셔너리 라이트는 라이팅이 레벨에 대해 빌드될 때 스태틱 라이트와 마찬가지로 간접 라이팅을 라이트 맵에 저장합니다. 간접 라이팅은 수정하려면 라이팅을 무효화하고 다시 빌드해야만 합니다. 단, 라이트의 강도(Intensity)라이트 컬러(Light Color) 는 수정할 수 있습니다. 그러나 이는 구워진 섀도의 강도나 색에는 영향을 미치지 않습니다.

포스트 프로세스 볼륨(Post Process Volume) 에서 글로벌 일루미네이션(Global Illumination) 카테고리의 간접광 컬러(Indirect Lighting Color)간접광 강도(Indirect Lighting Intensity) 프로퍼티를 사용하여 간접 섀도의 강도 및 컬러를 변경할 수 있습니다.

스테이셔너리 라이트에 에리어 섀도 사용

스테이셔너리 라이트 프리컴퓨티드 섀도 맵에 에리어 섀도를 사용할지 여부입니다. 에리어 섀도는 섀도 캐스터에서 멀어질수록 부드러워지지만 섀도가 선명한 부분과 동일한 퀄리티를 얻으려면 라이트 맵 해상도가 더 높아야 합니다.

기본적으로, 스태틱 라이트는 라이팅을 빌드할 때 자동으로 에리어 섀도를 사용합니다. 에리어 섀도는 표면 컨택트 주변에 선명한 하드 섀도잉을 적용하고 표면에서 멀리 떨어질수록 더 소프트한 섀도잉을 적용합니다. 스테이셔너리 라이트의 경우, 스테이셔너리 라이트에 에리어 섀도 사용(Use Area Shadows for Stationary Lights) 프로퍼티를 통해 이 라이트에 영향을 받는 씬 내 모든 스태틱 지오메트리에 대한 소프트 에리어 섀도잉을 활성화할 수 있습니다.

이 프로퍼티는 라이트의 디테일(Details) 패널에 있는 라이트매스(Lightmass) 섹션 아래의 스테이셔너리 라이트(Stationary Lights)에서 활성화됩니다.

스태틱 지오메트리의 | 디폴트 스테이셔너리 섀도

에리어 섀도가 활성화된 | 스태틱 지오메트리

스테이셔너리 라이트에 에리어 섀도 사용 은 스테이셔너리 라이트에서만 사용 가능하며 좋은 결과를 얻으려면 더 높은 라이트 맵 해상도가 필요합니다.

언리얼 엔진의 이전 버전을 위해 작성된 페이지입니다. 현재 언리얼 엔진 5 버전을 위해 업데이트되지 않았습니다.