메시와 머티리얼을 사용한 로컬 베리에이션 생성 기능이 있는 볼류메트릭 포그를 사용하지 않는 한, 스카이 애트머스피어 또는 익스포넨셜 하이트 포그를 사용하여 월드에 포그를 적용하는 작업은 일반적으로 전부 아니면 전무인 접근 방식입니다.
로컬 포그 볼륨(Local Fog Volumes) 은 간단하면서도 효율적인 방식으로 포그의 로컬 베리에이션을 빠르게 생성하는 데 사용할 수 있는 배치 가능한 액터입니다. 로컬 포그 볼륨은 볼류메트릭 포그와는 달리 모든 플랫폼과 엔진 퀄리티 레벨에 걸쳐 작동하므로 다른 포그 및 라이팅 시스템과 일관된 비주얼을 제공함으로써 저사양 및 고사양 플랫폼에 사용하기 적합합니다.


로컬 포그 볼륨은 볼류메트릭 포그를 활성화하여 익스포넨셜 하이트 포그를 사용하는 것과 같이 비용이 더 드는 별도의 시스템 없이도 베리에이션을 생성하는 데 주로 사용됩니다. 따라서 로컬 포그 볼륨을 다른 볼류메트릭 엘리먼트와 함께 사용할 때의 구성 순서는 다음과 같습니다.
- 스카이 애트머스피어 대기 원근
- 익스포넨셜 하이트 포그
- 기타 로컬 포그 볼륨
- 볼류메트릭 포그(활성화된 경우)
로컬 포그 볼륨 사용하기
게임 월드의 어느 곳에나 로컬 포그 볼륨을 배치할 수 있습니다. 로컬 포그 볼륨은 익스포넨셜 하이트 포그와 방사상으로 페이드되는 포그가 함께 혼합된 관여 매체로 이루어진 스피어입니다. 각 로컬 포그 볼륨은 독립적으로 이동 및 회전하고 씬에 맞게 균일하게 스케일을 조절할 수 있습니다.
씬에 로컬 포그 볼륨을 추가하려면 비주얼 이펙트(Visual Effects) 카테고리의 생성(Create) 메뉴를 사용해도 되고 액터 배치(Place Actors) 패널을 사용해도 됩니다.

로컬 포그 볼륨이 씬에 추가되어 스케일 조절되고, 이동 및 회전됩니다. 비균등 스케일 조절은 지원되지 않습니다.
볼류메트릭 포그와 함께 로컬 포그 볼륨 사용하기
로컬 볼륨 포그와 볼류메트릭 포그를 함께 사용하면 이러한 볼륨 내에 볼류메트릭 섀도잉과 라이팅을 제공할 수 있지만 퍼포먼스 비용이 증가합니다.
볼류메트릭 포그와 로컬 포그 볼륨을 함께 사용하려면 익스포넨셜 하이트 포그(Exponential Height Fog) 디테일 패널의 볼류메트릭 포그(Volumetric Fog) 프로퍼티 체크박스를 선택합니다. 다음은 볼류메트릭 포그를 활성화한 씬과 활성화하지 않은 씬의 예시입니다.
로컬 포그 볼륨만 활성화 | 로컬 포그 볼륨과 볼류메트릭 포그 활성화 |
로컬 포그 볼륨 프로퍼티 및 프로젝트 세팅
로컬 포그 볼륨에 포함되어 있는 프로퍼티는 다음과 같습니다.

