Unity5学習の際の覚え書き。

スクリプトからPrefabを生成するには、PrefabをInstantiate関数を使ってインスタンス化するのが一般的。

public class Spawner : MonoBehaviour {

	public GameObject wallPrefab;
	public float interval;

	IEnumerator Start () {
		while (true) {
			Instantiate (wallPrefab, transform.position, transform.rotation);
			yield return new WaitForSeconds (interval);
		}
	}
	
	void Update () {
	
	}
}

Instantiate ( プレハブ, PositionのVector3, RotationのVector3 );

「プレハブ」のところには、渡されたオブジェクトがなんであれ、それを含有するオブジェクト全体がインスタンス化される。
つまり「プレハブ」を指定してもいいし、プレハブのtransformを指定してもいいし、プレハブのrigidbodyを指定しても、結果は同じということ。



Foodを敷き詰めるスクリプト

void Start () {
	for (int i = -9; i <= 9; i++) {
		for (int j = -9; j <= 9; j++) {
			Vector3 PrePos = new Vector3 (i, 0.2f, j);
			GameObject prefab = (GameObject)Resources.Load ("Prefabs/Food");
			Instantiate (prefab, PrePos, transform.rotation);
		}
	}
}

ポイント

Assetsの中にResourcesフォルダを作成し、その中にPrefabsフォルダを作成した。
Resources.Loadを使うには、Resourcesフォルダが必要。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

【メニュー編集】
Wiki記法ガイド

リンク

ゲームバー大阪心斎橋

ゲームバー大阪梅田

ゲームバー大阪心斎橋

ダーツ&ダイニングバー大阪梅田

メニュー

Unity


スマホ操作

Unity - GameObject

Unity - 3DCG

メンバーのみ編集できます