각 라이트맵에는 많은 charts 가 포함되어 있습니다. 런타임 시점에서 Unity는 이러한 차트를 메시 면에 매핑하고, 차트의 조명 데이터를 사용하여 최종 형상을 계산합니다. GPU 샘플링의 동작 방식 때문에 두 차트가 너무 인접해 있으면 한 차트의 데이터가 다른 차트로 흘러 들어갈 수 있습니다. 이로 인해 일반적으로 앨리어싱, 픽셀레이션 등과 같은 의도하지 않은 아티팩트가 발생합니다.
광원 블리딩 현상을 피하려면 차트 사이에 충분한 공간을 두어야 합니다. GPU가 라이트맵을 샘플링할 때 광원 시스템은 샘플링된 지점에서 가장 가까이 있는 텍셀 4개의 최종 샘플 값을 계산합니다(바이리니어 필터링을 사용한다고 가정함). 이 4개의 텍셀은 샘플링된 지점의 바이리니어 “이웃(neighborhood)”이라고 부릅니다. 두 차트가 너무 가까이 붙어 있으면 오버랩이 발생합니다. 즉, 차트 내 한 이웃 지점이 다른 차트의 이웃 지점과 겹치게 됩니다. 아래 이미지에서 흰색 픽셀은 차트 이웃을 표시하고, 빨간색 픽셀은 겹치는 이웃을 표시합니다.
여러 파라미터(예: 라이트맵 해상도, 메시 UV, 임포터 설정 등)가 존재하기 때문에 최적의 차트 배치 및 간격을 결정하기가 어려울 수 있습니다. 따라서 Unity는 다음 섹션에 설명된 것처럼 이러한 문제들을 쉽게 식별할 수 있는 기능을 제공합니다.
오버랩은 세 가지 방식으로 식별할 수 있습니다.
Unity의 콘솔을 주시하십시오. Unity가 겹치는 UV를 감지하면 경고 메시지를 출력하고 영향을 받는 게임 오브젝트 리스트를 표시합니다.
씬(Scene) 뷰에서 UV Overlap 드로우 모드를 사용하십시오(자세한 내용은 씬(Scene) 뷰의 GI 시각화 참조). 이 모드를 활성화한 경우 Unity는 다른 차트의 텍셀과 매우 인접한 차트 텍셀에 빨간색 하이라이트를 추가합니다. 이 기능은 씬 뷰에서 결함을 찾거나 UV 오버랩이 결함을 일으키는지 빠르게 조사해야 할 때 특히 유용합니다.
UV 오버랩은 매우 많은 요소로 인해 발생하므로 완전한 한 가지 해결책은 없습니다. 다음은 가장 일반적으로 사용되는 몇 가지 해결책입니다.