심 스티칭(seam stitching)은 프로그레시브 라이트매퍼에서 생성된 베이크된 라이트맵을 사용하여 렌더링된 게임 오브젝트에서 원치 않는 하드 에지를 부드럽게 처리하는 기능입니다.
Unity가 라이트맵을 베이크할 때 서로 가깝지만 서로 분리된 메시 면을 라이트맵 공간에서 분리된 면으로 식별합니다. 이런 메시의 가장자리를 “경계 부분”이라고 합니다. 경계 부분은 보이지 않는 것이 이상적이지만, 때로는 하드 에지가 있는 것처럼 보일 수 있습니다. 그 이유는 GPU가 라이트맵에서 분리된 차트의 텍셀 값을 혼합할 수 없기 때문입니다.
심 스티칭은 이 문제를 해결합니다. 심 스티칭을 사용하면 Unity가 추가 연산을 수행하여 라이트맵을 수정하고 결과적으로 경계 부분의 모양을 개선합니다. 심 스티칭이 완벽하지는 않지만 종종 최종 결과를 현저하게 개선합니다. 심 스티칭은 베이크하는 동안 수행되는 추가 연산으로 인해 베이크 시간이 더 많이 소요되므로 Unity에서는 기본적으로 비활성화되어 있습니다.
심 스티칭을 활성화하면 라이트매퍼가 함께 스티칭해야 하는 모서리 쌍을 식별하고 경계 부분에 최대한 부드러운 조명을 생성합니다. 이 조명은 아틀라스의 차트 경계를 따라 수평 또는 수직으로 이어져 있는 수직 모서리에만 적용되며 UV 공간에서 축에 정렬된 사각형과 함께 사용할 수 있도록 설계되었습니다.
심 스티칭은 프로그레시브 라이트매퍼에서 작동합니다. 또한 단일 게임 오브젝트에만 사용할 수 있고, 여러 개의 게임 오브젝트의 경우 매끄럽게 꿰맬 수 없습니다.
Mesh Renderer 컴포넌트를 사용하여 모든 게임 오브젝트에 심 스티칭을 활성화할 수 있습니다. 메시 렌더러 인스펙터에서 Lightmapping 섹션과 Stitch Seams 로 이동합니다.
또는 MeshRenderer.stitchLightmapSeams API를 사용할 수 있습니다.