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

Почему получается облако
Причины по порядку значимости.
Слишком много вещества. Источник выдаёт плотность, рассчитанную на пожар. Струйке нужно на порядки меньше.
Слишком большой источник. Эмиттер размером с шарик выдаёт дым такого же диаметра. Сигарете нужна точка.
Крупная сетка. Ячейка симуляции больше, чем толщина струйки, и деталей просто негде появиться.
Сильная плавучесть. Дым летит вверх слишком быстро и не успевает завихриться.
Отсутствие затухания. Дым не рассеивается и накапливается вверху объёма.
Ключ ко всему: тонкий дым это задача про разрешение, а не про настройки плотности. Остальное вторично.
Разрешение и размер домена
Главный параметр, определяющий возможное.
Детализация симуляции определяется размером ячейки, то есть отношением разрешения к размеру домена.
Отсюда первое правило: домен должен быть минимально возможным. Огромный куб на всю комнату при том же разрешении даёт ячейки в десятки раз крупнее.
Для струйки дыма домен это узкий вытянутый параллелепипед вокруг траектории, а не куб.
Практический приём: сжать домен по двум осям, оставив запас только там, где дым реально расходится. Экономия памяти и рост детализации одновременно.
Второй приём: считать симуляцию в малом масштабе и увеличивать результат при рендере. Физика при этом ведёт себя иначе, но для дыма это часто приемлемо.
Источник
Настройка эмиттера, с которой начинается всё.
Размер: минимальный. Для сигареты это точка или крошечная сфера. Для чашки диск диаметром с чашку, но очень тонкий.
Плотность: намного ниже стандартной. Здесь нет универсального числа, подбирается визуально, но порядок явно меньше привычного.
Начальная скорость: небольшая, направленная вверх. Дым от сигареты поднимается медленно.
Температура: близкая к окружающей или чуть выше. Высокая температура даёт быстрый подъём и турбулентность, то есть ровно то, чего мы избегаем.
Отдельно про длительность: если источник работает постоянно, струйка будет непрерывной. Для реалистичности лучше менять интенсивность во времени.
Плавучесть и рассеивание
Пара параметров, определяющих характер.
Плавучесть задаёт, насколько сильно тёплый дым стремится вверх. Для тонкой струйки она должна быть слабой, иначе дым улетает прямой линией.
Рассеивание отвечает за то, как дым размывается в воздухе. Без него струйка остаётся резко очерченной, что выглядит неестественно.
Затухание убирает дым со временем. Это нужно, иначе он копится под потолком домена и превращается в мутное пятно.
Практический ориентир: дым должен исчезать примерно там, где он выходит за пределы интересного нам участка.
Завихрения
То, что делает струйку живой.
Идеально прямая струйка выглядит как нарисованная линия. Настоящий дым поднимается, извивается и разваливается на завихрения.
За это отвечает турбулентность в потоке. Задаётся она несколькими способами: параметром завихрений в самой симуляции, шумовым полем, слабым ветром.
Важная тонкость: завихрения должны появляться не сразу. Сначала струйка идёт ровно, а на некоторой высоте разваливается. Именно этот переход от ламинарного течения к турбулентному узнаётся глазом мгновенно.
Добиваются этого полем, действующим не на всём объёме, а начиная с определённой высоты.
Внешние силы
Что добавить, чтобы дым реагировал на сцену.
Слабый ветер: даже небольшое движение воздуха в комнате отклоняет струйку. Без него дым выглядит существующим в вакууме.
Препятствия: дым огибает предметы. Если рядом есть чашка или рука, они должны быть в симуляции как коллизии.
Движение самого источника: рука с сигаретой двигается, и дым тянется за ней. Это одна из самых убедительных деталей.
Что не стоит добавлять: сильных полей и вихрей. Они превращают струйку в то самое облако.

