未加载资源包

本文关键字:资源 加载 | 更新日期: 2023-09-27 17:57:24

>我用这个脚本创建了资源包

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

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

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

我也试过

BuildTarget.StandaloneWindows

而且它也不起作用。

那么为什么会发生以及如何解决呢?

未加载资源包

请确保使用构建目标平台构建资产包 它被使用。文件的生成目标是: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);

再次构建资产包。

使用

EditorUserBuildSettings.activeBuildTarget 将强制 Unity 使用当前活动平台构建资源包。

我下载捆绑包

WWW.LoadFromCacheOrDownload(path, 1);

所以,正如你已经知道的,它在不同的平台上使用相同的缓存,这就是为什么我得到适用于 Windows 构建的 iOS 捆绑包(因为在此之前我用 iOS 平台测试了它,啊哈哈哈)