Введение в физику в 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 | Столкновение, то плоскость столкнется с ним и обернет его подобно ткани. На рисунке ниже у плоскости также было включено сглаживание.
Теперь представим, что ткань к чему-то прикреплена. Создадим группу вершин и назначим ей несколько вершин плоскости (см. практическую работу 11-го урока). Во вложенной панели Shape | Форма укажем группу вершин в качестве значения Pin Group | Группа закрепления.
В результате ткань повиснет на вершинах.
Одним из типов "физик" Blender'а являются силовые поля (force fields) – ветер, вихрь, магнитное поле и др. Соответствующая кнопка включения и последующий выбор типа силового поля находятся на вкладке физики редактора свойств. При этом силовое поле добавляется выделенному объекту.
С другой стороны, силовые поля доступны через меню Add (Shift + A). На самом деле здесь происходит примерно то же самое, но автоматически: на сцену добавляется объект-пустышка и ему включается физика выбранного силового поля. Так что для последующей настройки надо перейти на вкладку Physics.
На рисунке ниже на сцену добавлен ветер (wind) через Add → Force Field | Добавить → Силовое поле. Стрелка указывает его направление, которое можно изменить, поворачивая объект. Сильно увеличена сила ветра – Strength | Сила. В результате ткань не падает на куб, а поднимается вверх. Силовые поля также могут влиять на частицы.
Курс с инструкционными картами к части практических работ:
pdf-версия