前言
最近《幻兽帕鲁》很火,所以想截个帧看看开发商的诚意如何,以及后续迭代的可能性(毕竟开发商可是给我们画了大饼的啊)。另外,关于什么全AI生成的传言,大家截帧看看不就知道了,分析的不是很全面,有什么想法欢迎一起讨论;
截帧环境
截帧软件:GPA
游戏版本:0.13
截帧机器:9代i7 + RTX3080 + 64g内存 + 固态硬盘
概览
虚幻引擎的优势
首先,不得不说,虚幻引擎做游戏的下限是很高的,从截帧分析来看,《幻兽帕鲁》制作组在没有魔改引擎管线(几乎,不敢百分百确定)的情况下还是达到了一定的画面效果。
所以,把虚幻使用起来搭建游戏还是不难的,帕鲁团队人也不多,不也弄出来个能玩的游戏了。(只不过从用起来到用好,有一条很陡峭的曲线,其中的坑坑洼洼要踩过才知道,从用好到魔改,又是一条陡峭的曲线)
渲染方案的选择
虚幻下限是很高,但是很多虚幻5的新特性制作组确实也没用哈,下面是从截帧分析来看制作组渲染方案的选择(个人推测):
- • 阴影:级联阴影+距离场阴影(没用虚幻5的VSM)
- • 地表:没用虚幻5的RVT+SVT
- • 光照:没用虚幻5的Lumen
- • 遮挡剔除:关掉了虚幻的硬件遮挡查询
- • 天空:2d静态天空(没用虚幻5的体积云)
- • 水体:用了虚幻的SingleLayerWater
- • LOD:最远一级用了虚幻的HLOD
- • 模型:没有用虚幻5的Nanite(不确定)
不是说从虚幻4升到虚幻5就一定要用上所有的虚幻5新特性,但你啥也不用也太….
从另一个角度来说,未来有很大的发展空间啊!
美术制作
晚上很多传言说制作组用了全AI生成,日本的AIGC已经那么发达了吗?还是说制作组是有什么秘密武器?想想也是不可能的,你说某些简单的2DUI或者场景原画有AI的参与(不能确定)我还能信,全AI生成就太离谱了
而且截帧下来发现,很像是人做的啊,甚至很多资源像是商城买的改改就用了捏
- • 帕鲁:所有的帕鲁都没有LOD,而且无论多远都写入CustomDepth,同屏帕鲁越多,面数就越爆炸;
- • 地表:近处52w面的地表,为啥?
- • 石头:面数参差不齐,且性能消耗和画面效果不对等;有些明明对画面没啥贡献的地方,可以搞出8w面的石头堆,石头加地表轻轻松松上百万面,但是肉眼感觉根本不需要这么高的面数
- • 树木:三级LOD,最后一级公告板,常规操作
综上:
感觉美术把控没有一个统一的标准,至少做帕鲁的美术和做场景的美术,他们的标准是差别很大的
制作组还有做手游的想法,感觉这些资源还是要花很多时间整理,才可以达到手游标准
其他小问题
另外,这个游戏怎么说了,小问题还挺多的
天空盒裂缝:
河流拼接裂缝:
退出后莫名奇妙的Crash(他们甚至为虚幻的Crash界面定制了自己的图标):
具体分析
地表
首先,他们没有用RVT和SVT,再次对他宣称使用虚幻5引擎产生怀疑
关于他们的地表:
- 他们的地表是有LOD的,但是近处的地表面数**达到了惊人的520200面(52万面)**有没有懂哥分析一下为啥?
- 权重图:两张8个通道全部用上,共八层权重
- 高度图:一张
捏脸场景
制作组偷懒,其实没有专门的场景,当你进入捏脸时,已经把整个世界load进来了,就是拿UI遮住了而已
遮挡剔除方案
幻兽帕鲁没有使用虚幻的硬件遮挡查询方案,而是开了分层Z缓冲遮挡查询(Hierarchical Z-Buffer Occlusion),这个HZB数据后续还会被SSR用到,关于虚幻遮挡剔除,可以参考文章:
[1]
阴影方案
从截帧来看,至少是开了级联阴影+距离场阴影的,但是做为一款宣称虚幻5开发的游戏,他们并没有使用虚幻的虚拟阴影贴图(VSM)
级联阴影切换及阴影距离:
光照方案
是延迟渲染管线,做为一款宣称虚幻5开发的游戏,他们并没有使用lumen(没有看到Lumen的pass)
Light Function
他们用了LightFunction来模拟云的阴影流动(但是实际上他们的云是2D静态云)
天空方案&TOD方案
最基础的2D静态天空方案,虚幻默认就有提供
TOD(Time of Day)也比较基础:
用一张图的三个通道分别存放早中晚三个时段的云层分布图(根据肉眼观察,三个图的切换是硬切的)
黄昏云层的渐变颜色用的一张贴图采样
夜晚星空用的一张4k*2k图
水体方案
水体
用的虚幻的SingleLayerWater,没有根据法线的偏移(水面是平的)
涟漪&浮沫
在半透阶段画了角色游泳产生的涟漪和浮沫
瀑布
同样是在半透阶段,猜测是用这两张贴图简单的做了个UV流动
水面反射
用了SSR,第一次觉得SSR的效果这么差
石头
普通石头
资源乱飞的重灾区,有100面的石头,也有8w面的石头,貌似没有一个统一的美术标准呢
但是你说他没有规范吧,他又有点规范:
至少他的三级LOD,以及最后一级LOD自动合批是每个基本上石头资源都遵循的
关于贴图:
基色贴图:基色+法线+粗糙度金属度,都是1k图
细节贴图:基色+法线,都是1k图
LOD0 | LOD1 | LOD2 | |
面数 | 6018 | 1926 | 722 |
贴图 | 9 * 1K | 9 * 1K | 9 * 1K |
可交互石头
游戏中存在那种可交互的石头,也就是各种可采集的矿产
由于这些石头可交互,贴图精度也比普通石头高一点,达到2k
LOD0 | LOD1 | LOD2 | |
面数 | 7660 | 2298 | 920 |
贴图 | 3 * 2K | 3 * 2K | 3 * 2k |
远处石头
做为最远一级LOD,因该是虚幻原生的HLOD
勾边
可交互石头是有勾边的,勾边出现的逻辑为:
- 当角色离勾边物体一定范围,并且视角中心指向该物体
- 该物体才会写入CustomDepth
- 最后应该是通过CustomDepth和StencilTest的方式实现了勾边
树木
普通环境树
LOD: 3级
贴图:LOD0和LOD1用的同一套贴图
**贴图(树干)**:一套512*2048的贴图(基色+法线+其他),这个贴图说实话有点搞笑
**贴图(树枝)**:一套2k图
公告板:最后一级LOD会将多课树合批,每棵树用三视图拍照,最终合成一张图
LOD0 | LOD1 | LOD2 | |
面数 | 2.3w(1.7w树干 + 0.6w树枝) | 约1400面 | 公告板 |
贴图 | 512*2048 * 3 + 2k * 3 | 512*2048 * 3 + 2k * 3 | 4k * 1 |
世界树
这个世界树看着像公告板,实际上是模型来的
帕鲁
目前所有的帕鲁都没有发现有任何的LOD,而且一些巨型的帕鲁只有1w多面,反而小型的帕鲁有8k面
另外,所有的帕鲁都写入了CustomDepth,具体为了做什么功能,有无懂哥推测下
森猛犸
鸡哥
喵喵
人物
没啥可说的
以上,欢迎讨论
引用链接
[1]《[UE5] 遮挡剔除 源码阅读》
https://zhuanlan.zhihu.com/p/666990648
太细了我的哥