본문 바로가기

unity

Object Pooling

전에 학교에서 최적화 방법으로 총알 등을 구현할때 오브젝트 풀링 디자인패턴을 배워서 구현해서 사용해 본적이 있다. 

하지만 후에 유니티에서 오브젝트 풀링을 제공한다는 것을 알고 그 방법으로 구현을 해볼려고 한다.

 

우선 풀매니저를 만들고 오브젝트가 어떤 풀에 들어가는지 알고 있어야 한다.

ObjectPool<Obj>()에 들어가는것은 (생성함수, Get이 될때 실행함수, Release될때 실행함수, Destroy될때 실행함수, maxSize - 최종적으로 풀에 몇개를 저장할것인지)

Get이 실행될때 element가 parameter가 되고 Release가 실행될때 element가 실행한다.

 

다음은 오브젝트를 만들고 화면에 나가면 Release되게 만든다.

 

오브젝트가 화면에 나가면 꺼지고 다시 생성시 켜지는 것을 볼 수 있다.

 

앞으로 좀 더 쉽게 오브젝트 풀링을 활용할 수 있겠다.

'unity' 카테고리의 다른 글

디자인 패턴(싱글톤 패턴, 팩토리 패턴)  (0) 2024.07.26
코루틴(Coroutine)  (0) 2024.07.24
Garbage Collection, GC  (0) 2024.07.19
Class  (0) 2024.05.02
Interface  (0) 2024.04.17