Разработка Outer Wilds представляет собой увлекательный пример того, как небольшая команда смогла смоделировать целую солнечную систему с физикой в реальном времени. Используя Unity в качестве базового движка, разработчики объединили Autodesk Maya для моделирования планет и кораблей, Substance Painter для текстурирования в стилизованном художественном стиле и Photoshop для проектирования интерфейса бортового журнала. В этой статье анализируется технический конвейер, стоящий за этим независимым шедевром. 🚀
Оптимизация ассетов для симуляции гравитации в большом масштабе 🌌
Самой большой технической проблемой было создание небесных тел, которые выглядели бы детализированными, не жертвуя производительностью физики. В Maya художники моделировали планеты с упрощенной геометрией, но с картами нормалей высокого разрешения, созданными в Substance Painter, что позволяло Unity рассчитывать коллизии и орбиты, не перегружая процессор. Текстуры, нарисованные вручную в Substance, применяли вариации цвета и износа, которые преобразовывались в легкие шейдеры. Для корабля использовался динамический LOD (уровень детализации): на расстоянии модель сводилась к базовому силуэту, а вблизи загружались детали кабины и панелей. Эта стратегия позволила игре поддерживать 60 кадров в секунду даже при наличии нескольких планет, видимых с поверхности.
Бортовой журнал как интеграция искусства и техники 📓
Интерфейс журнала, разработанный в Photoshop, — это не просто визуальный элемент; это живая система данных. Каждый текст и рисунок рендерится как процедурная текстура в Unity, напрямую связанная с физическим движком. Когда игрок открывает новую планету, журнал в реальном времени обновляет карту связей, отражая орбиты, рассчитанные движком. Этот рабочий процесс демонстрирует, как 2D-арт может быть интегрирован с 3D-симуляцией: плоские ассеты из Photoshop назначаются 3D-объектам в игровом мире, создавая захватывающий опыт, где интерфейс является частью окружения. Яркий пример того, что в инди-играх техническая оптимизация и художественное направление должны идти рука об руку.
С какими конкретными проблемами столкнулась команда Outer Wilds при интеграции ассетов из Maya и Substance в конвейер Unity для симуляции целой солнечной системы без потери производительности в реальном времени?
(P.S.: Оптимизация для мобильных устройств — это как попытаться запихнуть слона в Mini Cooper)