Core Engine и освещение в реальном времени World of Tanks

30.05.2026 Опубликовано | Переведено с испанского

Разработка World of Tanks потребовала постоянной эволюции собственного графического движка, известного как Core Engine. Внедрение динамических теней и поддержка программного трассировки лучей представляют собой значительную техническую задачу, особенно при рендеринге бронированной техники с высочайшим уровнем полигональной детализации. В этой статье анализируются методы оптимизации, позволяющие поддерживать плавную производительность на оборудовании среднего класса.

[Бронированная машина на поле боя с динамическими тенями и отражениями программной трассировки лучей]

Оптимизация теней и программная трассировка лучей 🎮

Core Engine использует гибридную систему затенения. Для динамических теней применяется каскадное отображение теней (CSM), которое регулирует разрешение карты глубины в зависимости от расстояния от машины до камеры. В случае программной трассировки лучей движок не полагается на выделенное аппаратное обеспечение RT. Вместо этого он реализует структуру ускорения BVH (Bounding Volume Hierarchy), оптимизированную для сеток с высокой плотностью. Модели машин, созданные в ZBrush с миллионами полигонов, проходят тщательный процесс сокращения в Maya, генерируя прогрессивные LOD (уровни детализации), которые движок переключает для расчета пересечений лучей только на видимых поверхностях.

Художественный конвейер для производительности 🎨

Художественный конвейер является ключом к графическому успеху игры. Модельеры лепят танки в ZBrush, захватывая каждую заклепку и сварной шов. Впоследствии в Maya выполняется ретопология и запекание карт нормалей и окклюзии окружения. Эти текстурные карты обманывают Core Engine, имитируя сложную геометрию без необходимости обрабатывать миллионы треугольников в реальном времени. Эта техника в сочетании с динамическим затенением позволяет программной трассировке лучей вычислять точные отражения на корпусе, не жертвуя 60 FPS в бою.

Учитывая проблемы производительности в боях с 30 танками и деформируемой местностью, как Core Engine от World of Tanks умудряется применять динамическое освещение в реальном времени, не жертвуя визуальной плавностью?

(P.S.: 90% времени разработки уходит на полировку, остальные 90% — на исправление багов)