728x90

인스턴스화 : 미리 만들어둔 오브젝트나 프리팹을 게임 도중에 필요한 만큼 실시간으로 찍어내는 것

ex) 총알, 몬스터 등

 

Instantiate(GameObject obj, Vector3 pos, Quaternion rot)

obj 게임 오브젝트를 pos 위치에 rot 각도로 생성한다.

 

public GameObject object;

void Start()
{
	Instantiate(object, transform.position, transform.rotation);
}

이렇게 되면 해당 object에 해당하는 게임 오브젝트가 이 스크립트가 포함된 게임 오브젝트의 위치, 각도를 가지고 생성된다.

 

이때, 생성된 게임 오브젝트는 변수로도 할당이 가능하다

public GameObject object;

void Start()
{
	GameObject instance = Instantiate(object, transform.position, transform.rotation);
}

 

또한, 다른 자료형으로 할당하는 것도 가능하다.

public Rigidbody object;

void Start()
{
	Rigidbody instance = Instantiate(object, transform.position, transform.rotation);
    instance.AddForce(0, 1000, 0);
}

 

물론 이는 기존의 게임 오브젝트형으로도 구현이 가능

public GameObject object;

void Start()
{
	GameObject instance = Instantiate(object, transform.position, transform.rotation);
    instance.GetComponent<Rigidbody>().AddForce(0, 1000, 0);
}
728x90

'Game Development > Unity' 카테고리의 다른 글

(C#)오버로드  (0) 2021.07.18
충돌 처리  (0) 2021.07.18
회전과 쿼터니언  (0) 2020.12.13
평행이동과 좌표계 관련  (0) 2020.12.13
벡터  (0) 2020.12.13
snwdaaa