728x90

목차.

  1. 개요
  2. 설정
  3. 결과

 

개요

 

익스포넨셜 하이트 포그는 게임의 대기나 전체적인 분위기를 형성하는데 많이 사용됩니다.

 

하지만 디렉셔널 라이트(DirectionalLight)를 사용할 때 문제점이 있습니다.

디렉셔널 라이트는 해가 지평선에 가까울수록 노을이 지는 것처럼 하늘색이 변합니다.

 

하지만 하이트 포그가 깔려있다면, 하이트 포그의 색에 의해 하늘색의 변화가 거의 보이지 않습니다.

예를 들어 하이트 포그가 파란색이라면 해가 지평선에 가까워져 노을이 진다고 해도 하늘은 여전히 파란색에 가깝게 보일 것입니다.

 

그래서 플루프린트 클래스를 활용하거나 C++ 클래스를 활용하여

실시간으로 디렉셔널 라이트의 각도의 변화를 체크하고,

각도의 변화에 맞춰서 하이트 포그의 색이 변한다면 자연스러운 연출이 가능합니다.

 

하지만 이런 작업은 상당히 귀찮고 비효율적인 작업입니다.

 

그래서 하늘의 색에 따라 하이트 포그의 색도 자연스럽게 변하도록 이번 글에서 설정해 보겠습니다.

 

설정

 

프로젝트 세팅 -> 렌더링 항목에서

height fog를 검색하면 스카이 애트머스피어 영향 하이트 포그 지원이 보이는데 해당 체크박스를 체크해 줍니다.

 

Shader-Permutation-Reduction-설정
스카이 애트머스피어 영향 하이트 포스 지원 체크

 

그러면 에디터 창이 다시 재실행이 됩니다.

 

디렉셔널 라이트의 각도를 변화시켜 다시 확인해 봐도

 

아직까지는 하이트 포그의 색이 디렉셔널 라이트에 의해 영향을 받지 않습니다.

추가적인 설정을 해야 합니다.

 

익스포넨셜 하이트 포그 컴포넌트 항목에서 

Fog Inscattering Color의 색을 검은색으로 설정합니다.

 

Fog-Inscattering-Color-설정
Fog Inscattering Color 검정색으로 설정

 

그리고 조금 더 내려보면 방향성 산란 항목에서

Directional Inscattering도 검은색으로 변경해 줍니다.

 

Directional-Inscattering-검정색으로-설정
Directional Inscattering 검정색으로 설정

 

이제 모든 작업이 끝났습니다.

 

결과

 

 

디렉셔널 라이트의 각도가 지평선에 가까워지면 하이트 포그의 색이 노을의 색과 동일해지며,

해가 높게 떠올라 하늘이 파란색이 된다면 하이트 포그의 색도 파란색이 되는 것을 볼 수 있습니다.

 

이제 언리얼 엔진 4에서 익스포넨셜 하이트 포그의 색상을 자동으로 설정하는 시스템을 구현했습니다.

이를 통해 게임 환경을 더욱 생동감 있게 만들 수 있으며, 플레이어에게 더욱 몰입감 있는 경험을 제공할 수 있습니다.

 

728x90

+ Recent posts