今天没吃药 感觉自己萌萌哒~~

链接:https://www.fylstudio.online/2020/12/31/[%E6%8A%80%E6%9C%AF%E6%96%87%E7%AB%A0]UE4_Ramp%E7%94%9F%E6%88%90%E5%99%A8_%E4%BB%BF%E5%8E%9F%E7%A5%9E%E7%9A%AE%E8%82%A4Shader/

[技术文章]UE4_Ramp生成器_仿原神皮肤Shader


原作者:大画渣
原文:https://zhuanlan.zhihu.com/p/248998437

前言:本文仅做心得分享,偏美术向审美向,不保证能适用于任何项目,不保证低性能消耗,不建议直接用在商业项目;本文也不是商业教程,也只能是尽量阐述制作过程和思路,不打包票能学会。

我只想白嫖源文件!!(直接拉到最下,别忘了点赞啊喂)

最近这两天原神上线了热度也很高,看着原神角色的皮肤shading(仅指身体脸部用的是其他方法),让我想起上一年在西山居的时候利用业余时间做过一个Ramp生成器和Ramp的一些shader,掏出来发个帖子厚颜无耻的蹭一波原神热度。

img

img

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

img

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

一般的Ramp长这样

img

这样

img

或者这样

img

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

img

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

img

然后我们把图bake下来重映射到半兰伯特上就可以得到如下图效果(这里重新调了曲线的颜色)

用ramp可以给美术同学做到指定色,可以让美术同学根据效果进行颜色调整

img

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

img

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

img

img

后记:日系卡通渲染其实是一个体系并不是一个shader一个模型就能搞定的 ,要是把这个shader套在一个写实角色的脑壳上一样是丑得一批,在设计,建模,修改法线,着色的全流程都得有一个完整的体系才能做得像那么一回事。

源文件下载:

链接:

https://pan.baidu.com/s/1s9Go3BlPs4bjHH-88TRL8Qpan.baidu.com

提取码:6666

传说级技美图形交流群:192946459

菜鸡技术美术互啄群:210766664

发布于 09-17

技术美术

原神(游戏)

虚幻 4(游戏引擎)

作者

大画渣

发布于

2020-12-31

更新于

2021-03-19

许可协议