Resources
класс в UnityEngine
Выполнено в:UnityEngine.CoreModule
Описание
Класс Resources позволяет находить объекты, включая ассеты, и обращаться к ним.
При создании проекта все ассеты в любом Resources папки включены в встроенный проигрыватель. Затем вы можете загрузить эти ассеты во время выполнения, используя Resources.Load. Вы должны создать Resources папка. Unity не создает автоматически Resources папку при создании проекта. Ваш проект может содержать несколько Resources папки.
Использование Resources.FindObjectsOfTypeAll чтобы найти ресурсы и объекты сцены в редакторе.
Один из способов доступа к ассетам в Unity — это открыть ссылку на ассет путем объявления переменной члена, а затем назначить ее в Inspector, вместо использования прямого пути к ассету. Это позволяет Unity автоматически рассчитывать, какие ассеты используются при создании проигрывателя, и минимизирует размер проигрывателя, чтобы содержать только ассеты, используемые в вашем приложении. Однако этот метод исправляет ссылки в Inspector, что делает их менее гибкими.
С помощью класса Resources можно загружать ассеты во время выполнения, указывая их путь строкой. Например, так удобно процедурно создать GameObject из скрипта и назначить текстуру процедурно сформированному мешу.
Некоторые загруженные ресурсы, в частности текстуры, могут использовать память даже тогда, когда в Scene не существует экземпляра. Чтобы восстановить эту память, когда ресурс больше не нужен, вы можете использовать Resources.UnloadUnusedAssets.
Дополнительную информацию см. в Введение в систему ресурсов.
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { void Start() { GameObject go = GameObject.CreatePrimitive(PrimitiveType.Plane); Renderer rend = go.GetComponent<Renderer>(); rend.material.mainTexture = Resources.Load("glass") as Texture; } }
Статические методы
| Метод | Описание |
|---|---|
| EntityIdsToObjectList | Преобразует массив сущности IDs в список ссылок на объекты. |
| EntityIdToObject | Преобразует EntityId в ссылку на объект. |
| FindObjectsOfTypeAll | Получает список всех объектов типа T. |
| InstanceIDsToValidArray | Преобразует массив экземпляра IDs в массив булевых значений, указывающих, соответствует ли данный экземпляр ID из instanceIDs действительному Объекту в памяти. Объект мог быть удален или еще не загружен в память. |
| Load | Загружает ресурс запрошенного типа, хранящийся по указанному пути в папке Resources. |
| LoadAll | Загружает все ресурсы в папку или файл по пути в папке Ресурсы. |
| LoadAsync | Асинхронная загрузка ресурса, хранящегося в папке Ресурсы по пути. |
| UnloadAsset | Выгружает assetToUnload из памяти. |
| UnloadUnusedAssets | Выгрузка неиспользуемых ассетов. |