Команда CarX Street изначально планировала динамическую погоду, но отложила её ради базовых механик. Когда дошло до реализации, стало ясно: нужен не «эффект дождя», а целостная система, меняющая восприятие мира и маршрутов в разное время суток.
Цели были две: качественные эффекты без потери производительности и архитектура, позволяющая позже добавлять новые погодные явления. Изучение других гонок оказалось недостаточным, поэтому команда активно собирала реальные референсы: наблюдала дождь днём и ночью, поведение воды на разных поверхностях, отражения, восприятие сцены при движении автомобиля.
Атмосфера важнее отдельных эффектов
Первые прототипы работали технически (дождь, лужи, отражения), но город выглядел просто «мокрым», а не дождливым. Выяснилось, что ощущение погоды — результат комплексного взаимодействия освещения, облачности, отражений, звука, состояния поверхностей и других деталей. Любой выбивающийся элемент ломал целостность.
Существенным фактором стало время суток: днём игрок больше замечает сами осадки и изменение света, ночью — отражения от фар, неона, витрин и фонарей. Поэтому систему постоянно проверяли в разных условиях.
Капли на линзе и взаимодействие с машиной
Самой сложной частью стали капли дождя на линзе камеры. Команда отказалась от простой анимации и добивалась естественного поведения с учётом размера капель, скорости, растекания и скорости автомобиля. Система прошла более пяти крупных итераций: сначала дорабатывали поведение, затем движение на высокой скорости. Для калибровки несколько раз записывали видео поездок под дождём и анализировали движение воды на стекле.
В финале капли выглядят естественнее, реагируют на движение и постепенно высыхают после дождя. Параллельно развивались облака, освещение, отражения, рябь на лужах, брызги из-под колёс и звук. Низкозатратным, но очень эффективным элементом оказались лужи — они сильно усилили ощущение влажности и «живости» сцены.
Плавные переходы и вырезанные фичи
Система строится на плавных переходах: от солнечно к пасмурно и далее к дождю, с постепенным изменением брызг, ряби, освещения и настроения сцены. После дождя всё также постепенно «откатывается» назад.
Часть задумок отложили: капли на стёклах автомобилей и полноценную анимацию капель по кузову — из-за качества и объёма работ по материалам и автопарку. Однако даже частичное добавление капель на материалы кузова резко улучшило целостность сцены: дождь перестал существовать отдельно от машины.
Производительность и реакция игроков
Разработка (без этапа концептов и референсов) заняла более трёх месяцев. Главной технической проблемой стали отражения: при дожде резко растёт количество мокрых поверхностей и нагрузка на рендер. Особенно критичны были консоли, поэтому пришлось пересматривать параметры рендеринга, качество и дальность прорисовки, оптимизировать отражения.
После релиза игроки особенно отмечали атмосферу и звук, в частности ночные поездки под дождём. Это подтвердило ключевой вывод команды: игрок воспринимает не отдельные эффекты, а состояние мира в целом. Поэтому динамическая погода — это не «добавить дождь», а интегрировать погодные условия в материалы, автомобили и базовые технологии ещё на ранних этапах.
Выводы
- Погода — это комплексная система, а не один эффект; важна согласованность света, материалов, звука и отражений.
- Референсы из реальной жизни критичны для правдоподобного поведения воды и капель.
- Плавные переходы между состояниями погоды создают ощущение живого мира.
- Отражения и мокрые поверхности — главный источник нагрузки, их нужно проектировать с учётом целевых платформ.
- Погодные системы лучше закладывать в материалы, автомобили и рендер-технологии ещё на этапе фундамента проекта.