프로퍼티 | 설명 |
---|---|
방사상 포그 분포(Radial Fog Distribution) | |
방사상 포그 밀도(Radial Fog Density) | 방사상 포그의 밀도는 스피어 중심에서의 계수를 나타냅니다. 볼륨의 최종 모양은 소프트 에지와 하이트 포그를 모두 얻기 위해 방사상 포그와 하이트 포그 모두의 '커버리지 = 1 - 투과율'을 결합하여 결정됩니다. |
하이트 포그 분포(Height Fog Distribution) | |
하이트 포그 밀도(Height Fog Density) | 하이트 포그의 밀도는 유닛 스피어 높이 0에서의 소멸 계수를 나타냅니다. 볼륨의 최종 모양은 소프트 에지와 하이트 포그를 모두 얻기 위해 방사상 포그와 하이트 포그 모두의 '커버리지 = 1 - 투과율'을 결합하여 결정됩니다. |
하이트 포그 감쇠(Height Fog Falloff) | 높이 증가에 따른 밀도 감소 방식을 제어합니다. 값이 작을수록 표시되는 전환이 커집니다. 1.0은 비주얼 아티팩트가 수평선에 표시되기 전의 가장 낮은 값입니다. |
하이트 포그 오프셋(Height Fog Offset) | 액터 Z 위치에 상대적인 높이 오프셋입니다. |
셰이딩(Shading) | |
스캐터링 분포(Scattering Distribution) | 포그 볼륨 내 산란을 설명하는 페이즈 'G' 파라미터를 제어합니다. |
포그 알베도(Fog Albedo) | 이 포그 볼륨의 알베도 컬러를 설정합니다. 알베도는 라이팅이 적용되기 전의 베이스 컬러입니다. |
포그 이미시브(Fog Emissive) | 이 포그 볼륨의 이미시브 컬러를 제어합니다. |
정렬(Sorting) | |
포그 정렬 우선순위(Fog Sort Priority) | 우선순위를 사용하여 거리별 정렬을 오버라이드할 수 있습니다. 값이 낮을수록 볼륨이 더 멀리 있는 것으로 간주됩니다. 예를 들어 우선순위가 높은 볼륨 뒤에 그려집니다. |
프로젝트 세팅의 엔진(Engine) > 렌더링(Rendering) 섹션에 있는 로컬 포그 볼륨의 프로퍼티는 다음과 같습니다.

프로젝트 세팅 | 설명 |
---|---|
반투명(Translucency) | |
반투명에 로컬 포그 볼륨 적용(Local Fog Volume Apply on Translucent) | 반투명 엘리먼트에 대한 로컬 포그 볼륨 샘플링을 활성화합니다. |
최적화(Optimizations) | |
로컬 포그 볼륨 지원(Support Local Fog Volumes) | 로컬 포그 볼륨 컴포넌트는 포워드 셰이딩에서 반투명 및 불투명 표면에 적용할 수 있으므로, 투명한 표면 및 버텍스별 평가를 통해 모바일의 모든 표면에 대기 원근을 적용하려면 리소스를 바인딩해야 합니다. r.SupportLocalFogVolumes 가 true여야 합니다. |
포그 셰이딩
셰이딩(Shading) 프로퍼티를 사용하여 알베도 컬러, 이미시브 컬러 및 스캐터링 분포로 포그의 예술적 모양을 정의할 수 있습니다.
포그 알베도(Fog Albedo) 는 태양 및 하늘과 같은 광원과 상호 작용할 때 포그의 색상을 정의합니다. 색 선택 툴을 사용하여 포그의 색상을 선택할 수 있습니다.
알베도 컬러: 흰색(디폴트) | 알베도 컬러: 녹색 | 알베도 컬러: 갈색 |
포그 이미시브(Fog Emissive) 는 포그가 방출하는 빛의 색상을 정의합니다. 방출되는 빛은 로컬 포그 볼륨과 동일한 밀도를 따릅니다. 색 선택 툴을 사용하여 포그의 이미시브 컬러를 선택할 수 있습니다.
이미시브 컬러: 없음(디폴트) | 이미시브 컬러: 녹색 | 이미시브 컬러: 빨간색 |
스캐터링 분포(Scattering Distribution) 는 들어오는 빛이 다양한 방향으로 산란되는 정도를 제어합니다. 0 값은 모든 방향에서 빛을 균등하게 산란시키는 한편 1 값에 가까워질수록 주로 빛의 방향으로 산란시킵니다.






슬라이더를 드래그하면 로컬 포그 스캐터링 분포가 0에서 시작하여 0.25, 0.5, 0.75, 0.98, 0.99로 낮음에서 높음으로 변경되는 것을 확인할 수 있습니다.
볼류메트릭 포그 라이트 섀프트를 사용하려면 볼류메트릭 포그를 활성화해야 하며 스캐터링 분포가 0에 가까워야 합니다. 디폴트 스캐터링 분포인 0.2로 시작하면 좋습니다.
포그 분포
포그 분포는 밀도, 감쇠, 높이 오프셋 프로퍼티로 포그 볼륨을 통과하는 빛의 양을 제어합니다. 이러한 프로퍼티는 익스포넨셜 하이트 포그 컴포넌트에서 볼 수 있는 프로퍼티와 유사합니다.
방사상 포그 밀도(Radial Fog Density) 및 하이트 포그 밀도(Height Fog Density) 는 소프트 에지와 하이트 포그를 모두 구현하기 위해 볼륨의 모양을 제어합니다.

