Unity의 밉맵 스트리밍 시스템

이 문서에서는 Unity의 밉맵 스트리밍 시스템에 대해 쉽게 설명하고, 다양한 활용 및 응용 예제를 제공합니다.

개요

밉맵 스트리밍 시스템은 현재 카메라 위치에 필요한 밉맵만 로드하도록 하여 메모리 사용을 줄이는 기술입니다. 이를 통해 CPU 리소스를 소모하고, GPU 메모리를 절약할 수 있습니다. Unity의 Viking Village 데모 프로젝트에서는 이러한 기술을 통해 텍스처 메모리를 25-30% 절감합니다.

시작하기

1. 밉맵 스트리밍 활성화하기

  1. Unity에서 품질 설정으로 이동합니다: Edit > Project Settings > Quality
  2. Texture Streaming 체크박스를 활성화합니다.

이렇게 하면 모든 카메라에 대해 기본적으로 밉맵 스트리밍이 활성화됩니다.

2. 개별 텍스처 설정

  • 텍스처 에셋을 선택하고 인스펙터 창에서 텍스처 임포트 설정을 확인합니다.
  • Advanced 설정으로 가서 Mip Streaming 체크박스를 활성화합니다.

3. Android 개발자 설정

  • 빌드 설정에서 Compression MethodLZ4 또는 LZ4HC로 설정합니다.

밉맵 스트리밍 API

밉맵 스트리밍을 활성화하고 설정하는 다양한 방법과 관련된 API를 사용할 수 있습니다.

텍스처 우선순위 설정

Texture Import Settings에서 Mip Streaming > Priority를 설정하여 텍스처의 우선순위를 조정할 수 있습니다.

우선순위 값 설명
-128에서 127 밉 레벨과 메모리 할당량 결정
0 기본 우선순위
양수 더 높은 우선순위 부여

라이트맵 스트리밍

밉맵 스트리밍 시스템을 사용하여 라이트맵의 밉 레벨을 스트리밍할 수 있습니다. 두 가지 제어 옵션인 Lightmap Streaming EnabledStreaming Priority를 통해 이 설정을 조정할 수 있습니다.

메모리 할당량 설정

Unity는 텍스처에 대해 설정한 메모리 할당량을 기준으로 밉 레벨을 자동으로 낮춥니다. 다음과 같은 설정 방법이 있습니다.

설정 항목 내용
Memory Budget 최대 메모리 사용량 설정
Max Level Reduction 로드 시 사용하는 최대 밉맵 레벨 설정

카메라 설정

모든 카메라에서 밉맵 스트리밍을 활성화하려면 Quality Settings에서 Add All Cameras를 설정합니다. 특정 카메라에서 비활성화하고 싶다면 Streaming Controller 컴포넌트를 추가하여 조정할 수 있습니다.

에디터 스트리밍 설정

에디터의 밉맵 스트리밍 설정을 제어하여 플레이 모드와 편집 모드에서 다르게 사용할 수 있습니다. 이는 최적화에 도움이 됩니다.

디버깅 방법

Unity에는 내장된 밉맵 스트리밍 디버깅 뷰 모드가 제공됩니다. 이를 통해 상태에 따라 색상이 변화하여 어떤 밉맵이 로드되고 있는지를 쉽게 식별할 수 있습니다.

색상 설명
녹색 밉맵 개수가 감소한 텍스처
빨간색 리소스 부족으로 로드된 텍스처
파란색 스트리밍이 설정되지 않은 텍스처

활용 및 응용 예제

예제 1: 게임 성능 최적화

밉맵 스트리밍을 통해 텍스처 메모리가 부족할 때 품질을 최적화하여 성능을 향상시킬 수 있습니다.

예제 2: 다양한 해상도 지원

모바일 기기의 낮은 메모리 옵션에 밉맵 스트리밍을 적용하여 다양한 해상도를 지원할 수 있습니다.

예제 3: 라이트맵 최적화

라이트맵의 밉 레벨을 스트리밍하여 장면의 조명 품질을 높이고 메모리를 절약할 수 있습니다.

결론

Unity의 밉맵 스트리밍 시스템은 텍스처 메모리의 효율적인 사용을 통해 성능을 최적화할 수 있는 강력한 도구입니다. 적절한 설정과 활용을 통해 게임의 그래픽 품질을 유지하면서도 시스템 성능을 개선할 수 있습니다.

Read more

Unity 매뉴얼 스크립팅 API 해설

이 문서는 Unity의 매뉴얼 스크립팅 API에 대한 간단한 해설과 활용 예제들을 포함하고 있습니다. Unity는 게임 개발 플랫폼으로, 스크립팅 API를 통해 게임의 다양한 기능을 제어하고 수정할 수 있습니다. 버전 Unity 스크립팅 API는 여러 버전으로 제공됩니다. 주의 깊게 선택하여 사용하는 것이 중요합니다. 버전 설명 2023.2 최신 기능 및 버그 수정이 추가됨

By 이재협/실장/시스템개발실/PHYSIA

Unity 매뉴얼 스크립팅 API 설명서 해설

이 문서는 Unity의 매뉴얼 스크립팅 API에 대한 정보를 제공하며, 버전에 따라 다르게 적용되는 내용들을 설명합니다. 본 문서에서는 주요 내용을 간단히 정리하고 활용 가능 예제를 통해 이해를 돕겠습니다. 기본 개념 Unity에서 스크립팅 API는 게임 오브젝트와 그들의 동작을 제어하기 위한 강력한 도구입니다. 이를 통해 게임의 로직, 물리 엔진, 애니메이션 및 사용자 인터페이스를

By 이재협/실장/시스템개발실/PHYSIA

Unity 스크립팅 API 가이드

이 문서는 Unity의 스크립팅 API에 대해 설명합니다. Unity는 게임 개발을 위한 인기 있는 엔진으로, 강력한 스크립팅 기능을 제공합니다. 이 가이드는 Unity에서 스크립트를 작성하고 사용하는 방법을 이해하는 데 도움을 드립니다. 목차 * Unity 스크립팅 소개 * 기본 스크립트 생성 * 스크립트 사용 예제 * 응용 프로그램 * 참고 자료 Unity 스크립팅 소개 Unity는 C# 프로그래밍 언어를

By 이재협/실장/시스템개발실/PHYSIA