본문 바로가기

기타/패스트캠퍼스 Unity

유니티 입문 패스트캠퍼스 챌린지 24일차

 이번시간에는 작게 코드 수정을 하면서 최적화를 해 나가는 과정이다. 쉽게 생각해서 미리 사용할 총알을 30개 정도 만들어두고 돌려가면서 쓰고려고 한다.
총알을 필요할때마다 그때 그때 생성하려면 부하가 많이 걸리는 작업이므로 이를 줄이는 작업이다.
완전히 동일한 상황은 아니지만 일반적인 프로그래밍 상황에서도 풀을 만들어서 풀 안에서 자원을 나눠 가져 쓰는경우는 많이 볼수있다.

총알을 쏘기 전부터 이미 여러개 만들어서 들고있는 모습


적 및 총알 생성/삭제에 대한 부하를 해결하기

간단한 Prefab 캐시 시스템 제작 (1)
- 프리팹 생성 부하를 감소 시키는 목적
- Instantiate 부하를 줄이기 위함
- 적 캐시
- 총알 캐시
- 이펙트 캐시

간단한 Prefab 캐시 시스템 제작 (2)
PrefabCacheSystem 클래스
- MonoBehaviour를 상속하지 않음
- GenerateCache : 캐시 생성 메소드
- Archive : 캐시에서 꺼낼 때 사용
- Restore : 캐시로 반환할 때 사용
- SystemManager가 소유 하는 형태

간단한 Prefab 캐시 시스템 제작 (3)
- EnemyManager에 캐시를 위한 정보 추가
- EnemyFactory의 Load 메소드에 Instantiate 제거
- EnemyManager에 Prepare 메소드를 추가하여 캐시 데이터 생성
- GenerateEnemy 와 RemoveEnemy 메소드에서 캐시를 사용하도록 수정
- Enemy 클래스의 OnDead에서 파괴하지 않는 대신RemoveEnemy 호출하도록 수정

간단한 Prefab 캐시 시스템 제작 (4)
Bullet 캐시를 위한 BulletManager 만들기
- 캐시를 위한 정보
- Load 메소드: Player와 Enemy의 링크 제거, 파일로 로드.
- Prepare 메소드
- Generate와 Restore 메소드

https://fastcampus.co.kr/dev_online_game

 

C#과 유니티로 배우는 게임 개발 올인원 패키지 Online. | 패스트캠퍼스

현직 게임업계 게임 개발자 직강 C# 프로그래밍부터 게임 물리와 수학까지 모두 정복!

fastcampus.co.kr

https://bit.ly/3FVdhDa

 

수강료 100% 환급 챌린지 | 패스트캠퍼스

딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!

fastcampus.co.kr

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.