유니티 포스트 프로세싱

정선호·2023년 6월 21일
0

Unity Features

목록 보기
6/28

참고 영상

포스트 프로세싱


머터리얼 컨버트

Built-in Render Pipeline은 이후에 나온 URP 혹은 HDRP와 쉐이더 호환이 되지 않는다.
따라서 URP 혹은 HDPR를 지원하지 않는 에셋들을 사용하기 위해서는 다음과 같은 작업을 거쳐야 한다.

ver 2021 이상

Edit - Renderding - Material - Convert Selected Built-in Material로 간단히 변경할 수 있다.

이외 버전

Windows - Rendering - Render Pipeline Converter로 아래 창을 띄운다.

원하는 변환 옵션과 변환 재료를 선택한 후 컨버팅을 시작한다.


포스트 프로세싱 사용하기

Volume

  • Hierachy에서 마우스 우클릭 → Volume → 원하는 Volume 클릭
  • GameObject에 Volume 컴포넌트 추가

Volume Properties

  • Mode : URP가 이 볼륨이 카메라에 영향을 줄 수 있는지 여부를 계산하는 방법을 선택한다.
    • Global : 볼륨에 경계가 없고 씬의 모든 카메라에 영향을 미친다.
    • Local : 볼륨이 경계 내의 카메라에만 영향을 미치도록 볼륨에 대한 경계를 지정할 수 있다. 볼륨의 게임 개체에 충돌기를 추가하고 이를 사용하여 경계를 설정한다.
  • Blend Distance : URP가 혼합되기 시작하는 Volume Collider에서 가장 멀리 떨어진 거리. - Mode에서 Local을 선택한 경우에만 나타난다.
  • Weight : 볼륨이 씬에 미치는 영향을 설정. 카메라 위치와 혼합 거리를 사용하여 계산한 값에 이 값을 곱하여 적용.
  • Priority : 여러 볼륨이 씬에 동일한 영향을 미칠 때 우선적으로 적용할 볼륨을 결정한다.
  • Profile : URP에서 이 볼륨을 처리하는 데 사용하는 속성이 저장된 Volume Profile을 선택

Volume Profile 생성 및 Post Processing 효과 추가

  1. Profile의 New를 눌러 Profile을 생성한다.
  2. Add Override → Post-Processing에서 원하는 효과를 적용한다.

포스트 프로세싱 효과 종류

URP에서 제공하는 효과는 다음과 같이 크게 4가지 종류로 나눌 수 있다.

  • 색 보정(Color Correction)
  • 렌즈 조절(Lens Stuff)
  • 카메라(Camera)
  • 효과(Effect)

Color Correction

톤 매핑 (Tonemapping)

이미지의 HDR 값을 새로운 범위의 값으로 다시 매핑하는 과정이다. 가장 일반적인 목적은 낮은 동적 범위의 이미지를 더 높은 범위의 이미지로 보이게 하는 것이다.

HDR을 활성화했으면 톤 매퍼도 같이 사용해야 한다.

  • Mode : 톤 매핑에 사용할 알고리즘을 선택한다.
    • None : 톤 매핑을 적용하지 않음
    • Neutral : 색상 색조 및 채도에 미치는 영향을 최소화하면서 범위 리매핑만 원하는 경우 선택한다. 일반적으로 광범위하게 색 채색을 할 때 사용.
    • ACES : Neutral 보다 더 대조적이며 실제 색조 및 채도에 영향을 미친다.

화이트 밸런스 (White Balance)

조명 색이 미치는 영향을 보정하여 흰색 물체를 하얗게 보이도록 한다. 또한 화이트 밸런스를 사용하여 최종 렌더링에서 전체적으로 차갑거나 따뜻한 느낌을 만들 수 있다.

  • Temperature : 화이트 밸런스를 사용자 지정 색 온도로 설정한다. 값이 높을수록 색 온도는 더 따뜻해지고 값이 낮을수록 색 온도는 더 낮아진다.
  • Tint : 녹색 또는 자홍색을 보정.

색상 조정 (Color Adjustments)

