Блендер как сделать воду

Часть 0: создание поверхности воды

Для начала нужно создать поверхность воды. Сделать это можно разными способами.

Способ 0: Dynamic Paint

Добавленную в сцену плоскость необходимо несколько раз подразделить (выделить всё в режиме редактирования W Subdivide). Чем больше подразделений — тем выше→→качество, но и больше нагрузка на комп.

После подразделения отправляемся во вкладку Physics (панель инструментов), жмём кнопку Dynamic Paint Add Canvas Surface Type: Waves. Водная поверхность готова.→→Теперь создаём объект, который будет создавать, собственно, волны. Для этого сойдёт любой меш. Выбираем его, опять идём в Dynamic Paint, но на этот раз вместо Canvas выбираем Brush, жмём Add Brush и больше ничего не трогаем.

Перемещаем Brush — создаём волны. Только при этом не забыть включить проигрывание анимации (Alt+A). Для наглядности сделал убогую гифку:

Блендер как сделать воду. Смотреть фото Блендер как сделать воду. Смотреть картинку Блендер как сделать воду. Картинка про Блендер как сделать воду. Фото Блендер как сделать воду

Способ 1: Displacement map

Потребуется обычный плейн с UV-развёрткой. Добавляем Texture Noise Texture и→подключаем его к узлу Displacement у Material Output’а. Теперь при переключении режима просмотра в «Rendered» можно наблюдать некую рябь на воде (изменять её вид можно, меняя параметры Noise Texture). Для наилучшей наглядности сделать плейну зеркальный материал (типа Glossy) и добавить карту окружения (Environment map).

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

Способ 2: Модификатор Ocean

Суть сводится к тому, что добавленному в сцену плейну добавляется модификатор Ocean, после чего настраиваются его параметры. Подбирать параметры — по вкусу. Из наиболее значимых:

0. Repeat X/Y — если одного квадратного «океана» не хватает.

1. Resolution — чем больше — тем лучше, более-менее оптимально — 15-17.

2. Size — размер плейна (эффект не идентичен тому, что достигается при использовании кнопки S и мыши — попробуйте сами и поймёте, в чём разница).

3. Scale — высота волн.

4. Chopping — увеличение этого параметра делает гребни волн более отчётливыми.

Если хочется, чтоб этот океан был не статическим (например, при создании видеоролика),то нужно анимировать параметр Time (который по умолчанию 1.00)

Часть 1: создание материала

Теперь, когда поверхность создана понравившимся способом, создадим материал воды.0. Добавляем новый материал плейну.

1. Difuse BSDF удаляем.

2. Вместо него ставим Mix Shader.

3. Создаём Glass BSDF и подключаем на верхний инпут Shader у Mix Shader’а. Roughness —на ноль, IOR — 1.333. Этот параметр отвечает за степень искажения объекта, на который мысмотрим через воду. Для воды он равен 1.333, для других материалов таблицы можно найтив интернете (гуглить «показатель преломления»).

4. Добавляем Transparent BSDF и подключаем на нижний инпут Shader у Mix Shader’а.

5. Добавляем узел Layer Weight, аутпут Fresnel подключаем к инпуту Fac у Mix Shader’а.

6. Между Layer Weight и Mix Shader’ом втыкаем узел RGB Curves. Как настраивать? Как больше нравится. Включите режим просмотра Rendered и играйтесь с кривыми, пока результат не начнёт нравится.

7. Теперь желательно сделать так, чтоб по мере увеличения глубины становилось темнее. Для этого добавляем Volume Absorption и подключаем к инпуту Volume у узла MaterialOutput. Цвет и Density, опять же, подбираем сами по вкусу и ситуации.

Блендер как сделать воду. Смотреть фото Блендер как сделать воду. Смотреть картинку Блендер как сделать воду. Картинка про Блендер как сделать воду. Фото Блендер как сделать воду

Автор: Денис Скиба aka Mapper720

Источник

Симуляция жидкости в Blender 2.80

