После лет в раннем доступе 7 Days to Die достигает версии 1.0 с глубоким графическим обновлением. Обновление не только полирует геймплей, но и заменяет устаревшие системы на динамическое глобальное освещение, модели, созданные в ZBrush, и систему погоды, влияющую на видимость и производительность. Для разработчиков этот случай демонстрирует, как модернизировать движок Unity, не теряя воксельной сути.
Конвейер моделирования и ремасштабирования ассетов в ZBrush 🎨
Команда заменила базовые модели персонажей и зомби на версии, вылепленные в ZBrush, применив карты нормалей и окклюзии окружения для имитации деталей высокой полигональности без потери кадров. Ключевой технический аспект заключается в автоматической ретопологии и прямом экспорте в Unity через FBX, оптимизируя LOD (Уровень детализации) для поддержания 60 FPS на оборудовании среднего уровня. Кроме того, глобальное освещение было реализовано с помощью Light Probes и Reflection Probes, устраняя плоские тени и добавляя глубину биомам. Система погоды теперь использует GPU-частицы для дождя и снега, регулируя плотность в зависимости от времени суток для улучшения погружения без перегрузки draw call.
Уроки для инди-студий на устаревших движках 🧠
Случай 7 Days to Die — это дорожная карта для воксельных проектов, стремящихся к визуальной конкурентоспособности. Переход на ZBrush и глобальное освещение в Unity доказывает, что для создания насыщенных атмосфер не нужен AAA-движок. Ключ в приоритете эффективности ассетов и использовании систем probes вместо теней в реальном времени. Для инди-разработчика инвестиции в хороший конвейер скульптинга и ретопологии могут удвоить срок жизни проекта.
С какими конкретными техническими проблемами в Unity столкнулась команда для оптимизации освещения и шейдеров воксельного движка в 7 Days to Die 1.0 без потери производительности на оборудовании среднего класса?
(P.S.: Оптимизация для мобильных устройств — это как пытаться запихнуть слона в Mini Cooper)