스카이 애트머스피어 컴포넌트 프로퍼티

스카이 애트머스피어 컴포넌트의 세팅과 프로퍼티 레퍼런스를 설명합니다.

Choose your operating system:

Windows

macOS

Linux

이 페이지에는 스카이 애트머스피어 시스템에 관한 레퍼런스 정보가 포함되어 있으며, 프로젝트 세팅, 컴포넌트 프로퍼티, 콘솔 명령 및 스카이 애트머스피어 머티리얼 표현식에 관한 정보가 포함되어 있습니다.

프로젝트 세팅(Project Setting)

다음 설정은 프로젝트의 스카이 애트머스피어 컴포넌트에 영향을 미치는 프로젝트 세팅입니다.

SkyAtmosphere_ProjectSettings.png

프로퍼티

설명

스카이 애트머스피어 지원(Support Sky Atmosphere)

스카이 애트머스피어 컴포넌트가 투명한 표면에 대기 원근을 적용하도록 하기 위해서는 추가적인 샘플러/텍스처가 필요합니다. 모바일에선 모든 평면에 대한 버텍스당 평가를 통해 대기 원근을 적용합니다.

스카이 애트머스피어 영향 하이트 포그 지원(Support Sky Atmosphere Affecting Height Fog)

스카이 애트머스피어 컴포넌트는 하이트 포그를 밝힐 수 있지만 투명한 표면에 대기 원근을 적용하려면 추가적인 샘플러/텍스처가 바운딩되어야 합니다. 모바일에선 모든 평면에 대한 버텍스당 평가를 통해 대기 원근을 적용합니다. 또한 스카이 애트머스피어 지원 이 활성화되어 있어야 합니다

스카이 애트머스피어 프로퍼티

다음 세팅은 레벨 디테일(Level Details) 패널의 스카이 애트머스피어 컴포넌트에서 찾을 수 있습니다.

SkyAtmosphere_ComponentSettings.png

프로퍼티

설명

행성(Planet)

트랜스폼 모드(Transform Mode)

레벨에서 스카이 애트머스피어 컴포넌트의 트랜스폼을 어떻게 배치하고 이동할지 선택합니다. 드롭다운 메뉴에서 다음 중 하나를 선택합니다.

  • 절대 월드 원점에 행성 상단(Planet Top at Absolute World Position): 대기의 최고 지표면을 씬의 월드 원점 좌표(0,0,0)에 배치합니다. 이 옵션이 선택된 경우에는 스카이 애트머스피어를 옮길 수 없습니다.

  • 컴포넌트 트랜스폼에 행성 상단(Planet Top at Component Transform): 컴포넌트의 트랜스폼 원점을 기준으로 대기의 최고 지표면을 배치합니다. 스카이 애트머스피어 컴포넌트의 트랜스폼 또는 자손을 이동하면 해당 레벨 내에서 대기가 이동합니다.

  • 컴포넌트 트랜스폼에 행성 중앙(Planet Center at Component Transform): 컴포넌트의 트랜스폼 원점 중앙에 대기를 배치합니다. 스카이 애트머스피어 컴포넌트의 트랜스폼 또는 자손을 이동하면 해당 레벨 내에서 대기가 이동합니다.

그라운드 반경(Ground Radius)

중앙에서 지표면까지 측정된 행성의 반경(킬로미터)입니다.

그라운드 알베도(Ground Albedo)

햇빛이 반사될 때 대기에 색조를 더하는 그라운드 알베도입니다. 이는 다중 스캐터링(MultiScattering) 이 0보다 큰 경우에만 고려됩니다.

애트머스피어(Atmosphere)

애트머스피어 하이트(Atmosphere Height)

지표면 위의 애트머스피어 높이(킬로미터)입니다.

다중 스캐터링(MultiScattering)

햇빛이 대기에서 주변으로 반사되는 것처럼 다중 스캐터링을 렌더링합니다. 듀얼 스캐터링 방식을 사용하여 달성됩니다.

애트머스피어 - 레일리(Atmosphere - Rayleigh)