최종 렌더링된 이미지의 전체적인 톤, 밝기 및 대비를 조정할 수 있다.

톤 매핑을 ACES로 설정한 후 Post Exposure값을 적당히 올리면 밝고 화사한 느낌을 줄 수 있다.

  • Post Exposure : 씬 내 전체 노출량을 조절한다.
  • Contrast : 색조 값의 범위를 확대 또는 축소한다.
  • Color Filter : Color Adjstments 효과가 렌더를 곱하고 결과를 색조화하는데 사용할 색상을 선택한다.
  • Hue Shift : 모든 색상의 색조를 이동시킨다.
  • Satureation : 모든 색상의 세기를 강조한다.

채널 혼합 (Chnnel Mixer)

RGB 채널의 각 색상의 강도를 별도로 조정할 수 있다.

  • Red
  • Green
  • Blue

색상 곡선 (Color Curve)

정지 곡선은 색상, 채도 또는 광도의 특정 범위를 조정한다. 사용 가능한 8개의 그래프에서 곡선을 조정하여 특정 색조 교체 또는 특정 광도 불포화 등의 효과를 얻을 수 있다.

매우 다양한 영역에서 사용되는 효과로 대표적으로는 이미지의 휘도를 조정하는 데 사용한다. 2차원 그래프를 이용해 휘도를 조정하는 데, x축은 입력 휘도를, y축은 출력 휘도를 뜻한다.

이를 이용해 특정 색감을 강조하거나, 특정 색감을 제외한 모든 색조를 없앨 수 있다.

  • Master : 이 곡선은 전체 이미지의 휘도를 조정한다. x축은 입력 휘도, y축은 출력 휘도를 나타낸다. 이 곡선을 이용하여 모든 색상 채널에서 대비 및 밝기와 같은 기본 속성의 모양을 추가로 조정할 수 있다.
  • Red : 이 곡선은 전체 영상에서 빨간색 채널 명암에 영향을 미친다. 그래프의 x축은 입력 강도를 나타내고 y축은 빨간색 채널의 출력 강도를 나타낸다.
  • Green : 이 곡선은 전체 영상에서 초록색 채널 명암에 영향을 미친다. 그래프의 x축은 입력 강도를 나타내고 y축은 빨간색 채널의 출력 강도를 나타낸다.
  • Blue : 이 곡선은 전체 영상에서 파란색 채널 명암에 영향을 미친다. 그래프의 x축은 입력 강도를 나타내고 y축은 빨간색 채널의 출력 강도를 나타낸다.
  • Hue vs Hue : 이 곡선은 출력 색조(y축)에 따라 입력 색조(x축)를 이동한다. 이 옵션을 사용하여 특정 범위의 색상을 미세 조정하거나 색상 교체를 수행할 수 있다.
  • Hue vs Sat : 이 곡선은 입력 색조(x축)에 따라 채도(y축)를 조정한다. 이 옵션을 사용하여 특히 밝은 영역의 톤을 낮추거나 단일 우세 색상을 제외한 단색 등의 예술적 효과를 만들 수 있다.
  • Sat vs Sat : 이 곡선은 입력 채도(x축)에 따라 채도(y축)를 조정한다. 색상 조정을 사용하여 채도 조정을 미세 조정할 수 있다.
  • Lum vs Sat : 이 곡선은 입력 휘도(x축)에 따라 채도(y축)를 조정한다. 이것을 사용하여 어둠의 영역을 분리하여 흥미로운 시각적 대비를 제공할 수 있다.

그림자 중간 톤 하이라이트 (Shadows Midtones Highlights)

렌더의 그림자, 중간 톤 및 하이라이트를 별도로 제어한다. 리프트, 감마, 게인과 달리 이 효과를 이용하여 그림자, 중간 톤 및 하이라이트의 톤 범위를 정화하게 정의할 수 있다.

  • Shadow : 트랙볼을 사용하여 URP가 그림자의 색조를 전환할 색상을 선택한다. 슬라이더를 사용하여 트랙볼 색상의 밝기를 오프셋한다.
  • Midtones : 중간 음을 조절할 때 사용하며 트랙볼을 사용하여 URP가 중간 톤의 색조를 전환할 색상을 선택한다. 슬라이더를 사용하여 트랙볼 색상의 밝기를 오프셋한다.
  • Highlights : 트랙볼을 사용하여 URP가 하이라이트의 색조를 전환할 색상을 선택한다. 슬라이더를 사용하여 트랙볼 색상의 밝기를 오프셋한다.

