栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > Unity3D

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

Unity3D 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

前言

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,大家可以关注我的知乎账号,会定期更新技术美术相关文章。

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/900596.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号