橘猫新闻 综合报道 7月27日,鹰角网络在韩国首尔举行的Unite Seoul大会上,首次系统公开了《明日方舟:终末地》在Unity引擎底层架构上的深度定制化改造细节。这场题为“重构《明日方舟:终末地》底层代码”的演讲被标注为“进阶”(Advanced),是议程中唯一一场来自中国游戏公司的项目分享,现场座无虚席,演讲结束后多名开发者排队与主讲人、鹰角技术中心负责人Will交流。
据Will介绍,为了在主流PC、主机和移动端实现60帧甚至更高帧率的高画质运行,鹰角对Unity引擎进行了四项核心改造:自研ECS数据内核,支撑每帧数万个可渲染对象的高吞吐处理;重构剔除、排序与批处理链路,让多个视图共享同一组可见性数据;将关键运行时渲染管理改为自写的原生C++管线,配合CPU上手写Render Graph;底层采用沿用Vulkan语义的设备抽象,屏蔽平台图形API差异,将移动端和PC端拉到同一条数据导向路径上。
Will强调,这些改造并非“为了手写而手写”。他透露,团队曾实验性尝试尽量套用Unity原生方案,仅做简单排序等优化,游戏甚至难以稳定达到30帧。而通过自研ECS、连续内存、多线程剔除、一次排序和原生C++管线接成的完整架构,才达到项目追求的性能效用。以CPU软件遮挡为例,团队参考英特尔公开论文,从场景中挑出数百个主要遮挡物制作成简易遮挡片,在CPU端光栅化生成低分辨率深度图,用于剔除被完全遮挡的对象。这一过程与视锥体测试和LOD选择并行进行,线程间不留空闲气泡。
在ECS框架上,鹰角进行了激进取舍:约70种component ID全部在编译期写死,用固定128-bit mask描述组件组合,job直接使用原生C++和显式fence,磁盘文件与运行时chunk尽量保持相同布局。Will表示,这套定制ECS使场景加载时可通过一次memcpy直接搬入内存,省去逐对象解析和分配。他还提到,终末地单个可操控角色在PC和主机版本中最高渲染精度为8万至10万面,移动端也有4万至5万面,叠加大量动态对象和跨平台一致性要求,通用方案难以满足性能预算。
此次演讲未安排线上直播和录像,但Will在会后接受采访时表示,希望这些技术细节能为行业提供参考。鹰角方面未透露更多后续计划。
