Unity 가상 텍스처링 스트리밍 가이드
개요
이 문서는 Unity의 가상 텍스처링 스트리밍(SVT) 기능을 사용하는 방법에 대한 설명입니다. SVT는 텍스처를 효율적으로 관리하고, 메모리 사용량을 줄이며, 성능을 향상시키는 데 도움을 줍니다.
시작하기 전에
- Unity 2022.3(LTS) 이상이 필요합니다.
- Built-in Render Pipeline에서 SVT는 지원되지 않으며, 셰이더에서 가상 텍스처 프로퍼티를 사용해야 합니다.
- SVT는 실험적 기능으로, 프로덕션 환경에 사용하기 전에 충분히 테스트해야 합니다.
가상 텍스처링 스트리밍 활성화
프로젝트에서 가상 텍스처링을 사용하려면 다음 단계를 따라야 합니다: 1. 프로젝트 설정에서 가상 텍스처링 스트리밍 활성화. 2. 가상 텍스처 프로퍼티에 텍스처를 추가합니다. 3. 샘플 가상 텍스처 노드를 사용하여 텍스처를 샘플링합니다.
샘플 가상 텍스처 노드 사용법
샘플 가상 텍스처 노드는 UV 좌표를 입력으로 받아 텍스처를 샘플링합니다. 여러 텍스처를 하나의 프로퍼티에 결합하는 것이 성능상 더 효율적입니다.
자동 스트리밍
프래그먼트 단계에서 샘플 가상 텍스처 노드를 사용할 때, 자동으로 타일 스트리밍이 수행됩니다. 하지만 이를 비활성화하고 수동으로 요청할 수도 있습니다.
수동 타일 로딩
버텍스 단계에서 샘플 가상 텍스처 노드를 사용할 경우, Automatic Streaming을 비활성화한 후 LOD Level 모드를 선택해야 합니다. VirtualTexturing.Streaming.RequestRegion
메서드를 사용하여 타일을 수동으로 로드합니다.
VirtualTexturing.Streaming.RequestRegion(Material, Stack ID, Rect, mipmap, numMips);
제한 사항
- 데칼 그래프 또는 투명 셰이더에 샘플 가상 텍스처 노드를 사용할 수 없습니다.
- 일부 렌더 파이프라인 및 설정과 호환되지 않을 수 있습니다.
예제
다음은 예제를 통해 가상 텍스처 프로퍼티와 샘플 가상 텍스처 노드의 연결 방법을 보여줍니다.
예제 | 설명 |
---|---|
Material |
가상 텍스처 프로퍼티와 연결된 머티리얼입니다. |
Stack ID |
가상 텍스처 스택의 고유 ID입니다. |
Rect |
텍스처 크기를 지정하는 Rect입니다. |
mipmap |
사용할 mipmap 레벨입니다. |
numMips |
요청할 mipmap의 수입니다. |
결론
이번 가이드를 통해 Unity의 가상 텍스처링 스트리밍 기능을 활용하여 메모리 관리를 효율적으로 수행할 수 있기를 바랍니다. 이러한 기술을 통해 프로젝트의 그래픽 품질을 한층 향상시킬 수 있습니다.