전투에 필요한 유닛 로직을 먼저 생성하고, 외형 리소스는 비동기로 따로 로드하는 구조를 사용하면,
방치형 게임에서 빠르고 효율적인 유닛 스폰이 가능하다.
- 왜 어드레서블을 사용했는가
방치형 게임에서 전투는 멈추지 않고 유닛이 자주 등장한다. 유닛을 생성할 때 프리팹 전체를 로드해서 스폰하면 다음과 같은 문제들이 있다.
- Addressable에서 비동기로 받아와서 생성하기 때문에 완전히 로드될 때까지 딜레이가 발생. (-> 그동안 전투를 시작할 수 없음)
- 메모리 낭비 및 프레임 드랍 가능성 발생.
- 문제를 방지하려면 모든 유닛의 애니메이션, 사운드, VFX와 같은 외형 데이터를 미리 로드해야 함.
- 우리 프로젝트에서 어드레서블을 사용했을때 이점
빠른 전투 시작 - 로딩을 기다리지 않고 즉시 전투 시작 가능
메모리 최적화 - 외형 리소스는 필요한 시점에만 로드
구조 분리 - 유닛 로직과 표현을 모듈화하여 관리나 확장성 용이 (외형만 갈아 끼우기 쉽겠다)
출처: https://ramenkirby.tistory.com/76 [톰마토의 게임 개발 일지:티스토리] ( 같은 팀원 )
- 어드레서블을 사용하면서 느낀 장점
파일 위치가 변경이 되어도 키로 불러오기에 파일관리가 편하고
비동기이기 때문에 끊김없이 게임 진행이 가능하고 필요한 순간에 로드할 수 있습니다.
라벨로 한번에 리소스들을 가져올 수 있습니다.
비동기적으로 한번 불러온 리소스는 딕셔너리에 저장해서 다음에 호출이 될때 바로 꺼내서 사용할 수 있게 만들었습니다.
딕셔너리에 저장된 리소스들이 필요없을때는 해당되는 키를 삭제하는 메서드 기능도 추가해서
좀더 원활한 개발환경을 만들고 프로젝트를 시작했습니다.
'부트캠프 > Unity [ 스파르타 ]' 카테고리의 다른 글
[스파르타 ][TIL] 유니티 스파르타 7기 59일차 - Condition분리 (9) | 2025.05.02 |
---|---|
[스파르타 ][TIL] 유니티 스파르타 7기 58일차 - UniTask (5) | 2025.05.01 |
[스파르타 ][TIL] 유니티 스파르타 7기 56일차 - 대미지 계산법 (6) | 2025.04.29 |
[스파르타 ][TIL] 유니티 스파르타 7기 55일차 - 유니티 커스텀 에디터 (11) | 2025.04.28 |
[스파르타 ][TIL] 유니티 스파르타 7기 54일차 - Atan2 활용 (8) | 2025.04.25 |