Unity3d 无法从独立的资源包中加载场景

Unity3d 无法从独立的资源包中加载场景,unity3d,Unity3d,我在这两个场景之间切换的两个场景都来自此代码使用的资产包。代码在编辑器中工作,但在生成中不工作。我错过了什么 public IEnumerator LoadSceneBundle(string assetBundleSceneName, string orignialName) { //url = "file://" + Application.dataPath + "/AssetBundles/" + assetBundleSceneName + ".unity3d";

我在这两个场景之间切换的两个场景都来自此代码使用的资产包。代码在编辑器中工作,但在生成中不工作。我错过了什么

  public IEnumerator LoadSceneBundle(string assetBundleSceneName, string orignialName) {

        //url = "file://" + Application.dataPath + "/AssetBundles/" + assetBundleSceneName + ".unity3d";
        Debug.Log(Application.dataPath);
        //this code for build
        newExtractedPath = Application.dataPath;
        //this code for runtime
        //newExtractedPath = Application.dataPath.Substring(0, Application.dataPath.Length - 7);
        Debug.Log(newExtractedPath  +" :: newExtractedPath");
        //url = "file://" + Application.dataPath + "/AssetBundles/" + assetBundleSceneName + ".unity3d";
        url = "file://" + newExtractedPath + "/AssetBundles/" + assetBundleSceneName + ".unity3d";
        Debug.Log("scene load url : " + url);
        using (WWW www = WWW.LoadFromCacheOrDownload(url,1)){
            yield return www;
            if (www.error != null) {
                throw new Exception("WWW download had an error : " + url + " " + www.error);
                //Debug.Log("");
            }

            AssetBundle ab = www.assetBundle;
            Debug.Log(www.assetBundle.mainAsset);

            ab.LoadAll();
            Application.LoadLevel(originalName);
            ab.Unload(false);
        }
    }

部署后,我创建了一个assetbundle文件夹并放置了我的assetbundle场景文件,但它不起作用。一切都是徒劳的

如果您想为独立的Unity应用程序加载资产包,我认为AssetBundle.CreateFromFile()会更好地为您服务,它更简单、更快。唯一的问题是无法压缩资产包


你的道路似乎错了。如果您将资产包嵌入到游戏中,您应该将它们放在StreamingAssets文件夹下,以便它们最终进入游戏构建。根据:

任何放置在Unity项目中名为StreamingAssets的文件夹中的文件都将被逐字复制到目标计算机上的特定文件夹中


这样做,并使用
应用程序。StreamingAssetPath
来形成您的路径,您应该能够使用
WWW.LoadFromCacheOrDownload
来获取它们。

那么标准的方法是将assetbundle放在streamingAsset文件夹中,并且在我们进行独立构建时,此文件夹将自动部署?对吧?对。在资产文件夹中创建文件夹(
Assets/StreamingAssets/
)+感谢您提供的宝贵信息,但这不是问题所在!