Введение в физику в Blender: частицы, столкновение, ткань, ветер

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

Создавать такое вручную было бы трудоемко. Представьте, сколько потребуется ключевых кадров, чтобы имитировать колебание флажка, или сколько надо капель-объектов, чтобы в вашем фильме пошел дождь.

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

В Blender настройка частиц и остальная физика разделены по разным вкладкам редактора Properties | Свойства.

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

В Blender частицы порождаются излучателем (источником, эмиттером – Emitter), которым может выступать любой mesh-объект. Часто выбирают плоскость.

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

Системы частиц добавляются в слоты подобно тому, как это делается при добавлении объекту нескольких материалов. Хотя обычно бывает достаточно одной системы частиц.

Кнопки Emitter | Источник и Hair | Волосы позволяют выбрать, будет ли объект испускать частицы или из него будут расти волосы.

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

Если выполнить рендер (F12), то волосы мы увидим, а вот частицы – нет. Если посмотреть на панель Render | Рендеринг настроек частиц, то по-умолчанию заявлено, что частицы должны прорисовываться как Path | Путь или Halo | Гало. Чего мы не наблюдаем.

Однако если из списка Render As | Рендерить как выбрать вариант Object | Объект, то можно указать объект, который будет играть роль частиц. Понятно, что объект перед этим должен быть добавлен на сцену.

В этом случае при рендере частицы видны.

Чтобы посмотреть как падают частицы, надо запустить анимацию (Пробел). Частицы начнут сыпаться вниз из объекта-излучателя. После остановки анимации, чтобы увидеть, как выглядят частицы на картинке в определенном кадре, надо перейти к этому кадру и выполнить рендер (F12). Также вы можете создать видеофайл с анимацией.

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

На панели Emission поле Number | Количество определяет число излучаемых частиц. Это влияет на их плотность на единицу пространства. Frame Start и End определяют промежуток шкалы времени, когда эмиттер излучает частицы. Lifetime – время жизни одной частицы. Так если конкретная частица появилась в 60-м кадре, а время ее жизни 50 кадров, то она исчезнет в 110-м кадре.

По умолчанию настройки таковы, что к 250-му кадру все частицы исчезают, так как последние были рождены в 200-м.

Когда частицы падают, то на их пути могут встречаться другие объекты. По умолчанию эти другие объекты никак не реагируют на частицы. Последние проходят сквозь них, как-будто нет никаких препятствий. Чтобы объект реагировал на другой объект, ему добавляется "физика столкновения".

Делается это уже на вкладке настроек физики редактора свойств. У объектов, которые должны взаимодействовать с другими физическими объектам, должна быть включена коллизия (столкновение).

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

Для одного объекта может быть включено несколько "физик". При включении на соответствующей кнопке появляется крестик.

Рассмотрим моделирование ткани. Оставим куб стартового файла и добавим на сцену плоскость или сетку, которую увеличим и поднимем над кубом. Подразделим ее. После этого включим для плоскости кнопку Cloth | Ткань на вкладке Physics | Физика редактора свойств.

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

Если для куба включить Collision | Столкновение, то плоскость столкнется с ним и обернет его подобно ткани. На рисунке ниже у плоскости также было включено сглаживание.

Теперь представим, что ткань к чему-то прикреплена. Создадим группу вершин и назначим ей несколько вершин плоскости (см. практическую работу 10-го урока). Во вложенной панели Shape | Форма укажем группу вершин в качестве значения Pin Group | Закрепленная группа.

В результате ткань повиснет на вершинах.

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

С другой стороны, силовые поля доступны через меню Add (Shift + A). На самом деле здесь происходит примерно то же самое, но автоматически: на сцену добавляется объект-пустышка и ему включается физика выбранного силового поля. Так что для последующей настройки надо перейти на вкладку Physics.

На рисунке ниже на сцену добавлен ветер (wind) через Add → Force Field | Добавить → Силовое поле. Стрелка указывает его направление, которое можно изменить, поворачивая объект. Сильно увеличена сила ветра – Strength | Интенсивность. В результате ткань не падает на куб, а поднимается вверх. Силовые поля также могут влиять на частицы.


Курс с инструкционными картами к части практических работ:
pdf-версия


Введение в Blender. Курс




Все разделы сайта