본문 바로가기
[ Unreal5 ]/- 언리얼엔진5 실습

언리얼엔진5 Morning Night System

by MRG 2024. 5. 22.
728x90
반응형

 

▣ 먼저 Plusings에서 Sun Position Calculator를 체크해서 설치합니다. 

 

https://dev.epicgames.com/documentation/en-us/unreal-engine/geographically-accurate-sun-positioning-tool-in-unreal-engine?application_version=5.3

 

Geographically Accurate Sun Positioning Tool In Unreal Engine | Unreal Engine 5.4 Documentation | Epic Developer Community

A tool giving you fine control over the Sun's geographic location based on latitude, longitude, date, and time in Unreal Engine.

dev.epicgames.com

 

 

 

 

▣ 빈 레벨에 Sun and Sky를 추가합니다. 

 

 

 

▣ SunSky블루프린트 에디터에 들어가서 Find in Content Browser를 클릭하여 해당 블루프린트 원본을 찾아서 복제합니다.

 

 

▣ 그리고 전에 있던 SunSky블루프린트는 삭제하고 복제한 블루프린트를 레벨에 추가합니다. 

 

 

▣ 그리고 SunSky에 Add로 DirectionalLight를 추가하고 Intensity 빛 강도 값을 조절합니다. 

 

▣ 디렉셔널 라이트(Directional Light)는 무한한 거리만큼 떨어진 광원에서 방출되는 라이트를 시뮬레이션합니다. 즉, 이 라이트에 의해 드리워진 모든 섀도는 평행하므로 햇빛을 시뮬레이션하는 데 이상적입니다. 배치한 디렉셔널 라이트는 다음 세 가지 모빌리티(Mobility) 세팅 중 하나로 설정할 수 있습니다.

 

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/directional-lights-in-unreal-engine?application_version=5.3

 

언리얼 엔진의 디렉셔널 라이트 | 언리얼 엔진 5.4 문서 | Epic Developer Community

언리얼 엔진의 디렉셔널 라이트를 이해하기 위한 기초입니다.

dev.epicgames.com

 

 

▣ SkyLight를 추가하고 Cubemap Resolution 값을 조절하여 최적화를 진행합니다.

 

▣ 스카이 라이트에 의해 캡처된 리플렉션의 퀄리티는 큐브맵 해상도(Cubemap Resolution) 프로퍼티에 의해 설정됩니다. 캡처된 씬의 텍스처 해상도를 지정하기 위해 2의 거듭제곱(예: 64, 128, 256 등)을 사용합니다.
해상도 값이 클수록 퍼포먼스는 저하되지만 퀄리티가 향상된다는 점을 명심하세요. 지정된 값은 가장 높은 큐브맵 밉(텍스처의 레벨 오브 디테일)에 적용됩니다.

 

▣ 스카이 라이트(Sky Light)는 레벨의 먼 부분을 캡처하여 씬에 라이트로 적용합니다. 즉, 하늘 아래에 애트머스피어 또는 스카이박스 위에 겹겹이 쌓인 구름이 있거나 먼 산이 있더라도 하늘의 외관과 라이팅/리플렉션이 일치하게 됩니다. 사용할 큐브맵을 수동으로 지정할 수도 있습니다.

 

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/sky-lights-in-unreal-engine?application_version=5.3

 

언리얼 엔진의 스카이 라이트 | 언리얼 엔진 5.4 문서 | Epic Developer Community

언리얼 엔진의 스카이 라이트를 이해하기 위한 기초입니다.

dev.epicgames.com

 

 

▣ ExponentialHeightFog를 추가합니다. 

 

▣ 익스포넨셜 하이트 포그(Exponential Height Fog)는 맵의 높이에 반비례하여 밀도를 생성합니다. 이때 부드럽게 전환되므로 고도 증가에 따른 하드 컷오프가 발생하지 않습니다. 또한 익스포넨셜 하이트 포그는 두 개의 포그 컬러를 제공합니다. 하나는 도미넌트 디렉셔널 라이트(없는 경우 수직 위) 방향 반구에, 다른 하나는 반대편 반구에 제공합니다.

 

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/exponential-height-fog-in-unreal-engine?application_version=5.3

 

