我已使用此脚本创建了资产包
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
它也不起作用。
那为什么会发生以及如何解决?
答案 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)