U3L2-1——参数设置—纹理类型

纹理类型

设置纹理类型主要是为了让纹理图片有不同的主要用途
指明其是用于哪项工作的纹理

贴图类型 Texture Type 参数相关

一些纹理类型的参数过多,需要放在专门的内容下记录,并在这里引用

image

  • Texture Type:纹理类型

    • Default
      默认纹理,大部分导入的模型贴图都是该类型
    • Normal map
      法线贴图格式
    • Editor GUI and Legacy GUI
      一般在编辑器中或者GUI上使用的纹理
    • Sprite(2D and UI)
      2D游戏或者UGUI中使用的格式
    • Cursor
      自定义光标
    • Cookie
      光源剪影格式
    • Lightmap
      光照贴图格式
    • Single Channel
      纹理只需要单通道的格式

Default

默认纹理,大部分导入的模型贴图都是该类型,关于模型贴图的使用具体详见:US3S2L1——纹理颜色采样

image

  • Default - 默认纹理,大部分导入的模型贴图都是该类型

    • sRGB(Color Texture):启用可以将纹理存储在伽马空间中
      (对每一个像素做一次幂函数运算)

      • 详细内容如下图
    • Alpha Source:指定如何生成纹理的Alpha通道(透明度通道)

      • None:无论输入纹理是否有Alpha通道,导入的纹理都没有Alpha通道
      • Input Texture Alpha:输入纹理中的Alpha
      • From Gray Scale:从输入纹理RGB值的平均值生成Alpha
    • Alpha Is Transparency:启用可以避免边缘上的过滤瑕疵

线性和伽马颜色空间

来自:颜色空间 - Unity 手册

人眼对光强的反应不呈线性。我们在观察光时会发现一些亮度比另一些亮度更容易看到,即从黑到白的线性渐变在我们人眼中不是线性渐变的。

image
左:理想中的线性黑白渐变。右:人眼对该渐变的实际感知情况。注意每种情况下界限(正好是中灰色)与渐变相融合的位置

由于历史原因,监视器和显示器具有相同的特性。向监视器发送线性信号会导致看起来像上图右侧的渐变,人眼观察感觉是错误的。
为了弥补这一点,需要发送经校正的信号来确保监视器能够呈现出看起来自然的图像。这种校正称为伽马校正。

伽马和线性颜色空间同时存在的原因是,光照计算应该在线性空间中进行,以便确保数学上的正确性,
但结果应该在伽马空间中呈现以便让人眼看起来正确。

在帧缓冲格式限制为每通道 8 位的旧硬件上,计算光照时使用伽马曲线可在人类可感知的范围内提供更高的精度。
在人眼最敏感的范围内,使用的位数最多。

即使当今的监视器是数字显示器,它们仍然采用伽马编码信号作为输入信号。
图像文件和视频文件显式编码到伽马空间(这意味着它们带有伽马编码值,而不是线性强度)。这便是标准;一切数值都在伽马空间内。

伽马空间的公认标准称为 sRGB(请参阅 sRGB色彩空间 - 维基百科,自由的百科全书 (wikipedia.org)(可能需要加速工具))。
该标准定义了它与线性空间之间的一个映射,使得人眼能充分利用 8 位/通道的精度。

也就是说:伽马颜色空间是基于线性颜色空间使用伽马曲线修正了输入到显示的颜色值,使得显示器能够显示更符合人眼观察的图像
线性渲染指的是渲染场景的过程,此情况下的所有输入都是线性的,没有经过伽马校正以适合人眼观察或输出到显示器,它更适用于计算颜色相关。

Normal map

法线贴图格式,关于法线贴图的具体使用详见:US3S2L4——凹凸纹理基本概念 及其之后的课程

image

  • Normal map - 法线贴图格式

    • 法线贴图就是在原物体的凹凸表面的每个点上均作法线
      法线就是垂直于某个点的切线的方向向量
      image

    • Create From Grayscale:启用后可以从灰度高度贴图创建法线贴图

      勾选后会出现如下的参数:

      image

      • Bumpiness(颠簸值):控制凹凸程度

      • Filtering(过滤模式):决定凹凸程度的算法

        image

        • Sharp:滤波生成法线
        • Smooth:平滑的生成法线
    • Bumpiness:控制凹凸程度,值越大凹凸感越强

    • Filtering:如何计算凹凸值

      image

      • Smooth:使用标准算法生成法线贴图
      • Sharp:生成比标准模式更锐利的法线贴图

Sprite(2D and UI)

2D游戏或者UGUI中使用的格式

image

  • Sprite(2D and UI) - 2D游戏或者UGUI中使用的格式

    • Sprite Mode:图像中提取精灵图形的方式

      • image
      • Single:按原样使用精灵图像
      • Multiple:瓦片模式,如果是图集,使用该选项,可以在Sprite Editor编辑窗口自定义图片
      • Polygon:网格精灵模式
    • Pixels Per Unit:世界空间中的一个距离单位对应多少像素

    • MeshType:网格类型;只有Single和Multiple模式才支持

      • image
      • Full Rect:创建四边形,将精灵显示在四边形上
      • Tight:基于像素Alpha值来生成网格,更加贴合精灵图片的形状
        任何小于32*32的精灵都使用FullRect模式,即使设置成Tight模式也是
    • Extrude Edges:使用滑动条确定生成的网格中精灵周围流出的区域大小

    • Pivot:精灵图片的轴心点,Single模式才有此选项
      对应九宫格布局的九个点,还可以自定义

      image

    • Generate Physics Shape:启用此选项,Unity会自动根据精灵轮廓生成默认物理形状
      只有Single 和Multiple模式才可使用

    • Sprite Editor:编辑Sprite,需要安装2D Sprite包,之后单独讲解

光源剪影格式

image

  • Cookie - 光源剪影格式

    • Light Type:应用的光源类型
      一般点光源的剪影需要设置为立方体纹理
      方向光和聚光灯的剪影设置为2D纹理

      • image
      • Spotlight:聚光灯类型,需要边缘纯黑色纹理
      • Directional:方向光,平铺纹理
      • Point:点光源,需要设置为立方体形状

Single Channel

纹理只需要单通道的格式

image

  • Single Channel - 纹理只需要单通道的格式

    • Channel:希望将纹理处理为Alpha还是Red通道

      • image
      • Alpha:使用Alpha通道,不允许进行压缩
      • Red:使用红色通道