正常效果
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);
}
}
网友评论