1. HOME
  2. »
  3. プログラミング・Web
  4. »
  5. Unity
  6. »
  7. 【Unity】Addressableを使って画像をスクリプトから表示する方法

【Unity】Addressableを使って画像をスクリプトから表示する方法

こんにちは。
私が執筆した小説「ELENA 人魚と過ごした時間」をベースとしたノベルゲームを現在Unityにて開発中です。
まだまだ、時間はかかりそうですが、完成したときはよろしくお願いいたします。

さて、Unityでゲーム開発をしていると、画像をスクリプトで読み込んだり、切り替えたりしたいときがあります。
そんなときは、「Addressable Assets System」を使ってみましょう。

今回はAddressable Assets Systemを使って、画像などのアセットを読み込む方法、そしてPCやMac、Android、iPhoneなど用にビルドしたとき、うまく読み込まれない場合の対処法を紹介します。

目次
  1. Addressableパッケージのインストール
  2. アセットをUnityに読み込む
  3. Addressableを使うための設定
  4. 画像を表示するためのパネル(Panel)を追加
  5. スクリプトから画像を読み込む
  6. ビルドすると画像が表示されない現象の解決方法
  7. まとめ

Addressableパッケージのインストール

Addressable Assets Systemを使うには、「Addressables」というパッケージをインストールする必要があります。

ではまず、パッケージマネージャを開きましょう。
パッケージマネージャを開くには、「ウィンドウ(Window)」→「パッケージマネージャー(Package Manager)」をクリックします。

「パッケージ: プロジェクト内(Packages: In Project)」をクリックして、「Unity レジストリ(Unity Registry)」を選択します。

「Addressables」で検索します。

Addressablesが見つかったら、「インストール(Install)」をクリックします。

インストールが完了したら、パッケージマネージャは閉じてしまっても構いません。

アセットをUnityに読み込む

続いて、アセット(今回は画像)をUnityに読み込みます。
まずは画像を入れておくためのフォルダを作成しましょう。

Projectの「Assets」を選択します。

下の画像のように「+」をクリックし、「フォルダー(Folder)」を選びます。

フォルダ名は「Images」にしました。

作成したImagesフォルダをダブルクリックして開いたあと、使いたい画像をProjectにドラッグ&ドロップします。

これでUnityに画像を読み込むことができました。

Addressableを使うための設定

画像を、Addressable Assets Systemで扱うには、Unity上での設定が必要になります。

まず、さきほど読み込んだ画像を選択します。
するとインスペクター(Inspector)にさまざまな情報が表示されます。

「Addressable」にチェックを入れます。するとその画像までのパスが表示されます。

また、下の画像のように警告が表示される場合がありますが、Addressable Assets Systemの使い方とはちょっと違う話になってしまうので、今回は気にせずに進めていきます。

画像を表示するためのパネル(Panel)を追加

まず、画像を表示するために、今回はパネル(Panel)を作成しておきます。

ヒエラルキー(Hierarchy)の「+」をクリックし、「UI」→「パネル(Panel)」を選択します。

作ったパネル(Panel)の名前は「EventCG」にしました。Canvas、EventSystemは自動的に作成されます。

Canvasを選択すると、インスペクター(Inspector)にさまざまな情報が表示されます。

レンダーモード(Render Mode)を「スクリーンスペース – カメラ(Screen Space – Camera)」に、
レンダーカメラ(Render Camera)を「Main carera(Camera)」に、
UI Scale Mode(UI スケールモード)を「Scale With Screen Size(画面サイズに拡大)」に変更します。

スクリプトから画像を読み込む

続いて、スクリプトから画像を読み込みましょう。
まず、Assetsに「Scripts」フォルダーを作成します。

Scriptsフォルダをダブルクリックして開き、「+」をクリックして、「C# スクリプト(C# Script)」を選択します。

ファイル名は「EventCGManager」としました。

作成したEventCGManagerは、ヒエラルキー(Hierarchy)のEventCGにドラッグ&ドロップします。

EventCGManagerをダブルクリックし、エディタを開いたら、コードを以下のようにします。

using System.Collections;   //削除
using System.Collections.Generic;  //削除
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.AddressableAssets;

