前言
LOL手游出来之后,我也是连续肛了一个月的排位,成功到达了黑铁一,特意逆向还原了我的本命英雄亚索庆祝一下。
言归正传,先看下还原效果以及原作真机上的表现:


图一为手游中的截图,图二是逆向后在unity中的效果,角色位置和摄像机的FOV是我自己调整的(是不是更帅一点)
分析工具选择
比较常用的有Intel GPA和Renderdoc,这都是目前主流的分析工具,对比之下:
基于第一点,我们选择使用RenderDoc进行分析

材质着色
Shader部分只能人肉翻译,分析后总结如下:
-
角色材质分为两个部分:角色服装和皮肤,头发。角色服装和皮肤使用的同一个材质,皮肤部分使用了贴图中专门一个通道存储皮肤遮罩,进行SSS计算,下面统称(角色服装和皮肤)为身体。 -
角色光照上没有走烘焙,走的是一盏实时平行光。间接高光采样了一张静态的matcap反射球(matcap:Ghost:MatCap原理介绍及应用)。SH光照(纠正为:在材质中使用了两个颜色进行模拟)。 -
身体和头发都做了两次渲染,头发做两遍渲染大家已经见惯不惯了,这里着重讲一下身体部分的两次渲染,第一遍是完整的渲染流程走不透明队列写入了深度,第二遍作为了透明物体同样关闭深度写入只渲染高光部分进行输出,混合模式设置成了Blend One One,用作于高光叠加效果,提升角色光感。 -
PBR高光部分,使用的是GGX BRDF。 -
头发是各向异性的表现效果,使用的是kajiya-Kay的BRDF进行扰动处理。

忽略巨大的缝隙线系列
总结
最后附一张运行起来的动图总结,现在不经常上CSDN,大家可以关注我的知乎账号,会定期更新技术美术相关文章。

我的知乎账号,欢迎大家关注 https://www.zhihu.com/people/wu-yan-zu-de-zu-83?
|