6.图片纹理高级参数

6.2D相关-图片导入设置-纹理高级参数设置


6.1 知识点

高级设置是设置什么

高级设置主要是纹理的一些尺寸规则、读写规则、以及MipMap相关设置

纹理高级参数设置讲解

Non-Power of 2 非2次幂

如果纹理尺寸非2的幂如何处理
为什么纹理要设置为2的N次方?
因为图形学规则,纹理必须是2的幂尺寸

None


纹理尺寸大小保持不变

ToNearest


将纹理缩放到最接近2的幂的大小(注意:PVRTC格式要求纹理为正方形)

ToLarger


将纹理缩放到最大尺寸大小值的2的幂的大小

ToSmaller


将纹理缩放到最小尺寸大小值的2的幂的大小

Read/Write Enabled 读/写已开启

启用可以使用Unity中提供的一些方法从纹理中获取到数据(一般需要获取图片数据时才开启)
需要代码获取图片数据再开启,不然会占内存

Streaming Mipmaps 流式Mipmaps


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

Mip Map Priority Mipmap优先级

Unity根据优先级来确定分配资源时优先考虑哪些Mipmap

Generate Mip Maps 生成MipMaps贴图

允许生成MipMap
开启后可以在下方图片栏滚动条调整MipMaps尺寸

2D游戏一般不启用,3D游戏看情况

Border Mip Maps 边框Mip贴图

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

Mip Map Filtering Mip贴图过滤

优化图像质量的过滤方法

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

Mipmap的Alpha通道在Alpha测试期间保留覆盖率

  • Alpha Cutoff Value Alpha 修剪值:覆盖率参考值
Fadeout Mip Maps 交叉淡化Mip贴图

级别递减时使Mipmap淡化为灰色

MipMap是什么

  • Mipmap是三维计算机图形中常用的一种贴图渲染技术。它通过预先计算和优化一系列图片来加快渲染速度,减少图像锯齿。这样的贴图被称为 mipmap,它需要占用一定的内存空间。

  • Mipmap 中每个层级的小图都是主图的一个特定比例的缩小细节的复制品。当贴图被缩小或从远处观看时,mipmap 会转换到适当的层级。这样可以提高渲染速度,减少实时渲染的负担,并使放大和缩小更有效率。

  • 例如,如果贴图的基本尺寸是 256x256 像素,它的 mipmap 就会有 8 个层级,每个层级是上一层级的四分之一大小。简单来说,开启 MipMap 功能后,Unity 会根据图片信息生成不同分辨率的图片,在场景中根据距离选择合适尺寸的图片用于渲染,提升渲染效率。

MipMap 总结:

  • Mipmapping 是三维计算机图形中常用的一种贴图渲染技术。
  • 它通过预先计算和优化一系列图片来加快渲染速度,减少图像锯齿。
  • Mipmap 中每个层级的小图都是主图的一个特定比例的缩小细节的复制品。
  • 当贴图被缩小或从远处观看时,mipmap 会转换到适当的层级,这样可以提高渲染速度,减少实时渲染的负担,并使放大和缩小更有效率。

6.2 知识点代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Lesson06_2D相关_图片导入设置_纹理高级参数设置 : MonoBehaviour
{
    void Start()
    {
        #region 知识点一 高级设置是设置什么?
        //高级设置主要是纹理的一些尺寸规则、读写规则、以及MipMap相关设置
        #endregion

        #region 知识点二 纹理高级参数设置讲解

        #endregion

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

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

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

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

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


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