유니티 Channel Mixer(채널 믹서)을 이용한 화면을 회색으로 바꾸기

유니티에서 화면을 회색으로 바꾸는 방법은 정말 다양합니다.

 

예를 들어, 셰이더를 이용해서 카메라의 렌더링을 컨트롤한다거나, 간단하게 UI를 이용하여 화면을 회색으로 가리는 방법 등이 있습니다.

 

저는 그중에서 (Post Processing)채널 믹서를 이용한 방법에 대해 소개드리고자 합니다.

 

(Post Processing)채널 믹서 을 이용하기 위해서는 URP & HDRP환경이여야 합니다. 즉, 빌트인 환경에서는 어렵다는 뜻입니다. 

최종 회색 화면으로 렌더링 된 모습


채널 믹서란?

채널 믹서는 Unity의 URP 및 HDRP에서 사용되는 포스트 프로세싱 효과입니다. 채널 믹스를 통해 이미지의 빨강(R), 녹색(G), 파랑(B) 색상 채널의 강도를 조정할 수 있습니다.

앞서 언급했다시피, Unity의 채널 믹서를 이용하여 일반적으로 각 R, G, B 채널의 가중치를 조정할 수 있습니다. 예를 들어 빨간색 채널의 기여도를 높여 이미지를 따뜻하게 보이게 하거나 파란색 채널의 기여도를 높여 차갑게 보이게 할 수 있습니다.

채널 믹서의 일반적인 작동 방식은 초기 이미지, 채널 가중치, 출력 이미지로 구성되어 있습니다.

단계  설명
초기 이미지 초기 이미지에는 각 픽셀에 대한 R, G, B 값의 고유한 분포가 있습니다.
채널 가중치 채널 믹서를 사용하여 각 채널(R, G, B)이 새 픽셀 값에 얼마나 기여해야 하는지 지정할 수 있습니다.
출력 이미지 채널 믹서에서 설정한 가중치에 따라 새 픽셀 값이 계산되어 이미지의 초기 색상 구성을 수정합니다.

 


채널 믹서 사용하기

채널 믹서의 R G B채널

빈 오브젝트를 만든 후 이름을 [Volume]이라고 지어줍니다.

 

[Volume]에 Volume 컴포넌트를 붙여준 후, Profile에 new버튼을 눌러 줍니다.

 

new 버튼을 눌러주면 Profile에 Volume Profile이 자동으로 생성 및 할당되는 것을 보실 수 있습니다.

그 후, Add Override 버튼을 눌러준 후 좌측 사진처럼 다양항 포스트 프로세싱 중에 Channel Mixer를 찾아줍니다.

 


R G B 채널 / 수치는 본인이 원하는 GrayScale에 맞게 조절하시면 됩니다

R G B채널 모두에 위와 같이 세팅해 줍니다.

 

GrayScale 효과를 적용하려면, 각 채널(R, G, B)에 대한 비율을 고려하여 설정해야 하며, 다음은 일반적인 가중치입니다.

  • R: 0.2126 
  • G: 0.7152
  • B: 0.0722
 

Grayscale - Wikipedia

From Wikipedia, the free encyclopedia Image where each pixel's intensity is shown only achromatic values of black, gray, and white In digital photography, computer-generated imagery, and colorimetry, a grayscale image is one in which the value of each pixe

en.wikipedia.org

 

이 가중치는 컬러 이미지를 그레이스케일로 변환할 때 일반적으로 사용되는 값입니다.

 

Unity 채널 믹서에서는 이 값을 "-200과 200 사이의 범위로 스케일"링해서 사용해야 합니다. 예를 들어, R 채널은 0.2126 * 200 = 42.52, G 채널은 0.7152 * 200 = 143.04 , B 채널은 0.0722 * 200 = 14.44로 값을 스케일링하여 구할 수 있습니다.

 

채널  일반적인 가중치  스케일링된 가중치
R 0.2126 42.52
G 0.7152 143.04
B 0.0722 14.44

 

위 사진은 제가 밝기를 좀 더 높이고 싶어 제 입맛대로 수정한 거니 참고만 하시면 될 것 같습니다.

 


카메라 세팅

카메라 컴포넌트

마지막으로, 카메라의 Post Processing 옵션이 활성화 시켜주어야 합니다.