Instantiate関数を用いて、Wall を複製する。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MazeController : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
GameObject wall = new GameObject("Wall");
GameObject[] walls = new GameObject[5];
GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
GameObject plane = GameObject.CreatePrimitive(PrimitiveType.Plane);
cube.transform.position = new Vector3(0.5f, 0.5f, 0.5f);
cube.transform.parent = wall.transform;
plane.transform.position = new Vector3(5, 0, 5);
for (int x = 0; x < 5; ++x) {
walls[x] = Instantiate(wall, new Vector3(x*2, 0, 0), Quaternion.identity);
}
}
// Update is called once per frame
void Update()
{
}
}
再生ボタンを押してゲームを起動すると、Hierarchyウィンドウにおいて
Wall を複製した Wall(Clone) が生成されていることが確認できる。
参考
Object-Instantiate - Unity スクリプトリファレンス
original のオブジェクトをクローンします