Selaco 与 GZDoom:经典引擎如何与现代光照技术竞争

发布于 2026年05月24日 | 从西班牙语翻译

Selaco 的开发证明,原始算力并非实现视觉真实感的唯一途径。开发团队成功从基于经典 Doom 引擎的 GZDoom 中榨取出性能与图形质量,通过实现一套软件动态光照系统,足以媲美现代渲染技术。这一技术成就,结合基于预定义体积的场景破坏系统以及先进的粒子发射器,使 Selaco 成为研究如何优化有限工具以获得 AAA 级成果的典型案例。

Selaco 在 GZDoom 中实现动态光照与场景破坏的截图

逆向工程:GZDoom 中的光照、粒子与破坏系统 🛠️

为了实现动态光照,开发者修改了 GZDoom 的渲染管线,用逐像素光照模型取代了平面着色,该模型能在 2.5D 几何体上实时计算柔和阴影。这是通过注入自定义 GLSL 着色器实现的,这些着色器模拟了反弹光照,而无需硬件光线追踪。同时,粒子系统被完全重写,以支持与地图的碰撞以及热量衰减,从而产生能熔化虚拟金属的爆炸效果。场景破坏则通过一套动态区域系统实现,该系统在受到冲击时会交换高细节纹理(在 Photoshop 中创建)和 3D 碎片模型(在 Blender 中建模),整个过程不会破坏引擎的区块结构。

独立开发者的启示:引擎之上的工艺 🎨

Selaco 证明,游戏引擎的真正限制并非其年代久远,而是修改它的创造力。通过使用 Blender 创建优化的多边形资源,以及使用 Photoshop 制作包含法线贴图和环境光遮蔽的纹理,开发团队在传统像素艺术与现代照片级真实感之间架起了一座桥梁。对于独立开发者而言,教训是明确的:掌握建模和纹理工具可以弥补缺乏 AAA 级引擎的不足。关键在于理解基础引擎的优势,并迫使它去做那些并非为其设计的事情,同时又不失其经典本色。

Selaco 团队在 GZDoom 中实现动态光照而不牺牲经典引擎性能时,面临的最大技术挑战是什么?

(附注:着色器就像蛋黄酱:一旦分离,就得从头再来)