본문 바로가기

Programming/Unity3D

메모리 풀 클래스 만들어보기.

처음에는 단순 하게 Instantiate와 Destroy를 반복하며 몬스터나 총알 타워등을 생성 제거를 했는데.이러한 방식에 문제점을 알고 공부하여 메모리 풀 클래스를 만들어보았습니다.

여기서 말하는 문제점이란 잦은 생성 제거에 의해 메모리가 빠르게 고갈되어가고, 쌓인 가비지로 인해 버벅거리는 현상이 발생하는것입니다.

그리고 인터넷에서 메모리풀 클래스를 공부하다보니 특정 모바일 기기에서는 메모리 풀 클래스를 사용하지 않으면 상당한 발열이 생기는 현상을 확인했습니다.

무슨 이유인지 모르겠지만.....

아무튼 이번에 메모리 풀 클래스를 이용하여 만들어보겠습니다.

메모리 풀 클래스란 오브젝트를 사용하기위해 일일이 생성 하는방식이아닌 시작때 한번에 다 생성 해놓고 SetActive를  조절하여 사용하여 최대한 삭제를 줄이는 방법으로 ...

 먼저 생성방식을 설명드리자면 EnemyBase라는 곳에 Enemy모델을 Parent를 시켜 EnemyBase를 Move시키는 방법으로 같은 방식의 이동 형태를 보유한 모델들은 모두 동일한 EnemyBase에 붙이면 됩니다.

 Start함수에서 총 사용할 최대 EnemyBase를 만들고 각 모델링별 Enemy를 모두 추가합니다.

불러들일때 이미 만들어논 Model과 Enemybase를 Parent시키면 끝~

해지시킬때는

요래요래~~ Parent를 null로 해주시고 SetActive도 false로.

그리고 나서 Base도 SetActive (false);로 하면 삭제없이 끝~

'Programming > Unity3D' 카테고리의 다른 글

RPG만들기 1-2 이동관련  (0) 2015.02.26
RPG만들기 1-1 이동관련  (0) 2015.02.26
FindChild 간단 설명  (0) 2015.02.16
Tower Defense 만들기 1장  (0) 2015.02.12
[앨] SkyBox  (0) 2015.01.19