Shadow Limits

  • Start : 그림자와 렌더의 중간 톤 사이의 전환 시작점을 설정.
  • End : 그림자와 렌더의 중간 톤 사이의 전환 끝점을 설정.

Highlight Limits

  • Start : 중간색과 렌더 하이라이트 사이의 전환 시작점 설정
  • End : 중간색과 렌더 하이라이트 사이의 전환 끝점을 설정.

리프트, 감마, 게인 (Lift, Gamma, Gain)

그림자 중간 톤 하이라이트와 비슷한 효과를 제공하지만 보다 더 자연스러운 결과물을 도출하며, 개발자가 임의로 범위를 조정하는 대신에 ASC CDL색상 표준을 사용한다.

트랙볼에서 점의 위치를 조정하면 이미지 색조가 지정된 톤 범위에서 해당 색상으로 이동한다. 서로 다른 트랙볼을 사용하여 영상 내의 여러 범위에 영향을 미칠 수 있다. 트랙볼 아래의 슬라이더를 조정하여 해당 범위의 색상 밝기를 오프셋한다.

  • Lift : 다크톤을 조절하여 그림자에 더 과장된 영향을 미친다. 트랙볼을 사용하여 어두운 색조의 색조를 전환할 URP 색상을 선택하고 슬라이더를 사용하여 트랙볼 색상의 밝기를 오프셋한다.
  • Gamma : 중간 톤의 색조를 제어하기 위해 사용한다. 트랙볼을 사용하여 중간 톤의 색조를 전환하는데 사용할 URP 색상을 선택하고 슬라이더를 사용하여 트랙볼 색상의 밝기를 오프셋한다.
  • Gain : 트랙볼을 사용하여 URP가 강조 색조를 전환하는데 사용할 색상을 선택하고 슬라이더를 사용하여 트랙볼 색상의 밝기를 오프셋한다.

Split Toning

휘도 값에 따라 이미지의 여러 영역을 색칠하여 더 독특한 모양을 만들 수 있도록 도와준다. 이를 사용하여 씬의 그림자 및 하이라이트에 다른 색조를 추가할 수 있다.

  • Shadow : URP가 그림자의 색조를 지정하기 위해 사용하는 색상을 선택한다.
  • Highlights : URP가 하이라이트 색조에 사용하는 색상을 선택한다.
  • Balance : 슬라이더를 사용하여 그림자와 강조 표시 사이의 균형을 설정한다. 값이 낮을수록 하이라이트 색에 비해 그림자 색이 더 뚜렷해진다. 값이 높을수록 반대 효과가 나타나며, 그림자 색에 비해 하이라이트 색이 두드러진다.

Color Lookup Table(LUT)

위의 색감에 관한 설정을 외부 편집 툴(포토샾 등)에서 수행하여 유니티에 적용시키게 해주는 기능이다.

  1. 게임 장면을 스크린샷한다.
  2. 외부 편집 툴로 스크린샷을 가져온 후 색상을 조절해준다.
  3. 조절한 색상 설정을 neutral LUT에 적용한 후 PNG로 저장해준다.
  4. Unity의 LUT파일을 적용해준다.

Effects

블룸 (Bloom)

블룸은 광원에서 빛이 주위 물체에 새는 것처럼 보이게 하는 효과이다. 즉, 밝은 영역을 빛나게 한다.

Bloom

  • Intensity : 추가된 라이트의 전역 조명 강도
  • Threshold : 이미지 영역 속에서 이 임계값 보다 밝은 영역은 블룸의 영향을 받음
  • Clamp : 블룸 양을 제어하기 위한 픽셀값
  • Tint : 블룸 색상

