Unity Mipmaps: 작은 텍스처를 넘어선 활용: 시간적 안정성, 스트리밍, 그리고 시맨틱 밉
밉맵은 단순히 텍스처의 작은 복사본 이상이며, 시간적 이미지 안정성, 대역폭 할당, 다양한 상세 수준에 걸쳐 의미를 보존하는 데 중요합니다. 텍스처의 밉 레벨 선택은 단순히 거리가 아닌, 투영된 발자국의 화면 공간 밀도에 의해 결정됩니다. 빌리니어 필터링은 단일 밉 내에서 텍셀을 혼합하고, 트릴리니어 필터링은 두 개의 인접한 밉 사이를 보간합니다. 비등방성 필터링은 경사 표면의 길쭉한 발자국 문제를 해결하며, 이는 트릴리니어 필터링으로는 해결되지 않는 문제입니다. 이상적인 밉 샘플 레벨은 GPU 메모리에 실제로 사용 가능한 가장 높은 해상도의 밉과 다를 수 있으며, 이는 컷 이후 갑작스러운 흐릿함을 설명합니다. 전체 밉 체인은 밉 0만 있을 때보다 약 33% 더 많은 텍셀 데이터를 추가하며, 밉 0은 전체의 약 75%를 차지합니다. 밉맵을 비활성화하면 단일 스크린샷은 향상될 수 있지만 애니메이션 불안정, 모아레, 깜박이는 하이라이트를 유발합니다. 텍스처 가져오기 설정은 셰이더 예상에 기반해야 하며, sRGB는 중요한 의미론적 고려 사항입니다. 알파 테스트 셰이더는 평균화로 인해 낮은 밉 레벨에서 나뭇잎이 사라지게 할 수 있으며, Unity의 Preserve Coverage는 이를 완화할 수 있습니다. 노멀 맵 평균화는 분산을 버려 불안정한 스페큘러 하이라이트를 유발하며, 이는 러프니스와 잠재적인 기하학적 스페큘러 안티 앨리어싱을 신중하게 처리해야 합니다. 패킹된 마스크 텍스처는 밉 정책을 공유하지만, 그 안의 다른 데이터 유형은 별도의 필터링 또는 생성 접근 방식을 필요로 할 수 있습니다. 아틀라스 블리딩은 효과적인 패딩이 감소하기 때문에 낮은 밉 레벨에서 악화되며, 이는 예상되는 가장 낮은 밉에 대한 설계를 필요로 합니다. 밉맵 제한 및 스트리밍은 품질 스케줄러 역할을 하며, 시각적 중요도에 따라 텍스처를 우선순위 지정하고 상주 레벨을 관리합니다. 대략적인 밉 레벨을 시각화하면 UV 밀도 불연속성 및 아틀라스 블리딩과 같은 문제를 진단할 수 있습니다.