はこねのはこ

はこねさんの備忘録

UnityでSpriteModeがMultipleのTexture2DからAddressablesでSpriteをロードする

はじめに

タイトルで伝わるか正直わからないのですが、
やりたかったこととしては、下記のようなTexture2Dデータをロードして、Sprite名で使用できるようにしたかったです。

やり方

下記のようにします。

        public List<Sprite> IconSprites = new List<Sprite>();

        public async UniTask IconSpritesLoadAsync()
        {
            string iconPngPath = "Assets/Arts/AssetStore/Modern GDR - Free icons pack/00_Atlas/BrightIcons.png";
            AsyncOperationHandle<IList<Sprite>> iconPngHandle = Addressables.LoadAssetAsync<IList<Sprite>>(iconPngPath);
            var sprites = await iconPngHandle.Task;
            IconSprites = new List<Sprite>(sprites);
        }

参考

tsubakit1.hateblo.jp

使用したアセット

Classic RPG GUI | 2D GUI | Unity Asset Store

おわり

はじめは下記のようにロードして、Texture2からなんやかんやするのかと思ったのですが...
でも何か手法はあるような...

Addressables.LoadAssetAsync<Texture2D>(path);