인스턴스화 : 미리 만들어둔 오브젝트나 프리팹을 게임 도중에 필요한 만큼 실시간으로 찍어내는 것
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);
}
'Game Development > Unity' 카테고리의 다른 글
(C#)오버로드 (0) | 2021.07.18 |
---|---|
충돌 처리 (0) | 2021.07.18 |
회전과 쿼터니언 (0) | 2020.12.13 |
평행이동과 좌표계 관련 (0) | 2020.12.13 |
벡터 (0) | 2020.12.13 |