Unreal Fest 2023

时隔3年终于又有线下的技术分享大会了,这几年UE的技术发展确实很快, 这次有机会来参加UE的技术分享还是挺开心的。

第一天前两场都是老外的开场,介绍UE5的新功能,这些官网都有详细介绍,其中比较有意思的是UEFN平台,是堡垒之夜Mod编辑器加分享平台,可以利用堡垒之夜的资源制作自己的玩法、关卡提供给其他玩家玩。平台也提供推广、付费分成这些。UGC确实是一个风口,Epic在这方面也是通过UEFN平台在发力。

《 基于虚幻引擎的数字孪生开发平台客户端搭建 》

因为A区索尼在卖广告,就跑来B区听了,意外发现很有意思。现在制造业里面不仅会使用UE来做一些产品展示,还会通过图像识别或者在生产线中加装传感器来收集各种数据,然后在UE里面还原一个生产(监控)现场,再利用游戏引擎自带的碰撞体或者其他Trigger机制来触发他们关心的各种事件,配合蓝图来做后续各种控制。这就好比现实工厂是服务端,产生逻辑数据(或操作),UE作为客户端同步构建现场,再触发各种事件以后通知回服务器(工厂)。分享里还举一个状态同步及一个帧同步的例子。状态同步就是通过图像识别获取汽车信息及位置,在UE里还原汽车的速度,行驶轨迹,检测是否越线超速这些。帧同步的例子就是生产流水线上有传送带和升降机等各种机械信号,这些信号就是针对流水线上物品的操作,通过帧同步的方式下发操作,在UE内(客户端)还原出实际的物品状态,再通过各种Trigger监听是否有意外情况的发生。而他们使用的蓝图节点也是定制的,通过反射自定义数据自动生成他们需要的蓝图节点。网络同步、自定义的图像化编程,这些都是最近这几年有在做的东西,想不到这些技术游戏技术与制造业已经能如此结合,真是大开眼界。

《 虚幻引擎5开发状态 》

官方的宣讲,主要介绍UE目前正在开发或者迭代的Feature,包括 Rendering、WorldBuilding、PCG、Animation、GamePlay、AI、Networking、物理模拟、模型\音效的简单编辑器、主机平台\移动平台性能优化等各方面的内容。这块可以直接访问官网RoadMap获取详细资料。

《从创建小场景到创建大世界的工作流升级 》

官方的分享, 深入讲解WorldPartition的工作流,Grid、MultiGrids、Grid自定义大小,可重叠、DataLayers、一个Actor可从属于多个Layers,OFPA\OFMA 方案的不同适用情况。同时还分享了堡垒之夜、EletricDreams、黑客帝国觉醒这三个项目总地图大小,分别如何划分Grid,HLOD设置,LoadingRange,以及如何使用DataLayers。这些数据对于做大世界游戏很有参考价值。

《 如何使用MetaHuman自定义游戏角色 》

MetaHuman是UE5新出的做高精度人物表现的技术。在身体方面,加入了肌肉骨骼, 在基础骨骼的关键帧之间K好肌肉骨骼的表现,就可以插值出很好的肌肉形态效果。 脸部表情方面, 通过骨骼动画+Blendershape+纹理动画来实现高精度表情 。后面还介绍了一些简单的动补与表情采集的工作流 。

《晶核》场景中氛围变化在关卡及团队副本中的应用

这一场是由《晶核》团队的关卡组长带来的,偏设计向的分享。在晶核游戏中,会由Boss变身,关卡进度等玩法控制整个场景的氛围(色彩)改变的需求。同时他们使用的是烘焙而非实时光。切换过程可以通过一个Sequencer来掩盖。通过TOD控制天光、平行光、高度雾的颜色。材质及Niagara接入TOD参数,让材质及特效可以做多套效果切换。在有了这些表现上的功能以后,玩法上也加入了位面的设计,携带不同buff的玩家可以进入同一个场景,不同的氛围中,打不同的怪,形成不同位面战斗的感受。后面还讲了一下多人玩法与关卡的结合,思路就是初期先分散玩家在不同的地方战斗,减少同屏压力,随着进度推进再让玩家慢慢聚集,类似吃鸡这样的体验。

《 虚幻引擎调试技巧 》

最吸引的还是现在的蓝图调试功能,可以看调用堆栈,看变量,可以单步调试、还可以直接触发蓝图事件,想起以前用UE4要调试蓝图的逻辑是真难受。另外新出的调试Console集成了各种功能,CheatManager、DebugCamera、查看obj list,obj ref,执行obj dump,obj gc等。最后还介绍了一些外部工具例如vs以及构建选项的优化设置 。

