Найти в Дзене
Stronghold of gamedev

Как делают дым в играх

Будь то зумер с вейпом или пылающая тайга, тлеющий костерок или выгорающие нефтепродукты, пробудившийся вулкан или пердящий самым дешевым топливом автобус...
И всей статьи не хватит чтобы описать возможные причины появления дыма, но её хватит чтобы описать несколько вариантов сотворения его в трехмерной графике. Древние заготовки Дымный трактат будет логичнее всего начать в хронологическом порядке, описав фундаментальную логику. Первородный дым был спрайтом - всегда глядел в камеру, был скромной текстурой с альфа-каналом прозрачности, создавался задолго до своей минуты славы и в поведении был предсказуем. Пред вашим взором - трехмерный шум Перлина. Выглядит как двухмерный, однако в сторону физику - для того, чтобы дым выглядел натурально, очевидно, нужно чтобы его частицы (белый на текстуре) перемещались плавно, а значит положение пикселей определяет не только x и y оси, но и третье измерение - время. Пора перейти к реальным примерам, возьмем Counter Strike 1.6 : Заранее созданные спр
Оглавление

Будь то зумер с вейпом или пылающая тайга, тлеющий костерок или выгорающие нефтепродукты, пробудившийся вулкан или пердящий самым дешевым топливом автобус...
И всей статьи не хватит чтобы описать возможные причины появления дыма, но её хватит чтобы описать несколько вариантов сотворения его в трехмерной графике.

Древние заготовки

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

Первородный дым был спрайтом - всегда глядел в камеру, был скромной текстурой с альфа-каналом прозрачности, создавался задолго до своей минуты славы и в поведении был предсказуем.

-2

Пред вашим взором - трехмерный шум Перлина. Выглядит как двухмерный, однако в сторону физику - для того, чтобы дым выглядел натурально, очевидно, нужно чтобы его частицы (белый на текстуре) перемещались плавно, а значит положение пикселей определяет не только x и y оси, но и третье измерение - время.

Пора перейти к реальным примерам, возьмем Counter Strike 1.6 :

-3

Заранее созданные спрайты дыма, заботливо упакованные в каноничный для двигла формат, триггерятся особым образом...
Дымовой гранатой? Да. Но надо копнуть глубже - дым в контер страйке не для красоты, я для изящных тактических действ, потому обычная стенка-спрайт с выкрученной прозрачностью для помутнения взора - не вариант.

-4

Как можно отчетливо узреть выше, стенок несколько и именно из-за этого дым отличается с разных сторон, а так же обладает неким ощущением объема, которое развеивается, стоит только шагнуть внутрь...

Партиклы и спрайты

Немногим позднее, когда крепостные Кэмерона отрисовывали первых синих человечков, когда значение аббревиатуры VFX разгадывали целыми форумами, первые системы частиц стремительно оккупировали вычислительные мощности древних игровых устройств.

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

С видео Brackeys
С видео Brackeys

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

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

-6

Насколько долог будет путь частицы в 3D пространстве, так же вольно можно рандомизировать, но самое главное, что из себя представляет частица?
Обычный спрайт, в особо вычурных случаях анимированный по спрайтшиту :

-7

Реалистичный реализм

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

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

Как же обозвать получившийся результат? Четырехмерный волюметрический шум? Четырехмерным он существует опять таки от того, что новый кадр шума интерполируется с предыдущим и перемещение или возникновение вокселей происходит плавно.

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

Стилизация

А на десерт самое занятное. Совсем недавно на фрилансе исполнял одну простейшую стилизованную сценку, где, разогнавшись на полную, споткнулся о дым. Каков он должен быть? Одноцветно бесформенным?
А может окинуть его черными линиями ака toon shader?
Лучшее решение оказалось нетривиальным :

-10

Метабол - вид особого поведения объекта, как мягкое или деформируемое тело, вершины объектов двигаются по симбиотическому принципу, сливаясь в единую форму.

Несмотря на обилие вычислительных мощностей для оной магии, это один из самых достойных способов получить мягкий стилизованный дымок.

-11

Древнейшие смежные статьи :
Как делают дождик
Снежок
Три сопли информации для олдфагов : издание перешло под контроль спекулянтов, концентрация глубокодушевных томов о стезях CG резко понизилась.