Блендер как сделать воду. Смотреть фото Блендер как сделать воду. Смотреть картинку Блендер как сделать воду. Картинка про Блендер как сделать воду. Фото Блендер как сделать воду

Про что эта статья?

В этой статье я расскажу про симулятор жидкости в Blender 2.80. Этот симулятор был впервые добавлен в блендер ещё в конце 2005 года, в версию 2.40. С тех пор он изменялся не значительно (изменения были в основном в начале, после внедрения в блендер). Код симулятора был написан сторонним разработчиком по имени Nils Thuerey. Он написал библиотеку для симуляции жидкостей и назвал её El’Beem. Движок является воксельным и основан на методе решёточных уравнений Больцмана. Лучше всего подходит для создания воды, но имеет возможность создавать вязкие жидкости (мёд, шоколад…), которые реализованы не совсем хорошо. Скоро в блендер внедрят новый симулятор Mantaflow (кстати, Nils Thuerey принимает участие в его разработке).

Введение

Симулятор является воксельным, а это значит, что для создания жидкости нужен домен. Домен – это область 3д-пространства, которая представляет из себя параллелепипед (или куб), которая заполнена вокселями. Воксели – это трёхмерные пиксели, похожи на маленькие кубики, являются минимальной единицей в симуляции. Чтобы добавить домен, нужно создать куб (другие объекты создавать не имеет смысла, так как, при создании домена, учитываются только габариты объекта). Далее переходим в окно Properties вкладка Physics и нажимаем на кнопку Fluid.

Блендер как сделать воду. Смотреть фото Блендер как сделать воду. Смотреть картинку Блендер как сделать воду. Картинка про Блендер как сделать воду. Фото Блендер как сделать воду

Ниже появится вкладка Fluid, которая хранит параметр Type (тип жидкости). По-умолчанию этот параметр установлен на None. Это означает, что объект не будет участвовать в симуляции. Нужно изменить этот параметр на Domain.

Блендер как сделать воду. Смотреть фото Блендер как сделать воду. Смотреть картинку Блендер как сделать воду. Картинка про Блендер как сделать воду. Фото Блендер как сделать воду

Всё, мы создали домен. Но, если запустить симуляцию, то мы получим ошибку “No fluid input objects in the scene”. Не будет создаваться ни какая жидкость. Так как мы не добавили источник жидкости. Чтобы это исправить, добавим любой объект, например, UV-сферу (её можно переместить и изменить масштаб), далее в той же вкладке Physics снова жмём на кнопку Fluid и указываем Type на Fluid. Теперь в сцене есть два объекта жидкости (Domain и Fluid). Далее можно запустить симуляцию. Это делается нажатием кнопки Bake у объекта домена (вкладка Fluid, под-вкладка Bake). Чтобы остановить симуляцию, нужно нажать на крестик в строке состояния (на которой написано количество процентов запечённой симуляции) статус бара (внизу). Если на крестик не нажимать, то симулятор просчитает кадры от нулевого до последнего (параметр Frame End в окне Timeline). В итоге сфера создаст некоторый объём жидкости, которая (по-умолчанию) под силой гравитации упадёт вниз на пол (если проиграть анимацию с помощью клавиши Space) и начнёт течь по нижней границе домена. Дело в том, что за пределы домена жидкость выйти не может. Домен – это закрытое “стенками” пространство, которое не выпускает за свои границы жидкость. Сам объект домена (по-умолчанию) превратится в жидкость. И в одной сцене может быть несколько доменов, но запекать жидкость можно только тогда, когда в сцене есть только один домен (иначе блендер выдаст ошибку “There should be only one domain object”). То есть, если вам нужно более одного домена, то запекать симуляцию у них нужно в отдельных сценах. А чтобы уже запечённые симуляции добавить в новую сцену, можно добавить с помощью оператора File > Append объект домена. И тогда у вас в сцене будет несколько жидкостей.

Коротко о типах жидкости

Общие параметры

Все эти типы жидкости имеют параметры. Но некоторые параметры являются общими для различных типов.