로컬 포그 볼륨의 예시입니다. 왼쪽에서 오른쪽 순으로 방사상 밀도가 있는 포그, 하이트 밀도가 있는 포그, 방사상 밀도와 하이트 밀도가 결합된 포그입니다.
로컬 포그 볼륨의 페이즈 함수는 볼륨 내 라이트의 균등성을 제어합니다. 섀도와 라이트 함수는 빠른 분석 적분을 사용하여 라이팅이 평가되기 때문에 무시됩니다.
하이트 포그 감쇠(Height Fog Falloff) 는 높이 증가에 따른 포그 밀도 감소 방식을 제어합니다. 값이 작을수록 표시되는 전환이 커지고, 값이 클수록 전환이 작아집니다.
하이트 포그 감쇠: 500 | 하이트 포그 감쇠: 1000(디폴트) | 하이트 포그 감쇠: 2500 |
하이트 포그 오프셋(Height Fog Offset) 은 로컬 포그 볼륨 내 액터의 Z(위) 위치를 기준으로 하이트 포그의 중심을 이동시킵니다. 오프셋 값을 낮추면 포그가 방사상 볼륨 내에서 아래로 이동하고, 값을 높이면 수직으로 이동합니다.
하이트 포그 오프셋: -0.12 | 하이트 포그 오프셋: 0(디폴트) | 하이트 포그 오프셋: 0.12 |
포그 정렬 우선순위
로컬 포그 볼륨은 카메라 뷰에서 중심까지의 거리에 따라 화면에서 합성됩니다. 이를 통해 오버랩될 때 우선순위를 적용하여 정렬 순서를 제어할 수 있습니다. 익스포넨셜 하이트 포그 세팅에서 볼류메트릭 포그를 활성화하면 로컬 포그 볼륨이 복셀화되어 볼류메트릭으로 표현됩니다. 즉, 로컬 포그 볼륨이 정렬되는 대신 오버랩되는 관여 매체로 복셀화됩니다. 볼류메트릭 포그에 섀도 캐스팅이 활성화된 경우 라이팅으로 인해 포그가 발생할 수도 있습니다.
아래 두 예시는 볼류메트릭 포그가 활성화된 경우와 활성화되지 않은 경우의 로컬 포그 볼륨 오버랩을 보여줍니다.
색이 다른 두 로컬 포그 볼륨이 합성된 모습 | 볼류메트릭 포그가 활성화된 상태에서 색이 다른 두 로컬 포그 볼륨이 합성된 모습 |
볼류메트릭 포그가 정렬되지 않고 관여 매체로 복셀화되기 때문에 비주얼이 다르게 보이게 될 수 있습니다. 예를 들어, 스캐터링 분포(페이즈 함수)가 볼류메트릭 포그의 것과 다르면 결과가 다르게 보일 수 있습니다.
볼류메트릭 포그를 활성화하면 포그가 복셀화되어 적절하게 정렬됩니다. 그러나 볼류메트릭 포그 없이 로컬 포그 볼륨을 사용하는 경우에는 포그 정렬 우선순위(Fog Sort Priority) 세팅을 사용하여 거리별 정렬을 오버라이드할 수 있습니다. 값이 작을수록 볼륨이 더 멀리 있는 것으로 간주됩니다. 즉, 볼륨이 다른 볼륨 뒤에 그려집니다. 값이 클수록 볼륨이 카메라에 가까이 있는 것으로 간주되어 다른 볼륨 위에 렌더링됩니다.
로컬 포그 볼륨을 여러 개 오버랩할 수 있으므로, 큰 앰비언트 로컬 포그를 항상 더 작고 강렬한 볼륨 뒤에 배치하려는 경우 정렬이 유용합니다. 이러한 상황에서는 아래 예시 씬처럼 볼류메트릭 포그를 활성화하지 않더라도 가까이서 보면 로컬 포그가 항상 잘 혼합됩니다.
지면에서 본 두 개의 오버랩된 로컬 포그 볼륨 | 위에서 본 두 개의 오버랩된 로컬 포그 볼륨 |
퍼포먼스 및 디버깅
다음은 로컬 포그 볼륨 관련 퍼포먼스 및 디버깅 콘텐츠 개선을 위한 몇 가지 제안 사항입니다.
- 로컬 포그 볼륨은 스크린을 타일이라는 작은 정사각형으로 나누는 스크린 타일을 사용하여 컬링되며, 비용은 사용하는 스크린 스페이스의 규모와 관련이 있으므로 씬에 추가된 다이내믹 라이트와 비슷합니다.
- 콘솔 명령
r.LocalFogVolume.TileDebug
를 사용하여 스크린 스페이스에서 비용의 규모를 시각화할 수 있습니다.- 1 은 타일별 컬러로 표시된 로컬 포그 볼륨 개수를 보여줍니다.
- 2 는 픽셀 버리기/클리핑 이펙트와 함께 타일별 컬러로 표시된 로컬 포그 볼륨 개수를 보여줍니다.
- 콘솔 명령
- 저사양 하드웨어에서는 여러 볼륨이 서로 오버랩되는 것을 제한하는 것이 좋습니다. 그래야 카메라가 완전히 내부에 있을 때 픽셀당 처리할 볼륨 수가 줄어듭니다.
로컬 포그 볼륨 타일 디버그
콘솔 명령 r.LocalFogVolume.TileDebug
를 사용하여 스크린 타일별로 로컬 포그 볼륨 컬링을 시각화할 수 있습니다.
다음 값 중 하나를 사용하세요.
- 1 은 스크린 타일별 컬러로 표시된 로컬 포그 볼륨 개수를 보여줍니다.
- 2 는 픽셀 버리기/클리핑 이펙트와 함께 스크린 타일별 컬러로 표시된 로컬 포그 볼륨 개수를 보여줍니다.
아래 씬의 예시에서는 일부는 서로 가까이에 있고 일부는 오버랩되는 여러 로컬 포그 볼륨을 보여줍니다.

