InstantiateでPrefub化したオブジェクトを動的に生成する
今回はInstantiateという関数を使って、Prefub化したオブジェクトを動的に生成する。
オブジェクトをPrefub化する
まずは適当な3Dオブジェクトを用意します。
用意したら、ドラッグ&ドロップでAssets内に移動します。 Hierarchy内の文字が青くなったらPrefub化された証拠です。
Instantiateを使ってプログラムからオブジェクトを生成する
まずは空のGameObjectを作ります。 このGameObjectに対して、スクリプトを設定して、Prefub化したオブジェクトを生成します。
public GameObject block; void Start () { Instantiate(block); }
まず、生成するオブジェクトについてですが、 publicをつけると、UI側から設定することが可能になります。
public GameObject block;
ドラッグ&ドロップでassets内のオブジェクトを設定すれば、読み込むことができます。
あとはInstantiate関数に、設定したオブジェクトを引数として設定すれば完了です。
ちなみに、生成される場所は、Prefub化したオブジェクトに設定している通りのポジションになります。
Instantiate(original, , position , rotation);
第二引数、第三引数を設定すると、生成するオブジェクトの位置、回転を変更することが可能です。