前提・実現したいこと
uguiでAddressableAssetを使用した動的画像取得について質問です。
前提はこちらです。
・当方はUnityでの開発経験は3年前ぐらいに簡単なゲームを作成したぐらい
・AssetBundleの知識はゼロ
・AddressableAssetを使ってみたい
・画像類はすべてバンドル化し、サーバーに配置したい
ここから質問の内容になります。
uguiで画像付きのボタンを作成する場合、
①Spriteを作成しプロジェクト内に配置
⇒パスは『Assets/Texture/before_sprite.png』
②ボタンを作成
③ボタンのインスペクターからImageコンポーネントのSource Imageにbefore_spriteをドラッグ
で作成しています。
↑で作成したボタン画像を動的に変更したい場合は以下のソースコードでSpriteを変更しています。
Addressables.LoadAssetAsync<Sprite>("afterSpriteKey").Completed += op => { GetComponent<Image>().sprite = op.Result; };
意図した通り"afterSpriteKey"のSpriteは取得でき、ボタンの画像も変わっております。
疑問点としては、
afterSpriteKeyで取得してる画像はサーバーから取得できてるけど
インスペクターで設定したSprite(Assets/Texture/before_sprite.png)はアプリのビルドに入ってるよね?
これどうやってサーバーから取得するの?
です。
すべてのSpriteを動的にAddressablesで取得することでサーバーから取得するようになると思うのですが、
インスペクターから画像を設定できないとなるとGUIで確認できないため開発速度が著しく低下してしまいます。
アセットバンドルのこともいろいろ調べてはみたのですが、
このあたりの説明が見つからなかったため、混乱しています。
大変お手数ではございますが、よろしくお願い申し上げます。
あなたの回答
tips
プレビュー