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

时间:2016-12-22 22:30:40

标签: unity3d unity-webgl

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

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

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:0)

我还没有看到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);
        }
    }
}