전에 학교에서 최적화 방법으로 총알 등을 구현할때 오브젝트 풀링 디자인패턴을 배워서 구현해서 사용해 본적이 있다.
하지만 후에 유니티에서 오브젝트 풀링을 제공한다는 것을 알고 그 방법으로 구현을 해볼려고 한다.
우선 풀매니저를 만들고 오브젝트가 어떤 풀에 들어가는지 알고 있어야 한다.
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 |