US5L7——属性的特性

本章代码关键字

1
2
3
4
5
6
[HideInInspector]    // 从Inspector面板隐藏属性
[NoScaleOffset] // 让贴图属性在材质面板上隐藏纹理Tiling和​Offset选项
[Normal] // 检测关联的纹理贴图是否为法线贴图,如果不是法线,会弹出修复提示
[HDR] // 让2D纹理贴图或者颜色属性开启高动态范围(HDR)效果,使数值突破 1 的限制,常用于自发光属性
[Space] // 在某一个属性前添加一个空白行,如果填入数值,可以添加对应行数的空白行
[Header()] // 可以在材质属性面板上添加标题文字

属性的特性

所谓的属性的特性,就是在属性前加上一些类似特性的限制
让属性在 Inspector 窗口中进行 有限制的显示 或者 特殊的布局显示

常用的限制特性

  • 从 Inspector 面板隐藏属性 [HideInInspector]

    可以添加到任意属性前,是属性在材质面板上隐藏

    1
    2
    3
    4
    Properties
    {
    [HideInInspector] _MainTex("Texture", 2D) = "white" {}
    }

    显示效果:

    image

  • 不需要偏移和缩放 [NoScaleOffset]

    添加到 2D纹理贴图 属性前,可以让其在材质面板上隐藏纹理 Tiling​ 和 Offset​ 选项

    1
    2
    3
    4
    Properties
    {
    [NoScaleOffset] _MainTex("Texture", 2D) = "white" {}
    }

    显示效果:

    image

  • 限制法线贴图 [Normal]

    添加到 2D纹理贴图 属性前,可以检测关联的纹理贴图是否为法线贴图,如果不是法线,会弹出修复提示

    1
    2
    3
    4
    5
    Properties
    {
    [NoScaleOffset] _MainTex("Texture", 2D) = "white" {}
    [Normal] _Normal("Texture", 2D) = ""{}
    }

    显示效果:

    image

  • 开启 HDR 效果 [HDR]

    添加到 2D纹理贴图 或者 颜色 属性前,可以让属性开启高动态范围(HDR)效果,使数值突破 1 的限制,常用于自发光属性

    1
    2
    3
    4
    5
    6
    Properties
    {
    [NoScaleOffset] _MainTex("Texture", 2D) = "white" {}
    [Normal] _Normal("Texture", 2D) = ""{}
    [HDR] _Color("Color", Color) = (1, 1, 1, 1)
    }

    显示效果:

    image

常用的装饰性特性

  • [Space]​ 或 [Space(数值)]

    可以在某一个属性前添加一个空白行,如果填入数值,可以添加对应行数的空白行

    1
    2
    3
    4
    5
    6
    7
    8
    Properties
    {
    [NoScaleOffset] _MainTex("Texture", 2D) = "white" {}
    [Space]
    [Normal] _Normal("Texture", 2D) = ""{}
    [Space(10)]
    [HDR] _Color("Color", Color) = (1, 1, 1, 1)
    }

    显示效果:

    image

  • [Header(文本标题)]

    可以在材质属性面板上添加标题文字 (不可使用中文,可能会报错!)

    1
    2
    3
    4
    5
    6
    7
    8
    Properties
    {
    [Header(Main Texture)]
    [NoScaleOffset] _MainTex("Texture", 2D) = "white" {}
    [Header(Normal Texture)]
    [Normal] _Normal("Texture", 2D) = ""{}
    [HDR] _Color("Color", Color) = (1, 1, 1, 1)
    }

    显示效果:

    image