본문 바로가기
유니티 최고/유니티 구현

[Unity] 유니티 Post Processing을 이용한 아날로그 화면 효과 (포스트 프로세싱 특정 카메라에 적용시키기)

by Lee_story_.. 2024. 9. 21.
728x90

 

이전 글에서 URP를 이용해서 노이즈 효과를 만들어 보았습니다만...

 

[Unity] 유니티 URP를 이용한 화면 노이즈 효과 구현

게임을 구성하다보면 씬 전환이나, 카메라 전환시에 나타나는 화면을 구성해야하는 경우가 생깁니다. 일반적인 ui나 영상, 그리고 이펙트 등 여러가지 방법으로 구성할 수 있는데, 그 중 이번

ljhyunstory.tistory.com

 

약간 부족함을 느껴 다른 방법으로도 구현할 수 있을까! 하고 찾아본 내용을 정리해보았습니다. 

 

윗글 처럼 쉐이더 그래프를 사용하면 본인에게 맞게끔 수정하며 최적의 효과를 만들어 낼 수도 있지만!

조금 더 쉽고, 빠른 방법으로 효과를 줄 수 있는 방법이 있기에!

 

한번 따라해보시면 좋을 것 같습니다. 

 

 

이번에 사용해볼 방법은 포스트 프로세싱!

 

포스트 프로세싱도 아래 글에다가 정리를 해 두었는데,

 

[Unity]포스트 프로세싱(Post Processing)란

포스트 프로세싱 카메라의 렌더링이 완료된 화면에 후처리하는 느낌으로 사용되는 기능으로 화면의 완성도를 높여주거나,어떠한 필터같은 느낌으로 전체적인 부분을 설정해 줄 수 있는 비교

ljhyunstory.tistory.com

 

이번에는

윗글에 정리되어있는 여러 효과들중 

Film Grain 이라는 화면 노이즈 효과를 가지고 그럴듯 하게 만들어 보겠습니다.

 

+ 여기다가 특정 카메라에만 포스트 프로세싱을 적용시킬 수 있는 방법까지 정리해 보겠습니다.

 

 

그전에!

포스트 프로세싱이 설정되어있지 않다면 윗글에서 세팅 부분만 하고 다시 돌아와 주시면 될것 같습니다.

 

 

 

 

그럼 시작!


 

먼저 포스트 프로세싱을 위한 Volume 오브젝트를 만들어 줍시다. 

 

 

박스와 스피어 볼륨을 이용하면 그 안에 들어가 있는 카메라에만 영향을 끼칠수 있게 만들 수 있으나, 

지금은 Global Volume으로 만들어 줍시다. 

 

만든 다음 해당 볼륨오브젝트에 아래와 같이 프로파일을 하나 새로 만들어 줍시다. 

(프로파일이란 세팅값! 을 따로 만들어 주기위한 설정 파일)

 

 

그 다음은 원하시는 옵션을 추가하시면 카메라에 효과를 후처리(포스트 프로세싱)할 수 있는데 이번에는

 

아래 이미지를

 

아래처럼 변경해 보겠습니다. 

(축소해서 보니까 비슷한 것 같네요... 그래도 게임상에서는 완전히 다른 느낌!)

 

 

위 처럼 변경하기 위해서

가장 먼저 Film Grain과 Chromatic Aberration을 추가해줍시다. 

 

 

Film Grain은 기본적인 노이즈!

Chromatic Aberration은 색 번짐을 위해 사용했습니다. 

 

 

일반적인 Film Grain은 그저 일그러짐의 노이즈를 발생시키는데, 여기다가 Texture를 추가해주면 

가로줄의 노이즈를 발생시킬수 있습니다. 

 

노이즈 텍스쳐 파일은 아래에 첨부해놓겠습니다!

Base.png
0.00MB

 

둘의 세기를 적당히 조절 해 주면, 일단 기본적인 세팅 끝!

 

 

여기다가 Bloom을 통해 밝기와 색보정을 해줄 수도 있고,

 

Vignette를 이용해서 테두리 부분을 좀 더 어둡게 해줄 수도 있습니다.

 

만약 카메라를 약간 왜곡 시키는 듯한 느낌을 주려면 Lens Distortion을 수정해줄 수도 있습니다. 

 

 

세팅이 끝났다면 이제 특정 카메라에만 적용시켜 주러 가보겠습니다!

 

 

특정카메라에만 적용


 

아까 보셨을지도 모르지만, 특정 카메라에만 적용시켜 주기 위해서는 레이어를 사용해야합니다. 

 

볼륨 오브젝트를 특정 카메라와 같은 레이어에 위치시켜야하니,

새로운 레이어를 추가해줍시다.

(add layer 후 설정이 바뀌었는지 확인...확인 )

 

 

다음 카메라도 동일한 레이어로 이동시킨뒤

 

카메라 인스펙터에서 Rendering >>> post processing 체크  (적용시키는 부분)

 

Environment에서 볼륨 마스크 설정 

 

여기까지가 끝!

 

위처럼 레이러를 이용하면

여러 볼륨들을 만들어, 특정 카메라에다가 적용시킬 수 있습니다

 

물론 레이어가 많아지면 약간 복잡해질 수도 있고, 최대 레이어가 32개로 제한되어있어, 

한계가 있지만.... 포스트 프로세싱의 볼륨이 그렇게? 까지 많아질 일은 없을것 같습니다.

(규모가 커지면 그렇게 될려나...?)

 

 

 

일단 개발 중인 게임의 여러 카메라에 적용시켜 보았는데, URP 처럼 제가 직접 무언가 효과를 주는건 아니지만, 

포스트 프로세싱에서 제공하는 효과만 해도 충분한 것 같아

만족하며 사용중!

 

 

이번글은 여기서 마무리!

 

 

 

 

개발을 진행하면서, 글쓸거리는 되게 많아지는데,

개발하며 글쓰는게 쉽지 않네요...

 

최대한 빨리 개발 진행해서 많은 글들과 돌아오겠습니다!

 

 

 

 

 

 

 

 

댓글