美文网首页
UnityShader学习——入门基础(1)

UnityShader学习——入门基础(1)

作者: Cheney_ | 来源:发表于2022-07-07 10:59 被阅读0次

    Shader "Custom/shaderOne"

    {

        properties{  //可配置调整颜色参数

    _Color("Main Color",color)=(1,1,1,1)

    _Ambient("Ambient",color)=(0.3,0.3,0.3,0.3)

    _Specular("Specular",color)=(1,1,1,1)

        _Shininess("Shininess",range(0,8))=4  //range范围

    _Emission("Emission",color)=(1,1,1,1)

    _MainTex("MainTex",2d)=""{ }  //纹理混合texgen objectlinear

    _SecondTex("SecondTex",2d)=""{}

    _Constant("ConstantColor",color)=(1,1,1,0.3)

    }

        SubShader

        {

    Tags { "Queue" = "Transparent" }  //更改渲染队列 Unity帮助文档可查subShader Lab

    //必须使用pass命令去编写一个渲染通道

            pass{

    Blend SrcAlpha OneMinusSrcAlpha  //半透明显示

    //描述颜色信息

    //color(1,0,0,1)  //红,绿,蓝,Alpha

    //color[ _Color]  //[]代表是一个参数值,不是一个固定值

    material{  //材质命令块

    diffuse[_Color]  //材质漫反射颜色,材质本身颜色

    ambient[_Ambient]  //环境光

    specular[_Specular]  //高光

    shininess[_Shininess]  //浮点值,决定被高光反射的部分区域,越光滑值越高

    emission[_Emission]  //自发光

    }

    lighting on  //启用光照

    separatespecular on  //光滑

    settexture [_MainTex]{  //纹理,一个settexture只能带上一个参数

    combine texture *primary double //合并纹理,primary代表前面计算了所有材质和光照之后的颜色 ,double 代表颜色值*2 ,quad代表颜色值*4

    }

    //第二张纹理

    settexture [_SecondTex]{  //纹理,一个settexture只能带上一个参数

    constantColor[_Constant]  //恒定颜色

    combine texture*previous double,texture*constant

    //combine texture *previous double ,texture*constant  //合并纹理,previous表示用当前采样到的纹理去采样之前所有计算和采样后的结果    透明化处理,镂空效果 ,texture==Alpha通道处理

    }

    }

        }

    }

    相关文章

      网友评论

          本文标题:UnityShader学习——入门基础(1)

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