Lens Dirt

  • Dirt Texture : 렌즈의 텍스처 설정
  • Dirt Intensity : 렌즈 텍스처의 강도 조정

색수차 (Chromatic Aberration)

실제 카메라의 렌즈가 모든 컬러를 동일한 지점에 집중시키지 못했을 때 발생하는 효과를 나타낸다. 이 경우 이미지의 어두운 부분과 밝은 부분을 구분하는 경계를 따라 컬러 ’띠’가 형성된 것처럼 보인다.

렌즈를 통해 바라보는 느낌을 낼 수 있어서 카메라에서 촬영감을 강조하고자 하는 경우 등에 사용할 수 있다.

  • Intensity : 색수차 강도

필름 그레인 (Film Grain)

필름 그레인 효과(Film Granle effect)는 고전적 사진 필름처럼 임의의 광학 질감을 시뮬레이션하는 것으로, 보통 실제 필름에 존재하는 작은 입자에 의해 발생한다.

  • Type : 드롭다운을 사용하여 사용할 그레인 유형을 선택한다. URP에 포함된 사전 설정 리스트에서 선택하거나 Custom을 선택하여 고유한 그레인 텍스처를 제공할 수 있다.
  • Texture : 사용자 정의 곡물 텍스처로 사용할 텍스처를 할당. 이 속성은 Type이 Custom으로 설정된 경우에만 사용할 수 있다.
  • Intensity : 필름 그레인 효과의 강도를 설정.
  • Response : 노이즈 응답 곡선을 설정. 이 값을 높게 설정할수록 밝은 영역에서 노이즈가 감소한다.

비네팅 (Vignetting)

중앙과 비교하여 이미지의 가장자리를 향해 진하게 하거나 불포화시킨다. 실제 생활에서는 두껍거나 쌓인 필터, 보조 렌즈, 부적절한 렌즈 후드가 보통 이러한 효과의 원인이다. vigneting을 사용하여 영상의 중앙에 포커스를 그릴 수 있다.

  • Color : 비네팅 효과 색상
  • Center : 중심의 위치를 설정
  • Intensity : 비네팅 적용 강도를 설정. 값이 커질수록 비네팅 효과 범위가 커진다.
  • Smoothness : 비네트 경계선의 평활도를 설정. 값이 커질수록 경계선이 흐릿해진다.
  • Rounded : 비네팅 효과를 완전한 원형으로 고정한다. 체크 해제시 종횡비에 따라 달라진다.

Camera Lens

피사계 심도 (Depth of Field)

카메라 렌즈의 포커스 프로퍼티를 시뮬레이션하는 효과.

Gaussian : 카메라와 같은 효과에 가깝지만 완전히 같지는 않고 제한된 블러 반경을 가지고 있어 원거리만 블러처리한다. 가장 빠르며, 저가형 플랫폼에 가장 적합한 모드이다.

  • Start : 원거리 필드가 흐릿해지기 시작하는 카메라와의 거리를 설정.
  • End : 카메라에서 멀리 보이는 흐림이 최대 흐림 반경에 도달하는 거리를 설정.
  • Max Radius : 원거리 블러가 도달할 수 있는 최대 반지름을 설정. 기본값은 1이다.
  • High Quality Sampling : 더 높은 품질의 샘플링을 사용하여 깜박임을 줄이고 전반적인 블러 평활도를 개선한다. 이로 인해 약간의 성능 비용이 발생할 수 있다.

Bokeh : 느리지만 실제 카메라의 효과를 거의 모방하는 고품질의 모드. 근거리 및 원거리 흐림을 모두 할 수 있으며, 광도가 높은 지역에 보케를 생성하는데, 이를 핫스팟이라고도 한다.

  • Focus Distance : 카메라에서 초점까지의 거리를 설정.
  • Focal Length : 카메라 센서와 카메라 렌즈 사이의 거리를 밀리미터 단위로 설정. 값이 클수록 피삭계 심도가 얕아진다.
  • Aperture : 조리개 비율을 설정. 값이 작을수록 피사계 심도는 얕아진다.
  • Blade Count : 슬라이더를 사용하여 카메라가 조리개를 형성하는 데 사용하는 다이어프램 블레이드 수를 설정. 다이어프램 블레이드 수가 증가할수록 보케가 둥글게 나타난다.
  • Blade Curvature : 카메라가 조리개를 형성하는 데 사용하는 다이어프램 블레이드의 곡률을 설정. 값이 작을수록 조리개 날개가 더 잘 보인다. 1의 값은 보케를 완벽하게 원형으로 만든다.
  • Blade Rotation : 다이어프램 블레이드의 회전도 설정.

