Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# can';无法加载,因为已加载另一个具有相同文件的AssetBundle。加载不同的捆绑包时出错_C#_Unity3d - Fatal编程技术网

C# can';无法加载,因为已加载另一个具有相同文件的AssetBundle。加载不同的捆绑包时出错

C# can';无法加载,因为已加载另一个具有相同文件的AssetBundle。加载不同的捆绑包时出错,c#,unity3d,C#,Unity3d,我已尝试从URL加载资产包。当我只加载单个资产包时,它工作得很好。但如果我尝试加载多个资产捆绑包,Unity会出现以下错误:AssetBundle'https://example.com/uc?export=download&id=1234567'无法加载,因为已加载另一个具有相同文件的AssetBundle。 示例代码如下 using System.Collections; using UnityEngine; using UnityEngine.Networking; using Unity

我已尝试从URL加载资产包。当我只加载单个资产包时,它工作得很好。但如果我尝试加载多个资产捆绑包,Unity会出现以下错误:
AssetBundle'https://example.com/uc?export=download&id=1234567'无法加载,因为已加载另一个具有相同文件的AssetBundle。

示例代码如下

using System.Collections;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.SceneManagement;
using TMPro;

public class sahnecagir : MonoBehaviour
{
    public TextMeshProUGUI Log;

    // Start is called before the first frame update
    void Start()
    {
        StartCoroutine(LoadBundleFromUrl("https://example.com/uc?export=download&id=123456", 2, 0, (uint)Crc.Gifts));
    }

    IEnumerator LoadBundleFromUrl(string url, int tip, uint version, uint crc)
    {
        using (UnityWebRequest uwr = UnityWebRequestAssetBundle.GetAssetBundle(url, version, crc))
        {
            uwr.SendWebRequest();

            while (!uwr.isDone)
            {
                if(tip == 1) Log.text = "Rooms loading " + (uwr.downloadProgress * 100).ToString("0")  + "%";
                else if(tip == 2) Log.text = "Gifts loading " + (uwr.downloadProgress * 100).ToString("0")  + "%";
               
                yield return null;
            }

            if (uwr.isNetworkError || uwr.isHttpError)
            {
                Debug.Log(uwr.error);
            }
            else
            {
                if (tip == 1)
                {
                    MainConfig.Instance.RoomBgBundle = DownloadHandlerAssetBundle.GetContent(uwr);
                }
                else if (tip == 2)
                {
                    MainConfig.Instance.GiftBundle = DownloadHandlerAssetBundle.GetContent(uwr);
                }
            }

           

            if (uwr.isDone && tip == 1)
            {
                Log.text = "Rooms loading 100%";
                StartCoroutine(LoadBundleFromUrl("https://example.com/uc?export=download&id=1234567", 2, 0, 0));
            }
            else
            {
                Log.text = "Gifts loading 100%";
            }
            yield return null;
        }
    }
}

如何创建捆绑包?听起来您的AssetBundles共享一些公共文件=>因为Unity告诉您不能多次加载同一个文件。或者在不需要的时候考虑卸载一个包,或者将这些公共文件包含到您的构建中,或者仅以不同的方式下载它们。once@derHugo您好,不同的捆绑包中没有相同的文件。例如,捆绑包一包含:assets/resources/rooms/1.png-2png等等,捆绑包二包含:assets/resources/gift1.png-gift2.png如何创建捆绑包?听起来您的AssetBundles共享一些公共文件=>因为Unity告诉您不能多次加载同一个文件。或者在不需要的时候考虑卸载一个包,或者将这些公共文件包含到您的构建中,或者仅以不同的方式下载它们。once@derHugo您好,不同的捆绑包中没有相同的文件。例如,包1包含:assets/resources/rooms/1.png-2png等等,包2包含:assets/resources/gift1.png-gift2.png等等