Unity 밉맵 매뉴얼 요약
이 문서에서는 Unity에서 밉맵에 대해 설명합니다. 밉맵은 3D 씬에서 렌더링하는 텍스처의 해상도를 최적화하는 데 도움이 됩니다. 다음은 주요 개념과 활용 방법입니다.
밉맵 소개
- 밉맵(Mip Map): 원본 텍스처의 여러 해상도 버전으로 구성된 집합입니다. 예를 들어, 밉 0은 원본 텍스처이며, 밉 1, 2, 3은 점진적으로 더 낮은 해상도입니다.
- 사용 용도: 카메라와 오브젝트 간의 거리, 각도에 따라 적절한 해상도를 선택하여 렌더링의 속도와 품질을 향상시킵니다.
밉 레벨
밉 레벨 | 설명 |
---|---|
밉 0 | 원본 해상도 텍스처 |
밉 1 | 첫 번째 다운샘플링 |
밉 2 | 두 번째 다운샘플링 |
밉 3 | 세 번째 다운샘플링 |
GPU의 밉 샘플링
- DDX와 DDY: GPU는 현재 픽셀과 이웃 픽셀의 UV 정보를 바탕으로 밉 레벨을 결정합니다.
- 거리에 따른 선택: 픽셀 간의 거리가 멀고 각도가 클수록 낮은 해상도의 밉을 선택하고, 가까운 경우 높은 해상도를 선택합니다.
- 삼선형 필터링: 두 밉의 텍스처 정보를 블렌딩하여 전환이 부드럽게 이루어집니다.
밉 바이어스
- 정의: 밉 바이어스는 GPU가 샘플링 중에 선택하는 밉의 해상도를 조절하는 값입니다.
- 예: 기본적으로 GPU는 특정 밉을 선택하지만, 밉 바이어스가 -2인 경우 더 높은 해상도를 사용할 수 있습니다.
밉 바이어스 설정 방법
방법 | 설명 |
---|---|
Texture.mipMapBias | textures의 밉 바이어스 설정 |
HLSL 함수 | tex2Dbias 를 사용하여 직접 코드 입력 |
셰이더 그래프 | 샘플 텍스처 2D 배열 노드 또는 샘플 텍스처 2D 노드 활용 |
밉맵 자동 생성
Unity는 원본 텍스처의 해상도가 특정 값의 거듭제곱일 때 자동으로 밉맵을 생성합니다. 관리자는 텍스처 임포트 설정에서 밉맵의 생성 여부를 조절할 수 있습니다.
밉맵 스트리밍 제어
Unity는 런타임 중 밉맵을 효율적으로 로드하고 사용하기 위한 스트리밍 시스템을 지원합니다. 이는 다양한 플랫폼과 하드웨어에서 성능을 향상시키는 데 도움이 됩니다.
활용 예제
- 게임에서 품질 향상: 고해상도 텍스처를 사용하고 다양한 거리의 오브젝트에 적절한 밉맵을 선택하여 성능을 개선합니다.
- UI 텍스처 최적화: UI 요소는 전체 해상도로 렌더링되므로, 밉맵이 필요 없는 경우 효율성을 높이기 위해 해상도를 조절합니다.
밉맵을 통해 Unity의 그래픽 성능을 극대화하고, 렌더링 속도와 품질을 동시에 개선할 수 있습니다.