언리얼 엔진의 익스포넨셜 하이트 포그 | 언리얼 엔진 5.4 문서 | Epic Developer Community

언리얼 엔진에서 지원되는 높이 기반의 원거리 포그 시스템에 대해 개략적으로 설명합니다.

dev.epicgames.com

 

 

 

▣ VolumetricCloud를 추가하여 구름효과를 넣습니다. 

 

https://dev.epicgames.com/documentation/en-us/unreal-engine/volumetric-cloud-component-properties-in-unreal-engine?application_version=5.3

 

Volumetric Cloud Component Properties In Unreal Engine | Unreal Engine 5.4 Documentation | Epic Developer Community

Settings and property reference for the Volumetric Clouds Component in Unreal Engine.

dev.epicgames.com

 

 

 

▣ Blueprint에 적용할 수 있도록 Cloud를 Apply Instance Changes to Blueprint를 선택합니다.

 

 

 

 

▣ DirectionalLight에 DirectionalLight를 추가하고 이름을 Moon이라고 지정한 다음에 회전값과 빛에 강도를 조절합니다. 

 

 

▣ Moon에서 Forward Shading Priority를 지정하여 밤에 우선순위를 바꿔줍니다.

 

▣ 포워드 셰이딩 우선순위(Forward Shading Priority) 포워드 셰이딩, 반투명, 단일 레이어 물, 볼류메트릭 포그에 사용되는 단일 디렉셔널 라이트에 대한 포워드 라이팅 우선순위입니다. 두 라이트의 우선순위가 같은 경우 예비 옵션으로 둘 중 전반적인 밝기에 따라 선택됩니다.

 

 

▣ Moon에서 atmosphere sun light index를 지정하여 이게 달인 지 여부를 설정합니다.

 

▣  atmosphere sun light index : 태양과 달, 또는 두 개의 태양을 표현해야 할 때 애트머스피어 라이트 두 개가 지원됩니다. 이 인덱스를 사용하여 기본 및 보조 라이트 소스를 설정하세요. 예를 들어 태양은 0, 달은 1로 설정할 수 있습니다.

 

 

▣ 레벨에 Post Process Volume을 추가합니다. 

 

▣ 포스트 프로세싱 이펙트를 사용하면 아티스트와 디자이너가 컬러, 톤매핑, 라이팅 등에 영향을 미치는 프로퍼티와 기능을 결합하여 씬의 전체적인 룩 앤 필을 정의할 수 있습니다. 포스트 프로세스 볼륨(Post Process Volume)이라는 특수한 타입의 볼륨을 레벨에 추가하여 이러한 기능에 액세스 할 수 있습니다. 여러 개의 볼륨을 배치하여 특정 영역의 룩을 정의할 수도 있고, 전체 씬에 영향을 미치도록 설정할 수도 있습니다.

 

https://dev.epicgames.com/documentation/en-us/unreal-engine/post-process-effects-in-unreal-engine?application_version=5.3

 

Post Process Effects In Unreal Engine | Unreal Engine 5.4 Documentation | Epic Developer Community

Effects applied to the whole rendered scene prior to being rendered in Unreal Engine.

dev.epicgames.com

 

 

 

 

▣ Post Process Volume Settings에서 Infinite Extent를 체크하여 씬 전체에 영향을 미치게 지정합니다. 

 

포스트 프로세스 볼륨 세팅(Post Process Volume Settings) 은 이러한 배치된 볼륨, 볼륨과 씬 간의 상호작용, 볼륨에 겹치는 다른 포스트 프로세스 볼륨과의 상호작용에 대한 구체적인 세팅입니다. 예를 들어 무한 규모(Infinite Extent) 프로퍼티를 활성화하여 이 포스트 프로세스 볼륨이 씬의 모든 곳에 영향을 미치도록 하거나, 비활성화하여 특정 영역에만 영향을 미치도록 할 수 있습니다. 볼륨이 겹칠 때는 볼륨이 서로 상호작용하여 블렌딩 되는 방식을 제어할 수 있습니다. 이는 볼륨의 룩이 서로 크게 다를 때 유용합니다.

 

