我正在尝试将图像从服务器下载到我的Unity WebGL应用程序。我使用了WWW并且它可以工作,但它有问题,它在下载时冻结浏览器中的整个WebGL应用程序。这个简单的代码可以工作,但它会在下载图像时停止应用程序。
WWW loader = new WWW(url);
yield return loader;
我已经用尽所有使用Unity下载图片的可能性,因为它要么冻结要么不能用,
相反,我想看看它是否有可能让团结使用javascript告诉浏览器为我下载图像,然后让它以某种方式将该图像传回我的Unity c#代码。
有人知道如何使用外部java脚本吗?我知道它可以做到这一点,因为我的代码可以使用外部java脚本将图片从Unity发送到服务器,并且它可以在不冻结应用程序的情况下工作,因此它也必须以其他方式工作。
谢谢!
答案 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);
}
}
}