这是【游戏开发那些事】第63篇原创
UnrealFest 上海(UFSH),前身是UnrealOpenDay,即Epic在国内举办的一年一度的虚幻开发者技术交流大会。今年算是疫情彻底结束后的第一场会议,酒店、餐食等配套也跟着升级起来,参会人数相比往年也有所增长。
简单介绍一下,这次会议在上海前滩香格里拉酒店3楼,为期2天(11.30-12.1),分为A、B两个会场。有来自汽车、硬件制造、建筑、游戏等多个领域的从业者,分享了近60场左右的演讲,除了中午的午餐时间外(酒店提供午餐自主),从早上9点左右到晚上6点左右基本不间断。会议整体内容还是以技术分享为主,除了演讲外,现场还有一些试玩展台,比如卡里比丘、帝国神话、鸣潮、失落之魂等。
废话不多说,先贴一张分享合集。由于个人喜好和精力,肯定无法全都听到的(红色标记的是我听的分享)。从一名游戏开发者的角度来讲,真正有干货的地方主要集中在
UE5后续的Roadmap,如
ML Deformer
移动组件2.0
动画蓝图重构,引擎内的动画编辑
Iris网络同步系统
状态树
新的地形和植被系统
多进程Cook
PSO PreCache
Substrate
UE5移动平台优化,如
移动光追
移动Lumen,移动端延迟渲染
Vulkan
朝夕光年S1项目的分享,如
VMM系统
布料系统
Pak策略
多端的Nanite、Lumen优化
C++热更
GAS编辑器
CICD策略
其他,如
祖龙MotionMatch、
诛仙2、鸣潮大世界渲染
Chaos破碎系统
UE调试技巧
腾讯三角洲项目的地形技术分享
其中朝夕光年团队的分享给我的印象很深也很硬核,后面会稍微展开说说。
下面我会按照时间顺序,把我听得内容以及一些笔记分享给大家,估计过一两周官方就会有录播,所以更多详细的内容大家可以后续关注虚幻官方的B站状态:
贴一个去年的UnrealOpenDay的B站视频链接:
https://www.bilibili.com/video/BV1sP4y117Dg/?spm_id_from=333.788&vd_source=e01555355ad70876dd2a180dd426e982
通常会议前几场都是非技术内容商业演讲,这里不赘述。
虚幻5引擎开发状态
这场是Epic的古董级产品经理 - Arjian Brussee的演讲,主要是围绕目前虚幻5引擎当前已有的功能以为后续的发展目标做介绍,对虚幻发展感兴趣的同学可以了解一下。
补充:大部分的内容我们都可以在虚幻的Roadmap网站里面查到
https://portal.productboard.com/epicgames/1-unreal-engine-public-roadmap/tabs/94-forward-looking
渲染:
Nanite+Lumen+时间超级分辨率(Temporal Super Resolution,简称TSR)的拓展和优化目标在主机可以全开60帧
硬件光追可以跑到60帧
新的地形系统
新的植被系统
新的基于Nanite的SplineMesh
动态的曲面细分功能
大世界:
数据分层拓展(支持客户端服务器数据剥离)
HLOD拓展(支持编辑器实时预览生成的HLOD)
OneFilePerACtor(OFPA)拓展支持OneFileMultiActor(OFMA),即一个文件对应多个Actor
完善LeveInstance过滤器,支持SoftObjectPath的引用查询和替换
完善WorldPatition的书签系统
努力支持百万级别Actor的大世界
PCG:
实时的分层生成系统
支持AttributeSet 数组配置和生成,可以驱动更复杂的系统以及其资产进行PCG的控制
增加GPU的PCG生成功能
资源依赖的跟踪
为多平台制作不同的生成规则,从而可以在Editor编辑后对应不同平台生成不同的内容(比如移动平台生成的地形复杂度要低一些)
相关Graph和节点的版本标记与管理
更多的quixel资产未来整合到Fab(Epic即将推出的新的资产商店)上面
动画:
完全基于引擎自身的动画编辑系统(不依赖外部DCC工具)
动画系统重构,会使用新的VM系统替换旧的AnimBP(进一步提供效率),更完美的接入Motionmach
高性能且统一的动画渲染管线
ControlRig系统的迭代,利用Deformer提高动画性能和表现(MLDeformer是虚幻5.3推出的利用机器学习模拟动画中更复杂的效果的工具,比如肌肉形变等)
提供运行时动态的sequencer,在材质工作流、条件分支、参数化关键帧等方面的还有进一步优化
框架相关(Gameplay、AI、网络):
集中完善状态树(State Tree)的开发和优化,关于状态树的介绍,感兴趣的同学可以参考去年的UnrealOpenDay2022 https://www.bilibili.com/video/BV1ed4y1b7Zk/
匹配大世界的NavMesh和Navlink开发和优化
基于ECS架构的MASS系统迭代
新的角色移动系统(在5.4以后会公布,目前我们在代码里能看到一个CharacterMovementComponentAsync的文件【不是它】,看起来与chaos结合的比较紧密。不过官方roadmap里面还有一些模块化的、更通用的愿景,估计还有很多相关的代码)
新的Iris网络同步系统
GAS的持续迭代和优化
客户端预测系统迭代
smartObject的拓展,不仅仅用于AI相关,可以辅助交互等Gameplay逻辑
物理模拟:
物理同步
Chaos的调试工具开发
基于物理的移动组件(前面提到的移动组件2.0,应该不是CharacterMovementComponentAsync.h)
自定义的载具系统
针对肌肉、布料等模拟利用机器学习做进一步的优化(Deformer)
工作流:
多进程、增量式的Cook功能
使用异步数据读取来优化第一次打开编辑器慢的问题(UE5一直在开发新的资源加载管理系统)
多平台的快速预览
平台&移动端:
移动端虚拟纹理贴图优化、新的ASTC编码器、fog/地形等剔除的优化
Nanite目前已经支持M2架构的机器(Beta版本&#x