はじめに
これから紹介するツールはUnityのResources.Loadを使いやすくするために作成したものになります。
Resources.Loadで読み込むリソースの指定は文字列で行うため、指定を間違えていてもコンパイルエラーにならず実行時にエラーを出してしまう場合があります。このような問題の解決を目指して作成しました。
このツールにはRLS(ResourcesLoadSupport)という名前をつけています。
とりあえず動かす
次の3ステップでResourcesフォルダからリソースを読み込むことができます。
ステップ1
次のURLからRLSのUnityパッケージ(ResourcesLoadSupport.unitypackage)がダウンロードできるので、使用したいプロジェクトへインポートします。
https://github.com/Tanakancolle/unity-resources-load-support/releases/tag/pre
ステップ2
ResourcesSupport/Scripts/Editor/Setting/ResourcesLoaderSettingのIsAutoフラグをTrueにします。
↓
ステップ3
Resourcesフォルダにリソースを入れます。画像の例ではTest.pngをフォルダに入れています。
リソースを入れると、自動的にResourcesLoaderスクリプトが作成されます。
これで準備完了です。
動作確認
適当なスクリプトにResourcesLoader.Load( ResourcesLoader.{リソースタイプ}Name.{リソース名} )
のように記述しましょう。戻り値で指定したリソースのインスタンスが取得できます。
例
Test.pngを読み込む場合
Sprite sprite = ResourcesLoader.Load(ResourcesLoader.SpriteName.Test);
Test.txtを読み込む場合
TextAsset textAsset = ResourcesLoader.Load(ResourcesLoader.TextAssetName.Test);
RLSが行なっていること
動作が確認できたところで、RLSが行なっていることを解説します。
RLSの基本機能は、Resourcesフォルダ内にあるリソースを管理するスクリプトを作成する機能です。ステップ2で行なった、IsAutoをTrueにすることで、この機能がResourcesフォルダに変化があったとき、自動で行われるようになります。作成されるスクリプトは次で解説する設定ファイルにより、変更可能です。
設定ファイルについて
RLSの動作は2種類の設定ファイルにより、変化します。
設定ファイルはメニューのCreate SettingとCreate Load Parameterで作成できます。
ResourcesLoaderSetting
まずCreate Settingで作成できるResourcesLoaderSettingについて解説します。
この設定ファイルはRLSが作成するスクリプトの全体の設定を行います。
パラメータの解説
パラメータ名 | 解説 |
---|---|
Create Class Name | スクリプトの名前を指定できます |
Create Path | スクリプトが作成されるディレクトリを指定できます。空白の場合はAssets/に作成されます |
Parameters | もう一つの設定ファイルであるLoadParameterを指定します。これにより、管理するリソースを変更できます |
Edit Usings | スクリプトに宣言されるusingを指定します |
Is Auto | Resourcesフォルダに変化があったとき、自動的にスクリプトを作成するかのフラグです |
Ignore File Names | ここで指定したファイル名のリソースは管理されなくなります。拡張子を除いたファイル名を指定します |
LoadParameter
続いてCreate Load Parameterで作成できる LoadParameterについて解説します
この設定ファイルでは管理するリソースの指定が行えます。管理したいリソースのタイプ毎にLoadParameterを作成します。
パラメータの解説
パラメータ名 | 解説 |
---|---|
Type Name | リソースのタイプを指定します(例:Texture、Sprite、TextAsset …etc) |
Edit Load Type | 使用したい読み込み方法を指定します |
Target Extensions | このType Nameで指定したタイプで管理したい拡張子を指定します(例:Textureならpng、jpg、gif …etc) |
Edit Usings | スクリプトに宣言されるusingを指定します |
手動実行でスクリプトを作成する
自動ではなく、手動でスクリプトの作成を行うこともできます。
ウィンドウを開く
メニューにあるOpen Create Loader Windowからウィンドウが開けます。
設定ファイルを指定する
生成する
生成ボタンをクリックすることで、指定した設定ファイルからスクリプトが作成されます。
現状対応しているタイプ
AudioClip、GameObject、Sprite、Texture、TextAssetです。
適当に思いついたタイプを対応しただけなので、抜けがあります。その場合はLoadParameterの設定ファイルを増やしてください。
最後に
RLSの機能をおおまかに解説を行なってきましたが、いかがでしたでしょうか。少しでも便利そうと思って頂けたら嬉しいです。
使用する場合はResourcesLoaderSettingを複製し、RLS外のフォルダに入れることを推奨しています。
理由はRLSをアップデートする毎に設定が上書きされてしまうためです。
RLSはまだ未完成の部分が多くあるため、しばらくは管理と機能の追加を行おうと思っています。GitHubのURLを載せておきますので、何か気になる点や読み込めないリソースタイプ等ありましたら、issuesを送って頂けると嬉しいです。