Deff_Dev
[Unity/C#] Addressable로 Sprite Atlas 로드 및 저장 본문
미션 창에 사용되는 유닛 썸네일이 배칭이 안되는 것을 확인했다.
( Batch가 40 정도 확 오른다.)
Sprite를 배칭하기 위해서 Sprite Atlas를 사용했다.
[트러블 슈팅]
Sprite Atlas를 어드레서블 그룹에 추가했다.
private async Task LoadThumbnail()
{
int idx = 0;
// SpriteAtlas 로드
SpriteAtlas atlas = await AddressableManager.Instance.LoadAsset<SpriteAtlas>(EAddressableType.Thumbnail, idx);
// Unit 이름이 정의된 Enum 탐색
foreach (var enumValue in Enum.GetValues(typeof(EUnitRCode)))
{
int intEnumValue = (int)enumValue;
// 해당 이름을 가진 Sprite Load
Sprite loadThumbnail = atlas.GetSprite(enumValue.ToString());
// 데이터 저장
if (UnitBases.TryGetValue(intEnumValue, out var data))
{
data.Thumbnail = loadThumbnail;
}
else
{
Debug.LogError($"{intEnumValue} => Thumbnail Load Error");
}
}
}
현재 프로젝트에 사용하는 코드이기 때문에 흐름만 참고하면 될 것 같다.
이렇게 Load한 썸네일을 확인해본다면 Batch가 40정도 확 줄은 것을 볼 수 있다.
'Unity(유니티) > 유니티 공부' 카테고리의 다른 글
[Unity/C#] TextMeshPro Material 스크립트 변경 (3) | 2024.11.06 |
---|---|
[Unity/C#] Sprite Atlas Packing 시 Rotation 될 때 (0) | 2024.08.13 |
[Unity/C#] Addressable 빌드 오류 (Cannot read BuildLayout header ... ) (0) | 2024.08.11 |
[Unity/C#] Addressable 안드로이드 로컬 빌드 (0) | 2024.08.11 |
[Unity/C#] Texture2D to Sprite (0) | 2024.08.03 |