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 |