Unity3d 如何在Unity WebGL中使用javascript下载图像

Unity3d 如何在Unity WebGL中使用javascript下载图像,unity3d,unity-webgl,Unity3d,Unity Webgl,我正在尝试将图像从服务器下载到我的Unity WebGL应用程序。我使用了WWW,它可以工作,但它有问题,它在下载时会将整个WebGL应用程序冻结在浏览器中。这个简单的代码可以工作,但它会在下载图像时停止应用程序 WWW loader = new WWW(url); yield return loader; 我已经用尽了使用Unity下载图像的所有可能性,因为它要么冻结,要么不工作 相反,我想看看unity是否可以告诉浏览器使用javascript为我下载图像,然后让它以某种方式将该图像传递回

我正在尝试将图像从服务器下载到我的Unity WebGL应用程序。我使用了WWW,它可以工作,但它有问题,它在下载时会将整个WebGL应用程序冻结在浏览器中。这个简单的代码可以工作,但它会在下载图像时停止应用程序

WWW loader = new WWW(url);
yield return loader;
我已经用尽了使用Unity下载图像的所有可能性,因为它要么冻结,要么不工作

相反,我想看看unity是否可以告诉浏览器使用javascript为我下载图像,然后让它以某种方式将该图像传递回我的unity c代码

有人知道如何使用外部java脚本来实现这一点吗?我知道它可以做到这一点,因为我有代码可以使用外部java脚本将图片从Unity发送到服务器,并且它可以在不冻结应用程序的情况下工作,因此它也必须可以以其他方式工作


谢谢

我还没有在WebGL构建中看到WWW冻结的实例。您可能做错了什么,问题中的两行代码无法用来判断问题所在

如果WWWAPI确实是问题所在,那么请使用。没有必要为此使用Javascript

void Start()
{
    StartCoroutine(downloadTexture("http://www.myUrl.png"));
}

IEnumerator downloadTexture(string url)
{
    using (UnityWebRequest www = UnityWebRequest.GetTexture(url))
    {
        yield return www.Send();

        if (www.isError)
        {
            Debug.Log(www.error);
        }
        else
        {
            Texture myTexture = DownloadHandlerTexture.GetContent(www);
        }
    }
}

在WebGL中使用WWW有一个冻结,我也尝试了你的代码,当我运行它时,它在最后一行给出了一个错误“error m_instandeID!=0”请尝试一下,看看你所要做的就是在使用WWW下载多张图片时旋转一个立方体,你会看到立方体在下载图片时停止并开始旋转多次,即使在编辑器中也会发生这种情况。这是一个大问题,因为用户会看到停止和开始看起来真的很糟糕!!!作为错误,这是一个bug。有关
错误m_instandeID,请参阅=0
错误。只需添加
yield return new WaitForEndOfFrame()DownloadHandlerTexture.GetContent
函数之前,请执行code>。如果在此之后仍然存在问题,请更新到Unity 5.5。很可能与此相关的任何错误现在都已修复。@程序员,听程序员说,他是一个programmer@programmer,我做了WaitForEndOfFrame,收益率,它仍然给出了错误。我有unity 5.4,版本5.5破坏了我代码中的其他东西,这就是为什么我没有升级到它。我不敢相信这个内帧和WWW错误一直在那里,而unity中没有人修复它。WWW是统一中最基本的东西,如果它不起作用,那么他们就把它挂了。