[Unity3D] 객체 미리 생성 후 재활용 - Memory pool [Part 5]

※ 주의 

이 글은 아마추어가 개인적으로 생각하여 작성하는 것으로, 이곳에 나오는 내용을 맹신하지 않는것을 당부드립니다.



Menu

0. 미리보기

1. 오브젝트를 미리 생성.

- 프리팹 제작.

- 싱글톤 제작.

- 오브젝트를 생성시킬 함수 제작.

- 오브젝트를 찾을 함수를 제작.

2. 만들어진 오브젝트 활용하기.


추가.

3. 적 생성

- 적 생성 후 프리팹으로 만들기.

- 적과 총알이 충돌하면 총알 비활성화.

- 적이 총알에 맞아 죽었을 때 단순한 객체로 이펙트 효과 표현하기.


4. 메모리 풀을 이용해서 적 생성하기.

- 적 리스폰

 * Enemy를 생산하는 Area만들기. (랜덤한 위치로 Area생산 및 Area간 간격조절.)

 * Araa범위 안에 Enemy 랜덤한 위치로 리스폰 시키기.

 * Enemy가 죽었을 경우 리스폰 되는 간격 조절.


5. FSM을 이용해 적 AI만들기.



미리보기





5. FSM을 이용해 적 AI만들기.


유한 상태 기계 (Finite State Machine) 라고 불린다.

- 유한한 개수의 상태를 가진 기계.

- 한 번에 오로지 하나의 상태만을 가진다.

- 이러한 기계는 어떠한 이벤트에 의해서 다른 상태로 변화할 수 있다.


유한 상태 기계를 사용하면 코드의 가독성이 오르고 관리하기도 편해진다.


enum으로 에너미의 상태를 설정해주고,

각 상태들을 switch case문으로 갈라서 코루틴을 사용하여 지속적으로 체크해준다.






'Enemy' Script




Enemy 인스펙터창 정보





새로 추가된 사항의 구조.