美文网首页
unity 外部加载Texture问题

unity 外部加载Texture问题

作者: WOTTOW | 来源:发表于2020-09-16 09:45 被阅读0次

正常效果


image.png

外部加载并替换贴图


image.png

原先的加载我是用UnityWebRequest 。 我为什么要用UnityWebRequest ?因为UnityWebRequest 将要替代www。我是加载StreamingAssets里面的贴图,但是加载出来的贴图用在UI上是没得问题,但是替换3D物体标准材质球的贴图,就会出现“花”的情况。
然后我怀疑是:获取到的是Texture2D,应该要转换为Texture,结果一样出现“花”的情况。
在网上找了哈,我没有找到合适的解决方案。
我现在的解决临时方案:使用www加载,确保能顺利实现功能

UnityWebRequest

 IEnumerator _GetTexture(string url, Action<Texture2D> actionResult)
    {
        UnityWebRequest uwr = new UnityWebRequest(url);
        DownloadHandlerTexture downloadTexture = new DownloadHandlerTexture(true);
        uwr.downloadHandler = downloadTexture;
        yield return uwr.SendWebRequest();
        Texture2D t = null;
        if (!(uwr.isNetworkError || uwr.isHttpError))
        {
            t = downloadTexture.texture;
        }
    }

www

  public  IEnumerator LoadTexture2DByWWW(string _url)
    {
        WWW _www = new WWW(_url);
        yield return _www;
        if (_www.error == null)
        {
            qqq.GetComponent<Renderer>().material.mainTexture = _www.texture;
        }
        else
        {
            Debug.LogError(_www.error);
        }
    }

相关文章

网友评论

      本文标题:unity 外部加载Texture问题

      本文链接:https://www.haomeiwen.com/subject/lxlcyktx.html