레일리 스캐터링 스케일(Rayleigh Scattering Scale)

레일리 스캐터링 계수 각도입니다.

레일리 스캐터링(Rayleigh Scattering)

고도 0킬로미터의 공기 속 분자에서 비롯된 레일리 스캐터링 계수입니다.

레일리 지수 분포(Rayleigh Exponential Distribution)

레일리 스캐터링 이펙트가 40%로 감소하는 고도(킬로미터)입니다.

애트머스피어 - 미에(Atmosphere - Mie)

미에 스캐터링 스케일(Mie Scattering Scale)

미에 스캐터링 계수 스케일입니다.

미에 스캐터링(Mie Scattering)

고도 0킬로미터의 공기 속 입자에서 비롯된 미에 스캐터링 계수입니다. 높을수록 빛이 더욱 산란됩니다.

미에 스캐터링 흡수(Mie Scattering Absorption)

미에 흡수 계수 스케일입니다.

미에 흡수(Mie Absorption)

고도 0킬로미터의 공기 속 입자에서 비롯된 미에 흡수 계수입니다. 높아질수록 빛이 흡수되는 양이 많아집니다.

미에 애니소트로피(Mie Anisotropy)

값이 0인 경우 빛이 균등하게 산란됩니다. 값이 1에 가까울수록 좀 더 앞쪽으로 산란되어 광원 주변에 광륜이 형성됩니다.

미에 지수 분포(Mie Exponential Distribution)

미에 이펙트가 40%로 감소하는 고도(킬로미터)입니다.

애트머스피어 - 흡수(Atmosphere - Absorption)

흡수 스케일(Absorption Scale)

또 다른 대기층의 흡수 계수입니다. 10~25킬로미터 사이에서는 밀도가 0에서 1로 증가하고 25~40킬로미터 사이에서는 1에서 0으로 감소합니다. 지구 대기의 오존 분자 분포를 근사치로 계산합니다.

흡수(Absorption)

또 다른 대기층의 흡수 계수입니다. 10~25킬로미터 사이에서는 밀도가 0에서 1로 증가하고 25~40킬로미터 사이에서는 1에서 0으로 감소합니다. 기본값은 지구 대기의 오존 분자 흡수를 나타냅니다.

텐트(Tent)

대기 내 흡수 파티클의 고도 기반 텐트 분포를 나타냅니다.

  • 팁 고도(Tip Altitude): 텐트 함수가 최고조에 도달하는 고도입니다.

  • 팁 값(Tip Value): 텐트 팁 고도의 밀도입니다.

  • 너비(Width): 텐트 함수가 선형으로 감소하여 0에 도달하는 너비(고도의 변화)입니다.

아트 디렉션(Art Direction)

스카이 조도율(Sky Luminance Factor)

하늘을 나타내는 픽셀의 휘도를 조정합니다. 어떠한 표면에도 속하지 않는 경우를 예로 들 수 있습니다.

대기 원근 거리 스케일(Aerial Perspective Distance Scale)

뷰에서 표면까지의 거리를 조절하여 대기 원근을 더 두껍게 보이게 합니다(불투명 및 반투명).

하이트 포그 기여도(Height Fog Contribution)

프로젝트 세팅에서 스카이 애트머스피어 영향 하이트 포그 지원 이 활성화된 경우 하이트 포그에 기여하는 하늘 및 대기의 빛을 조정합니다.

투과율 최소 라이트 고도 각도(Transmittance Min Light Elevation Angle)

지면으로의 태양 투과율을 평가하는 데 사용되어야 하는 최소 고도 각도(도)입니다. 태양이 지평선 아래로 이동하기 시작한 경우에도 가시광선을 유지하고 메시에 표시하는 데 유용합니다. 대기 원근에는 영향을 미치지 않습니다.

스카이 애트머스피어 머티리얼 표현식

다음 머티리얼 표현식은 하늘, 태양 디스크, 구름, 대기 원근을 구성할 스카이 머티리얼을 생성하는 경우에 사용됩니다. 하늘의 구름과 다른 엘리먼트의 라이팅을 계산하는 과정은 이러한 표현식에 의해 지원됩니다.

