본문 바로가기

유니티/그래픽스

[Unity] 커스텀 포스트프로세싱 (Custom Post-Processing)

반응형

화면 전체에 셰이더 효과 부여하기

게임엔진에서 셰이더를 제작하여 머테리얼에 넣은 후 오브젝트에 사용하면 다양한 효과를 부여할 수 있다.

그런데 효과를 부여해야 하는 오브젝트가 씬 전체에 해당한다면 어떻게 해야 할까?

각 오브젝트 하나하나마다 머테리얼을 지정해줘야 할까?

커스텀 셰이더를 하나씩 지정해 주는 것은 분명 비효율적이다. 이때 우리는 커스텀 포스트프로세싱을 사용하면 된다.


포스트프로세싱 효과를 커스텀으로 제작하는 방법

우선 이 예시를 URP를 기준으로 한다.

URP에는 Full Screen Shader Graph라는 항목이 존재한다.

Project(우클릭) - Create - Shader Graph...

커스텀 포스트프로세싱을 제작하기 위해서는 Fullscreen Shader를 사용해야 한다.

 

그리고 해당 셰이더를 머테리얼에 넣어준 후, 이 머테리얼을 Renderer Feature에 Full Screen Pass Renderer Feature로 등록한다. (템플릿 URP 프로젝트의 경우 Assets/Settings/URP-HighFidelity-Renderer에 있다.)

Add Renderer Feature

 

Pass Material에 지정

 

이제는 카메라에 커스텀 포스트프로세싱 효과가 적용되어 화면이 나타난다.

반응형