unity纹理导入设置与优化

unity纹理基础概念:模型表面用来增加细节的位图图像。通常一个模型需要一张或者多张纹理。

纹理需要材质着色器映射到表面。或者烘焙生成。纹理可以放到模型,ui ,精灵,地图等。

纹理类型

  • Default:默认的纹理类型格式(绝大多数选这个)
  • Normal map:发现贴图,可以将颜色通道转换为实时发现贴图格式
  • Editro Gui and Legacy Gui:在编辑器GUI控件上使用纹理请选择
  • Sprite(2D and ui):在2D游戏中使用的精灵或者ugui使用的纹理
  • Cursor:鼠标光标自定义纹理类型
  • Cookie:用于光照Cookie纹理
  • LightMap:光照贴图类型的纹理
  • Single Channel:如果原始图片文件只有一个通道,选择这个。会节省资源

纹理大小

        2的幂次方比如1024*1024  512*512 。但是不必要长宽一样,但是只要长宽符合2的幂次方即可。如果不是2的幂次方,unity也会根据当前纹理尺寸自动的计算出来,算出一个最小符合2的幂次方的一个尺寸,但是就是就会造成纹理的浪费。纹理的大小影响的是内存和显存的大小,gpu纹理采用 带宽等。

所以应该尽量遵循一下经验

  • 不同平台,不同硬件选择不同的纹理大小。unity可以采用bundle变量设置多套资源,通过mipmap限制不同平台加载不同的level层级的贴图
  • 根据纹理用途的不同选择不同的纹理加载方式。如流式纹理加载Texture Streaming,稀疏纹理,SparseTexture,虚拟纹理等方式
  • 不能让美术通过增加纹理大小来增加细节,可以通过细节贴图DetailMap或增加高反差保留的方式
  • 再不降低视觉效果的情况下尽量减少贴图大小

纹理颜色空间

SRGB空间处理和导出纹理

但是纹理不作用颜色信息的话,那就不要sRGB 如金属度贴图,粗糙度贴图或者发现贴图

纹理压缩

  • 默认用PNG或TGA  。但是与专业比访问和采样速度慢无法通过GPU硬件加速,同时纹理数据大,占用内存较高。所以渲染中我们会采用一些硬件支持的纹理压缩格式,如ASTC,ETC,ETC2,DXT等

纹理图集

  • 纹理图集是一系列小纹理图像的集合
  • 优点:1.采用共同纹理图集的多个静态网格资源可以进行静态合批处理,减少DC
                2.减少碎纹理,因为再一个图集中,可以通过压缩可以更有效的利用压缩,降低纹理的内存成本
  • 缺点:美术需要合理规划等等。制作和修改成本高

纹理过滤

  • NPF:临近点采样过滤最简单,计算量小的纹理过滤。但是再近距离观察,纹理会呈现块状
  • Bilinear Filtering:双线性过滤会对临近像素采样并进行插值化处理,对纹理像素进行着色。双线性过滤让像素看起来更平滑,但近距离观察是,纹理会变的模糊
  • TF:三线性过滤与BF相同部分外,还增加了Mipmap等级之间的采样差值混合,用来平滑过渡除Mipmap之间的明显变化
  • AF:各向异性过滤可以改善纹理在倾斜角度下的视觉效果。更适用于地表纹理

纹理mipmap

简单理解为纹理的LOD

  • 有点gpu不需要在远距离上对对象进行全分辨率纹理采样。提供纹理采样性能
  • 同时解决原距离下采样导致噪点的问题,提高纹理渲染质量
  • 缺点:mipmap纹理要生成低分辨率的副本,造成额外的内存开销

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值