스카이돔 메시에 적용되는 머티리얼 내에서 이러한 표현식을 사용하는 작업 예시를 살펴보려면 Engine/Maps/Templates 폴더에서 TimeOfDay_default 맵을 참조하거나 메인 메뉴를 사용하여 새 레벨을 생성하고 거기서 스카이돔 메시를 선택하세요.

더 자세한 내용은 스카이 애트머스피어 페이지의 '스카이돔 메시 렌더링' 섹션을 확인하세요.

이러한 표현식을 사용할 때 메시의 형태에 기반한 값을 사용해 평가하기 때문에 스카이돔 메시의 형태는 중요합니다. 예를 들어, 함수를 사용하여 구름의 라이팅을 평가하는 경우 스카이돔 픽셀 월드 포지션이 대기 중에 있는 구름의 월드 포지션을 나타낸다고 가정할 수 있습니다.

SkyAtmosphereViewLuminance

SkyAtmosphereViewLuminance 표현식은 대기 내 빛과의 상호작용에서 비롯된 스카이 휘도를 출력합니다.

SkyAtmosphereViewLuminance.png

SkyAtmosphereAerialPerspective

SkyAtmosphereAerialPerspective 표현식은 A의 스카이돔 월드 포지션을 통해 RGB의 RGBA 컬러 인스캐터링 휘도와 그레이스케일 투과율을 출력합니다.

SkyAtmosphereAerialPerspective.png

이러한 표현식을 사용할 때 메시의 형태에 기반한 값을 사용해 평가하기 때문에 스카이돔 메시의 형태는 중요합니다. 예를 들어, 이러한 함수를 사용하여 구름의 라이팅을 평가하는 경우 스카이돔 픽셀 월드 포지션이 대기 중에 있는 구름의 월드 포지션을 나타낸다고 가정할 수 있습니다. 샘플링된 포지션을 제공하기 위한 오버라이드 또한 존재합니다.

SkyAtmosphereLightDirection

SkyAtmosphereLightDirection 표현식은 Directional Light(디렉셔널 라이트)의 애트머스페릭 라이트 인덱스(Atmospheric Light Index)를 취해 라이트에서 라이트 방향을 출력합니다.

SkyAtmosphereLightDirection.png

디테일 패널에서 레퍼런스되고 있는 디렉셔널 라이트의 라이트 인덱스 를 설정합니다. 이는 디렉셔널 라이트의 애트머스피어 태양 라이트 인덱스 프로퍼티와 일치해야 합니다.

SkyAtmosphereLightIlluminance

SkyAtmosphereLightIlluminance 표현식은 디렉셔널 라이트의 애트머스페릭 라이트 인덱스를 취해 조도를 출력하여 스카이돔 월드 포지션을 얻습니다(아래의 참고사항 참조). 이는 조도이므로 BxD/페이즈 함수에 대해 통합하여 휘도가 누적되도록 해야 합니다. 1/(4π)의 균등 페이즈 함수를 이용한 곱셈으로 시작하는 것이 좋습니다.

SkyAtmosphereLightIlluminance.png

디테일 패널에서 레퍼런스되고 있는 디렉셔널 라이트의 라이트 인덱스 를 설정합니다. 이는 디렉셔널 라이트의 애트머스피어 태양 라이트 인덱스 프로퍼티와 일치해야 합니다.

표현식을 사용할 때 메시의 형태에 기반한 값을 사용해 평가하기 때문에 스카이돔 메시의 형태는 중요합니다. 예를 들어, 이러한 함수를 사용하여 구름의 라이팅을 평가하는 경우 스카이돔 픽셀 월드 포지션이 대기 중에 있는 구름의 월드 포지션을 나타낸다고 가정할 수 있습니다. 샘플링된 포지션을 제공하기 위한 오버라이드 또한 존재합니다.

SkyAtmosphereDistantLightScatteredLuminance