public class EventCGManager : MonoBehaviour
{
    Image _eventCG;
    // Start is called before the first frame update
    void Start()
    {
        Addressables.LoadAssetAsync<Sprite>( "Assets/Images/elena.jpg" ).Completed += sprite =>
        {
            _eventCG = GetComponent<Image>();
            _eventCG.sprite = Instantiate( sprite.Result );
        };
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

あとはEventCGのインスペクター(Inspector)でお好みの設定をし、再生ボタンをクリックします。
これで、とりあえずUnity上の画面には、画像を表示することができます。

ビルドすると画像が表示されない現象の解決方法

さて、これでUnity上で画像が表示されるようになったのですが、実はこの状態で、PCやMac、Android、iPhoneなど用にビルドすると、画像が表示されません。
というのもAddressables Asset Systemでは、アプリをビルドする前に、コンテンツを手動でビルドしなければならないのです。

では、「ウィンドウ(Window)」→「アセット管理(Asset Management)」→「Addressables」→「グループ(Groups)」を開きます。

さらに「Build」→「New Build」→「Default Build Script」をクリックします。

もしUnsaved Scenesというアラートが表示されたら、「Save and Continue」をクリックします。

これで、ゲームをビルドして動かしたときも、画像がちゃんと読み込まれるようになります。

まとめ

Unityでのゲームを開発で、画像などのアセットをスクリプトから読み込みたいと思ったときは、Addressable Assets Systemを使ってみましょう。
しかし、コンテンツを手動でビルドしないと、PC、Mac、スマホ用などにビルドしたときにうまく読み込まれませんので、注意が必要です。

そんなわけで、今回はAddressable Assets Systemの使い方を紹介しました。
参考になれば幸いです。

スポンサードリンク

関連コンテンツ

オススメ記事

キャラを決まった間隔ずつ動かすよ!

【JavaScript】キャラを決まった間隔ずつ動かす! 小学生からのプログラミング入門

小学生からのプログラミング入門講座《にゅうもんこうざ》、今回もはじめていきましょう! 前回は、キャラクターの画像《がぞう》をスムーズに動かす方法でしたが、スピードが速すぎたので、画像の移動間隔

Node.js

MacにNode.jsをインストールする方法

みなさんこんにちは。@It_is_Rです。今回はMacにNode.jsをインストールする方法を紹介していきます。 インストールの方法はいくつかありますが、今回はインストーラー(pkg)を使った

WindowsにPythonをインストールしてみよう!小学生からのPython入門

さて、今回もプログラミングを学んでいきましょう! 前回までで、Scratch《スクラッチ》やJavaScript《ジャバスクリプト》でのゲーム開発《かいはつ》を体験《たいけん》し、RPGを作る

HTML5とCanvasを使うべ!

HTML5とCanvasを使ってみよう! 小学生からのプログラミング入門

小学生からのプログラミング講座《こうざ》、こんかいもはじめていきましょう! これまでの講座《こうざ》では、JavScriptの基本《きほん》について学び、キャラクターの操作《そうさ》ができるよ

webpackの設定ファイル「webpack.config.js」の使い方を覚えよう

webpack.config.jsはwebpackを使う上での設定ファイルです。今回は、webpack.config.jsの使い方を紹介します。 webpack.config.jsとは

【Mac】Gitのダウンロードとインストールの手順

いらないファイルは残っているのに、欲しいファイルに限って見つからない@It_is_Rです。 前回「GitHubのアカウントを作成する方法」では、GitHubのアカウントを作成する方法を紹介しま

WordPressカスタムヘッダーを完璧に使いこなしたい人へ告ぐ!

森の中に昔から住んでる@It_is_Rです。 WordPressのカスタマイズをする上で、カスタムヘッダーを使うと、色やヘッダー画像をWordPressの管理画面から操作できるようになり便利です

MacにPythonをインストールしてみよう!小学生からのPython入門

さて、今回《こんかい》もプログラミングを学んでいきましょう! 前回はWindows《ウィンドウズ》にPython《パイソン》をインストールする方法《ほうほう》を紹介《しょうかい》しました。今回

とってもかんたん!iPhoneアプリ開発

SwiftUIでじゃんけんゲームを作ろう。かんたんiPhoneアプリ開発入門

SwiftUIは、2019年にアップルが発表したフレームワークです。 SwiftUIを使って、iPhoneで遊べるじゃんけんゲームを作成してみましょう。 この入門ではXcodeを使いますので、

【初心者向けJavaScrip入門】変数を使いこなすための、かなり詳しい解説

変数は、数値や文字列などのデータを入れておける箱です。プログラミングをはじめて、最初のほうで覚えるものですが、変数は意外と奥が深いものです。 そこで今回は、JavaScriptにおける変数の使

コメントを残す(コメントは承認後に反映されます)

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です