▣ 그리고 Exposure에서 Min EV100과 Max EV100을 0으로 지정합니다. 

 

▣ 엔진의 자동 노출 제어는 시각 적응이라고도 불리며, 현재 씬 휘도를 기반으로 현재 씬 뷰의 밝고 어두운 정도를 조정합니다. 이 이펙트는 흐릿하게 빛이 드는 실내에서 밝은 빛이 비치는 실외로 나올 때의 상황이나 그 반대 상황과 같이 다양한 라이팅 조건에 적응하는 인간의 눈을 재현합니다.
노출(Exposure) 카테고리의 프로퍼티에서는 사용할 노출 메서드 타입을 선택하고, 주어진 시간 동안 신을 얼마나 밝거나 어둡게 할지 지정할 수 있습니다.

 

▣  EV100의 디폴트 휘도 범위 확장
기본적으로 엔진은 포스트 프로세스 볼륨의 최대 밝기(Max Brightness) 및 최소 밝기(Min Brightness) 세팅에 픽셀 휘도(cd/m2)를 사용합니다. 물리적으로 정확한 라이팅 범위를 설정하려고 할 경우, 자동 노출의 디폴트 휘도 범위가 EV100(또는 ISO 100)에 해당하는 휘도를 표현하기 위해 확장될 수 있습니다. 이는 씬의 라이트에 알맞은 럭스(lux) 값을 사용할 수 있고, 이미지를 손상시키지 않고도 해당 값을 그대로 사용하면서 자동 노출이 가능하다는 뜻입니다.

▣  프로젝트 세팅에서 렌더링(Rendering) > Default Settings 섹션의 자동 노출 세팅에서 디폴트 휘도 범위 확장(Extend default luminance range in Auto Exposure settings)에 체크 표시하여 이 옵션을 활성화할 수 있습니다.

 

▣  이 세팅을 활성화하면 최소 밝기 및 최대 밝기의 디폴트 포스트 프로세스 볼륨 값이 변경되며, 히스토그램 로그 최소(Histogram Log Min) 및 히스토그램 로그 최대(Histogram Log Max) 이름에 EV100이 포함됩니다.

 

 

 

▣ SunSky블루프린트에서 Time에서 Solar Time을 조절하면 아침과 밤을 조절할 수 있습니다. 

 

 

▣ Moon에서 Temperature를 조절하여 광원 색온도를 지정하여 좀 더 밤 같은 느낌을 주게 합니다. 

 

▣ 온도(Temperature) 흑체 광원의 색온도입니다(화씨). 흰색은 6,500K입니다.

 

 

▣ Moon도 Apply Instance Chanages to Blueprint를 눌러 적용합니다.

 

 

▣ 플레이어 블루프린트에서 1번 키 아침, 2번 키 밤이 나오게 SunSKy를 캐스팅하여 Solar Time을 조절하는 노드를 완성합니다.

 

 

▣ 플레이를 하여 키를 누를 때마다 아침 밤 조절할 수 있고

 

 

 

▣ 블루프린트 노드에서 자동으로 시간이 바뀌는 부분을 지정할 수 있고 Project Settings에서 Auto Exposure를 자동 밝기 여부에 대한 조절도 할 수 있습니다. 

 

 

https://dev.epicgames.com/documentation/en-us/unreal-engine/auto-exposure-in-unreal-engine

 

Auto Exposure In Unreal Engine | Unreal Engine 5.4 Documentation | Epic Developer Community

The automatic adjustment of scene exposure to simulate eye adaptation from changes in brightness.

dev.epicgames.com

 

 

728x90
반응형

댓글