Version: Unity 6.0 (6000.0)
언어 : 한국어
URP의 디퍼드 렌더링 경로의 G-버퍼 레이아웃
URP에서 셰이더와 디퍼드 렌더링 경로의 호환성 확보

URP의 디퍼드 렌더링 경로에서 정확한 G-Buffer 노멀 활성화

디퍼드 렌더링 경로에서 Unity는 G-Buffer에 노멀을 저장합니다.

기본적으로 Unity는 x, y, z에 각각 8비트를 사용하여 일반 텍스처의 RGB 채널에서 각 노멀을 인코딩합니다. 이 값들은 양자화되며 정확도가 손실됩니다. 이는 특히 모바일 GPU에서 성능을 향상하지만, 매끄러운 표면에서 컬러 밴딩 결함을 일으킬 수 있습니다.

노멀의 품질을 높이려면 유니버설 렌더러 에셋에서 Accurate G-buffer normals 프로퍼티를 활성화하면 됩니다. 방법은 다음과 같습니다.

  1. 프로젝트(Project) 창에서 유니버설 렌더러 에셋을 선택합니다.
  2. 인스펙터 창에서 Renderer 섹션으로 이동합니다.
  3. Accurate G-buffer normalsOn으로 설정합니다.

Accurate G-buffer normalsOn으로 설정하면 Unity는 팔면체 인코딩을 사용합니다. 그에 따라 노멀 벡터의 값이 더 정확해지지만, 인코딩 및 디코딩 작업으로 인해 GPU에 추가 부하가 발생합니다. 인코딩된 노멀 벡터의 정확도는 포워드 렌더링 경로에서 샘플링된 값의 정확도와 유사합니다.

다음 그림은 카메라가 게임 오브젝트에 매우 가까이 있을 때 두 옵션의 시각적 차이를 보여줍니다.

정확한 G-Buffer 노멀, 두 옵션의 시각적 차이점.
정확한 G-Buffer 노멀, 두 옵션의 시각적 차이점.

이 옵션은 다음을 지원하지 않습니다.

  • 스크린 공간 데칼 기술과 함께 사용되는 데칼 노멀 블렌딩
  • 4개 이상의 터레인 레이어와의 터레인 블렌딩(팔면체 인코딩을 사용하여 인코딩된 서로 다른 레이어의 노멀은 인코딩의 비트 단위(2x12비트)로 인해 서로 블렌딩할 수 없기 때문)

추가 리소스

URP의 디퍼드 렌더링 경로의 G-버퍼 레이아웃
URP에서 셰이더와 디퍼드 렌더링 경로의 호환성 확보