Объявление
public static AssetBundleManifest BuildAssetBundles(string outputPath, BuildAssetBundleOptions assetBundleOptions, BuildTarget targetPlatform);Параметры
outputPath | Выходной путь для AssetBundles. |
assetBundleOptions | Варианты сборки AssetBundle. |
targetPlatform | Выбранная целевая платформа сборки. |
Возвращает
AssetBundleManifest Манифест со списком всех AssetBundles, включенных в эту сборку.
Описание
Соберите все AssetBundles, указанные в редакторе.
Используйте эту функцию для создания пакетов ресурсов после того, как вы пометите свои ресурсы для включения в именованные наборы ресурсов. (Дополнительные сведения см. на странице руководства по созданию AssetBundles). Эта функция создает пакеты, указанные вами в редакторе, и возвращает манифест, включающий все включенные ресурсы. если сборка была успешной и ложной в противном случае. Кроме того, в консоли отображаются сообщения об ошибках, объясняющие наиболее распространенные сбои сборки, такие как неверные пути к целевым папкам.
outputPath
– это путь к папке в папке проекта, где будут сохранены созданные пакеты (например, "Assets/MyBundleFolder"). Папка не будет создана автоматически, и функция просто не сработает, если она еще не существует.
Необязательный аргумент assetBundleOptions
изменяет способ сборки пакета, в то время как targetPlatform/
выбирает цель развертывания (Windows Standalone, Android, iOS и т. д.), с которыми будет использоваться пакет. Обратите внимание, что пакеты, созданные для автономных платформ, несовместимы с пакетами, созданными для мобильных устройств, поэтому вам может потребоваться создать разные версии данного пакета. Дополнительную информацию о создании пакетов AssetBundles для различных платформ см. в разделе BuildTarget на странице Создание пакетов AssetBundles в Руководстве.
Возвращаемое значение имеет тип AssetBundleManifest. Содержит список всех активов включены в AssetBundle. При возникновении каких-либо проблем возвращается значение null.
// Создать AssetBundle для Windows.
using UnityEngine;
using UnityEditor;
public class BuildAssetBundlesExample : MonoBehaviour
{
[MenuItem("Example/Build Asset Bundles")]
static void BuildABs()
{
// Put the bundles in a folder called "ABs" within the Assets folder.
BuildPipeline.BuildAssetBundles("Assets/ABs", BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows);
}
}
Объявление
public static AssetBundleManifest BuildAssetBundles(string outputPath, AssetBundleBuild[] builds, BuildAssetBundleOptions assetBundleOptions, BuildTarget targetPlatform);Параметры
outputPath | Выходной путь для AssetBundles. |
builds | Карта сборки AssetBundle. |
assetBundleOptions | Варианты сборки AssetBundle. |
targetPlatform | Целевая платформа сборки. |
Возвращает
AssetBundleManifest Манифест со списком всех AssetBundles, включенных в эту сборку.
Описание
Создайте AssetBundles на основе карты здания.
Этот вариант функции позволяет указать имена и содержимое пакетов с помощью «карты сборки», а не с помощью деталей, заданных в редакторе. Карта представляет собой просто массив объектов AssetBundleBuild, каждый из которых содержит имя пакета и список имен файлов активов, которые нужно добавить в именованный пакет.
using UnityEngine;
using UnityEditor;
public class BuildAssetBundlesBuildMapExample : MonoBehaviour
{
[MenuItem("Example/Build Asset Bundles Using BuildMap")]
static void BuildMapABs()
{
// Create the array of bundle build details.
AssetBundleBuild[] buildMap = new AssetBundleBuild[2];
buildMap[0].assetBundleName = "enemybundle";
string[] enemyAssets = new string[2];
enemyAssets[0] = "Assets/Textures/char_enemy_alienShip.jpg";
enemyAssets[1] = "Assets/Textures/char_enemy_alienShip-damaged.jpg";
buildMap[0].assetNames = enemyAssets;
buildMap[1].assetBundleName = "herobundle";
string[] heroAssets = new string[1];
heroAssets[0] = "char_hero_beanMan";
buildMap[1].assetNames = heroAssets;
BuildPipeline.BuildAssetBundles("Assets/ABs", buildMap, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows);
}
}