[技术文章]UE4_Ramp生成器_仿原神皮肤Shader
原作者:大画渣
原文:https://zhuanlan.zhihu.com/p/248998437
前言:本文仅做心得分享,偏美术向审美向,不保证能适用于任何项目,不保证低性能消耗,不建议直接用在商业项目;本文也不是商业教程,也只能是尽量阐述制作过程和思路,不打包票能学会。
我只想白嫖源文件!!(直接拉到最下,别忘了点赞啊喂)
最近这两天原神上线了热度也很高,看着原神角色的皮肤shading(仅指身体脸部用的是其他方法),让我想起上一年在西山居的时候利用业余时间做过一个Ramp生成器和Ramp的一些shader,掏出来发个帖子厚颜无耻的蹭一波原神热度。


简单扯一下原理Ramp,大佬请跳过这一段,在卡通渲染里面Ramp是很常用的,原理其实也非常简单,先算一个半兰伯特,然然后把Ramp的某一行(uv.x)映射到半兰伯特上。而这张Ramp可以做一个从最软到最硬的一个渐变,如果效果需要我们甚至可以再顶点色或者贴图上去控制(uv.y)阴影在不同区域的软硬变化。

我们不单只可以映射到半兰伯特上,还可以映射到phong,GGX,kajiya-kay,Fresnel,等等等的光照模型。只要你算出一个灰度渐变,你想映射某一组颜色上去都是可以的。
一般的Ramp长这样

这样

或者这样

按照第二和第三张图的思路。其实就是横向是映射到半兰伯特上的,上下是控制软硬的。那么我们就可以先通过UV算出一个黑白如下图的渐变,

然后把他映射到UE自带的scurve上

然后我们把图bake下来重映射到半兰伯特上就可以得到如下图效果(这里重新调了曲线的颜色)
用ramp可以给美术同学做到指定色,可以让美术同学根据效果进行颜色调整

上文中有提到我们除了可以映射半兰伯特还以可以映射到kajiya-kay

现在把工具的历史版本和几个shading也一起放出,具体使用方法见附件里的 Ramp使用.doc以前是在4.18的版本做的,在4.18版本可以通过前向渲染在材质中获取阴影后面更新到4.23之后就不行了。感兴趣的同学可以自己在ShadingModel里复现一下,这里只提供个思路。


后记:日系卡通渲染其实是一个体系并不是一个shader一个模型就能搞定的 ,要是把这个shader套在一个写实角色的脑壳上一样是丑得一批,在设计,建模,修改法线,着色的全流程都得有一个完整的体系才能做得像那么一回事。
源文件下载:
链接:
https://pan.baidu.com/s/1s9Go3BlPs4bjHH-88TRL8Qpan.baidu.com
提取码:6666
传说级技美图形交流群:192946459
菜鸡技术美术互啄群:210766664
发布于 09-17
[技术文章]UE4_Ramp生成器_仿原神皮肤Shader
https://www.fylstudio.online/2020/12/31/[技术文章]UE4_Ramp生成器_仿原神皮肤Shader/

