9.01.2011

Prefabを動的に生成する

PrefabをScriptから動的に生成する方法をまとめました。
  1. プロジェクトにResourcesフォルダがなければ作成する。
  2. PrefabをResourcesフォルダに配置する。
プロジェクトの設定でまずはこれを行います。
そうすると
[Resources/Prefab/Effect/effect0]のPrefabを生成したい場合は、

string name = "Prefab/Effect/effect0" 

Instantiate(Resources.Load(name, typeof(GameObject)));


で、生成することができます。
毎回こう書くのも冗長的なので

 using UnityEngine;



public static class Prefab
{
    public static GameObject Create(string name)
    {
        return (GameObject)Object.Instantiate(Resources.Load(name, typeof(GameObject)));
    }
   
    public static GameObject Create(string name, Vector3 position, Quaternion quaterinon)
    {
        return (GameObject)Object.Instantiate(Resources.Load(name, typeof(GameObject)), position, quaterinon);
    }
}
 
としたほうが楽かもしれません。

0 件のコメント:

コメントを投稿