Hello . 大家好,今天给大家带来从节点到代码分析光照模型“半兰伯特+Ramp”。
公式详解
这个是比较基础的光照模型,通过它,我们可以理解漫反射是怎么形成的,从而引入其他类型的光照模型和Rmap映射
我们先来回忆一下兰伯特公式:

上图公式可以得出,我们想要求出Cdiffuse,需要知道四个值
分别为:
Clight= 光源颜色
Mdiffuse= 材质的漫反射颜色
N= 表面法线
L= 光源方向的单位矢量
MAX为钳制值不可以超过1
由此我们引入我们再来看一下兰伯特光照模型的变种半兰伯特

由上图曲线得知,半兰伯特模型是在兰伯特的基础上乘0.5+0.5后得出的,就会得出一个背面不会一片死黑的光照模型

公式如上,可以回忆一下数学老师讲的图像
以下为节点实现方式:
基本思路就是套公式为主,通过World Light Dir获取到世界空间光的方向,获取到世界法线后点积,然后乘0.5+0.5
然后我这里拓展了一下,讲点积后的结果和灯光信息相乘,获得灯光颜色和强度后我们转到片源内计算,以便获得锯齿不是很明显的过渡(逐像素光照)
然后将光照模型传值给Ramp的UV,如下图,RampSkin是一个固定贴图,常用于配合半兰伯特渲染手游的角色。他是一个对比渐变类型的贴图,可以模拟出皮肤的透感。最后,我们加上环境光(ambient),输出即可。
这里要强调一点,一定要将Ramp的参数改为Clamp,否则会出现黑点。



节点图

代码部分,建议大家手撸一遍

最终效果:

由此,下期会为大家带来手游中3S皮肤的渲染与制作,感谢大家支持。
来源:Thepoly
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答3.精通材质贴图软件;精通各主流渲染器的设置;对主流引擎有一定了解并能还原美术效果6.简历内请附带作品资深角色模型师(CG向)......
鹿角部分我是通过在ZBrush中创建圆柱体,然后使用蛇形笔刷(SnakeHook)配合动态笔刷模式,把鹿角的大型制作出来期间对......
是的,常年被抢、上来缺口按几十个人算的,一定有角色动画专业!下面这家地处北京的制作公司表示,他们现在的主要业务是制作动画短剧、......
一样是入学时底子薄弱、但通过火星6个月课程学习获得较大提升,并顺利入职行业名企的学员案例这个专业的全称是“影视游戏3D模型大师......
全球年收入超10亿美刀的小程序游戏,正在疯狂招聘!附火星匹配专业
这里为大家整理了一组点点互动10月岗公开的热招岗位清单,主要是美术岗和技术岗,分校招和社招两组,感兴趣的同学可以尝试投递社招·......
上班啦!上班啦!又是替同学开心的一天!这位同学因为大学还没有正式毕业,所以目前是以实习生身份入职腾娱!等拿到大学毕业证的时候,......
同学您好!