您的位置:首页 > 移动开发 > Unity3D

【Unity Shader】概述以及Diffuse shader和unity5新功能Standard shader

2016-01-23 21:45 260 查看
一:Diffuse shader介绍:

Diffuse,即漫反射,可以想象成太阳光照射到某一个粗糙平面时,该平面向四面八方都会反射光线,这些光线中的某些光线会进入我们的眼睛,从而使我们看到这个平面,。一个基本的漫反射光照模型,需要包括以下几个部分:

一个是反射颜色【emissive color,可以理解成片面本身的颜色】,一个环境光颜色【ambient color,可以理解成光光源的颜色】,以及计算来自所有光源的光线和。

1:创建一个基本的Surface Shader:

2:向Surface Shader添加properties

3:在Surface Shader中使用propertites

4:创建一个自定义的diffuse lighting model【蛮反射光照模型】

5:创建一个Half Lambert lighting model[亮度单位](半兰伯特光照模型)

6:创建一个ramp texture 来控制diffuse shading

7:使用2D ramp texture来创建一个假的BRDF(双向反射分布函数)

二:Standard Shader



<1>概述:

Unity5里面采用了一套全新的shader叫Standard Shader,它的使用几基于物理光照的计算,而老的那些shaderiy已经不在建议使用,玩家要求很高,肯定越真实越好,UNITY5认为我们大多数情况都应该使用standard
shader。对比其它shader可以明显的感觉到左侧的真实的多,这就是UNITY5给我们在图形质量上带来的提升。


除了standard shader之外,unity5还提供了一个Standard (Specular setup),两种反射光搭配在一起更加漂亮,主要区别在于,这个shader提供了一个和albedo不同的specular的颜色,也就是漫反射和高光反射的颜色分开,而对于前者albedo控制了漫反射和高光反射,并且认为更多的光是被高光反射了,UNITY文档说对于大多数效果这两种途径基本都可以表现,而选取那种取决于你的习惯



<2>参数意义:

Albedo: 这就是物体表面的基本颜色,在物理模型中相当于物体表面某处各子表面的散射颜色。

Metallic : 这相当于物理模型中的F(0),即物体表面和视线一致的面的对光线反射的能量,通常金属物体通常超过50%,大部分在90%,而非金属集中在20%以下,自然界中的物质很少有在20%-40%之间的(除非一些人造物体),正因为如此这个属性被形象的称谓metallic(金属感)

Smoonthness:这相当于物理模型中与实现一致的面占所有微面的比例,比例越大,物体越光滑,反之越毛糙,一定要区分这个和mettalic(metallic在描述对反射能量的强弱,smmothness描述表面的光滑程度),当然大所属情况下金属的smoothness都很高。

normal map:法线贴图

height map: 视差贴图,用于在法线贴图的基础上表现高低信息(法线只能表现光照强弱,而视察贴图可以增加物理上的位置的前后)

Occlution:遮挡占据贴图,用于模拟GI,物体在默写凹槽处由于受到光线的减少而显得暗,也就是自遮挡。

Emission:自发光,不过UNITY5的自发光可以在全局光照中当光源使用,非常好

secondary maps:第二道贴图

Detail Mask:对第二道贴图的mask
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: