- ☀️博客主页:CSDN博客主页
- 💨本文由 萌萌的小木屋 原创,首发于 CSDN💢
- 🔥学习专栏推荐:面试汇总
- ❗️游戏框架专栏推荐:游戏实用框架专栏
- ⛅️点赞 👍 收藏 ⭐留言 📝,如有错误请指正
📆 未来很长,值得我们全力奔赴更美好的生活✨
------------------❤️分割线❤️-------------------------
需求:通过Http下载的图片,如何代码中动态开启MipMap
结论:官方目前未查找到明确可以调用生成的API,所以只能曲线救国
RequestManager.Instance.DownLoadTexture(url, (downloadHandler) =>
{
Texture2D tex = null;
if (url.EndsWith(".webp"))
{
tex = WebP.Texture2DExt.CreateTexture2DFromWebP(downloadHandler.data, lMipmaps: false, lLinear: true, out var _, WebP.Texture2DExt.ScaleBy(1f));
}
else
{
//tex = (downloadHandler as DownloadHandlerTexture).texture;
}
Texture2D mipmap = new Texture2D(2,2, TextureFormat.BGRA32, true,true);
mipmap.LoadImage(downloadHandler.data);
mipmap.Apply(true, true);
if(tex != null)
{
Destroy(tex);
}
SubNodeTitle.ShowTitle(gameObject, m_MovieDetailData, ref mipmap);
m_MeshRender.sharedMaterial.SetTexture("_MainTex", mipmap);
if (mipmap)
{
SceneRequesterData.Instance.DesListText2d.Add(mipmap);
}
});
原理:Unity创建Texture2d的时候会自动生成,所有对于下载下来的图片,在生成一个新的,就可以创建mipmap了,亲测有效
GitCode地址
有用点个Fork啊
更新记录
2023-7-27 更新如果代码生成图片的mipmap