본문 바로가기
Unity/Lighting&PP

[Unity/PP] Global Volume을 사용한 Post-Processing (포스트 프로세싱) 넣기

by 꿀팔자 2022. 12. 1.

Unity Post-Processing을 공부하며 정리했습니다.

Global Volume (글로벌 볼륨)을 사용한 Post-Processing (포스트 프로세싱) 함께 넣어보아요.

 

목차

1. Post-Processing (포스트 프로세싱, 후처리) 란?
2. 유니티에서 Global Volume을 사용한 Post-Processing 넣는 방법
3. 특정 영역만 Post-Processing 설정하는 방법
4. Global Volume에 Post-Processing 효과 추가하기
5. 자주 사용하는 Post-Processing 효과 소개
    5-1) Tonemapping (톤 매핑)
    5-2) Bloom (블룸)
    5-3) Lift Gamma Gain (리프트 감마 게인)
6. 참고자료

- 사용 Unity Version: 2021.3.8f1
- 사용 Render Pipeline: URP

 


 

1. Post-Processing (포스트 프로세싱, 후처리) 란?

- 아티스트가 Color, Tone mapping, Lighting 등에 영향을 미치는 Post-Processing 기능을 결합하여

  Scene의 전체적인 Look & Feel을 정의

- Post-Processing은 렌더링 된 씬에 렌더링 효과를 더하는 작업

- 여러 개의 Volume을 배치하여 특정 영역의 Look을 정의할 수도 있고, 전체 Scene에 영향을 미치도록 설정 가능

- 기존 콘텐츠를 수정할 필요 없이 시각적인 효과를 바로 구현해 Scene의 품질을 향상 가능

- PP = Post-Processing의 약칭

 

 

 

 

 


 

2. 유니티에서 Global Volume을 사용한 Post-Processing 넣는 방법

유니티에서는 Post-Processing을 두 가지 방법으로 넣을 수 있습니다.

첫 번째로는 Global Volume을 이용할 수 있고, 유니티 패키지 'Post Processing'을 설치해서 사용할 수도 있습니다. 

이번 포스팅에서는 Global volume을 사용한 방법을 알려드리겠습니다. 

 


 

    1) 유니티 Hierarchy 창에서 Global Volume 만들어 줍니다.

 

     

 

 

      2) 유니티 Inspector 창에서 Global Volume이 만들어졌는지 확인해줄게요.

누르면 크게 보입니다.

 

 

      3) New Profile 생성! 자 이제 PP를 사용할 준비가 됐습니다.

 

 

 

 


 

3. 특정 영역만 Post-Processing 설정하는 방법

    1) Global Volume을 생성하면 Mode가 기본으로 Global로 되어 있습니다.

         이 뜻은 Post-Processing을 Scene에 전체적으로 적용한다는 말입니다. 

         그렇다면 Scene에서 특정 영역에만 Post-Processing을 주고 싶다면 어떻게 할까요? ex) 강, 바다, 동굴 등

 

 

 

    2) 바로 Mode를 Local로 바꿔주면 됩니다. 그리고 Fix를 누르고 원하는 모양의 Collider를 선택합니다.

         하단에 Box Collider Component가 생겼습니다.

       

 

 

 

    3) Scene을 보면 박스가 생겼습니다. 

          * Unity 무료 프로젝트 Viking Village URP를 사용

 

 

 

    4) 이제 Collider 크기를 키워보겠습니다. 크기를 키우는 방법은 두 가지입니다.

          Size 값을 주거나, Edit Collider 눌러서 마우스로 조절하거나

 

Size 값을 크기를 조절

 

Edit Collider 눌러서 마우스로 크기를 조절

          Edit Collider 눌러서 마우스로 조절할 시에는 센터 값도 같이 바뀐다는 것을 명심해야 합니다.

         

  

 

 

    5) Scene에 이미 들어가 있는 Volume을 꺼주고 Global Volume영역을 새로 만들어 봤습니다.

 

기존의 PP를 제거하니 전체적으로 색감이 떨어진 것을 알 수 있습니다.

 

이렇게 설정한 영역에 Camera가 들어 갔을 시에 Post-Processing이 바뀝니다.

 

 

 

    6) Blend Distance 값을 넣어 자연스러운 전환을 설정할 수 있습니다.

 

 

 

 

  7) Weight는 이 Volume의 강도를 조절할 수 있습니다.

 

 

 

 

 


 

4. Global Volume에 Post-Processing 효과 추가하기

- Add Override를 눌러주고 원하는 기능을 추가해주시면 됩니다.

 

 

 

 


 

5. 자주 사용하는 Post-Processing 효과 소개

Global Volume를 이용해서 추가할 수 있는 PP효과가 많습니다.

사실 여기부터는 취향의 영역입니다. 자신의 감각대로 PP를 설정해주시면 됩니다.

