← 返回首页

鹰角首次公开《明日方舟:终末地》底层技术突破:自研ECS框架与原生C++渲染管线

橘猫新闻 综合报道 7月27日,鹰角网络技术中心负责人Will在韩国首尔举办的Unite Seoul会议上,首次系统公开了《明日方舟:终末地》在Unity引擎底层架构上的深度定制化改造细节。这场题为“重构《明日方舟:终末地》渲染管线的技术实践”的演讲,被主办方标注为“进阶”(Advanced)级别,是议程中唯一来自中国游戏公司的项目分享,现场座无虚席。

鹰角首次公开《明日方舟:终末地》底层技术突破:自研ECS框架与原生C++渲染管线

Will在演讲中披露了四项核心技术突破:自研ECS数据内核、重构剔除排序与批处理链路、自写原生C++渲染管线及底层设备抽象层。其中,自研ECS框架采用了约70种编译期写死的component ID、128-bit mask描述组件组合、原生C++和显式fence等激进取舍,使磁盘文件与运行时chunk尽量采用相同布局,加载时可通过一次memcpy直接搬入内存,省去逐对象解析。

在渲染优化方面,团队实现了CPU软件遮挡剔除技术:从场景中选取数百个主要遮挡物,简化为quad遮挡片,在CPU端变换为屏幕空间三角形并绘制低分辨率深度图,以此剔除被遮挡对象。该过程与视锥体测试、LOD选择并行进行,避免线程等待。完成剔除后,剩余对象通过128-bit排序键编码屏幕顺序、pipeline、mesh、材质和距离等信息,一次标准排序即可实现状态聚簇,重复绑定可整段跳过。

Will透露,团队参考了英特尔公开论文,但终末地面临的是复合高压:PC和主机版本单个角色最高8万-10万面,移动端4万-5万面,加上大量动态对象和跨平台一致性要求,通用方案难以满足。早期尝试原生方案时,游戏甚至难以稳定达到30帧。通过自研ECS、连续内存、多线程剔除和原生C++管线,最终实现了在主流PC、主机和移动端旗舰机上60帧甚至更高帧率的高画质运行。

此次演讲为会场限定,未安排线上直播和录像。演讲结束后,多位开发者排队与Will交流。Will此前曾在Apple主办的公开讲座中介绍过相关优化思路,但当时因面向普通玩家而有所保留,此次Unite Seoul演讲则首次公开了底层代码层面的具体实现。