pass{ Color, Material, Lighting }
下面是Pass 通道里面的语法,主要是在Material Block描述这些设置,细节如下:
- Color :设定对象的纯色。颜色即可以是括号中的四值(RGBA),也可以是被方框包围的颜色属性名
- Material { Material Block }:材质块被用于定义对象的材质属性。
- Lighting On | Off:定义材质块中的设定是否有效,你必须使用Lighting On 命令开启光照,而颜色则通过Color命令直接给出。
- SeparateSpecular On | Off:这个命令会添加高光光照到着色器通道的末尾,因此贴图对高光没有影响。只在光照开启时有效。
- ColorMaterial AmbientAndDiffuse | Emission:使用每顶点的颜色替代材质中的颜色集。AmbientAndDiffuse 替代材质的阴影光和漫反射值;Emission 替代 材质中的光发射值。
关于 材质块(Material Block)里面的 语法
- Diffuse Color:漫反射颜色构成。这是对象的基本颜色。
- Ambient Color:环境色颜色构成.这是当对象被RenderSettings. 中设定的环境色所照射时对象所表现的颜色。
- Specular Color:对象反射高光的颜色。
- Shininess Number加亮时的光泽度,在0和1之间。0的时候你会发现更大的高亮也看起来像漫反射光照,1的时候你会获得一个细微的亮斑。(比1大也是可以的)
- Emission Color:自发光颜色,当不被任何光照所照到时,对象的颜色
Examples 示例
Shader "VertexLit" {
Properties {
_Color ("Main Color", Color) = (1,1,1,0)
_SpecColor ("Spec Color", Color) = (1,1,1,1)
_Emission ("Emmisive Color", Color) = (0,0,0,0)
_Shininess ("Shininess", Range (0.01, 1)) = 0.7
_MainTex ("Base (RGB)", 2D) = "white" {}
}
SubShader {
Pass {
Material {
Diffuse [_Color]
Ambient [_Color]
Shininess [_Shininess]
Specular [_SpecColor]
Emission [_Emission]
}
Lighting On
SeparateSpecular On
SetTexture [_MainTex] {
Combine texture * primary DOUBLE, texture * primary
}
}
}
}