Unity - 搬砖日志 - Texture.mipmapBias 无效的解决方法

这篇具有很好参考价值的文章主要介绍了Unity - 搬砖日志 - Texture.mipmapBias 无效的解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


环境

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 所以没有效果
Unity - 搬砖日志 - Texture.mipmapBias 无效的解决方法


解決方案

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,导致渲染性能问题
文章来源地址https://www.toymoban.com/news/detail-420945.html


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) - 这个人遇到的问题和我的一样,解决方式也是一样

到了这里,关于Unity - 搬砖日志 - Texture.mipmapBias 无效的解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • UE4(虚幻4)预算上的纹理流送池(texture streaming poor over)报警解决方法

    我们在运行UE4程序时会遇到警告:预算上的纹理流送池,虽然不影响程序正常运行,但就是看着挺刺眼的。有强迫症的我是在忍不哈,于是决定灭了他 _ 问了一下度娘: 纹理流送是运行时将纹理加载和卸载进出内存的系统,当场景中的纹理流送超过默认值将会产生警告,解决

    2024年02月03日
    浏览(45)
  • unity emgucv Texture2D转Mat / Mat转Texture2D / Texture 转 Texture2D

    Mat是emgucv的类,需要导入dll 首先需要导入emgucv要用的dll 免积分下载 这些不需要emgucv的dll,什么都不需要额外导入

    2024年02月15日
    浏览(30)
  • Unity Texture优化和格式统一设置

    主要逻辑,按照项目所需,统一Texture格式和压缩方式,可以举一反三。 Unity - Manual: Texture Import Settings 《Unity性能优化》系列课程笔记——第叁节 - 哔哩哔哩 上门两篇文章可以多看看,了解下原理,了解下怎么降内存和适配移动平台。

    2024年02月15日
    浏览(45)
  • # Unity 如何获取Texture 的内存大小

    在Unity中,要获取Texture的内存文件大小,可以使用UnityEditor.TextureUtil类中的一些函数。这些函数提供了获取存储内存大小和运行时内存大小的方法。由于UnityEditor.TextureUtil是一个内部类,我们需要使用反射来访问它。 导入UnityEditor命名空间和System.Reflection命名空间: 创建一个函

    2024年02月12日
    浏览(28)
  • Unity改变物体的Transform.position无效没有变化(CharacterController)的解决办法

            用脚本改变一个物体的transform.position,但是物体在场景中的位置并没有变化。(被改动的物体有CharacterController插件)         猜测是CharacterController的问题,但是具体原因还没有去深究。。。         我发现这样改position可以行得通: 就是先禁用那个组件改了位置再

    2024年02月11日
    浏览(39)
  • 关于解决IDEA中git的commit无效的解决方法

    在开发中我们偶尔会遇到点击idea中commit无效的情况,点击完commit后,进度条一闪而过缺没有将代码提交上去。下面是本人总结的几种方法。 一、重启IDEA ,重启大法!俗话说的好“重启解决百分之98的问题,重装系统解决百分之99的问题” 二、配置编码格式 file -- setting --Ed

    2024年02月02日
    浏览(29)
  • Unity WebCamTexture转Texture2D转byte[]

    一: WebCamTexture=Texture2D : GetNativeTexturePtr CreateExternalTexture 只是要显示在屏幕上,这段代码没有问题 如果想要转成 byte[]  使用 EncodeToJPG 则会有一个报错(暂时不知道什么原因) Unable to retrieve image reference 使用  GetRawTextureData    则会得到一个长度为0的数组 也可以直接把

    2024年02月07日
    浏览(38)
  • 【Unity】内存优化之— —Texture的MaxTextureSize以及Format压缩格式

    本人才疏学浅,只是近期略看了一下Texture的内存,如有不对的地方,还望大佬指正。 你所需要了解的几种纹理压缩格式原理 关于图片的内存,是怎么算的呢,就是图片的长乘以宽,乘以每个像素点占的byte大小。 MaxTextureSize,影响的就是基础的长和宽。 图片的压缩格式,影

    2024年03月11日
    浏览(35)
  • 关于uniapp修改内部样式小程序无效的解决方法

    在uniapp中 stylestyle 标签中实际会帮我们默认加scoped的 但是在我要修改样式的使用直接用穿透发现,小程序样式是不生效的 解决方法: 在修改修改的页面加上 styleIsolation: \\\"shared\\\" 即可 导入全局css

    2024年02月15日
    浏览(28)
  • 【unity shader】水体渲染基础-基于texture distortion的流体流动材质

    当液体静止时,它在视觉上与固体没有太大区别。 但大多数时候,我们的性能不一定支持去实现特别复杂的水物理模拟, 需要的只是在常规的静态材料的表面上让其运动起来。我们可以对网格的 UV 坐标实现动态变化,从而让表面的纹理效果实现变形的动态变化。 1.1. uv实时

    2024年02月03日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包