Unity 6.3
0 онлайн 91 гостей 3 в системе
Вход
Пакеты и управление пакетами Шаг 47 из 281

Доступ к ассетам пакета с помощью скриптов

В этом разделе объясняется, как получить доступ или ссылку на ассеты, определенные внутри пакета:

Примечание: Package Manager не поддерживает потоковые ассеты в пакетах. Используйте пакет Addressables вместо этого.

Ссылка на пути пакетов

Чтобы сослаться на ассеты, определенные внутри пакета, используйте следующую схему пути:

"Packages/<package-name>/..."

Путь ассета внутри пакета начинается с Packages/ и пакет имя (не относящиеся к имя дисплея).

В отличие от этого, доступ к ресурсам проекта осуществляется с помощью следующей схемы:

"Assets/..."

Например, путь к файлу image.png в подпапке пакета /Example/Images пакета com.unity.images-library выглядит следующим образом:

"Packages/com.unity.images-library/Example/Images/image.png"

Чтобы получить абсолютный путь к элементу в папке Packages, вы можете использовать частичный путь в качестве параметра метода Path.GetFullPath(). Для примера см. Разрешение абсолютных путей.

Загрузить текстуру внутри пакета

Чтобы загрузить Текстуру, хранящуюся внутри пакета, используйте метод LoadAssetAtPath, который требует директивы using UnityEditor. Укажите путь в соответствии со схемой пути Packages/<package-name>/, как показано в этом примере:

using UnityEditor;
// ...
Texture2D texture = (Texture2D)AssetDatabase.LoadAssetAtPath("Packages/com.unity.images-library/Example/Images/image.png", typeof(Texture2D));

Разрешение абсолютных путей

Чтобы получить абсолютный путь пакетированного ассета, используйте метод Path.GetFullPath(), для которого требуется директива using System.IO. Например:

using System.IO;
// ...
string absolute =   Path.GetFullPath("Packages/com.unity.images-library/Example/Images/image.png");

Дополнительные ресурсы