Resources.Load
Описание
Загружает ассет запрашиваемого типа, хранящийся в path в папке Resources.
Этот метод возвращает ассет на path если его можно найти, в противном случае возвращает null.
Следует отметить, что path все имена ассетов и пути в файле должны соответствовать названию файла. Unity используют прямые косые черты, так что использование обратных косых черт в path Уилл не работа.
path относится к любой папке с именем Resources внутри папки Assets вашего проекта. Более одного Resources папка может быть использована. Если у вас несколько Resources в папках нельзя дублировать использование имени ресурса.
Например, проект может иметь: Resources папки вызваны Assets / Resources/ и Assets / Guns / Resources/. Путь не должен включать Assets и Resources в строке, например, загрузка GameObject в Assets / Guns / Resources / Shotgun.prefab потребовало бы лишь Shotgun как pathКроме того, если Assets / Resources / Guns / Missiles / PlasmaGun.prefab существует, его можно загрузить с помощью Guns / Missiles / PlasmaGun как path строка.
Если у вас множественные Resources в папках нельзя дублировать использование имени ресурса.
Если у вас есть несколько ассетов разных типов с одним и тем же именем и вы не указываете тип, то объект, возвращаемый Unity, является недетерминированным, поскольку потенциальные кандидаты не упорядочены каким-либо особым образом. Resources.Load<T>(path) чтобы указать требуемый ассет.
Declaration
public static T Load(string path);Параметры
| Параметр | Описание |
|---|---|
| путь | Путь к загружаемому целевому ресурсу. |
Возвращаемое значение
T Объект запрашиваемого типа общего параметра.
Описание
Загружает ассет запрашиваемого типа, хранящийся в path в папке Resources, используя общий фильтр типа параметра типа T.
Этот метод возвращает ассет в path, если его можно найти и если его тип соответствует запрошенному типу общего параметра, в противном случае он возвращает null. Вы можете использовать эту перегрузку для уменьшения преобразования типа в вашем коде, предоставив параметр общего типа. Это позволяет Unity выполнить преобразование типа C# за вас.
// Loading assets from the Resources folder using the generic Resources.Load<T>(path) method using UnityEngine;
public class ExampleClass : MonoBehaviour { void Start() { //Load a text file (Assets/Resources/Text/textFile01.txt) var textFile = Resources.Load<TextAsset>("Text/textFile01");
//Load text from a JSON file (Assets/Resources/Text/jsonFile01.json) var 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) var texture = Resources.Load<Texture2D>("Textures/texture01");
//Load a Sprite (Assets/Resources/Sprites/sprite01.png) var sprite = Resources.Load<Sprite>("Sprites/sprite01");
//Load an AudioClip (Assets/Resources/Audio/audioClip01.mp3) var audioClip = Resources.Load<AudioClip>("Audio/audioClip01"); } }
Declaration
public static Object Load(string path);public static Object Load(string path, Type systemTypeInstance);Параметры
| Параметр | Описание |
|---|---|
| путь | Путь к загружаемому целевому ресурсу. |
| systemTypeInstance | Типовый фильтр для возвращаемых объектов. |
Возвращаемое значение
Объект Запрошенный ассет возвращен как Объект.
Описание
Загружает ассет, хранящийся в path в папке Ресурсы с помощью дополнительного systemTypeInstance фильтр.
Этот метод возвращает ассет на path если его можно найти и если его тип соответствует факультативному systemTypeInstance параметр, в противном случае возвращается null.
Вам может потребоваться перенести возвращенный объект на фактически ассоциированный C# тип ассета, чтобы получить доступ к его методам и свойствам или использовать его с другими Unity APIs.
// Loading assets from the Resources folder using the Resources.Load(path) using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { // Assigns a texture named "Assets/Resources/glass" to a Plane. void Start() { GameObject go = GameObject.CreatePrimitive(PrimitiveType.Plane); var rend = go.GetComponent<Renderer>(); rend.material.mainTexture = Resources.Load("glass") as Texture; } }
// Loading assets from the Resources folder using the Resources.Load(path, systemTypeInstance) using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { // Instantiates a Prefab named "enemy" located in any Resources folder in your project's Assets folder. void Start() { GameObject instance = Instantiate(Resources.Load("enemy", typeof(GameObject))) as GameObject; } }