И первый параметр – это Volume Initialization. Этот параметр есть у Fluid, Obstacle, Inflow, Outflow типов. Данный параметр указывает то, как будет использоваться объём меш объекта. Можно указать три типа инициализации объёма:

И следующий общий параметр – это Export Animated Mesh. Если эта галочка выключена, то в симуляции будут учитываться только базовые трансформации исходного меш-объекта (позиция/поворот/масштаб). Иначе будут учитываться деформации исходного меша (например, деформации с помощью арматуры, ключей формы, различных модификаторов, меняющих геометрию и т.д.). В общем если у исходного меша меняются позиции вершин (или создаются новые вершины), то эту галочку стоит включить. Если исходный меш-объект имеет только объектные трансформации, эту галочку стоит выключить, так как симуляция будет просчитываться быстрее.

На этом общие параметры закончились. Далее – уникальные параметры различных типов жидкости.

Параметры домена

Под-вкладка Settings

Здесь находится всё, что связано с основными настройками симуляции.

Simulation Threads – указывает количество ядер процессора, которые будут использования в процессе симуляции. Если установлено в 0, то блендер автоматически определит количество ядер и будет использовать максимум доступных ядер, но иногда вместо использования 4 ядер, блендер будет использовать только 2 ядра. Поэтому желательно вручную указать этот параметр, если не хотите ждать дольше просчёта, или наоборот, если не хотите, чтобы система подвисала.

Final Resolution – разрешение финальной симуляции, а точнее количество вокселей самой длинной стороны домена (разрешения остальных сторон домена вычисляются автоматически, на основании пропорций домена).

Preview – разрешение, которое можно использовать для более быстрого проигрывания в окне 3д-вида. То есть, блендер даёт возможность указать два разрешения: Final и Preview. Первое разрешение – это разрешение симуляции, а второе разрешение – это разрешение для меша, который создаётся для предпросмотра. Дело в том, что воксели жидкости преобразовываются в меш, и можно указывать с помощью параметра Preview меньшее количество вокселей для преобразования в меш. Чтобы это легче понять, посмотрите на скриншот:

Блендер как сделать воду. Смотреть фото Блендер как сделать воду. Смотреть картинку Блендер как сделать воду. Картинка про Блендер как сделать воду. Фото Блендер как сделать воду

Слева на скриншоте меш сгенерирован с помощью параметра Final Resolution, а справа с помощью параметра Preview Resolution. Слева больше полигонов, а справа меньше. Одни и те же воксели жидкости преобразуются в меш с различными вариациями разрешения. То есть, имеется одна симуляция вокселей жидкости и две вариации сгенерированного меша (Final и Preview).

Render Display – указывает то, какой меш жидкости будет выводится на рендер:

Viewport – тоже самое, что и Render Display, но для окна 3д-вида. То есть указывает то, что будет отображено в окне 3д-вида.

Time Start – начальное время симуляции. Если будет установлено больше нуля, то блендер просчитает первые кадры симуляции в памяти и не сохранит их на жёсткий диск. И как только время симуляции будет больше Time Start, блендер начнёт записывать кадры симуляции в кеш. И в статус баре прогресс симуляции может долго показывать 0% (до тех пор, пока не начнётся запись в кеш). И стоит заметить, что симуляция всегда начинается с нулевого кадра.

End – конечное время симуляции. Если в сцене установлен FPS 30 кадров в секунду и конечный кадр в 120, то для симуляции в реальном времени этот параметр нужно установить в 4.0 секунды. Иначе, симуляция будет либо замедлена, либо ускорена. То есть, этот параметр указывает какое время будет в последнем кадре. Если Time Start равен 0.0, End равен 10.0, FPS равен 30, а последний кадр анимации (настройка сцены, находится в окне Timeline) будет равен 600, то симуляция будет в замедленном действии в два раза медленнее (симуляция как бы растянется на все 600 кадров).

