Пакет активов не загружен
Я создал пакет активов с этим сценарием
using UnityEditor;
public class CreateAssetBundles
{
[MenuItem("Assets/Build AssetBundles")]
static void BuildAllAssetBundles()
{
BuildPipeline.BuildAssetBundles("Assets/AssetBundles/Images", BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);
}
}
Но когда я пытаюсь открыть свой exe, он говорит
Файл не может быть загружен, поскольку он был создан для другой цели сборки, несовместимой с этой платформой. Убедитесь, что вы собрали AssetBundles, используя целевую платформу сборки, на которой он используется. Цель сборки файла: 9
Я тоже пробовал
BuildTarget.StandaloneWindows
И это тоже не работает.
Так почему это могло произойти и как это исправить?
2 ответа
Убедитесь, что вы собрали AssetBundles, используя целевую платформу сборки, на которой он используется. Цель сборки файла: 9.
Согласно документации Unity, цель сборки 9 предназначена для iOS
, Вы либо в iOS
режим или BuildTarget.StandaloneWindows64
на самом деле не строит AssetBundle для WinStandalone
, К сожалению, вы упомянули, что вы переключили платформу и проблему, но это не решило проблему.
Убедитесь, что ваша платформа установлена на Windows Standalone Build
,
Идти к File
-> Build Settings
-> выбрать PC,Mac & Linux Standalone
затем нажмите Switch Platform
, Восстановите это снова.
Теперь замените:
BuildPipeline.BuildAssetBundles("Assets/AssetBundles/Images", BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);
с
BuildPipeline.BuildAssetBundles("Assets/AssetBundles/Images", BuildAssetBundleOptions.None, EditorUserBuildSettings.activeBuildTarget);
Создайте AssetBundle снова.
С помощью EditorUserBuildSettings.activeBuildTarget
заставит Unity построить AssetBundle с текущей активной платформой.
Я загружаю пакет с
WWW.LoadFromCacheOrDownload(path, 1);
Итак, как вы уже поняли, он использует один и тот же кеш для разных платформ, поэтому я получаю комплект iOS для сборки Windows (потому что до этого я тестировал его на платформе iOS, ахахахах)