하지만 눈치상 어느 정도의 공식은 있는 것 같습니다. 이를테면 톤 매핑과 Bloom(뽀샤시 효과)는 특별한 이유가 아니면 항상 들어가는 것 같습니다. 그럼 제가 주로 사용하는 PP효과 3가지를 살펴보겠습니다. 

 

 


   

 5-1) Tonemapping (톤 매핑)

     - 톤 매핑은 이미지의 HDR 값을 새로운 값 범위로 다시 매핑하는 프로세스

     - 톤 매핑의 가장 일반적인 목적은 다이내믹 레인지가 낮은 이미지가 높은 범위에 있는 것처럼 보이게 만드는 것입니다.

     - 특별한 경우가 아니면 ACES로 설정합니다. 

 

 Properties
 None - 톤 매핑을 적용하고 싶지 않은 경우 이 옵션을 사용
 Neutral - 색조 및 채도에 미치는 영향을 최소화하면서 범위 재매핑만 수행하고 싶은 경우 이 옵션을 사용
- 일반적으로 광범위한 컬러 분류를 위한 좋은 시작점
 ACES - 레퍼런스 ACES 톤 매퍼의 근사치를 적용하여 더욱 영화적인 느낌을 구현
- Neutral보다 콘트라스트가 더 높으며, 실제 색조 및 채도에 영향을 미침
- Unity가 최적의 정밀도와 결과를 얻기 위해 ACES 색 공간에서 모든 분류 작업을 수행

 

 


   

 5-2) Bloom (블룸)

     - 블룸 효과는 이미지의 밝은 영역의 경계에서 확장되는 광원을 생성

     - 이를 통해 매우 밝은 광원이 카메라를 뒤덮는 듯한 착시 효과 생성

 

 Properties
 Threshold - URP가 블룸을 적용하는 감마 공간 밝기 값을 설정
- URP는 이 값보다 밝기가 낮은 씬의 픽셀에는 블룸을 적용하지 않는다.
- 최솟값은 0이며, 아무것도 필터링하지 않는다.기본값은 0.9. 최댓값은 존재하지 않는다.
 Intensity - 0에서 1 사이의 범위에서 블룸 필터의 강도를 설정
- 기본값은 0이며, 블룸 효과를 비활성화함
 Scatter - 0에서 1 사이의 범위에서 블룸 효과의 반지름을 설정
- 값이 클수록 반지름이 커집니다. 기본값은 0.7
 Tint - 컬러 피커를 사용하여 블룸 효과에 색조를 적용할 컬러를 선택
 Clamp - Unity가 블룸을 계산하는 데 사용하는 최대 강도를 설정
- 씬의 픽셀 강도가 이 값보다 높으면 URP는 현재 강도로 렌더링하지만,
  이 강도 값을 블룸 계산에 사용, 기본값은 65472
 High Quality 
Filtering
활성화하면, 고품질 샘플링을 사용합니다. 그러면 깜박임이 감소하고 전반적인 평활도가 향상되지만, 리소스 소모가 늘어나서 성능에 영향을 줄 수 있습니다.

 

 


 

 

 5-3) Lift Gamma Gain (리프트 감마 게인)

     - 이 효과를 사용하면 3방향 컬러 분류를 수행할 수 있다.

     - Lift Gamma Gain 트랙볼은 ASC CDL 표준

     - 트랙볼에서 포인트의 포지션을 조정하면 이미지의 색조가 특정 색조 범위의 해당 컬러 쪽으로 이동

     - 다른 트랙볼을 사용하여 이미지 내 다양한 범위에 영향을 줄 수 있다.

     - 트랙볼 아래의 슬라이더를 조정하면 해당 범위의 컬러 밝기를 오프셋 할 수 있다.

 

 Properties
 Lift - 어두운 톤을 제어하는 데 사용이 프로퍼티는 그림자에 더욱 과장된 효과를 적용
 Gamma - 멱함수로 중간 범위 톤을 제어하는 데 사용
 Gain - 신호를 증가시키고 하이라이트를 더 밝게 만드는 데 사용

 

 

 


 

6. 참고자료

 

1) Unity Documentation, 사실적인 비주얼: 포스트 프로세싱

 

사실적인 비주얼: 포스트 프로세싱 - Unity 매뉴얼

이 가이드는 원래 Unity 2017.3의 빌트인 렌더 파이프라인에서 사용하도록 작성되었습니다. 유니버설 렌더 파이프라인(URP) 및 고해상도 렌더 파이프라인(HDRP)에서 이 가이드를 사용하려는 경우 업

docs.unity3d.com

 

2) Unity Documentation, Unity 사용자 매뉴얼: 포스트 프로세싱

 

포스트 프로세싱 - Unity 매뉴얼

Unity는 간단한 설정을 통해 애플리케이션의 모습을 크게 개선할 수 있는 다양한 포스트 프로세싱 효과와 전체 화면 효과를 제공합니다. 이러한 효과를 사용하여 물리적 카메라 및 필름 프로퍼티

docs.unity3d.com

 

댓글