Speed – это параметр, который указывает скорость симуляции. Он умножается на скорость, которая рассчитывается на основе параметров Time Start и End. И этот параметр можно анимировать. Например, чтобы сначала ускорить симуляцию, а потом замедлить.

Generate Speed Vecotrs – этот параметр указывает блендеру генерировать вектора скорости для меша жидкости или нет. То есть, если параметр включён, то вектора будут сгенерированны. И эти вектора скорости можно будет использовать в постобработке или в Cycles Render без постобработки, чтобы добавить размытие при движении. Полезно для быстро движущихся потоков, чтобы на рендере имитировать эффекты реальной камеры (в реальных камерах как правило быстро движущиеся потоки жидкости выглядят размытыми).

Reverse Frames – если этот параметр включён, то кадры симуляции будут воспроизводится в обратном направлении. Например, если запечены кадры от 0 до 3, то при отключённой опции при проигрывании анимации, кадры будут воспроизводится по очереди так: 0, 1, 2, 3. А если включить эту опцию, то кадры будут проигрываться так: 3, 2, 1, 0.

Под-вкладка Bake

Здесь находится всё, что связано с кешем. В этой вкладке есть один параметр и один оператор (кнопка):

Cache Path – это директория, куда будет сохраняться кеш (то есть запечённая симуляция).

Bake – кнопка запуска симуляции. Когда симуляция уже запущена, её можно прервать в статус баре, нажав на крестик в полосе прогресса, либо можно нажать клавишу Esc. Помните об этом во время проигрывания уже запечённых кадров (интерфейс блендера не замораживается во время запекания). Можно случайно отменить процесс запекания жидкости и возобновить его уже будет невозможно.

Под-вкладка Boundary

Здесь находятся настройки границ домена и настройки генерации меша. Данная вкладка хранит следующие параметры:

Slip Type – указывает, какое трение/скольжение будет у жидкости о границы домена:

Surface Smoothing – сглаживание поверхности меша жидкости (эффект похож на работу модификатора Smooth). Чем выше значение, тем более гладкая поверхность меша жидкости. 0.0 – отсутствует сглаживание. Максимальное допустимое значение: 5.0.

Subdivisions – с помощью этого параметра можно подразбить решётку для генерации меша. Если параметр меньше 2, то подразбиения не будет, если равен 2, то одна клетка решётки для генерации меша будет разделена на 8 клеток (2 по вертикали, две по горизонтали и две по глубине, из одного кубика получится как бы 8 кубиков 2x2x2). Если этот параметр установить на 3, то одна решётка будет разделена на 27 решёток (3x3x3), при 4 на 64 (4x4x4) и т.д. Например, если разрешение симуляции равно 100x50x25, а Subdivisions – 2, то разрешение решётки для генерации меша жидкости будет 200x100x50 соответственно. В общем этот параметр позволяет создавать более высокополигональный меш жидкости.

Remove Air Bubbles – если эта опция включена, то между препятствиями и поверхностью жидкости удаляются воздушные зазоры, путём добавления дополнительных вокселей для генерации меша. Чтобы лучше понять этот параметр, посмотрите картинку:

Блендер как сделать воду. Смотреть фото Блендер как сделать воду. Смотреть картинку Блендер как сделать воду. Картинка про Блендер как сделать воду. Фото Блендер как сделать воду

Слева опция включена, справа – выключена. Как видно, при включённой опции меш жидкости проникает внутрь препятствий, чтобы не было воздушных зазоров.

Под-вкладка Particles

В этой вкладке хранятся настройки частиц.

Tracer – количество частиц трейсеров. Это может быть пузырьки в мёде, кусочки ягод в варенье (то есть различного рода включения в жидкости, которые плавают в ней). О трейсерах расскажу ниже.

Generate – этот параметр двусмысленный. Во первых, он влияет на количество генерируемых плавающих частиц (пены) и на количество всплесков (частицы Drops). Но второе значение этого параметра вступает в силу, когда значение Subdivisions (под-вкладка Boundary) выше 1. Если параметр Generate больше нуля и параметр Subdivisions больше или равен 2, то генерируются брызги, реализованные в виде геометрии (в виде полигонов). На рисунке ниже изображён пример с геометрическими частицами и без:

