이번 예제는 간단하게 3D Object인 Plane과 Cube, Sphere를 사용하였으며
Sphere에 Ex_08, Ex_04(전 예제 스크립트) 스크립트를 적용하였습니다.
Shpere 오른쪽에 있는 Cube는 기본 Cube이고
왼쪽에 있는 Cube는 기본 Cube의 Box Collider 속성 중 Is Trigger가 체크되어있습니다.
Destroy란
말 그대로 Destroy 함수를 이용하면 런타임에서 게임 오브젝트나
게임 오브젝트의 컴포넌트를 제거할 수 있습니다.
또한 Destroy의 두 번째 변수로 제거 지연 시간도 설정할 수 있습니다.
코드를 먼저 보도록 하겠습니다.
OnCollisionEnter, OnTriggerEnter 안에 있는
Destroy(col.gameObject, 2f); 바로 요 부분을 보셔야 합니다.
Destroy의 첫 번째 매개변수는 게임 오브젝트 또는 게임 오브젝트의 컴포넌트입니다.
-> Destroy(GetComponent(------));
이런 식으로 스크립트를 추가한 게임 오브젝트의 컴포넌트도 제거할 수 있습니다.
Destroy의 두 번째 매개변수는 optional delay로 제거 지연시간을 설정할 수 있습니다.
위 코드를 해석하면 이 스크립트를 적용한 게임 오브젝트가 다른 Collider가 적용된 게임 오브젝트와 충돌하였을 때 충돌한 게임 오브젝트를 2초 뒤에 제거하란 뜻이 되겠죠? 실행 화면을 보도록 할까요!
이처럼 Sphere가 Cube와 충돌하고 Cube가 지정한 시간(2.0f)이
지난 후 제거되는 것을 확인하실 수 있습니다.
위 내용은
https://unity3d.com/kr/learn/tutorials/topics/scripting/destroy?playlist=17117
을 참고하였습니다.
'Unity > 기초 예제' 카테고리의 다른 글
유니티 Invoke InvokeRepeating CancelInvoke 함수반복호출 간단한 예제 유니티 기초 (0) | 2021.05.25 |
---|---|
유니티 Instantiate 프리팹 복제 Random.Range 난수생성 랜덤값 간단한 예제 유니티 기초 (0) | 2021.05.24 |
유니티 Trigger을 이용한 오브젝트 공중 부양 간단한 예제 유니티 기초 (0) | 2021.05.12 |
유니티 Collider Trigger 오브젝트 충돌 처리 간단한 예제 유니티 기초 (0) | 2021.05.10 |
유니티 AddTorque 간단한 예제 유니티 기초 (0) | 2021.05.09 |