SkyAtmosphereDistanceLightScatteredLuminance 표현식은 단위구를 통해 통합된 하늘의 산란된 휘도를 출력하여 균등 페이즈 함수를 가정합니다. 샘플은 DistanceSkyLight LUT(r.SkyAtmosphere.DistanceSkyLightLUT.Altitude)의 지정된 고도에서 취합니다.

SkyAtmosphereDistanceLightScatteredLuminance.png

SkyAtmosphereLightDiskLuminance

SkyAtmosphereLightDiskLuminance 표현식은 디렉셔널 라이트의 애트머스페릭 라이트 인덱스를 취해 대기 투과율이 적용된 라이트 태양 디스크 휘도를 출력합니다.

SkyAtmosphereLightDiskLuminance.png

디테일 패널에서 레퍼런스되고 있는 디렉셔널 라이트의 라이트 인덱스 를 설정합니다. 이는 디렉셔널 라이트의 애트머스피어 태양 라이트 인덱스 프로퍼티와 일치해야 합니다.

콘솔 명령

다음 콘솔 명령은 대기의 퍼포먼스 및 비주얼 퀄리티를 관리할 수 있게 해줍니다.

더 자세한 내용은 스카이 애트머스피어 페이지의 '스카이 렌더링 옵션' 섹션을 확인하세요.

콘솔 변수

설명

시스템

r.SkyAtmosphere

0이 아닌 경우 스카이 애트머스피어 컴포넌트가 렌더링되고 그렇지 않은 경우 무시됩니다.

r.SupportSkyAtmosphere

스카이 애트머스피어 렌더링 및 셰이더 코드를 활성화합니다.

r.SupportSkyAtmosphereAffectsHeightFog

스카이 애트머스피어에 영향을 주는 하이트 포그를 활성화합니다. r.SupportSkyAtmosphere가 true가 되어야 합니다.

r.SkyAtmosphere.LUT32

모든 스카이 룩업 테이블(LUT)에 채널당 풀 32비트의 정밀도를 사용합니다.

패스트 스카이 뷰 LUT

r.SkyAtmosphere.FastSkyLUT

활성화하면 하늘을 렌더링하는 데 룩업 텍스처가 사용됩니다. 더 빠르기는 하지만 하늘에 지구 그림자나 스캐터링 로브와 같은 고주파 디테일이 있는 경우 시각적 아티팩트로 이어질 수 있습니다.

r.SkyAtmosphere.FastSkyLUT.SampleCountMin

하늘/대기 산란 및 투과율을 계산하는 데 사용되는 패스트 스카이(Fast Sky) 최소 샘플 수입니다. 최소값은 1로 고정됩니다.

r.SkyAtmosphere.FastSkyLUT.SampleCountMax

하늘/대기 산란 및 투과율을 계산하는 데 사용되는 패스트 스카이 최대 샘플 수입니다. 최소값은 r.SkyAtmosphere.FastSkyLUT.SampleCountMin +1로 고정됩니다.

r.SkyAtmosphere.FastSkyLUT.DistanceToSampleCountMax

대기를 레이 마칭하는 데 SampleCountMax 샘플을 사용하기 시작하는 패스트 하늘 거리(킬로미터)입니다.

r.SkyAtmosphere.FastSkyLUT.Width

FastSky LUT의 너비입니다.

r.SkyAtmosphere.FastSkyLUT.Height

FastSky LUT의 높이입니다.

대기 원근

r.SkyAtmosphere.AerialPerspective.StartDepth

대기 원근을 평가하기 시작하는 거리입니다. 기본값은 100미터로 설정됩니다.

r.SkyAtmosphere.AerialPerspective.DepthTest

활성화하면 픽셀을 StartDepth보다 픽셀을 카메라에 가까이 작성하지 않도록 뎁스 테스트를 사용해 퍼포먼스를 실질적으로 개선합니다.

대기 원근 LUT

r.SkyAtmosphere.AerialPerspectiveLUT.DepthResolution

대기 원근 볼륨 텍스처에 사용할 깊이 단면도 수입니다.

