0

このスクリプトでアセットバンドルを作成しました

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

そして、それも機能しません。

では、なぜそれが起こる可能性があり、どのように修正するのでしょうか?

4

2 に答える 2

0

バンドルをダウンロードします

WWW.LoadFromCacheOrDownload(path, 1);

すでにご存じのとおり、異なるプラットフォームで同じキャッシュを使用するため、Windows ビルド用の iOS バンドルを取得します (この前に iOS プラットフォームでテストしたためです)。

于 2016-07-19T16:36:31.600 に答える
0

AssetBundles は、それが使用されているビルド ターゲット プラットフォームを使用してビルドしてください。ファイルのビルド ターゲットは 9 です。

Unity のドキュメントによると、ビルド ターゲット 9 はiOS. iOSモードに入っているか、BuildTarget.StandaloneWindows64実際には の AssetBundle をビルドしていません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 に答える