코드 분석 중에 모르는 것이 나와서 정리해두기 위해 포스팅했다.

Destroy

오브젝트(Component,Asset)를 삭제시켜주는 함수다. 가비지가 많이 생성시켜서 반복적으로 불리는 경우(몬스터 등)에서는 사용하지 않고

특정 시간을 주어서 삭제 시간을 정할 수도 있다. Destroy (obj : Object, t : float = 0.0F) 실제 객체 파괴는 항상 현재 Update 루프가 끝나기 전까지 지연되며 렌더링이 되기 전에 파괴된다고 한다.

DestroyImmediate

Destroy 이와 같은데 지연시간을 줄 수가 없다. 큰 차이점은 Update루프가 끝난 후가 아닌 바로 삭제(동일한 프레)된다는 점과 편집기 코드를 작성할 때 사용하고 게임 코드에서는 Destroy를 이용하라고 한다.  주의점으로는 영구적으로 파괴할 수 있다는데..) 

 

언제 DestroyImmediate를 사용해야 하는지는 조금 더 알아봐야겠다.

 

 

https://docs.unity3d.com/ScriptReference/Object.DestroyImmediate.html

+ Recent posts