Unity - Scripting API: GameObject.GameObject

Transform is always added to the GameObject that is being created. The creation of a GameObject with no script arguments will add the Transform but nothing else. Similarly, the version with just a single string argument just adds this and the Transform. Fi

docs.unity3d.com

 

GameObject 생성자

 public GameObject();

 public GameObject(string name);

 public GameObject(string name, params Type[] components);

 

 생성자 목록을 보면 예상할 수 있겠지만, 단순히 게임 오브젝트를 생성하는 것이 아니라 게임오브젝트를 생성할 때 게임오브젝트의 이름이나, 추가해주고 싶은 컴포넌트를 넣어주면 원하는 컴포넌트가 추가된 게임오브젝트가 생성된다.

 

그리고 Trasnfrom 컴포넌트은 GameObject가 만들어질 때 무조건 추가되는 컴포넌트이다.

 

사용법

using UnityEngine;

public class Example : MonoBehaviour
{
    private void Start()
    {
        GameObject go1 = new GameObject();
        go1.name = "go1";
        go1.AddComponent<Rigidbody>();

        GameObject go2 = new GameObject("go2");
        go2.AddComponent<Rigidbody>();

        GameObject go3 = new GameObject("go3", typeof(Rigidbody), typeof(BoxCollider));
    }
}

이와 같이 사용할 수 있으며, go3는 Transfrom, Rigidbody와 BoxCollider 컴포넌트도 추가되어 있는 게임오브젝트이다. 그리고 넣고 싶은 컴포넌트가 많을 때는 배열을 통해 넣어줄 수 있다.