Unity - 搬砖日志 - Texture.mipmapBias 无效的解决方法
创始人
2024-06-01 01:12:33

文章目录

  • 环境
  • 原因
  • 解決方案
  • Referenes


环境

Unity : 2020.3.37f1
Pipeline : BRP


原因

因为美术发现有些贴图太糊,但是经过研究发现,mipmap0就是完全够精度的
但是不可能还要提升贴图的尺寸,因为经过多方咨询(咨询TA大佬)
发现是 unity 纹理一个 mipmapBias 的 import 属性,但结果设置了一样木有效果
最后TA大佬说,试试 shader 修改 tex2D => tex2Dbias,结果就OK了

Texture.mipmapBias 无效的原因在 unity 官方上有写:

  • 使用了 MaterialPropertyBlocks 也不行
  • 如果 Graphics API 是 metal, OpenGL ES 都不行,除非自己调整 shader

而我们项目 Graphics API 刚刚好是 OpenGL ES 所以没有效果
在这里插入图片描述


解決方案

float4 sample_val = tex2D(xxxMap, uv); 修改为 float4 sample_val = tex2Dbias(xxxMap, float4(uv, 0.0, -0.5); // mipmapBias : -0.5

因此对纹理的 mipmapBias import 属性设置是没有用的
只能在材质面板中添加一个 _xxx_mipmapBias 的参数
比如:_MainTex 的 mipmapBias 为:_MainTex_mipmapBias 默认 0 值即可

但是不能将这个设置 负数的偏移过大,否则导致纹理 cache miss (降低 cache hit 率)
那么就需要多次cache,导致渲染性能问题


Referenes

  • google : unity mipmap bias principle
  • Texture.mipMapBias
  • Unity Blurry Textures – Mipmap Bias Guide
  • Blur control-Mipmap bias handling
  • What exactly does the mipmapbias do?
  • Mip Map Bias workaround for Android (Unity) - 这个人遇到的问题和我的一样,解决方式也是一样

相关内容

热门资讯

最新或2023(历届)清明节高...  清明节是几月几日?高速路免费吗?  最新或2023(历届)清明节放假办法:最新或2023(历届)4...
最新或2023(历届)全年法定...  国务院办公厅正式公布了最新或2023(历届)部分节假日的放假安排。根据安排,春节长假为除夕至初六,...
最新或2023(历届)春节放假... 最新或2023(历届)春节是:最新或2023(历届)2月8日,农历,正月初一,春节。  2月7日至1...
最新或2023(历届)最新入党... 第一阶段考察意见  ×××同志自进入入党培养考察以来认真学习马列主义毛泽东思想、邓小平理论、“三个代...
最新或2023(历届)教育局“... 最新或2023(历届)教育局“我们的节日·中秋节”主题活动方案各乡镇党委、人民政府,贵城街道党工委、...