Ошибказагрузкитекстуры[关闭]

问题描述 投票:0回答:0

Я в Unity загружаю картинку из интернета с помощью C# скрипта。 Иногда всёхорошо, а иногда выдаёт ошибку, мол текстура ещё не загружена。 Вчёмпроблемаянепонимаю,сразнымикартинкамиразнаястабильность。 Причём не от веса зависит.

public IEnumerator LoadImage()
    {
        _img = _avatar.GetComponent<Image>();
        if (_url == "")
        {
            Debug.Log("пусто");
        }
        else
        {
            UnityWebRequest webRequest = UnityWebRequestTexture.GetTexture(_url);
            yield return webRequest.SendWebRequest();

            if (webRequest.isDone == true)
            {
                Texture texture = ((DownloadHandlerTexture)webRequest.downloadHandler).texture;
                Debug.Log(webRequest.error);
                _img.sprite = Sprite.Create((Texture2D)texture, new Rect(0, 0, texture.width, texture.height), Vector2.zero);
            }
            else
            {
                Debug.Log(webRequest.error);
            }
        }
    }

А вот текст ошибки:

InvalidOperationException: Texture has not yet finished downloading UnityEngine.Networking.DownloadHandlerTexture.InternalGetTexture () (at <8493ecd1d0614bc382e5fcf3adc16a08>:0) UnityEngine.Networking.DownloadHandlerTexture.get_texture () (at <8493ecd1d0614bc382e5fcf3adc16a08>:0) DataBase+<LoadImage>d__27.MoveNext () (at Assets/Scripts/DataBase.cs:161) UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <ca42919df2b74e53b11002749c8755af>:0) 

Ожидал стабильности но пока работает в 40% случаев.

c# image unity3d web webrequest
© www.soinside.com 2019 - 2024. All rights reserved.