본문 바로가기
[ Unity ]/- 유니티 실습

유니티 오브젝트 풀링

by MRG 2024. 9. 4.
728x90
반응형

 

▣ GunManager:
Start(): 오브젝트 풀을 초기화하고, bulletPrefab을 미리 poolSize만큼 생성하여 리스트에 넣고 비활성화합니다.
Update(): 마우스 위치를 확인하고, 플레이어가 마우스를 향해 회전합니다. 마우스 클릭 시 총알을 풀에서 꺼내 발사합니다.
GetBulletFromPool(): 풀에서 비활성화된 총알을 찾아 반환합니다.
FireBullet(): 총알을 발사 위치로 이동시키고, 방향을 설정한 후 속도를 부여해 발사합니다.

 

 

 

 

▣ Bullet:
OnTriggerEnter2D(): 총알이 Enemy 또는 Obstacle과 충돌하면 GunManager의 ReturnBulletToPool()을 호출하여 총알을 다시 풀로 반환하고 비활성화합니다.
총알 풀로 반환:
총알이 충돌하면 비활성화된 후 풀로 반환되고, 다시 사용할 수 있게 됩니다. Rigidbody2D의 속도를 초기화하여 총알이 멈추도록 합니다.

 

▣ Unity에서의 추가 작업
총알 프리팹에 Rigidbody2D와 Collider2D(Trigger로 설정)를 추가해야 합니다.
충돌을 감지하려면 충돌할 객체들(Enemy, Obstacle)에 Collider2D가 있어야 합니다.

728x90
반응형

댓글