Unity入门 - Standard Shader

// 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

Unity入门 - Standard Shader_第1张图片

低光滑度反射的光更散,高光滑度反射的光更集中

Unity入门 - Standard Shader_第2张图片

用数值设定metallicc和smoothness的效果

Unity入门 - Standard Shader_第3张图片

用texture设定metallic和smoothness的效果

Unity入门 - Standard Shader_第4张图片
Unity入门 - Standard Shader_第5张图片

Secondary Maps用于添加局部的特殊纹理

Unity入门 - Standard Shader_第6张图片
Unity入门 - Standard Shader_第7张图片

2016.7.30 目前还只是对sheder和material很肤浅的理解

你可能感兴趣的:(Unity入门 - Standard Shader)