HDRP의 멀티샘플링 안티앨리어싱
앨리어싱은 디지털 샘플러가 실제 정보를 샘플링하여 디지털화하려고 시도할 때 나타나는 부작용입니다. 예를 들어 오디오 또는 비디오를 샘플링할 때 이로 인해 디지털 신호의 모양이 원본 신호의 모양과 일치하지 않게 됩니다. 이는 가장 높은 주파수의 오디오 소스 또는 가장 작은 세부 사항의 시각적 소스에 대한 원본 및 디지털 신호를 비교할 때 가장 분명히 알 수 있습니다. 일반 신호 처리는 이 패턴을 피하기 위해 나이키스트 속도를 사용하지만 리소스를 매우 많이 소모하므로 이미지 렌더링에는 적합하지 않습니다.
앨리어싱을 생성하는 래스터화 프로세스의 예입니다.
이러한 부작용을 줄이기 위해 HDRP는 멀티샘플링 안티앨리어싱(MSAA), 시간적 안티앨리어싱(TAA) 및 빠른 근사 안티앨리어싱(FXAA)을 지원합니다. MSAA는 다른 기술보다 앨리어싱 문제를 해결하는 능력이 더 뛰어나지만, 훨씬 더 방해가 되며 성능 소모가 큽니다. 결정적으로, MSAA는 공간 앨리어싱 문제를 해결합니다.
HDRP 프로젝트에서 MSAA를 활성화하려면 HDRP 에셋을 열고, Render Pipeline Supported Features 섹션에서 Support Multi Sampling Anti-Aliasing 체크박스를 활성화하십시오. 이 옵션이 회색으로 표시되면 Supported Lit Shader Mode를 Both 또는 Forward Only로 설정하십시오. 이는 HDRP가 포워드 렌더링에 대해서만 MSAA를 지원하기 때문입니다. MSAA 지원을 활성화하고 나면 드롭다운 메뉴(None, 2X, 4X, 8X)에서 MSAA Sample Count를 선택할 수 있습니다. 이 설정은 HDRP가 효과 평가를 위해 픽셀당 계산하는 샘플 수를 정의합니다.
MSAA를 사용할 때는 다음 사항에 유의하십시오.
- 샘플 수를 늘리면 MSAA 효과가 더 많은 리소스를 소모합니다.
- MSAA 지원을 활성화하고 MSAA Sample Count를 None으로 설정하면 HDRP가 MSAA에 대한 리소스를 할당하는데, 이는 아무런 안티앨리어싱 이점도 없이 렌더 파이프라인에 부정적 영향을 줄 수 있습니다.
- **Screen space reflection (SSR)**은 현재 MSAA와 호환되지 않습니다.
Unity 프로젝트에 대해 MSAA를 활성화한 경우 프레임 설정을 사용하여 모든 카메라에서 활성화해야 합니다. HDRP 에셋의 Default Frame Settings에서 MSAA를 활성화하여 전역적으로 적용하거나, 각 카메라에 대해 개별적으로 적용할 수 있습니다.
모든 카메라에서 MSAA를 전역적으로 활성화하려면 다음 단계를 따르십시오.
- HDRP 에셋을 열고 Default Frame Settings For 섹션으로 이동합니다.
- Default Frame Settings For 드롭다운이 Camera로 설정되었는지 확인합니다.
- Rendering Settings 드롭다운 메뉴를 열고 Lit Shader Mode를 Forward로 설정합니다. 이는 HDRP가 포워드 렌더링에 대해서만 MSAA를 지원하기 때문입니다.
- MSAA 체크박스를 선택하여 모든 카메라에 대해 MSAA를 기본적으로 활성화합니다.
각 카메라에서 MSAA를 개별적으로 활성화하려면 다음 단계를 따르십시오.
- Camera 컴포넌트가 연결된 게임 오브젝트를 클릭한 후 인스펙터에서 엽니다.
- Camera 컴포넌트의 General 섹션에서 Rendering Path를 Custom으로 설정합니다. 그러면 Frame Settings Override 섹션이 노출됩니다.
- Rendering Settings 드롭다운 메뉴를 열고 Lit Shader Mode를 Forward로 설정합니다. 이는 HDRP가 포워드 렌더링에 대해서만 MSAA를 지원하기 때문입니다.
- MSAA 체크박스를 선택하여 이 카메라에 대해 MSAA를 활성화합니다.
MSAA Sample Count를 증가시키면 안티앨리어싱이 부드러워지지만, 그만큼 성능을 더 많이 소모합니다. 다음은 다양한 MSAA Sample Count의 효과를 보여주는 시각적 예제입니다.
MSAA Sample Count를 None으로 설정했습니다.
MSAA Sample Count를 MSAA 2X로 설정했습니다.
MSAA Sample Count를 MSAA 4X로 설정했습니다.
MSAA Sample Count를 MSAA 8X로 설정했습니다.