Блендер как сделать воду. Смотреть фото Блендер как сделать воду. Смотреть картинку Блендер как сделать воду. Картинка про Блендер как сделать воду. Фото Блендер как сделать воду

На картинке две симуляции имеют одинаковые параметры, за исключением параметра Generate. Слева этот параметр установлен на 10.0, а справа на 0.0.

Под-вкладка World

Здесь хранятся параметры пространства симуляции. По-умолчанию два параметра не активны. Это параметр Gravity и World Size Meters.

Gravity – это гравитация в симуляции жидкости. По-умолчанию используется гравитация сцены. Если во вкладке Scene окна Properties отключить гравитацию, то значение гравитации можно будет указать в этом параметре.

World Size Meters – реальный размер домена в метрах. По-умолчанию используется размер исходного объекта домена. Если во вкладке Scene окна Properties установить единицы измерения на None, то значение размера домена можно будет указать в этом параметре.

Под-вкладка Viscosity

Хранит настройки вязкости. В заголовке панели Viscosity можно выбрать предустановки: Water (вода), Oil (масло), Honey (мёд).

Base – базовое значение вязкости. Чем выше это значение, тем более вязкая жидкость.

Exponent – отрицательная экспонента значения вязкости. То есть значение Base умножается на 10 в степени минус Exponent. Например, если Base равно 4, а Exponent – 3, то вязкость будет равна 4 * 10 ^ (-3). Эта экспонента нужна, чтобы легче было указать слишком низкие или слишком высокие значения вязкости. Чем выше этот параметр, тем ниже вязкость (то есть присутствует обратная зависимость).

Параметры Fluid

Volume Initialization – общий параметр (описан выше).

Export Animated Mesh – тоже общий параметр, который я уже описал выше.

Initial Velocity XYZ – вектор, указывающий начальную скорость жидкости. Если равно (1.0, 0.0, 0.0), то начальная скорость жидкости будет одна единица (метр/блендер unit) по оси X.

Параметры Obstacle

Volume Initialization – описан выше.

Export Animated Mesh – описан выше.

Slip Type – аналогичен одноимённому параметру у объекта домена. Но у домена этот параметр отвечает за трение о стенки, а у Obstacle – за трение о поверхность препятствия. Если Free Slip, то жидкость будет скользить по поверхности препятствия, No Slip – будет прилипать, Partial Slip – промежуточное между отсутствием и наличием трения (частичное трение указывает параметр Amount, как и у домена).

Impact Factor – этот параметр указывает то, как препятствие действует на жидкость. Данный параметр вступает в силу, если объект препятствия движется. При значении 1.0 – препятствие обычным способом соударяется с жидкостью и толкает её со стандартной силой. Если значение больше 1.0, то сила, которую придаёт препятствие к жидкости будет увеличена. Если значение отрицательно, то при врезании препятствия в жидкость, жидкость будет удаляться, а при отдалении препятствия от жидкости, вся жидкость, которая находится на поверхности препятствия будет отталкиваться от неё. Поэкспериментируйте с этим параметром и поймёте что я имею в виду. Данный параметр может использоваться для подстройки массы препятствия. То есть препятствие можно сделать более или менее массивным, чем оно есть на самом деле.

Параметры Inflow

Галочка Flow в заголовке панели – включает или отключает испускание жидкости из объекта Inflow. Например, можно выключить (как водопроводный кран) источник жидкости, а потом опять включить. Данный параметр анимируемый, как и большинство параметров.

Volume Initialization – описан выше.

Export Animated Mesh – описан выше.

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

Initial Velocity XYZ – так же, как и у объекта Fluid. Указывает начальную скорость и направление источника жидкости.

Параметры Outflow

Галочка Flow в заголовке панели – включает или отключает объект оттока. Аналогично одноимённой галочке у объекта Inflow. То есть отток можно выключить из симуляции, а потом опять включить.

