未加载资产包

时间:2016-07-18 12:56:46

标签: c# unity3d assetbundle

我已使用此脚本创建了资产包

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 个答案:

答案 0 :(得分:0)

  

请确保使用构建目标平台构建AssetBundles   它被使用了。文件的构建目标是:9。

根据Unity的文档,构建目标9适用于iOS。您处于iOS模式或BuildTarget.StandaloneWindows64实际上并未构建WinStandalone的AssetBundle。不幸的是,你提到你切换平台和问题,但这并没有解决问题。

确保您的平台设置为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。

答案 1 :(得分:0)

我用

下载了这个包
WWW.LoadFromCacheOrDownload(path, 1);

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