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
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答023年以来,在版号审批、出海政策等影响下,新品游戏大量涌现,这也为游戏市场带来了一些新变量、新现象。
学习游戏开发班可以帮助游戏爱好者从零基础成为游戏开发专家,掌握全面的游戏开发技能。
火星时代教育为您提供专业的界面设计实战班,在实践中掌握界面设计的核心技巧和最新趋势,成为优秀的UI设计师。
了解UI交互设计培训的最佳选择,比较不同培训机构的优势和特点。
火星时代教育为您推荐专业的学影视后期培训机构,提供高质量的培训内容及资深导师指导,助您成为优秀的影视后期剪辑师或合成师。
火星时代教育是一家专注于交互设计培训的机构,为学员提供专业的交互设计培训课程,并帮助他们成为优秀的交互设计师。
1. 打开微信扫一扫,扫描左侧二维码
2. 添加老师微信,马上领取免费课程资源
同学您好!