본문 바로가기

게임 개발 공부/언리얼엔진

UE5 - 포스트프로세스 머티리얼

언리얼엔 여러 비주얼 기능이 많지만 어떤 기능은 리소스를 많이 잡아먹곤 한다.

그럴땐 편법이라고 하긴 그렇지만 우회해서 비슷한 기능을 구현할 수 있다.

 

포스트 프로세스를 이용해 뷰포트 위에 직접 효과를 덧씌워주는 것이다.

 

예시 1. 포그

안개는 대표적인 '이쁘고 비싼' 이펙트이다.

안개를 깔아놓으면 신비로운 분위기, 평화로운 분위기같은 긍정적 분위기부터

공포 분위기, 긴장된 분위기 등의 부정적 분위기까지 다양하게 연출이 가능하다.

그러나 그만큼 리소스 비용 또한 비싸다.

욕심내서 잘못 깔았다간 대가로 프레임을 상당히 지불하게 될 수 있다.

그럴땐 포스트 프로세스 머티리얼로 상대적으로 가볍게 비슷한 효과를 낼 수 있다.

→DepthFade :

기능 - 카메라와 객체 표면 간의 깊이 차이를 기반으로 0에서 1사이의 스칼라 값을 반환. 가까울수록 1에 가깝고, FadeDistance를 초과하면 0으로 감소.

주요 목적 - 투명 머티리얼에서 다른 객체와의 교차점에서 발생하는 딱딱한 경계선을 부드럽게 처리

               - 포스트 프로세스에서 깊이에 따라 효과를 조절

               - FadeDistance를 작은 값을 주고, 1-로 값을 반전시켜 이미시브에 연결하면 윤곽선을 부드럽게 표시할 수 있다.

 

 

 

예시 2. 바디캠

바디캠 효과란 진짜 바디캠처럼 시야가 전체적으로 조금 볼록하게 왜곡된 듯 보이는 효과이다.

실제 카메라액터로도 할 수 있지만, 효과를 전환해가며 써야한다면 카메라를 한대 더 쓰고 교체한다던지 전환될때마다 카메라 설정을 되돌린다던지 하는것과 비교했을때 더 유용한 상황이 있을 수 있다.

→RadialGradientExponential :

기능 - 주어진 UV좌표를 기준으로 중심에서 방사형으로 퍼지는 그라디언트를 생성. 0에서 1사이의 스칼라 값을 반환한다.

        - 중심으로 갈수록 1에 가깝고 바깥으로 갈수록 0에 가깝다.

주요 목적 - 포스트 프로세스에서 화면의 특정 영역에 부드러운 방사형 효과 적용

                - 마스크 생성

                - 방사형 패턴 제작

전과 후.

 

 

 

예시 3. 환각효과

뷰포트의 R,G,B값을 분리하고 위치를 실시간 변화를 줘서 환각효과를 줄 수도 있다.

Time값을 Sine노드로 보내줘서 주기를 만들고, 그 값을 R,G,B로 분리한 텍스쳐 코디네이트에 오프셋 값으로 더해줘서 서로 교차로 분리되게 한다.