Resources 라는 폴더 내에 위치한 리소스들을 코드 상에서 불러와서 사용할 수 있다
따라서 아트, 사운드 등의 리소스들은 모두 Asset > Resources 폴더 내에 위치시켜두면 된다
prefab = Resources.Load<GameObject>("Prefabs/Tank");
위와 같이 Resources > Prefabs > Tank 경로에 위치한 게임 오브젝트를 가져올 수 있다
public class ResourceManager
{
public T Load<T>(string path) where T : Object
{
return Resources.Load<T>(path);
}
public GameObject Instantiate(string path, Transform parent = null)
{
GameObject original = Load<GameObject>($"Prefabs/{path}");
if (original == null)
{
Debug.Log($"Failed to load prefab : {path}");
return null;
}
GameObject go = Object.Instantiate(original, parent);
go.name = original.name;
return go;
}
public void Destory(GameObject go)
{
if (go == null)
return;
Object.Destory(go);
}
ResourceManager 스크립트 파일은 위와 같다
Resource와 관련된 작업들을 한 매니저에서 관리함으로써 문제가 발생할 경우 파악이 쉬워진다는 장점이 있다
ResourceManager _resource = new ResourceManager();
public static ResourceManager Resource { get { return Instance._resource; } }
그리고 Manager 스크립트에 위와 같이 연결해준다
'강의, 책 > [Unity] C#과 유니티로 만드는 MMORPG 게임 개발 시리즈' 카테고리의 다른 글
Section 4. Collision - Raycasting, LayerMask (0) | 2024.01.21 |
---|---|
Section 4. Collision - Collision, Trigger (0) | 2024.01.20 |
Section 2. Transfrom - Input Manager (0) | 2024.01.16 |
Section 2. Transform - Rotate (0) | 2024.01.16 |
Section 2. Transform - Vector3 (0) | 2024.01.16 |