반응형
//1. Load 사용하는 방법
bullet = (GameObject)Resources.Load("Prefabs/Bullet");
//2. 형변환해서 Load 하는 방법 - 캐스팅에 성공하면 결과를 리턴하고.
//실패하면 null값을 리턴한다. -> 구글링참고
bullet = Resources.Load("Prefabs/Bullet") as GameObject;
//3. 일반적인 Load 하는 방법.
bullet = Resources.Load<GameObject>("Prefabs/Bullet");
유니티에서 Resources.Load 함수를 사용하여 에셋 로드하기
Resource 폴더는 유니티가 특별한 목적으로 예약한 폴더 중 하나로 해당 폴더에 에셋을 위치시키면 load함수를 사용하여 불러오기할수있다.
1)예에서 씬에 cube 오브젝트를 생성하였다.
2)cube 오브젝트의 프리팹을 생성하였다.
3)일반적으로 스크립트에서 게임오브젝트 타입의 변수를 선언하고 에디터에서 직접 참조시켜서 해당 오브젝트를 복제 및 생성할수있다.
4)게임을 시작하면 씬에 프리팹 게임오브젝트를 복제 및 생성한다.
Resources.Load 함수를 사용한 방법
5)프로젝트의 Assets 폴더 하위에 Resources 폴더를 생성한다.
6)Resources 폴더 하위에 런타임에 불러올 에셋들을 위치시킨다. 예에서 Resources 폴더의 하위에 추가적인 Prefabs 폴더를 생성하고 여기에 프리팹 에셋을 위치시켰다.
7)스크립트에서 리소스 폴더의 에셋을 불러오기할때 아래와 같이 함수를 호출한다. 예에서 GameObject 유형의 에셋을 해당 위치에서 불러오기한다.
8)동일한 방법으로 다양한 유형의 에셋들을 불러오기할수있다(GameObject, TextAsset, Texture2D, Sprite, AudioClip, etc)
Resources 폴더
https://docs.unity3d.com/ScriptReference/Resources.html
Resource.Load 함수
https://docs.unity3d.com/ScriptReference/Resources.Load.html
반응형
'게임 관련 > 유니티' 카테고리의 다른 글
Xcode Signing 설정했는데 Signing설정 안했다고 에러 날 경우 (0) | 2023.12.02 |
---|---|
[C#][Unity]List에서 원소 제거시 주의할 점 (0) | 2023.10.23 |
유니티 Time.timeScale 프로퍼티 [유니티|Unity] (0) | 2023.04.19 |
C# 제네릭 (Generics) 타입 이란? (0) | 2022.10.23 |
[유니티 기초] 은근 유용한 [Serializable], [SerializeField] 사용하기 (0) | 2022.10.23 |