前言
Lambert光照模型是经验模型,主要是用来模拟粗糙物体表面的光照现象。一束光入射到凹凸不平的物体表面,光线向四面八方被反射出去的现象叫漫反射。产生光的漫反射现象的表面物体叫理想漫反射物体,也叫Lambert反射体
知识储备
方向光:场景中一束平行的光源,有方向,有颜色,也有光的强度
法线方向:物体表面网格的法线方向
点积:也叫点乘,两个向量进行点乘计算,可以计算出a向量和b向量的位置关系,a·b=0,说明a点和b点的方向垂直,当a·b<0,则反之a点和b点在相反的方向,当a·b==1,则a点和b点在同一方向
创建Shader资产
打开ShaderForge界面,点击New Shader
选择Unlit无光照模型
首先我们需要将几何物体的法线方向数据节点创建,在空白处右键
接着在创建一个平行光的方向节点
最后创建一个点积的节点,将法线节点和平行光方向节点进行连线,连到A和B上
最后将这个点积的结果,也就是输出的节点连接到Main节点的Emission上
最后点击下Shader编译
创建材质
选择我们编辑好的Shader资产文件,右键创建一个材质球,将这个材质球赋值给一个球体
效果如下,可以看到球体表面的法线方向和平行光的入射方向,当球面表面的法线方向和光入射后反射的方向在同一方向时,光源的强度最大,反方向则几乎没有光源信息,垂直方向则光源强度较弱
Author:UnityCoyote
Email:501202461@qq.com
书山有路勤为径,学海无涯苦作舟!共勉,转载请注明出处。
文章链接:http://blog.csdn.net/wu5101608/article/details/115974067