아래는 위의 예시 씬을 사용하여 타일 디버그 뷰를 활성화했을 때의 모습을 보여줍니다.
r.LocalFogVolume.TileDebug 1 | r.LocalFogVolume.TileDebug 2 |
볼류메트릭 포그가 활성화된 경우에는 타일 디버그 뷰가 작동하지 않습니다.
유용한 콘솔 변수
콘솔 변수 | 설명 | 디폴트 값 |
---|---|---|
r.LocalFogVolume.ApplyOnTranslucent |
반투명 엘리먼트에 대한 로컬 포그 볼륨 샘플링을 활성화하는 프로젝트 세팅입니다. 반투명 메시에 로컬 포그 볼륨을 적용하려면 이 변수를 1로 설정합니다. | 0 |
r.LocalFogVolume.RenderIntoVolumetricFog |
로컬 포그 볼륨을 볼류메트릭 포그 렌더링 시스템으로 복셀화할지 여부를 설정합니다. 복셀화하지 않으면 로컬 포그 볼륨이 분리된 상태로 유지됩니다. 이 변수는 기본적으로 활성화됩니다. | 1 |
r.LocalFogVolume.TilePixelSize |
로컬 포그 볼륨이 컬링되는 지점의 스크린상 타일 픽셀 크기입니다. | 128 |
r.LocalFogVolume.TileMaxInstanceCount |
뷰당, 그리고 일관성을 위해 타일당 고려할 최대 로컬 포그 볼륨 수입니다. | 32 |
r.LocalFogVolume.TileDebug |
타일링된 렌더링 데이터 복잡도를 디버깅합니다. 0은 비활성화된 것입니다. 1은 컬러로 표시된 타일당 LFV 개수를 보여줍니다. 2는 픽셀 버리기/클리핑 이펙트와 함께 컬러로 표시된 타일당 LFV 개수를 보여줍니다. | 0 |
r.LocalFogVolume.GlobalStartDistance |
로컬 포그 볼륨이 나타나기 시작하는 카메라로부터의 시작 거리(센티미터)를 설정합니다. | 2000 |
r.LocalFogVolume.HalfResolution |
로컬 포그 볼륨을 절반 해상도로 렌더링하고 나중에 전체 해상도로 업샘플링합니다. 활성화된 경우 모바일 렌더링 경로에서만 작동합니다. | 0 |
r.LocalFogVolume.MaxDensityIntoVolumetricFog |
로컬 포그 볼륨 하이트 포그 모드는 아랫부분에서 기하급수적으로 밀도가 높아질 수 있습니다. 그러면 높은 밀도로 인해 볼류메트릭 포그 임시 재투영 누수가 발생할 수 있습니다. 밀도 범위제한으로 이러한 비주얼 아티팩트를 제어할 수 있습니다. | 0.01 |