美文网首页
Unity Shader学习

Unity Shader学习

作者: Rain_简 | 来源:发表于2020-04-01 15:55 被阅读0次

    Unity Shader属性

    [Attribute]_Name ("Display Name",Type) = Default Value

    Properties

    {

    [HDR]_Color("Color", Color) = (1,1,0,1)

    }

    Attribute

    属性标记,就是Unity内置的几个属性标记关键字,可以不添加

    _Name

    属性的名称,也就是变量名,在Shader的CG代码中就是通过这个名称来调用此属性内容的。

    Display Name:

    显示在材质面板上的名称,主要起到说明解释的作用。

    Type

    属性的类型,常用的有以下几种:

    Color颜色

    Int整数

    Float浮点数

    Vector四维数

    2D纹理

    3D纹理

    Cube立方体纹理

    属性的几种使用:

    _Color("我是Color", Color) = (1,1,1,1)

    [HDR]_Color("Color", Color) = (1,1,0,1)   (HDR可以使颜色亮度的值超过1)

    _Int("我是Int", Int) = 1

    _Float("我是Float", Float) = 0.5

    _Float("我是Float", Range( 0 , 1)) = 0.5 (将浮点数限制在一个可以通过滑动条来选择的一个区间)

    [PowerSlider(3)]_Float("我是Float", Range( 0 , 1)) = 0.5   (PowerSlider (Value))其中Value的值我们可以自由定义,支持浮点数,值越大会导致                                                                                                 滑条的曲度变化越大,值为1时不改变。)

    [IntRange]_Float("我是Float", Range( 0 , 1)) = 1   (在材质面板上拖动时就只能生成整数了)

    [Toggle]_Float("我是Float", Range( 0 , 1)) = 1

    [Enum(UnityEngine.Rendering.CullMode)]_Float("我是Float", Float) = 1

    _Vector("我是Vector", Vector) = (0,0,0,0)

    _MainTex("我是2D纹理", 2D) = "white" {}

    [NoScaleOffset]_MainTex("我是2D纹理", 2D) = "white" {}      (不显示Tiling (贴图重复度)Offset (贴图偏移值))

    [Normal]_MainTex("我是2D纹理", 2D) = "white" {} (必须是法线贴图)

    _MainTex("我是3D纹理", 3d) = "" {}

    _MainTex("我是Cube纹理", CUBE) = "" {}

    [Header(This is Header )]_Int("我是Int", Int) = 1   (在材质面板上进行标注,通常用作分类组别用,注意只支持英文、数字、空格以及下划线。)

    相关文章

      网友评论

          本文标题:Unity Shader学习

          本文链接:https://www.haomeiwen.com/subject/hgjdwftx.html