目录:Unity Shader - 知识点目录(先占位,后续持续更新)
原文:Specular mode: Specular parameter
版本:2019.1
Specular mode: Specular parameter
Specular parameter
高光参数只在Specular setup的标准着色器中可见,如上图Shader项所示。高光本质上是反射场景中的光源,物体表面会显示比较亮的光点。
Specular Setup与Metallic setup(Standard)模式可以实现高光效果,所以根据个人喜好来选择。在Specular setup模式你可以直接控制高光的亮度和色调,在Metallic setup模式你可以控制其他的高光的强度与反射强的。
在Specular Shader模式下,Specular参数RGB(注意:Alpha没用)可控制高光的强度与高光反射的色调。这里反射的内容可以是光源和环境内容(Skybox)。Smoothness参数控制反射的清晰度。smoothness值越小,反射的内容越模糊。值越高,高光反射越清晰。
高光Smoothness值从0.0~1.0
你可能想调整材质来实现不一样的高光,如:你有一张包含了角色衣服带有一些闪亮光滑纽扣的纹理。你想这些纽扣比起衣服织物这些质料拥有更高光的效果。为了实现这点,可使用纹理贴图而不是一个数值(滑动器的数值)。这将允许通过材质中的specular贴图的像素颜色来控制物体表面的反射强度和色调。
当你设置了Specular纹理参数,Specular数值和Smoothness滑动器都将会不显示(但我测试后,法案现Smoothness滑动器还是显示的,估计是版本不一样)。材质的高光程度将有纹理的RGB通道控制,纹理中alpha通道将替代的源Smoothness的作用来控制平画度(注意,现在的版本是:Smoothness参数在设置了Specular纹理参数后,该Smoothness参数任然还在的)。这就提供了一个纹理来定义粗糙或是平画,还有高光的强度与色调。这对于一个模型上想要实现多个部位有不一样的效果是非常有用,如,一张纹理通常包含了多个表面需要的设置,如:皮革鞋,衣料织物,手和脸上的皮肤,还有金属纽扣,等。
如:一个1000kg重量的金属物体,在有一个方向光下带有强高光反射效果。
在这,高光反射度与平滑度都控制于一个颜色值和Smoothness(平滑度)的滑动器值。在没有纹理设置下,因此所有的表面将都是一样的高光反射度与平滑度。这种方式通常会不适合,特别是再你设置了Albedo纹理映射到了模型的其他区域。
同一个模型,但使用了specular贴图设置,而不是一个应用于正个模型所有平面的常数值。
这里,用了一个纹理来控制高光反射度与平滑度。这将允许模型的一些表面有不一样的高光反射效果。注意边缘的地方比中间的地方反射效果会更强一些,有些颜色对应着高光效果,如:整个面积中间部位的那些字,就没有高光效果了。右边的图片的RGB通道控制着高光的颜色和强度,该图片的Alpha通道控制着平滑度(注意,现在版本就不用Alpha通道控制了,因为就算使用了Specular纹理,Smoothness参数还是显示着,可以设置的,着就对Specular纹理的要求不用带Alpha通道的即可)。
注意:高光颜色中的RGB(0,0,0)对应着没有任何的反射效果。