C# 유니티 함수 Instantiate

728x90

Instantiate()는 유니티 내 게임오브젝트의 Clone(복제물)들을 생성하는 함수이다.

보통은 Prefab을 복제하는데 자주 사용되는데, Prefab은 프로젝트 진행 과정에서 만든 Asset이라고 보면 된다.

위 스크립트에서 "Fire1"은 마우스 좌클릭을 의미한다.(프로젝트 세팅 - Input Manager 참고)

즉, 플레이 모드에서 마우스 좌클릭을 해줄 때 마다 rocketPrefab이 생성되는 것이다.

하지만 플레이모드에서 보면 생성된 프리팹들이 rigidbody 중력값을 받아 생성되자 마자 떨어지게 된다.

(하늘 방향으로 쏠 경우)

이런 경우, as Rigidbody를 추가하여 rigidbody 컴포넌트에 AddForce()함수를 적용하면

원하는 방향(하늘을 향해)으로 프리팹이 발사된 후, 어느정도 나아갔다가 중력의 영향으로 다시 떨어지게 된다.

이렇게 생성된 프리팹은 Destroy()함수를 통해 제거해 줄 수 있다.

위 스크립트 적용 시 gameObject는 Instantiate된 후 1.5초 후에 저절로 Destroy될 것이다.

728x90

'게임 프로그래밍 > C#' 카테고리의 다른 글

C# 열거형 Enumerations  (0) 2021.08.04
C# 유니티 함수 Invoke & InvokeRepeating  (0) 2021.08.04
C# 유니티 DataType  (0) 2021.08.03
C# 유니티 DeltaTime  (0) 2021.08.03
C# 유니티 함수 GetAxis & GetAxisRaw 특징 비교  (0) 2021.08.03