もくじ
https://tera1707.com/entry/2022/02/06/144447
やりたいこと
オブジェクトのPrefabをインスタンス化したい
やったこと
public class SpawnManagerX : MonoBehaviour { public GameObject[] objectPrefabs;
そいつに、インスペクタで、インスタンス化したいPrefabを割り当てる。
スクリプトに、
Instantiate(objectPrefab, spawnLocation, objectPrefabs.transform.rotation);
と書く。
イメージ、こんな感じ。
(下記は、プレハブの配列から、ランダムでどれを使うか選んで、Instantiateする処理。)
void SpawnObjects () { // Set random spawn location and random object index Vector3 spawnLocation = new Vector3(30, Random.Range(5, 15), 0); int index = Random.Range(0, objectPrefabs.Length); // If game is still active, spawn new object if (!playerControllerScript.gameOver) { Instantiate(objectPrefabs[index], spawnLocation, objectPrefabs[index].transform.rotation); } }
Instantiate()
の第二引数はVector3
で表す、インスタンス化する位置。
第三引数は、正直現状よくわかってない。
第一引数のPrefab.transform.rotation
を渡しておけばよいのかな?