【问题标题】:Asset bundle is not loaded资产包未加载
【发布时间】:2016-07-20 00:36:31
【问题描述】:

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

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

而且它也不起作用。

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

【问题讨论】:

  • File -> Build Settings 选择 PC,Mac & Linux Standalone 然后点击 Switch Platform乙>。再次重建 AssetBundle。
  • 第一次构建后平台已切换,之后我再次制作了资产包,但这没有帮助
  • 是的,同样的错误
  • 我放弃了我的答案。希望这可以解决您的问题。如果不保存并重新启动 Unity。

标签: c# unity3d assetbundle


【解决方案1】:

请确保使用构建目标平台构建 AssetBundle 它被使用。文件的构建目标是: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。

【讨论】:

  • 请注意,您也必须对所有其他 AssetBundle 执行此操作。因此,请使用新脚本重建所有这些。
  • 我按照你说的做了,但错误仍然存​​在。文件的构建目标仍然是 9
  • 这是有线的。您运行的是哪个 Unity 版本?
  • 最后一个,我猜是5.3.5
  • 我不知道你的版本是怎么回事。这应该可以解决您的问题。试试 UNITY 5.4.0F1。这就是我正在使用的版本。它将于本月发布,但现在可以下载。 unity3d.com/unity/beta
【解决方案2】:

我使用

下载捆绑包
WWW.LoadFromCacheOrDownload(path, 1);

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

【讨论】:

    猜你喜欢
    • 2020-07-06
    • 1970-01-01
    • 2016-12-16
    • 2017-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-18
    相关资源
    最近更新 更多