2024. 1. 3. 03:23ㆍ스파르타코딩클럽 게임개발
Addressables를 사용하는 ResourceManager 클래스
ResourceManager 클래스를 사용하는 방법을 작성하지 않은것 같아서 이번기회에 작성할려고 합니다.
아래의 링크를 확인하면 코드의 전문을 확인할 수 있습니다.
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 34 & 35일차 땜빵( Addressable을 이용하여 리소스매니저 만들기) (tistory.com)
ResourceManager 클래스 소개
ResourceManager 클래스는 Unity의 Addressables 시스템을 활용하여 리소스을 효율적으로 로드하고 관리합니다. 이 클래스는 비동기 로딩, 동기 로딩, 그리고 프리팹 인스턴스화 등 다양한 기능을 제공합니다.
주요 기능
- 비동기 로드: 리소스을 비동기적으로 로드하고, 로드가 완료되면 콜백을 실행합니다.
- 동기 로드: 필요할 때 즉시 리소스을 로드합니다.
- 프리팹 인스턴스화: 로드된 프리팹을 인스턴스화합니다.
- 리소스 언로드: 사용하지 않는 리소스를 언로드하여 메모리를 해제합니다.
비동기 로드 방법
LoadAsync 메서드를 사용하여 리소스을 비동기적으로 로드합니다. 이 메서드는 리소스의 키를 인자로 받고, 로드가 완료된 후 실행할 콜백을 옵셔널 인자로 받습니다.
// 예시: 스프라이트 비동기 로드 resourceManager.LoadAsync<Sprite>("spriteKey", sprite => { // 여기에서 sprite를 사용합니다. });
동기 로드 방법
Load 메서드를 사용하여 리소스을 동기적으로 로드합니다. 이 메서드는 리소스의 키를 인자로 받고, 로드된 리소스을 반환합니다.
// 예시: 프리팹 동기 로드 GameObject prefab = resourceManager.Load<GameObject>("prefabKey");
프리팹 인스턴스화
InstantiatePrefab 메서드를 사용하여 프리팹을 인스턴스화합니다. 이 메서드는 프리팹의 키와 선택적으로 부모 트랜스폼을 인자로 받습니다.
// 예시: 프리팹 인스턴스화 GameObject instance = resourceManager.InstantiatePrefab("prefabKey", parentTransform);
리소스 언로드 방법
UnloadAllAsync 메서드를 사용하여 특정 라벨에 속한 모든 리소스을 비동기적으로 언로드합니다. 이 메서드는 라벨을 인자로 받
습니다.
// 예시: 특정 라벨의 모든 리소스 언로드 resourceManager.UnloadAllAsync<GameObject>("label");
결론
ResourceManager 클래스는 Unity의 Addressables 시스템을 활용하여 리소스의 로드와 관리를 효율적으로 수행합니다. 이 클래스를 사용함으로써 리소스 관리를 더욱 유연하고 효율적으로 할 수 있습니다.
'스파르타코딩클럽 게임개발' 카테고리의 다른 글
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 46일차(인벤토리 시스템 3 크래프팅!) (2) | 2024.01.05 |
---|---|
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 45일차(인벤토리 시스템 2) (0) | 2024.01.04 |
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 42일차땜빵(아이템 제작 스크립트 리팩토링 .. 실패) (0) | 2024.01.02 |
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 43일차땜빵(인벤토리 시스템 구현) (0) | 2024.01.02 |
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 41일차(코루틴에 대해) (1) | 2023.12.28 |