파일 불러오기

2022. 6. 16. 22:28Unity/스크립트 기본

Assets/Resources 폴더가 있어야 함

//Load a text file (Assets/Resources/Text/textFile01.txt)
TextAsset textFile = Resources.Load<TextAsset>("Text/textFile01");

//Load text from a JSON file (Assets/Resources/Text/jsonFile01.json)
TextAsset jsonTextFile = Resources.Load<TextAsset>("Text/jsonFile01");
//Then use JsonUtility.FromJson<T>() to deserialize jsonTextFile into an object

//Load a Texture (Assets/Resources/Textures/texture01.png)
Texture2D texture = Resources.Load<Texture2D>("Textures/texture01");

//Load a Sprite (Assets/Resources/Sprites/sprite01.png)
Sprite sprite = Resources.Load<Sprite>("Sprites/sprite01");
//아래 처럼 적용 가능
this.gameObject.GetComponent<SpriteRenderer>().sprite = Resources.Load<Sprite>("Sprites/sprite01");

//Load an AudioClip (Assets/Resources/Audio/audioClip01.mp3)
AudioClip audioClip = Resources.Load<AudioClip>("Audio/audioClip01");

// Instantiates a Prefab named "enemy" located in any Resources folder in your project's Assets folder.
GameObject instance = Instantiate(Resources.Load("enemy", typeof(GameObject))) as GameObject;

 

장점
간단한 사용: Unity Editor 내에서 간단하게 사용할 수 있으며, 별도의 설정이 필요 없습니다.
(초기)즉시 로딩: Resources.Load 메소드를 사용하여 쉽게 자산을 동기적으로 로드할 수 있습니다.
단점
빌드 크기 증가: Resources 폴더에 있는 모든 자산은 최종 게임 빌드에 포함되므로, 빌드 크기가 커질 수 있습니다.
로딩 시간: 큰 자산이나 많은 양의 자산을 로드할 때 게임의 로딩 시간에 영향을 줄 수 있습니다.
메모리 관리의 어려움: 로드된 자산은 수동으로 관리해야 하며, 메모리 관리가 어렵습니다.

 

 

에셋번들

장점
플랫폼별 최적화: 다양한 플랫폼을 대상으로 최적화된 에셋을 포함할 수 있습니다.
동적 로딩: 게임이 실행 중일 때 필요한 에셋을 로드하고 언로드할 수 있어 메모리 사용을 최적화할 수 있습니다.
단점
복잡한 의존성 관리: 수동으로 의존성을 관리해야 하며, 이는 관리하기 어려울 수 있습니다.
업데이트 관리 어려움: 업데이트 시 전체 에셋 번들을 다시 다운로드해야 하는 경우가 있어 효율성이 떨어질 수 있습니다.

 

어드레서블

장점
동적 콘텐츠 관리: 어드레서블 시스템은 게임의 콘텐츠를 동적으로 관리하고 업데이트할 수 있게 해줍니다. 이를 통해 게임의 초기 다운로드 크기를 줄이고, 필요할 때마다 콘텐츠를 불러올 수 있습니다.
쉬운 의존성 관리: 자동 의존성 추적을 지원하여, 필요한 모든 의존성이 함께 로드됩니다.
메모리 관리: 사용하지 않는 자산을 쉽게 언로드하여 메모리 관리를 개선할 수 있습니다.
클라우드 콘텐츠 배포: 클라우드 스토리지와 통합하여 콘텐츠를 원격으로 배포하고 업데이트할 수 있습니다.
단점
학습 곡선: 새로운 개념과 시스템을 학습해야 하며, 기존 에셋 번들 시스템에서 전환하는 경우 구조적 변화가 필요할 수 있습니다.
설정 복잡성: 큰 프로젝트에서는 설정과 관리가 복잡해질 수 있습니다.

728x90

'Unity > 스크립트 기본' 카테고리의 다른 글

메모리 관리  (0) 2022.06.27
애니메이터  (0) 2022.06.16
게임오브젝트 불러오기  (0) 2022.06.16
스태틱  (0) 2022.06.16
킵입력  (0) 2022.06.16