⭐ 오브젝트 생성과 파괴
● 런타임 중에 객체를 생성, 파괴해야하는 경우가 있습니다.
● 생성을 할 때는 Instantiate, 파괴할 때는 Destroy를 이용해 구현할 수 있습니다.
Instantiate
● 객체를 생성하기 위한 메서드
● Instantiat(생성할 오브젝트, 위치할 트랜스폼) 형식으로 작성, 위치할 트랜스폼은 생략해도 됩니다.


Destroy
● 생성된 객체를 파괴하기 위한 메서드
● Destroy(파괴할 오브젝트, 몇초 뒤 파괴할지 시간) 형식으로 작성, 시간은 생략 가능합니다.


⭐ 주의해야 할 점
● Instantiate를 이용한 생성과 Destroy를 이용한 파괴는 수행시 비용이 큰 편입니다.
○ 따라서 많은 수의 객체를 동시에 생성 및 파괴할 경우 프레임 드랍등의 현상이 발생할 수 있습니다.
○ 이를 해결하기 위해 로딩 단계에서 미리 생성을 해두거나 오브젝트 풀링 등의 기법을 사용합니다.
오브젝트 풀링 참고: https://shs217shs.tistory.com/83
● Destroy는 객체를 바로 파괴하는 것처럼 보이지만 실제로는 다르게 작동합니다.
○ Destroy가 실행되면 해당 객체의 파괴를 예약해두고 현재 프레임이 끝날 때 파괴 동작을 수행합니다.
○ 따라서 파괴 이후에 해당 오브젝트의 null 체크등 참조 체크를 할 경우 의도와 다른 결과가 나타날 수 있습니다.
'개발, IT > 유니티' 카테고리의 다른 글
| [Unity] 물리 충돌 처리를 위한 컴포넌트 (Collider / Rigidbody) (0) | 2025.10.19 |
|---|---|
| [Unity] 트랜스폼(Transform) (0) | 2025.10.16 |
| [Unity] 오브젝트(Object), 컴포넌트(Component)와 프리팹(Prefab) (0) | 2025.10.15 |
| [Unity] 유니티 생명주기 (0) | 2025.10.14 |
| [Unity] Enum과 [System.Flags] 속성을 이용해 상태이상 관리하기 (0) | 2025.09.13 |