0

我已经用这个脚本创建了资产包

using UnityEditor;

public class CreateAssetBundles
{
    [MenuItem("Assets/Build AssetBundles")]
    static void BuildAllAssetBundles()
    {
        BuildPipeline.BuildAssetBundles("Assets/AssetBundles/Images", BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);
    }
}

但是当我尝试打开我的exe时,它说

无法加载该文件,因为它是为与此平台不兼容的另一个构建目标创建的。请确保使用它所使用的构建目标平台来构建 AssetBundle。文件的构建目标是:9

我也试过

BuildTarget.StandaloneWindows

它也不起作用。

那么为什么会发生这种情况以及如何解决呢?

4

2 回答 2

0

我下载捆绑包

WWW.LoadFromCacheOrDownload(path, 1);

因此,正如您已经了解的那样,它为不同的平台使用相同的缓存,这就是我为 Windows 构建获取 iOS 包的原因(因为在此之前我使用 iOS 平台对其进行了测试,哈哈哈)

于 2016-07-19T16:36:31.600 回答
0

请确保使用它所使用的构建目标平台来构建 AssetBundle。文件的构建目标是:9。

根据 Unity 的文档,构建目标 9 用于iOS. 您要么处于iOS模式,要么BuildTarget.StandaloneWindows64实际上并未为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。

于 2016-07-18T13:38:58.713 回答