모션 블러 (Motion Blur)

실제 카메라가 카메라의 노출 시간보다 빠르게 움직이는 물체를 촬영할 때 이미지에서 발생하는 흐림을 시뮬레이션한다. 일반적으로 빠르게 움직이는 물체 또는 긴 노출 시간 때문에 발생한다.

  • Quality : 효과의 품질을 설정한다. 사전 설정이 낮을수록 성능이 향상되지만 시각적 품질은 저하된다.
  • Intensity : 모션 블러 필터의 강도를 0 ~ 1의 값으로 설정. 값이 높을수록 흐림 효과가 강하지만 Clamp 파라미터에 따라 성능이 저하될 수 있다.
  • Clamp : 카메라 회전으로 인한 최대 속도를 설정한다. 이는 과도한 성능 비용을 방지하기 위해 고속으로 흐릿함을 제한한다. 값은 화면 전체 해상도의 일부로 측정되며 값 범위는 0 ~ 0.2이다. (기본값은 0.05)

렌즈 왜곡 (Lens Distortion)

최종 렌더링된 사진을 왜곡하여 실제 카메라 렌즈의 모양을 시뮬레이션한다.

  • Intensity : 왜곡 효과의 전체 강도를 설정.
  • X Multiplier : X축의 왜곡 강도를 설정. 이 값을 0으로 설정하여 축의 왜곡을 비활성화할 수 있다.
  • Y Multiplier : Y축의 왜곡 강도를 설정. 이 값을 0으로 설정하여 축의 왜곡을 비활성화할 수 있다.
  • Center : 왜곡 효과의 중앙점을 화면에 설정.
  • Scale : 전역 화면 배율 값을 설정. 렌더를 확대/축소하여 화면 테두리를 숨긴다. 왜곡이 심한 경우 존재하지 않는 화면 경계를 벗어난 픽셀의 정보에 의존하기 때문에 화면 테두리의 픽셀이 끊어질 수 있다. 화면 테두리 주변에 이러한 끊어진 픽셀을 숨기는 데 유용하다.

파니니 투영법 (Panini Projection)

파니니 투영
최대 150도 혹은 그 이상의 광각에 대한 원근 보기를 렌더링하는 방법이다. 시야가 매우 넓은 장면에서 투시도를 렌더링하는 데 도움을 준다.

  • Distance : 왜곡 강도를 조절
  • Crop to Fit : 화면에 맞게 왜곡을 자른다. 값이 1이면 왜곡이 화면 가장자리로 잘리지만 Distance를 높은 값으로 설정하면 중앙의 정밀도가 손실된다.

Camera

포스트 프로세싱의 영역이지만, 카메라 컴포넌트에서 설정할 수 있는 옵션들이다.

Dithering

양자화 오류를 랜덤화하기 위해 의도적으로 이미지에 노이즈를 적용하는 프로세스이다.

Anti-aliasing

들쭉날쭉한 가장자리를 줄이는 데 도움을 준다.
보간을 추가하여 계단식 선을 부드럽게 만든다.

  • FXAA : 저성능을 요구해 상대적으로 낮은 품질의 결과 도출
  • SMAA : 고성능을 요구해 상대적으로 높은 품질의 결과 도출

MSAA

렌더 파이프라인에서 설정할 수 있는 세 번째 유형의 안티 엘리어싱이다.
다른 안티엘리어싱 방법 위에 추가적으로 적용되어 더욱 부드러운 선을 제공한다.

profile
학습한 내용을 빠르게 다시 찾기 위한 저장소

0개의 댓글