美文网首页
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