Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Resources

класс в UnityEngine / Реализовано в: UnityEngine.CoreModule

Описание

Класс Resources позволяет находить и получать доступ к объектам, включая активы.

В редакторе Resources.FindObjectsOfTypeAll можно использовать для поиска ресурсов и объектов сцены.

Все ресурсы, которые находятся в папке "Ресурсы" в любом месте папки "Активы", доступны с помощью функций Resources.Load. Может существовать несколько папок «Ресурсы», и при загрузке объектов будет проверяться каждая из них.

В Unity вы обычно не используете имена путей для доступа к ресурсам, вместо этого вы предоставляете ссылку на ресурс, объявляя переменную-член, а затем назначаете ее в инспекторе. При использовании этой техники Unity может автоматически вычислять, какие активы используются при создании плеера. Это радикально сводит размер ваших игроков к активам, которые вы фактически используете в построенной игре. При размещении ассетов в папках "Ресурсы" этого сделать нельзя, поэтому все ассеты в папках "Ресурсы" будут включены в сборку.

Еще один недостаток использования имен путей заключается в том, что это приводит к меньшему количеству повторно используемого кода, поскольку скрипты будут иметь определенные жестко запрограммированные требования в отношении того, где размещаются используемые ресурсы. С другой стороны, использование ссылок, отображаемых в инспекторе, является самодокументируемым и сразу очевидным для пользователя вашего скрипта.

Однако бывают ситуации, когда удобнее получить ресурс по его имени, а не ссылаться на него в инспекторе. По сути всякий раз, когда неудобно присваивать ссылку на объект в инспекторе. Например, вы можете создать игровой объект процедурно из скрипта и, например, назначить текстуру процедурно сгенерированной сетке.

Некоторые загруженные ресурсы, особенно текстуры, могут занимать много памяти, даже если в сцене нет экземпляров. Чтобы освободить эту память, когда ресурс больше не нужен, вы можете использовать Resources.UnloadUnusedAssets.

Примечание. Папку Resources в Assets необходимо создать до ее использования. Он не создается при создании нового проекта.

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

Статические Методы

НайтиObjectsOfTypeAll Возвращает список всех объектов типа T.
InstanceIDToObject Преобразует идентификатор экземпляра в ссылку на объект.
InstanceIDToObjectList Преобразует массив идентификаторов экземпляров в список ссылок на объекты.
Загрузить Загружает ресурс запрошенного типа, хранящийся по пути в папке ресурсов.
LoadAll Загружает все ресурсы в папку или файл по пути в папке ресурсов.
LoadAsync Асинхронно загружает ресурс, хранящийся по пути в папке ресурсов.
UnloadAsset Выгружает assetsToUnload из памяти.
ВыгрузитьUnusedAssets Выгружает неиспользуемые ресурсы.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3