Unity 6.3
0 онлайн 67 гостей 3 в системе
Вход

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; } }