스프라이트 아틀라스 빌드
일부 SpriteAtlas
옵션에 따라 Unity가 스프라이트를 로드하는 방식이 달라질 수 있습니다. Use Asset Database 플레이 모드 스크립트를 사용하려는 경우 이를 중요하게 고려해야 합니다.
다음 예시에서는 어드레서블이 SpriteAtlas
를 다른 에셋과 다르게 처리하는 방식을 설명합니다.
어드레서블 스프라이트
개별 그룹의 스프라이트
3개의 개별 그룹에 3개의 어드레서블 텍스처가 있으며, 각 텍스처는 약 500KB로 빌드됩니다. 텍스처가 개별 그룹에 있으므로 Unity는 이를 3개의 개별 에셋 번들로 빌드합니다. 각 에셋 번들은 약 500KB를 사용하며 종속성 없이 스프라이트 텍스처와 관련 메타데이터만 포함합니다.
비 어드레서블 SpriteAtlas의 스프라이트
이전 예시의 3개 텍스처는 비 어드레서블 SpriteAtlas
에 포함됩니다. 이 경우에도 Unity는 여전히 3개의 에셋 번들을 생성하지만, 같은 크기는 아닙니다. 에셋 번들 중 하나는 아틀라스 텍스처를 포함하며 약 1500KB를 사용합니다. 다른 두 개의 에셋 번들은 스프라이트 메타데이터만 포함하며 아틀라스 에셋 번들을 종속성으로 나열합니다.
어떤 에셋 번들이 텍스처를 포함할지를 제어할 수 없어도, 프로세스는 결정론적이므로 동일한 에셋 번들이 다른 재빌드를 통해 텍스처를 포함합니다. 이것이 표준 종속성 중복과의 주요 차이점입니다. 스프라이트는 SpriteAtlas 텍스처에 종속되어 로드되지만, 해당 텍스처는 3개의 에셋 번들 모두에 빌드되는 것이 아니라 하나에만 빌드됩니다.
SpriteAtlas 에셋 번들의 스프라이트
이번에는 이전 예시의 SpriteAtlas
가 자체 에셋 번들에서 어드레서블로 표시됩니다. Unity는 이제 4개의 에셋 번들을 생성합니다. 스프라이트가 포함된 3개의 에셋 번들은 각각 적은 KB만을 사용하며, SpriteAtlas
를 포함하고 약 1500KB인 4번째 에셋 번들에 종속성을 갖습니다. 2019.4 이상을 사용하는 경우 텍스처 자체가 다른 위치에 있을 수 있습니다. 3개의 스프라이트 에셋 번들은 여전히 SpriteAtlas
에셋 번들에 종속됩니다. 그러나 SpriteAtlas
에셋 번들은 메타데이터만 포함할 수 있으며, 텍스처는 다른 스프라이트 에셋 번들 중 하나에 포함될 수 있습니다.
스프라이트 종속성이 있는 어드레서블 프리팹
스프라이트 프리팹
3개의 어드레서블 스프라이트 프리팹이 있으며 각 프리팹은 자체 스프라이트(약 500KB)에 종속성을 갖습니다. 3개의 프리팹을 별도로 빌드하면 각 500KB의 에셋 번들 3개가 생성됩니다.
비 어드레서블 SpriteAtlas의 스프라이트 프리팹
이전 예시의 텍스처 3개는 SpriteAtlas
에 추가되었으며, 해당 아틀라스는 어드레서블로 표시되지 않습니다. 이 시나리오에서는 SpriteAtlas
텍스처가 중복됩니다. 3개의 에셋 번들 모두 약 1500KB입니다. 이는 종속성 중복에 대한 일반 규칙에 따라 예상되는 상황이지만, 이전 섹션에서 확인한 동작에는 위배됩니다.
SpriteAtlas 에셋 번들의 스프라이트 프리팹
이전 예시의 SpriteAtlas
가 이제 어드레서블로 표시됩니다. 명시적 포함 규칙에 따라 SpriteAtlas
텍스처는 SpriteAtlas
를 포함하는 에셋 번들에만 포함됩니다. 프리팹이 있는 에셋 번들은 이 4번째 에셋 번들을 종속 관계로 참조합니다. 이렇게 하면 약 500KB의 에셋 번들 3개와 약 1500KB의 에셋 번들 1개가 생성됩니다.