Unity 개발일지

[Unity] 오브젝트풀(ObjectPool) 만들기 복습 본문

Unity 개발

[Unity] 오브젝트풀(ObjectPool) 만들기 복습

아머르 2024. 5. 21. 19:29

유니티화면에서 등록해줄 GameObject인 prefab을 선언합니다.

List를 이용해 pool을 생성합니다.

poolSize는 300으로 설정했습니다.

 

for문을 이용하여 poolSize만큼 prefab을 Initiate하고, 비활성화한 후 pool에 등록합니다.

 

 

GameObject를 반환하는 Get함수를 만들어주었습니다.

foreach문을 이용 List pool에접근해서 변수 Gameobject obj에 할당하고,

obj가 Hierachy창에 없으면 obj를 활성화하고, obj를 반환(출력)합니다.

 

Release함수는 Gameobject obj를 변수로 받으며 obj를 비활성화해줍니다.

 

Get함수화 Set함수를 이용하여 풀에서 가져다쓰고 반납하기를 하면 됩니다.

[foreach문]

foreach 문은 C#에서 컬렉션(예: 배열, 리스트, 딕셔너리 등)에 있는 각 요소를 반복(iterate)하기 위해 사용되는 제어 구조입니다. foreach 문은 컬렉션의 모든 요소를 순차적으로 접근할 때 유용하며, 읽기 전용 반복 작업에 적합합니다.

즉, collection의 각 요소를 순차적으로 접근하여 변수(element)에 할당하여 괄호안의 내용을 수행한다.

 

ObjectPool 오브젝트를 만들어 ObjectPool 스크립트를 넣고 Square 오브젝트를 Prefab으로 등록하여 생성한 모습이다.

반응형