Volume Initialization – описан выше.

Export Animated Mesh – описан выше.

Параметры Particle

Под-вкладка Settings

Influence Size – указывает на то, будут ли вторичные частицы разного размера. При значении 0.0 – все частицы будут иметь одинаковый размер. При 1.0 – размер частиц будет разным и колеблется от 0.2 до 2.0. Если значение выше 1.0, то разность размеров частиц будет ещё больше.

Influence Alpha – если это значение больше нуля, то значения прозрачности частиц изменяются в зависимости от их размера.

Drops – включает генерацию частиц-капель (те частицы, которые находятся над поверхностью жидкости).

Floats – включает генерацию частиц-пены (те частицы, которые находятся на поверхности жидкости).

Tracer – включает генерацию частиц-трейсеров (те частицы, которые являются вкраплениями в жидкости).

Можно создать три объекта Particle (для большего контроля) и у каждого активировать разные галочки. Либо можно создать один объект Particle, и активировать у него все галочки.

И у объекта Particle создаётся fluid-система частиц (имеет меньше настроек, чем обычная система частиц). Располагается там же, где и обычные частицы (вкладка Particles).

Под-вкладка Cache

Имеет один параметр:

Path – указывает на то, где искать кеш частиц (кеш частиц хранится в файлах fluidsurface_particles_####). Как правило это путь должен совпадать с параметром Cache Path у объекта домена.

Параметры Control

Quality – качество. Чем выше качество, тем медленнее просчёт.

Reverse Frames – перевернуть анимацию Control объекта задом на перёд. Например, есть 4 кадра анимации: 0, 1, 2, 3 у объекта Control. Если галочка выключена, то анимация будет в таком же порядке воспроизводиться. А если включена, то кадры будут следовать в обратном порядке: 3, 2, 1, 0.

Time Start – указывает начальное время работы контролирующего объекта. Например, если вам нужно, чтобы Control объект не сразу начал притягивать жидкость, а через определённое время, то повышайте этот параметр.

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

Attraction Strangth – сила притяжения. Положительные значения притягивают жидкость, отрицательные – отталкивают.

Attraction Radius – радиус силового поля, на котором действует сила притяжения.

Velocity Strength – этот параметр отвечает за то, как зависит скорость жидкости от скорости Control объекта.

Velocity Radius – радиус силового поля, на котором действует влияние скорости Control объекта.

Источник

Симуляция жидкости в Blender

Данный урок состоит из двух частей. В первой части будет создан стакан, настроено освещение, а также рассказано об основных настройках жидкости. Во второй будет показано как создать кубики льда и выполнить финальный рендер.

В этом уроке Вы узнаете:

Перевод урока с сайта BlenderGuru.com
Финальный рендер стакана с водой:

Блендер как сделать воду. Смотреть фото Блендер как сделать воду. Смотреть картинку Блендер как сделать воду. Картинка про Блендер как сделать воду. Фото Блендер как сделать воду

Видеоурок — часть 1

Видеоурок — часть 2

Авторизация

Блендер как сделать воду. Смотреть фото Блендер как сделать воду. Смотреть картинку Блендер как сделать воду. Картинка про Блендер как сделать воду. Фото Блендер как сделать воду

Рубрики

О сайте

На данном сайте Вы сможете найти множество уроков и материалов по графическому
редактору Blender.

Контакты

Для связи с администрацией сайта Вы можете воспользоваться следующими контактами:

Следите за нами

Подписывайтесь на наши страницы в социальных сетях.

На сайте Blender3D собрано огромное количество уроков по программе трехмерного моделирования Blender. Обучающие материалы представлены как в формате видеоуроков, так и в текстовом виде. Здесь затронуты все аспекты, связанные с Blender, начиная от моделирования и заканчивая созданием игр с применением языка программирования Python.

Помимо уроков по Blender, Вы сможете найти готовые 3D-модели, материалы и архивы высококачественных текстур. Сайт регулярно пополняется новым контентом и следит за развитием Blender.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *