テクノモンキーのアプリ開発日記

テクノモンキーの開発ブログです。iOS、Android、Unity、Cocos2d-xなどアプリ開発関連のTipsやアプリ開発に役立つ情報を発信します。

【Unity】画像のファイルパスからSpriteを作成する方法

https://unity3d.com/files/images/ogimg.jpg?1

Unityで画像のファイルパスからSpriteを作成し、使用する場合に関するメモ。
今まではUnityで画像を表示する場合、Scene上にImageオブジェクトを設置して、画像ファイル名を指定していましたが、
画像を一覧で使用する場合などで結構面倒な場合が多くありました。
リストの場合はSprite配列を作成して、indexを指定してImageオブジェクトに読み込ませるっていうやり方でやっていたのですが、
これだと画像に修正が入った場合、新しい画像ファイル名の画像を追加しなきゃいけない場合などに対応が大変になってしまいます。

そこで画像ファイルパスからSpriteを作成する方法を調べてみたところ、見つかったのでメモとして残しておきます。

【Unity】画像のファイルパスからSpriteを作成する方法

画像パスからSpriteを作成したい場合、Resources.Loadを使えば実現できます。

docs.unity3d.com

Sprite sp = Resources.Load("Assets/Resources/以下の画像パスを指定", typeof(Sprite)) as Sprite;
Dialog_Image.GetComponent<Image>().sprite = sp;

画像ファイル名の指定だけでSpriteが作成できれば、リスト表示などの場合にSceneに手を加えることなく画像の差し替えができるので便利です。
ちなみに注意点としては、Resources.LoadはAssets/Resources以下のファイルを読み込むことが可能なので、読み込みたいファイルをAssets/Resources以下に配置する必要があります。