Заметки Погорского
Блог

Облака в видеоиграх – целая наука! Вы даже не представляли, как вас обманывают разработчики

Иллюзия обмана.

Даже геймеры, ценящие красоту и технологичность видеоигр, редко обращают достаточно внимания на виртуальное небо – а ведь именно оно во много задает атмосферу и влияет на восприятие картинки в целом. Разработчики постоянно изобретают все новые технологии и приемы, чтобы виртуальный небосклон выглядел убедительно и эффектно.

Игровой художник Томас StylizedStation доступно рассказал об эволюции неба в видеоиграх – удивительно, какой путь проделали команды разработчиков, и насколько сложные решения используются в современных блокбастерах.

В большинстве игр прошлого века по сути нет облаков, хотя визуально они видны. Для этого попросту использовалась гигантская нарисованная вручную картинка неба, которую проектировали на так называемый скайбокс – и уже этого было достаточно, чтобы уровни на открытой местности казались гораздо больше, чем они есть на самом деле.

Скайбокс окружает уровень кубоидом (или сферой). Отдаленные горы, здания и другие недостижимые для игрока объекты вроде игроков помещаются на грани кубоида (это называется кубическим маппингом) – получается иллюзия трехмерности окружения.

Долгое время этой простой хитрости хватало. Позже, с развитием технологий, художники и разработчики открыли новые техники для создания куда более убедительного неба с использованием шейдеров. Одна из таких техник называется flow mapping (картирование потока) – она создает движение в скайбоксе, используя информацию о направлении потока (flow map), которую «запекают» в текстуру неба.

Отличный пример современной игры с таким небом – Apex Legends. Шторм в ней выглядит динамичным и настоящим, хотя по сути это все та же статичная картинка на кубоиде, которой добавили иллюзию движения. Конечно, в этом случае применяются и некоторые дополнительные эффекты, но основа та же.

Возникает вопрос: если облака в играх в основном двухмерные, каким образом они отбрасывают движущиеся тени? И да, тут тоже используется похожий трюк: на поверхность проецируется гигантская темная текстура шума, которая выглядит как тени проплывающих облаков. Сделать такую текстуру довольно просто, она почти не влияет на производительность. При этом игроки, как правило, не видят подвоха – если только не начнут сравнивать облака сверху с тенями снизу, которые, понятно, не совпадают.

Однако в некоторых современных играх есть облака, которые выглядят трехмерными – как их создают? Технически это все еще не «настоящие облака», но их рисуют более сложной комбинацией текстур, трехмерной геометрии и особых фильтров. Получаются крайне убедительные облака, выглядящие объемными и пушистыми.

Создание фильтров для объемной геометрии – очень ресурсоемкий процесс, поэтому облачная геометрия просчитывается за кадром и хранится в буфере. Затем прямоугольник поля зрения игрока сэмплит цель буфера и соединяет облака с остальной сценой, чтобы получилось единое небо. Таким образом разработчики вновь значительно оптимизируют графику, но получают в результате очень художественные и красивые облака.

Конечно, на этом развитие технологий не остановилось. В отдельных дорогих современных играх – Horizon Zero Dawn, Ghost of Tsushima, Red Dead Redemption 2 – разработчики используют не скайбоксы и купола, а настоящие объемные облака, просчитывающиеся в реальном времени. Технически говоря, такие облачные системы берут трехмерные текстуры объема, которые используют маршевый метод (ray-marched), чтобы получались подвижные слои облаков.

Авторы игр серии Horizon из Guerrilla Games даже создали собственную систему объемных облаков и погоды Nubis, способную генерировать реалистичные системы облаков и даже гигантские штормы.

Подобные решения впервые позволили игрокам, например, забраться на горную вершину и увидеть под собой реалистичные облака – или даже пролететь через них. Раньше это было чем-то совершенно недостижимым. К тому же такие правдоподобные облака могут динамически взаимодействовать с источниками света и создавать потрясающие эффекты рассеивания солнечных лучей и невероятные закаты. 

Вот, например, Red Dead Redemption 2. Там используется хитрая комбинация объемного тумана и объемных облаков, которые в сочетании создают очень красивую и атмосферную систему динамической погоды. Объемные облака в игре состоят из множества слоев трехмерных текстур шума. Разные слои отвечают за разные типы облаков: низкие слоистые облака, огромные кучевые облака, тонкие перистые облака.

Трехмерная текстура шума сэмплится во время рендеринга, а меняя пороговое значение художники контролируют плотность облаков.

Причем облака в RDR 2 не статичны – они постоянно эволюционируют. Слегка меняя трехмерную текстуру шума с течением времени игра создает иллюзию изменения облаков, благодаря чему они выглядят как настоящие.

И даже на этом потенциал развития облаков в видеоиграх не заканчивается. Чего только стоит Microsoft Flight Simulator 2020, где игроки постоянно наблюдают облака и пролетают сквозь них. Игра использует данные о погоде в реальном мире, чтобы создавать потрясающе красивые и реалистичные облачные массивы.

Все это – лишь верхушка айсберга технологий и приемов, благодаря которым игровые миры получаются такими красивыми и атмосферными.

Комментарии
Возможно, ваш комментарий носит оскорбительный характер. Будьте вежливы к собеседнику и соблюдайте правила
Пишите корректно и дружелюбно. Принципы нашей модерации
Укажите причину бана
  • Оскорбление
  • Мат
  • Спам
  • Расизм
  • Провокации
  • Угрозы
  • Систематический оффтоп
  • Мульти-аккаунтинг
  • Прочее
Пожаловаться
  • Спам
  • Оскорбления
  • Расизм
  • Мат
  • Угрозы
  • Прочее
  • Мультиаккаунтинг
  • Систематический оффтоп
  • Провокации
Комментарий отправлен, но без доната
При попытке оплаты произошла ошибка
  • Повторить попытку оплаты
  • Оставить комментарий без доната
  • Изменить комментарий
  • Удалить комментарий