U3L2-3——参数设置—高级设置

高级设置

高级设置主要是纹理的一些尺寸规则、读写规则、以及((20230727202142-rh7uodr “MipMap”))相关设置

MipMap是什么

在三维计算机图形的贴图渲染中有一个常用的技术被称为Mipmapping。
为了加快渲染速度和减少图像锯齿,贴图被处理成由一系列被预先计算和优化过的图片组成的文件,这样的贴图被称为mipmap
Mipmap 需要占用一定的内存空间

Mipmap中每一个层级的小图都是主图的一个特定比例的缩小细节的复制品
虽然在某些必要的视角,主图仍然会被使用,来渲染完整的细节。
但是当贴图被缩小或者只需要从远距离观看时,mipmap就会转换到适当的层级

因为mipmap贴图需要被读取的像素远少于普通贴图,所以渲染的速度得到了提升。
而且操作的时间减少了,因为mipmap的图片已经是做过抗锯齿处理的,从而减少了实时渲染的负担
放大和缩小也因为mipmap而变得更有效率。

如果贴图的基本尺寸是 256*256 像素的话,它mipmap就会有8个层级。
每个层级是上一层级的四分之一的大小
依次层级大小就是:128*128;64*64;32*32;16*16;8*8;4*4;2*2;1*1(一个像素)

说人话,开启MipMap功能后,Unity会帮助我们根据图片信息生成n张不同分辨率的图片
在场景中会根据我们离该模型的距离选择合适尺寸的图片用于渲染,提升渲染效率

参数相关

不同的贴图类型其参数也不同,这里只讲在参数设置—纹理类型中未讲过的参数

image

  • Non-Power of 2:如果纹理尺寸非2的幂如何处理

    为什么纹理要设置为2的N次方:因为图形学规则,纹理必须是2的幂尺寸

    • None:纹理尺寸大小保持不变
    • To nearest:将纹理缩放到最接近2的幂的大小
      (注意:PVRTC格式要求纹理为正方形)
    • To larger:将纹理缩放到最大尺寸大小值的2的幂的大小
    • To smaller:将纹理缩放到最小尺寸大小值的2的幂的大小
  • Read/Write Enabled:启用可以使用Unity中提供的一些方法从纹理中获取到数据(一般需要获取图片数据时才开启)

  • Streaming Mipmaps:启用则可以使用纹理串流,主要用于在控制加载在内存中的Mipmap级别,用于减少Unity对于纹理所需的内存总量,用性能换内存

    • image
    • Mip Map Priority:Mipmap优先级
      Unity根据优先级来确定分配资源时优先考虑哪些Mipmap
  • Generate Mip Maps:允许生成MipMap

    • Border Mip Maps:启用可避免颜色向外渗透到较低MIP级别的边缘

    • Mip Map Filtering:优化图像质量的过滤方法

      • Box:随着尺寸减小,级别更加平滑
      • Kaiser:随着Mipmap尺寸大小下降而使用的锐化算法,如果远处纹理太模糊,可以使用该算法
    • Mip Maps Preserve Coverage:Mipmap的Alpha通道在Alpha测试期间保留覆盖率

      • Alpha Cutoff Value:覆盖率参考值
    • Fadeout Mip Maps:级别递减时使Mipmap淡化为灰色