// Unity学习笔记
// 初学者,没太多编程基础,所以难免可能会有写错的地方,请见谅
官网教程链接http://unity3d.com/cn/learn/tutorials/topics/graphics/standard-shader?playlist=17102
还找到一篇关于Standard Shader写得超清楚的文章http://blog.csdn.net/poem_qianmo/article/details/49556461
Standard Shader是什么鬼:
(引自http://blog.csdn.net/poem_qianmo/article/details/49556461)
Unity5中重点推出了一套基于物理的着色(Physically Based Shading,PBS)的多功能Shader,叫做标准着色器(Standard Shader)。这套Shader的设计初衷是化繁为简。想用这样的一个多功能Shader,来代替之前多种多样的Shader各司其职,对于不同的材质效果,需要不同的Shader的局面。
Unity 5中目前有两个标准着色器,一个名为Standard,我们称它为标准着色器的标准版,另一个名为Standard(Specular Setup),我们称它为标准着色器的高光版,它们共同组成了一个完整的PBS光照明模型,且非常易于使用。其实这两个Shader基本差不多,只是有细微的属性参数上的区别。标准版这边的_Metallic(金属性)、_MetallicGlossMap(金属光泽贴图),被高光版的_SpecColor(高光颜色)、_SpecGlossMap(高光颜色法线贴图)所代替。
标准着色器主要是针对硬质表面(也就是建筑材质)而设计的,可以处理大多数现实世界的材质,例如石头、陶瓷、铜器、银器或橡胶等。同时,它也可以非常出色地处理一些非硬质表面的材质,例如皮肤、头发或布料等。
关于Standard Shader的意义:
(引自-http://blog.csdn.net/leonwei/article/details/48395061)
Unity5里面采用了一套全新的shader 叫做 standard shader,这套shader使用的就是基于物理的光照计算,而老的那些shaderUNITY已经不推荐使用,UNITY5认为我们大多数情况都应该使用standard shader。
Shader (着色器)在哪里?
打开一个material的Inspector,
最上面的一个属性就是Shader,
这里讲的就是其中的Standard和Standard(Specular setup)两种标准shader类型。
Standard Shader的属性设定
选好shader类型后,下面会出现对应的一些属性设定。
1. 最上面的是Rendering mode(渲染模式),有四个选项:
Opaque 不透明(普通的,没什么特殊效果的那种)
Cutout 我的理解是部分遮挡的(可能不太对)
Fade 渐隐(通过alpha通道可调整)
Transparent 半透明(通过alpha通道可调整)
*渐隐和半透明是不一样的,试试就知道了
2. 下面有两个map,main maps是主材质,Secondary maps是局部特殊材质。
main maps下的属性们:
Emission 物体自发光的颜色和程度
Normal map 凹凸程度
Height map 材质的高度
Detail mask 用于控制Secondary maps
来自http://my.oschina.net/u/138823/blog/181131的参考:
Albedo,是漫反射的颜色值。
Normal,法线坐标
Emission,自发光颜色
Specular,镜面反射系数
Gloss,光泽系数
Alpha,透明度系数
视频给出的一些示例
下图中,上面一行为Standard中的金属质感度从0到1,下面一行为Standard(Specular setup)的光滑度(镜面程度)从0到1
低光滑度反射的光更散,高光滑度反射的光更集中
用数值设定metallicc和smoothness的效果
用texture设定metallic和smoothness的效果
Secondary Maps用于添加局部的特殊纹理
2016.7.30 目前还只是对sheder和material很肤浅的理解