오늘은 포스트 프로세싱을 복습해보려고 한다.
항상 내가 쓰는 기술을 쓰기만 했지 이걸 누구한테 설명한다고 하면 뭐라 잘 설명할 방도가 없었다.
다른 사람한테도 간단하고 쉽게 설명해줄 수 있어야 완벽히 마스터 되었다 생각하기에 다시 복습을 하고자 한다.
해당 내용은 컴포넌트 포스트프로세싱에 포함되지 않은 기능도 있으니 참고바랍니다.
포스트프로세싱이란?
우리가 만든 게임화면에 더 리얼하고 이쁘게 만든다
게임을 실행 한후 코드를 cpu가 처리하고 이걸 그래픽카드가 처리하면 이러한 화면이 나온다


포스트 프로세싱 후

카메라가 씬을 렌더링하는 방식은 우리의 눈이나 실제 카메라가 사물을 인식하는 방식과는 다르기에 특정한 임펙트를 이용하여 라이트 효과 및 번짐등을 좀 더 리얼하게 바꿀 수 있다.
여기서 그중 몇 개의 내용을 설명하자면
렌즈플레이어 (Lens Flares & bloom)
카메라 렌즈 내에서 광원이 굴절하는 효과다.
해당 기능은 유니티 컴포넌트인 Lens Flares로 표현할 수 있으며
포스트 프로세싱인 bloom으로도 표현이 가능하다.
블룸 (Bloom)
블룸은 광원에서 빛이 주위 물체에 새는 것처럼 보이게 하는 효과이다.
Lens Flares
- Flare : 렌더링할 플레어를 설정합니다. 외관 요소를 정의한다.
- Color : 플레어에 색상을 입힐 수 있습니다.
- Brightness : 렌즈 플레어의 크기와 밝기를 설정
- Fade Speed : 플레어가 얼마나 빠르게 흐려지는지 설정
- Ignore Layers : 플레어를 숨기지 않는 레이어 마스크를 선택
- Directional : 이 항목을 설정하면 플레어는 게임 오브젝트의 양의 Z축 방향으로 정렬 , 오브젝트의 포지션은 무시하고 Z축의 방향만을 추적
Bloom
-
Intensity : 추가된 라이트의 전역 조명 강도
-
Threshold : 이미지 영역 속에서 이 임계값 보다 밝은 영역은 블룸의 영향을 받음
-
Clamp : 블룸 양을 제어하기 위한 픽셀값
-
Tint : 블룸 색상
Lens Dirt
- Dirt Texture : 렌즈의 텍스처 설정
- Dirt Intensity : 렌즈 텍스처의 강도 조정
※그렇다면 lens Flares와 bloom의 쓰임의 용도는 뭘까?
해당 글을 쓴 본인도 궁금하여 찾아보고 종합적인 사람들의 내용 및 결과물들을 보고 나온 판단은
bloom: 극장의 무대 에서처럼 장면이나 물체를 매우 밝고 빛으로 넘쳐 야 할 때 좋습니다. 모든 것이 밝은 빛, 심지어 어두운 동굴로 덮여있는 망각과는 다릅니다.
lens Flares : 캐릭터가 안경, 고글, 바이저 또는 눈과 광원 사이의 물건을 착용하지 않는 1 인칭 게임에서 성가시다; 렌즈 플레어는 빛이 유리와 같은 투명한 물체를 통과 할 때만 실제처럼 나타납니다.
라고 한다 몇몇 개발자는 lens Flares가 별로라고 하지만 나또한 여러 프로젝트를 하면 이 둘의 차이를 주관적으로 확실하게 해야될거 같다.


비네팅(Vignetting)
중앙과 비교하여 이미지의 가장자리를 향해 진하게 하거나 불포화시킨다. 실제 생활에서는 두껍거나 쌓인 필터, 보조 렌즈, 부적절한 렌즈 후드가 보통 이러한 효과의 원인이다. vigneting을 사용하여 영상의 중앙에 포커스를 그릴 수 있다.
- Color : 비네팅 효과 색상
- Center : 중심의 위치를 설정
- Intensity : 비네팅 적용 강도를 설정. 값이 커질수록 비네팅 효과 범위가 커진다.
- Smoothness : 비네트 경계선의 평활도를 설정. 값이 커질수록 경계선이 흐릿해진다.
- Rounded : 비네팅 효과를 완전한 원형으로 고정한다. 체크 해제시 종횡비에 따라 달라진다


색수차 (Chromatic Aberration)
실제 카메라의 렌즈가 모든 컬러를 동일한 지점에 집중시키지 못했을 때 발생하는 효과를 나타낸다. 이 경우 이미지의 어두운 부분과 밝은 부분을 구분하는 경계를 따라 컬러 ’띠’가 형성된 것처럼 보인다. 렌즈를 통해 바라보는 느낌을 낼 수 있어서 카메라에서 촬영감을 강조하고자 하는 경우 등에 사용할 수 있다.


피사계 심도 (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)


앰비언트 오클루전(AO)
서로 인접한 주름, 구멍, 교차점, 표면을 어둡게 만듭니다. 이러한 영역은 주변광을 차단하거나 막기 때문에 실제로 더 어두워 보입니다.
하지만 성능을 많이 잡아먹는다는 점을 고려해야합니다.
- Intensity : 효과로 인해 발생하는 어둠의 정도
- Radius : 어두워진 영억의 범위에 방향을 미치는 샘플 포인트의 반지름
- Sample Count : 품질과 성능에 영향을 미치는 샘플 포인트 수
- Downsampling : 효과의 해상도를 절반으로 낮추면 화질은 낮아지지만 성능은 향상됩니다.
- Force Forward Compatibility : 디퍼드 렌더링 경로와 작업 시, 포워드 렌더링 된 오브젝트와의 포스 호환성
- High Precision (Forward) : 고정밀도의 뎁스 텍스처 사용 시 포워드 렌더링 경로로 토글링할 경우(성능에 영향을 미칠 수 있습니다), 디퍼드 렌더링 경로에는 어떠한 영향도 미치지 않습니다.
- Ambient Only : 이 효과는 주변광에만 영향을 미치므로 앰비언트 전용 모드를 활성화 하십시오. 이 모드는 디퍼드 렌더링 경로와 HDR 렌더링에서만 사용 가능합니다.


스크린 공간 반사(SSR)
이미지를 반전시켜 반사된것처럼 만드는 것 물웅덩이 같은 곳에 표현
스크린 공간 반사는 노멀 G버퍼에 종속하므로 디퍼드 렌더링 경로에서만 사용가능하다
URP에서 포워드 디퍼드를 세팅하는 방법은 UR Data를 만들어
렌더링 패스를 바꿔주면됨. 그 UR Data는 URP Asset에서 렌더 리스트를
추가할 수 있다.
- Blend Type : 반사가 렌더로 블렌드되는 방식
- Reflection Quality : 해결에 사용되는 버퍼의 크기. 절반 해상도 SSR이 훨씬 더 빠르지만 정확성이 떨어집니다.
- Max Distance : 최대 반사 거리(월드 유닛 단위)
밑에도 여러개 있으나 크게 사용하지 않을거 같다.
물웅덩이 같은 경우는 쉐이더를 쓰면 될거 같아 보이기 때문이다.


그밖에도 여러 개가 있으나 내가 직접 사용해보고 차이를 느끼고 싶기에 여기까지 하고자 한다.
이후 추후 사용해보고 차이를 느끼면 다시 작성하도록 하겠다
이미지 출처
정보에 감사드립니다.