일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 프로그래밍 기초
- 벡터
- Three(Two) Tone Shading
- 게임 수학
- Rim Light
- C언어
- ASW(Application SpaceWarp)
- 개인 바이트
- VR
- Cell Shader
- 메모리 누수
- Toon Shader
- 가상 바이트
- Specular
- 작업 집합
- Private Bytes
- ColorGradingLutPass
- working set
- URP로 변경
- Cartoon Rendering
- URP
- OculusMotionVectorPass
- AppSW
- 3d
- Virtual Byte
- Cell Look
- Windows Build
- Today
- Total
WinCNT
URP 14이전 버전에서 커스텀 Post Processing 사용이 안 되는 이슈 본문
URP 14이전 버전에서 커스텀 Post Processing 사용이 안 되는 이슈
WinCNT_SSS 2023. 2. 13. 12:21발생한 이슈
간단한 포스트 프로세싱을 만들어서 확인보고자
OnRenderImage()이란 API를 이용해서 스크립트를 만들었는데 작동되지 않았다
이슈 상세
쉐이더나 머티리얼 쪽은 문제가 없는 것 같다…
발생 원인
사실 원인은 간단했는데 URP에서는 OnRenderImage()를 사용할 수 없었기 때문이었다
해결법
처음에는 ‘그럼 URP 문서를 찾으면 나오겠지~’라고 간단히 생각했었다…
그런데 놀랍게도 URP에서의 커스텀 포스트 프로세싱은 추가된지 얼마 안 된 것 같다
URP 14(Unity 2022.2)의 새로운 기능 소개에서 찾아볼 수 있다
What's new in URP 14 (Unity 2022.2)
그리고 슬프게도 내 URP 버전은 12.1.9이었다…
그리고 매우 슬프게도 유니티의 버전을 올릴 수는 없었기에 우회 방법을 찾기로 했다
(참고로 시험삼아 2022.2.5버전에서 새 프로젝트를 만들어보니 될 것 같긴 했다)
주로 참고한 것은 아래의 블로그
【Unity】Uiversal Render Pipelineでカスタムポストエフェクトを実装する(公式未対応バージョン) - LIGHT11
OnRenderImage()가 있는 스크립트를 대신할 스크립트가 필요하다
- VolumeComponent를 계승한 스크립트 => 볼륨에서 포스트 이펙트를 선택할 수 있도록 함
- ScriptableRenderPass를 계승한 스크립트 => 포스트 이펙트에 대한 렌더링 패스를 만듦
- ScriptableRendererFeature를 계승한 스크립트 => 렌더 패스를 렌더러에 등록
그리고 렌더러 데이터에 만들었던 Renderer Feature를 추가하면 된다
렌더러 데이터는 설정된 스크립터블 렌더 파이프라인에서 확인할 수 있고,
설정된 스크립터블 렌더 파이프라인은 Project Settings의 그래픽스에서 확인할 수 있다
여기까지하면 프래그먼트 셰이더의 결과를 확인하는데 문제가 없을 것이다
하지만 셰이더에 값을 조정하고 싶거나 할 때에는 볼륨에 컴포넌트를 추가해야 한다
그 부분도 참고 사이트에 있지만 내가 사용하는 URP와는 다르게 한 액션이 더 필요했다
그건 바로 볼륨에서 Profile를 적용하는 것!
기존에 있거나 새로 만든 Profile를 Volume에 추가하고
오버라이드 추가를 통해 이번에 새로 만든 VolumeComponent를 추가하면 된다
(VolumeComponentMenu(”Name”)에서 지정한 Name으로 검색 가능)
위의 이미지에는 파라미터가 없지만 스크립트를 참고 사이트와 완전히 똑같이 만들면
Tint Color라는 파라미터를 조정할 수 있다
마무리
간단히 확인할 생각이었는데 이렇게 시간이 걸릴 줄은 몰랐다…
확인용으로는 이걸로 상관 없지만 실제로 포스트 이펙트를 사용하려면
제대로 렌더링 패스에 대해서 고려할 필요가 있을 것 같다
제발 빨리 적용된 버전이 퍼졌으면 좋겠다
참고 자료
【Unity】Uiversal Render Pipelineでカスタムポストエフェクトを実装する(公式未対応バージョン) - LIGHT11
URPで無理やり Custom Post Processing する - Qiita
'Unity > Unity 개발 중 발생한 이슈 정리' 카테고리의 다른 글
Normal Map이 격자 형태로 출력되는 이슈 (0) | 2023.03.24 |
---|---|
Physics.Raycast가 (Mesh)Collider의 BackFace를 Hit 못 하는 이슈 (0) | 2023.02.28 |
URP의 디폴트 ShadowCaster와 SRP Batcher (0) | 2023.01.27 |
“sampler2D object does not have methods” 에러 발생(URP) (0) | 2023.01.24 |
URP에서의 품질 설정 관련 이슈 (0) | 2023.01.18 |