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



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

WWW loader = new WWW(url);
yield return loader;

我已经用尽了使用Unity下载图像的所有可能性,因为它要么冻结或不工作,

相反,我想看看是否有可能让Unity告诉浏览器使用JavaScript为我下载图像,然后将其传递给我的Unity C#CODE。

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

谢谢!

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

如果www API确实是问题,则使用UnityWebRequest。无需为此使用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);
        }
    }
}

最新更新