Unity入門:prefabをフォルダーから読み込む

Unityにおいてprefabをフォルダーから読み込む方法です。

 

通常Instantiate(Instantiateについてはこちらから)でゲームオブジェクトを作成する際、

生成したいprefabをpublicで指定してドラッグアンドドロップで登録してあげます。

 

しかしこの場合では生成したいものが多い場合だとかなりめんどくさいです。

 

ですので今回はフォルダーから名前を指定し、prefabをゲーム内に生成する

方法を解説したいと思います。ではさっそく解説に入ります。

 

やり方はとても簡単で、まずResourcesと名前を付けたフォルダーを用意します。

 

その中に任意の名前のフォルダーを作り、または直接使用したいprefabを移動します。

いろいろなprefabを直接移動するとごちゃごちゃしとても見にくいので、

用途別に別のフォルダーを作成し、その中に移動したほうがいいです。

 

以上で使用する準備は終了し、スクリプトにおいてprefabは

Resources.Load(“任意のフォルダー/prefab名”)で呼び出すことができます。

例としてのようにResources/person/heroパーソンフォルダーの中の

ヒーローのprefabを使用したい場合は、

Resources.Load(“person/hero”);といった具合で呼び出せます。

この方法のpublicで指定するやり方と比較したメリットとしては、

処理が早い、同じ命名規則のオブジェクトを簡単に呼び出せるなどがあります。

後者についてですが例えばEnemy0からEnemy10までの敵がいて、

それぞれ一体ずつ呼び出したい時には、

for(i=0;i<=10;i++){

        Resources.Load(“EnemyFolder/Enemy”+i);

}

といった具合に呼び出すことができます。こちらならばコードは1行でいいので

とても簡単です。

以上のようにResorces.Loadはとても便利なので、

どんどん使っていきたいですね。

以上、Unityにおいてprefabをフォルダーから読み込む方法でした。

コメントを残す

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