Unity

Instantitate()와 Destroy()함수

게임 개발 2024. 2. 15. 15:40

 

 

 

 

오브젝트 스포닝이란

 

유니티에서 오브젝트 스포닝에 사용하는 함수인 Instantitate 함수에 대해 간략히 설명하겠다.

Unity에서 Instantiate()로 새로운 게임 오브젝트를 생성하는 것

즉 Instantiate 함수를 사용하여 기존의 오브젝트의 복사본을 만드는 것을 "스포닝"이라고 부르기도 한다.

네트워크 HLAPI에서 "스폰"은 더 세부적인 의미를 가지는데,

서버에서 오브젝트를 "스폰"하게되면 오브젝트가 서버에 연결된 클라이언트에서 생성되어야 하며

이들을 오브젝트 스포닝 시스템이 관리하게 된다는 의미이다.

 

오브젝트가 스포닝 시스템에 속하게 된 후에는

오브젝트가 서버에서 제거되면 클라이언트에서도 동일하게 제거된다.

스폰된 오브젝트는 서버가 관리하는 네트워크 오브젝트가 동일하게 해당 클라이언트에서도 스폰된다.

이러한 오브젝트는 각각 서버와 클라이언트에서 동일한 "netld"라고 하는 고유의

네트워크 인스턴스 ID를 가진다.

이 ID를 통해 오브젝트에 메시지를 보내고 각각 식별할 수 있다.

 

Destroy은 반대로 생성된 오브젝트를 제거할 때 사용하는 함수이다.

Destroy 함수는 게임 오브젝트 자체에 영향을 주지 않으면서

개별 컴포넌트를 파괴할 수 있다.

 

 

참고 문서

https://docs.unity3d.com/kr/530/Manual/CreateDestroyObjects.html

 

게임 오브젝트 생성 및 제거 - Unity 매뉴얼

일부 게임은 씬에 일정한 수의 오브젝트를 유지하지만 게임플레이 중에 캐릭터, 보물 및 기타 오브젝트를 만들고 제거하는 것은 매우 일반적입니다. Unity에서 게임 오브젝트는 기존 오브젝트의

docs.unity3d.com

https://docs-multiplayer.unity3d.com/netcode/current/basics/object-spawning/

'Unity' 카테고리의 다른 글

유니티 적군 상태 변환  (0) 2024.08.09
코루틴  (0) 2024.02.26
트리거 콜라이더  (1) 2024.02.11
유니티 기본 설정 값 작업  (1) 2024.02.11
컴포넌트 패턴  (0) 2024.02.05