我正在尝试将图像从服务器下载到我的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);
}
}
}