【Unity】オブジェクトを複製する

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 のオブジェクトをクローンします
タイトルとURLをコピーしました