Материал дыма
Половина результата приходится на него.
Плотность в материале настраивается отдельно от плотности в симуляции, и это две разные вещи. Симуляция задаёт распределение вещества, материал задаёт, насколько оно видимо.
Практический подход: считать симуляцию один раз, а плотность в материале подбирать уже на готовом кэше. Это быстро и не требует пересчёта.
Цвет: дым не белый и не серый в чистом виде. Он подкрашивается освещением и обычно чуть теплее или холоднее фона.
Рассеивание против поглощения: тонкий дым больше рассеивает, чем поглощает. Настройка в сторону рассеивания даёт характерное свечение при контровом свете.
Свет для дыма
Постановка, без которой ничего не видно.
Дым виден только там, где на него падает свет. В равномерно освещённой сцене он выглядит грязным пятном.
Рабочая схема: контровой или боковой источник, тёмный фон. Тогда дым светится, а не темнеет.
Узкий направленный луч работает лучше широкого: он выхватывает часть струйки и оставляет остальное в темноте, что выглядит эффектнее равномерной подсветки.
Практическое наблюдение: одна и та же симуляция при разном свете выглядит как разные вещи. Прежде чем переделывать симуляцию, стоит поработать со светом.
Общие принципы разобраны в материале про реалистичный рендер.
Шум в рендере
Техническая проблема, специфичная для объёмов.
Объёмные среды дают много шума, потому что свет в них рассеивается многократно и случайно.
Что помогает. Увеличение числа выборок именно для объёмов, отдельным параметром. Уменьшение шага выборки внутри объёма, ценой времени. Ограничение числа отскоков света в объёме до разумного минимума.
Фильтрация шума работает, но объёмы она сглаживает охотнее остального, и тонкие завихрения могут пропасть. Разбор есть в материале про шумоподавление.
Пар против дыма
Разные вещества, которые часто путают.
Дым это твёрдые частицы. Он поглощает свет, имеет цвет, оседает, оставляет следы. Стремится вверх, пока горячий, потом рассеивается.
Пар это капли воды. Он рассеивает свет сильнее, чем поглощает, поэтому выглядит светлее и мягче. И главное: он исчезает не растворяясь, а испаряясь, то есть пропадает быстрее.
Практическая разница в настройках. Для пара выше рассеивание и ниже поглощение. Цвет ближе к белому. Затухание сильнее: пар от чашки живёт секунды, а не минуты.
Ещё одна деталь: пар часто появляется не в точке, а над всей поверхностью жидкости, и источник у него площадной, а не точечный.
Масштаб сцены
Параметр, о котором вспоминают, когда всё уже не работает.
Симуляция считает физику в единицах сцены. Если модель сделана в неверном масштабе, дым ведёт себя как в другом мире: медленно клубится там, где должен быстро подниматься, или наоборот.
Симптом: настройки подобраны, а движение выглядит как замедленная съёмка или как ускоренная перемотка.
Проверка простая: убедиться, что размеры объектов в сцене соответствуют реальным. Сигарета длиной в метр даст соответствующий дым.
Отдельный параметр времени в настройках домена позволяет ускорить или замедлить симуляцию, не трогая масштаб. Им удобно доводить результат, но исправлять им неверный масштаб плохая идея.

Кэш и работа с ним
Практическая сторона.
Симуляция считается один раз и сохраняется. Пока кэш есть, воспроизведение мгновенное.
Любое изменение параметров симуляции требует пересчёта. Изменения материала и света нет.
Отсюда порядок работы: сначала довести симуляцию до приемлемой, потом заниматься материалом и светом. Обратный порядок означает многократный пересчёт.
Формат кэша с сжатием экономит место, но медленнее читается. Для длинных анимаций это заметно.
И практический совет: считать сначала на низком разрешении для проверки поведения, и только потом на финальном. Проверка занимает минуты вместо часов.
Альтернатива: без симуляции
Способ, который часто оказывается лучше.
Для статичного кадра или короткого плана симуляция может быть избыточной.
Варианты: процедурный объём с анимированным шумом, вытянутым по вертикали. Или плоскости с текстурой дыма, развёрнутые к камере.
Второй способ это классика, и он до сих пор используется в производстве, потому что даёт полный контроль и считается быстро.
Где симуляция незаменима: взаимодействие с объектами, движение источника, длинные планы с развитием.
Последовательность, которая экономит время
Сводка по шагам.
Сжать домен до минимально необходимого. Уменьшить источник до точки. Снизить плотность и температуру. Ослабить плавучесть. Включить затухание. Посчитать на низком разрешении и проверить поведение. Добавить турбулентность с определённой высоты. Добавить слабый ветер. Поднять разрешение и пересчитать. Настроить материал на готовом кэше. Поставить контровой свет.
Первые пять пунктов делаются до первого просчёта, и они решают большую часть задачи.
Что приходится переделывать
Карточки
Частые вопросы
Почему дым выглядит как вата?
Слишком высокая плотность и слишком крупная сетка. Ячейки видны как комки, и деталей нет. Лечится уменьшением домена, а не увеличением разрешения.
Сколько разрешения нужно для струйки?
Зависит от размера домена. Считать надо не абсолютное число, а размер ячейки относительно толщины струйки: в струйку должно помещаться несколько ячеек.
Как сделать дым от движущегося источника?
Анимировать сам эмиттер: дым потянется за ним автоматически. Домен при этом должен покрывать всю траекторию, что возвращает к вопросу его размера.
Можно ли обойтись без симуляции?
Для статичного кадра и коротких планов да: процедурный объём или плоскости с текстурой дают результат быстрее и с полным контролем.
Почему рендер дыма такой долгий?
Объёмные среды требуют множества выборок вдоль каждого луча. Помогает уменьшение объёма домена, ограничение отскоков и отдельная настройка выборок для объёмов.
Сожмите домен до минимально возможного, прежде чем поднимать разрешение. Тонкий дым это задача про размер ячейки, а не про плотность.


