Unity/기초 예제

유니티 Destroy 오브젝트 제거 간단한 예제 유니티 기초

최애뎡 2021. 5. 20. 23:14
728x90
반응형

이번 예제는 간단하게 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

 

Destroy - Unity Learn

How to use the Destroy() function to remove GameObjects and Components at runtime. This tutorial is included in the Beginner Scripting project. Previous: Linear Interpolation Next: GetButton and GetKey

learn.unity.com

을 참하였습니다.

반응형