LoginSignup
5
2

More than 5 years have passed since last update.

UnityのResources.Loadをサポートするツール(Editor拡張)

Last updated at Posted at 2017-12-26

はじめに

これから紹介するツールは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/ResourcesLoaderSettingIsAutoフラグをTrueにします。
スクリーンショット 2017-12-25 20.32.43.png

スクリーンショット 2017-12-25 20.33.40.png

ステップ3

Resourcesフォルダにリソースを入れます。画像の例ではTest.pngをフォルダに入れています。
リソースを入れると、自動的にResourcesLoaderスクリプトが作成されます。
これで準備完了です。
スクリーンショット 2017-12-25 20.55.34.png

動作確認

適当なスクリプトに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 SettingCreate Load Parameterで作成できます。
スクリーンショット 2017-12-25 21.42.29.png

ResourcesLoaderSetting

まずCreate Settingで作成できるResourcesLoaderSettingについて解説します。
この設定ファイルはRLSが作成するスクリプトの全体の設定を行います。

パラメータの解説

スクリーンショット 2017-12-25 21.54.26.png

パラメータ名 解説
Create Class Name スクリプトの名前を指定できます
Create Path スクリプトが作成されるディレクトリを指定できます。空白の場合はAssets/に作成されます
Parameters もう一つの設定ファイルであるLoadParameterを指定します。これにより、管理するリソースを変更できます
Edit Usings スクリプトに宣言されるusingを指定します
Is Auto Resourcesフォルダに変化があったとき、自動的にスクリプトを作成するかのフラグです
Ignore File Names ここで指定したファイル名のリソースは管理されなくなります。拡張子を除いたファイル名を指定します

LoadParameter

続いてCreate Load Parameterで作成できる LoadParameterについて解説します
この設定ファイルでは管理するリソースの指定が行えます。管理したいリソースのタイプ毎にLoadParameterを作成します。

パラメータの解説

スクリーンショット 2017-12-25 22.05.45.png

パラメータ名 解説
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からウィンドウが開けます。
スクリーンショット 2017-12-25 22.18.22.png

設定ファイルを指定する

ResourcesLoaderSettingを指定します。
スクリーンショット 2017-12-25 22.21.53.png

生成する

生成ボタンをクリックすることで、指定した設定ファイルからスクリプトが作成されます。

現状対応しているタイプ

AudioClip、GameObject、Sprite、Texture、TextAssetです。
適当に思いついたタイプを対応しただけなので、抜けがあります。その場合はLoadParameterの設定ファイルを増やしてください。

最後に

RLSの機能をおおまかに解説を行なってきましたが、いかがでしたでしょうか。少しでも便利そうと思って頂けたら嬉しいです。

使用する場合はResourcesLoaderSettingを複製し、RLS外のフォルダに入れることを推奨しています。
理由はRLSをアップデートする毎に設定が上書きされてしまうためです。

RLSはまだ未完成の部分が多くあるため、しばらくは管理と機能の追加を行おうと思っています。GitHubのURLを載せておきますので、何か気になる点や読み込めないリソースタイプ等ありましたら、issuesを送って頂けると嬉しいです。

GitHub

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2