《诛仙2》实时光影与大世界技术

先介绍了他们团队的定制化渲染管线以及基于该管线下实现的一些实时光影效果,这里面渲染的细节比较多,不一一展开了,有兴趣的可以自行搜索。然后介绍了大世界方案,工作流方面,根据包围盒对角线尺寸自动划分大/中/小物件是比较不错的思路。介绍了一些LOD划分及见面的思路,在LevelLOD的制作中,会将LandscapeBake成Mesh,然后进行锁边处理,确保了不同LOD等级的地形能在接缝处完美衔接。还有自主控制的Streaming,地形渲染优化方案,植被的工作流等等。 剔除方案,即使有GPU Driven的剔除,但依然有在CPU端做软剔除。软剔的难点就在于如何简化遮挡物的制作。提供了一个不错的思路,对于密闭的模型,可以自动生成Box来简化替代,对于复杂的或不封闭的模型,就人工制作。

《虚幻5引擎MotionMatching实践简介》

祖龙的分享,比较泛,讲原理与动捕的工作流占了大部分,最后讲了一下PoseSearch的这个插件对于使用MotionMatching的提升与帮助,个人觉得MotionMatching这个技术在国产游戏的落地还不太现实,目前看到的分享都是demo形式的。

《鸣潮》基于虚幻4的多平台效果和性能实践

基于Deferred Rendering的自定义渲染管线,GBuffer的压缩利用,插片模型树、Billboard树、Imposter树的特点。其中ImposterTree是他们自己实现的一种渲染树的方案,利用RGBA32位分别储存了树的Normal信息、LocalDepth信息、灰度信息,在GPU中计算还原树的世界坐标,场景深度,各个点的法向量及划分树叶与树干。能批量的绘制场景中不同的种类不同实例的各种树木,还能接收投影与产生投影,确实很巧妙。

《Chaos物理破碎》

UE5的新物理引擎,可以支持各种形式的切分模型形成碎片,分享了不同材质的断裂碎片会有什么特征,如何制作。切分后给各碎片填充断面信息,建立约束强度,使用不同的力场信息来触发交互,能模拟出非常真实的物理破碎效果。细节拉满,效果也非常逼真,有兴趣的可以前往官网深入了解。但性能要求非常高,暂时应该也只是影视行业会应用。

《三角洲行动》如何在虚幻4中实现先进的端手一体地形渲染方案

讲了他们的地形渲染方案,讲得非常的详细,以1米正方形为单位,全场景支持32中材质,每米支持3种材质,平衡性能与效果。缓存周围的材质ID,动态的更新TextureArray,减少带宽,再利用混合公式支持不同权重下的不同混合效果,并且保持了接缝边缘的过度效果。在此基础上加入米级别的生态信息描绘图,用来记录颜色变化(染色)、湿度变化(潮湿度)、明暗变化(AO)信息,增加地形的细节丰富程度。重写LandscapeProxy,把每平方米的混合渲染结果存到VT中,后续直接采样渲染,提高效率,并且做了Mipmap处理,降低了全场景的渲染纹理大小开销。同时,因为他们的地形渲染都是采样VT进行绘制的,VT可以配合高度来进行拉伸后再采样,就可以解决高度差很大的区域例如悬崖这种地形的贴图变形问题。对于远处的地形渲染,虽然贴图精度降低了,但可以在离线烘焙时把顶点法线和材质法线也加入进去,渲染的时候利用这些信息能在低精度的贴图下也能渲染出很好的效果,使得远处的地形细节也很丰富。更进一步的,不同材质混合数量的地块使用不用的Shader变体来渲染,进一步提升效率。最后分享了他们新的这套地形渲染技术相比CODM的性能提升,现在的高配效果性能开销比老的CODM的低配效果性能还好。之前与DFM团队的人交流过,确实是一个非常追求技术,精益求精的团队,这次的分享也是非常高质量,在地形渲染这一块能精进到这个程度确实是难得。希望他们的产品能大卖。

通过这次分享会了解到UE5的很多新Feature以及各团队使用UE5的开发经验,可以看出来UE这几年发展的非常快,官方不断地集成各种新技术,各个游戏团队也使用UE做出了很多不错的产品,为游戏开发打开了全新局面。对我自己而言,前两年在参与做一个UE的项目,从中学到了不少新东西。现在虽然重新做回Unity的项目,但通过参加这次分享会也对当前的工作带来很多新启发。希望后续Unity也能在技术方面带来更多新的突破。自己后续有机会的话也想尝试更多的使用UE开发游戏。

Bookmark the permalink.

Comments are closed.