이 페이지의 예제는 전체 화면 렌더 패스 렌더러 기능을 사용하여 그레이스케일 커스텀 포스트 프로세싱 효과를 생성하는 방법을 보여줍니다.
전체 화면 렌더 패스 렌더러 기능에 대한 상세 내용은 전체 화면 패스 렌더러 기능 레퍼런스를 참조하십시오.
이 예제를 진행하려면 다음 조건을 충족해야 합니다.
URP 패키지가 설치된 Unity 프로젝트가 있습니다.
Scriptable Render Pipeline Settings 프로퍼티가 URP 에셋을 참조합니다(Project Settings > Graphics > Scriptable Render Pipeline Settings).
커스텀 포스트 프로세싱 효과를 만들려면 전체 화면 Shader Graph를 생성해야 합니다.
프로젝트에서 새 Shader Graph를 생성합니다. 프로젝트 창에서 오른쪽 클릭 후 Create > Shader Graph > URP > Fullscreen Shader Graph를 선택하면 됩니다.
URP Sample Buffer 노드를 추가합니다. Shader Graph 창에서 오른쪽 클릭 후 Create Node를 선택하면 됩니다. 이후 URP Sample Buffer를 찾아 선택합니다.
URP Sample Buffer 노드의 Source Buffer 드롭다운 메뉴에서 BlitSource를 선택합니다.
Vector 3 노드를 추가합니다.
Dot Product 노드를 추가합니다.
아래와 같이 노드를 연결합니다.
| 노드 | 연결 |
|---|---|
| URP Sample Buffer | Output을 Dot Product A에 연결 |
| Vector 3 | Out을 Dot Product B에 연결 |
| Dot Product | Out을 Fragment Base Color에 연결 |
Shader Graph를 저장합니다.
프로젝트에서 새 머티리얼을 생성합니다. 프로젝트 창에서 오른쪽 클릭 후 Create > Material을 선택하면 됩니다.
Shader Graph를 머티리얼에 추가합니다. 인스펙터에서 머티리얼을 열고 Shader > Shader Graphs를 선택한 후 이전 단계에서 생성한 Shader Graph를 선택하면 됩니다.
호환되는 Shader Graph와 머티리얼을 생성한 후에는 전체 화면 패스 렌더러 기능이 있는 머티리얼을 사용하여 커스텀 포스트 프로세싱 효과를 생성할 수 있습니다.
프로젝트의 유니버설 렌더러를 선택합니다.
Universal 3D 템플릿을 사용하여 프로젝트를 생성한 경우 Assets > Settings의 프로젝트 폴더에서 유니버설 렌더러를 찾을 수 있습니다.
인스펙터에서 Add Renderer Feature를 클릭하고 Full Screen Pass Renderer Feature를 선택합니다. 렌더러 기능 추가에 대한 상세 내용은 렌더러에 렌더러 기능을 추가하는 방법을 참조하십시오.
Pass Material 필드를 전체 화면 Shader Graph로 생성한 머티리얼로 설정합니다.
Injection Point를 After Rendering Post Processing으로 설정합니다.
Requirements를 Color로 설정합니다.
이제 씬 뷰와 게임 뷰 모두에서 효과를 확인할 수 있습니다.