手游逆向专题<英雄联盟手游>: Unity内还原亚索渲染效果

4 篇文章 2 订阅
4 篇文章 1 订阅

前言

LOL手游出来之后,我也是连续肛了一个月的排位,成功到达了黑铁一,特意逆向还原了我的本命英雄亚索庆祝一下。

言归正传,先看下还原效果以及原作真机上的表现:

图一为手游中的截图,图二是逆向后在unity中的效果,角色位置和摄像机的FOV是我自己调整的(是不是更帅一点)

分析工具选择

比较常用的有Intel GPA和Renderdoc,这都是目前主流的分析工具,对比之下:

  • 模型:GPA抓取的模型只能存obj格式,uv和切线数据需要另外从VBV顶点缓存中导出再进行与模型合并,Renderdoc可以直接导出FBX带齐UV和切线数据。

  • 贴图以及材质Shader:GPA和Renderdoc都能获取。

基于第一点,我们选择使用RenderDoc进行分析

材质着色

Shader部分只能人肉翻译,分析后总结如下:

  • 角色材质分为两个部分:角色服装和皮肤,头发。角色服装和皮肤使用的同一个材质,皮肤部分使用了贴图中专门一个通道存储皮肤遮罩,进行SSS计算,下面统称(角色服装和皮肤)为身体。

  • 角色光照上没有走烘焙,走的是一盏实时平行光。间接高光采样了一张静态的matcap反射球(matcap:Ghost:MatCap原理介绍及应用)。SH光照(纠正为:在材质中使用了两个颜色进行模拟)。

  • 身体和头发都做了两次渲染,头发做两遍渲染大家已经见惯不惯了,这里着重讲一下身体部分的两次渲染,第一遍是完整的渲染流程走不透明队列写入了深度,第二遍作为了透明物体同样关闭深度写入只渲染高光部分进行输出,混合模式设置成了Blend One One,用作于高光叠加效果,提升角色光感。

  • PBR高光部分,使用的是GGX BRDF。

  • 头发是各向异性的表现效果,使用的是kajiya-Kay的BRDF进行扰动处理。

忽略巨大的缝隙线系列

总结

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

我的知乎账号,欢迎大家关注icon-default.png?t=LBL2https://www.zhihu.com/people/wu-yan-zu-de-zu-83 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值