r.SkyAtmosphere.AerialPerspectiveLUT.Depth

LUT의 길이(킬로미터)입니다(기본값은 96킬로미터로, 기본 하늘의 거리에서 양호한 구름/대기 인터랙션을 볼 수 있는 거리). 이 거리보다 멀 경우 마지막 깊이 단면도가 사용됩니다.

r.SkyAtmosphere.AerialPerspectiveLUT.SampleCountPerSlice

카메라 프러스텀 스페이스 프록셀의 대기 원근 산란 및 투과율을 평가하기 위해 슬라이스당 사용되는 샘플 수입니다.

r.SkyAtmosphere.AerialPersepctiveLUT.Width

대기 원근 LUT 스크린의 너비와 높이입니다.

r.SkyAtmosphere.AerialPerspectiveLUT.FastApplyOnOpaque

활성화하면 보통 반투명의 포그에 사용되는 애트머스페릭 포그를 포함하는 저해상도 카메라 프러스텀/프록셀 볼륨이 불투명의 포그를 렌더링하는 데 사용됩니다. 더 빠르기는 하지만 지구 그림자나 스캐터링 로브와 같은 고주파 디테일이 있는 경우 시각적 아티팩트로 이어질 수 있습니다.

스카이 레이 마칭

r.SkyAtmosphere.SampleCountMin

하늘/대기 산란 및 투과율을 계산하는 데 사용되는 최소 샘플 수입니다. 최소값은 1로 고정됩니다.

r.SkyAtmosphere.SampleCountMax

하늘/대기 산란 및 투과율을 계산하는 데 사용되는 최대 샘플 수입니다. 최소값은 r.SkyAtmosphere.SampleCountMin +1로 고정됩니다.

r.SkyAtmosphere.DistanceToSampleCountMax

대기를 레이 마칭하는 데 SampleCountMax 샘플을 사용하기 시작하는 거리(킬로미터)입니다.

투과율 LUT

r.SkyAtmosphere.TransmittanceLUT.SampleCount

투과율을 평가하는 데 사용되는 샘플 수입니다.

r.SkyAtmosphere.TransmittanceLUT.UseSmallFormat

True인 경우, 투과율 LUT가 작은 R8BG8B8A8 포맷을 사용하여 데이터를 더 낮은 퀄리티로 저장합니다.

r.SkyAtmosphere.TransmittanceLUT.LightPerPixelTransmittance

픽셀 투과율당 스카이 애트머스피어 라이트를 활성화하지만 디퍼드 렌더러의 불투명 오브젝트에 대해서만 활성화합니다. 이는 좀 더 비싸지만 활성화된 경우 스페이스/행성 뷰가 훨씬 정확합니다.

r.SkyAtmosphere.TransmittanceLUT.Wdith

투과율 LUT의 너비입니다.

r.SkyAtmosphere.TransmittanceLUT.Height

투과율 LUT의 높이입니다.

다중 스캐터링 LUT

r.SkyAtmosphere.MultiScatteringLUT.SampleCount

다중 스캐터링을 평가하는 데 사용되는 샘플 수입니다.

r.SkyAtmosphere.MultiScatteringLUT.HighQuality

리소스를 더 사용하긴 하지만 활성화하면 2개가 아닌 64개의 샘플이 사용되므로 결과적으로 좀 더 정확한 다중 스캐터링 근사치를 얻을 수 있습니다.

r.SkyAtmosphere.MultiScatteringLUT.Wdith

다중 스캐터링 LUT의 너비입니다.

r.SkyAtmosphere.MultiScatteringLUT.Height

다중 스캐터링 LUT의 높이입니다.

거리 스카이 라이트 LUT

r.SkyAtmosphere.DistantSkyLightLUT

스카이 앰비언트 라이팅 값 생성을 활성화합니다.

r.SkyAtmosphere.DistantSkyLightLUT.Altitude

스카이 샘플을 취하여 스카이 라이트에 통합하는 고도입니다. 일반적인 권운의 고도인 6킬로미터로 기본값이 설정됩니다.

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