Blender Basics 3-rd edition/Chapter 18- Object Physics
Содержание
Глава 18: Физика Объектов
Автор: James Chronister
Оригинальный перевод: Юлия Корбут aka Balista
Переработка текста: Азовцев Юрий aka gumanoed
Переработка иллюстраций: Елена Силаева
Создание ткани и эффекта волн
Одна из самых новых и полезных вещей, добавленных в новых версиях Blender - система Мягких Тел. Система Мягких Тел используется при симуляции ткани, желе и воды. Меш мягкого тела может деформироваться при взаимодействии с другими объектами (падение ткани на объект или корабль на волнах). Система Мягких Тел (Soft Bodies), симуляции Ткани (Cloth) и Жидкости (Fluid Simulation) находятся в разделе Object, подразделе Phisics.
Для создания простой анимации плоскости с примененной Системой Мягких Тел, падающей как лист бумаги на шар, создайте плоскость и расположите ее над сферой (иллюстрация слева). В Режиме Редактирования подразделите (subdivide) плоскость 4 или 5 раз. Для хорошей имитации системе мягких тел понадобиться большое количество вершин на объекте. Выделите все вершины ("A") и в разделе "Edit" создайте новую группу вершин
(вы можете использовать автоматически назначенное имя для группы - "Group"). Установите вес (weight) в значение 0 и нажмите кнопку "Assign". Это придаст всем вершинам вес равный 0, что означает отсутствие анкеров ("крепежей") и они смогут свободно падать. Теперь снимите выделение со всех вершин и выделите только две слева по краям. Измените значение параметра Weight на 1 и нажмите кнопу Assign. Это закрепит точки, как края флага. Выйдите из Режима Редактирования. Теперь самое время перейти в Окно Кнопок в раздел Object, подраздел Physics и нажать кнопку "Enable Soft Body" (показанно на иллюстрации).
Для просмотра анимации вам нужно сделать еще несколько настроек. Во-первых, установите значение силы гравитации (Grav) в значение 9.8 (параметр для нашей планеты Земля) и выберите группу вершин "Group" для параметра "Use Global". Теперь все готово для просмотра анимации с системой Мягких Тел! Поместите курсор в окно 3D-вида и нажмите "Alt-A".
Возможно, вы захотите переключить режим отображения объектов в Shade. Плоскость будет падать сквозь шар и слегка задерживаться, удерживаемая двумя закрепленными вершинами. Не совсем то, что мы хотели, но это начало.
Теперь нам нужно придать ткань упругость, чтобы она не растягивалась. Кликните по "Stiff Quads" под "Use Edge" (использовать границу), это придаст связям между вершинами эффект "пружины" или эластичности. Если значение параметров близко или равно 0, объект будет бесконтрольно растягиваться (попробуйте установить этот параметр). Нам нужно значение 0.60 для обоих параметров Pull и Push. Ткань будет растягиваться, но не сильно. Попробуйте просмотреть анимацию еще раз. Вы должны заметить изменения.
Теперь самое время научить ткань взаимодействовать со сферой. Выберите сферу и нажмите кнопку "Colission" на одноименной панели. Установите значение параметра Dampening равным 1. Это создаст взаимодействие между сферой и тканью. Включение Коллизий между объектами значительно замедлит ваш компьютер при просмотре анимации. На иллюстрации слева приведен пример, как этот эффект должен выглядеть.
Возможно, для правильного отображения анимации вам придется снова выделить плоскость, перейти в раздел Soft Bodies и нажать кнопку "Free Cache" для удаления старого варианта анимации ткани. Выглядит гораздо лучше, но по-прежнему слегка проходит сквозь сферу.
Чтобы это исправить примените модификатор Subdivid и подразделите плоскость немного больше и/или примените модификатор Set Smooth. Экспериментируйте с настройками для получения наилучшего результата. Вы можете ускорить процесс анимации, используя сферу с меньшим количеством вершин. Когда вы получите нужный результат "Запеките (Bake)" параметры анимации. Когда процесс запекания закончится анимация по нажатию "Alt-A" будет проигрываться без замедлений и вы сможете переходить в любой кадр анимации. Если вам потребуется сделать изменения, нажмите кнопку "Free Bake", сделайте нужные изменения и нажмите "Bake" снова.
Использование cил для манипуляции мягкими телами
Кроме столкновений с другими объектами на Мягкие Тела могут воздействовать силы (например ветер). Для демонстрации, удалите из сцены сферу (для ускорения процесса) и добавьте слева от плоскости пустышку (Empty). Мы используем пустышку в роли источника ветра.
Помните, пустышка не рендерится в изображении и великолепно подходит для использования в подобного рода задачах.
Выделите Empty, найдите панель Fields и измените тип поля на Wind. Установите силу (Strength) близкой или равной 1.0.
Направление силы ветра может оказаться не в том направлении. Вращайте пустышку и направьте ветер на плоскость. После этого нажмите "Alt-A" и анимируйте сцену.
Ветер, скорее всего, настолько сильный, что сдувает ткань. Попробуйте уменьшить силу ветра до 0.4 и анимируйте сцену еще раз. Эффект должен выглядеть гораздо лучше. Если вы позволите анимации длиться достаточно долго, то заметите как ткань замедляет свое движение и оказывается стянутой вправо. Для компенсации этого эффекта вам потребуется анимировать параметр Strength - силу ветра либо добавить ключи вращения для Empty, заставив ее слегка изменять направление ветра. Для добавления ключей анимации параметра Strength вам потребуется создать кривую в окне IPO.
Создание кривой параметра Strength в окне IPO
Разделите ваш экран на две части и переключите одно из окон в IPO Window. Выберите Empty и найдите в окне IPO кривую "FStrength" и выберите ее. Для создания трека удерживайте Ctrl и щелкайте Левой Кнопкой Мыши в местах расположения точек кривой (для кадра 1 нулевая сила ветра, для 100-го кадра около 0.2). Измените тип кривой на "Linear" (линейный, клавиша T) и добавьте еще несколько точек используя Ctrl-ЛКМ. Слегка переместите точки для придания силе ветра большей случайности. Сделайте анимацию еще раз и проверьте результат.
Мягкие Тела могут быть использованы во многих случаях. Мы использовали их для симуляции одежды, но и для создания эффекта желе они работают так же хорошо. Вам нужно будет самостоятельно изучить дополнительные материалы и провести эксперименты с параметрами для выяснения всех возможностей системы Мягких Тел. В Blendert были сделаны значительные доработки для системы Одежды и Симуляции жидкости. О них мы и поговорим далее.
Практическое задание. Создание флага
Автор: James Chronister
Перевод: Азовцев Юрий aka gumanoed
Переработка иллюстраций Елена Силаева
Создайте новый файл и назовите его "Flag". Создайте цилиндр и сферу, из них получится флагшток. Так же, добавьте плоскость, которая сыграет роль флага. Создайте группу вершин для всей плоскости, за исключением двух вершин, прикрепляющих флаг к флагштоку. Для всех вершин входящих в группу утановите параметр weight равный 0. Две крайние вершины должны иметь параметр weight равный 1. Включите систему мягких тел для плоскости, как мы делали это выше, и добавьте эффект ветра. Сделайте ветер слегка порывистым с помощью IPO-кривой FStrength. Добавьте текстуры и материалы для всех оъектов.
Эффект одежды (Cloth)
Параметр Cloth работает подобно Softbody. Мы создали с ваи флаг с помощью Softbody, но могли бы это сделать и с Cloth. Основным отличием этих параметров является наличие предустановленных параметров материала (Cloth). Этот эффект позволяет создать "одежду" для персонажа и она будет автоматически реагировать на его движение. Но платой за удобство станет время. Этот эффект значительно увеличивает время рендеринга вашей сцены. Подробное описание эффекта Cloth вы можете найти на Blender Wiki.
Симуляция жижкости (Fluid)
Эффекту симуляции жидкости было уделено большое внимание в последних релизах Blender. Для создания жидкости в сцене вам потребуется несколько базовых элементов (некоторые из них не обязательны):
- Домен (Domain) - часть пространства вашей сцены, в котором будет происходить симуляция жидкости
- Жидкость (Fluid) - объект, представляющий собой саму жидкость
- Inlet - элемент сцены подающий воду (как водопроводный кран).
- Outlet - не обязателен. Позволяет отводить жидкость и контролировать заполнение.
- Обстоятельства (Obstacles) - вещи, случающиеся в течении анимации. Объекты, с которыми взаимодействует жидкость.
Давайте начнем создание простой сцены с жидкостью. Создайте новый файл со сценой и добавьте с сцену UV сферу с параметрами по умолчанию. Уменьшите размер сферы и поместите ее внутрь куба, как это показано на иллюстрации. Оставив сферу выделенной, перейдите в раздел Object, подраздел Physics и включите Fluids, использовав сферу как жидкость (Fluid).
Затем, выберите куб и сделайте его доменом (Domain). Помните, вся симуляция жидкости происходит внутри домена и не выходит за его пределы. Прежде чем мы "Запечем" анимацию, перейдите в раздел Scene и уменьшите длину анимации до 70 кадров, вместо 250.
Теперь, после уменьшения длинны анимации вернитесь к настройкам жидкости (Object-Physics), выберите куб и нажмите кнопку "Bake".
Первые несколько секунд Blender перестанет отвечать на команды и после начнет просчитывать анимацию (именно по этому мы и уменьшили длину анимации до 70 кадров). В верху экрана вы увидите индикатор прогресса и количество рассчитанных кадров. После завершения процесса вы сможете нажать "Alt-A" и просмотреть получившуюся анимацю. Ваша модель должна выглядеть близко к показанной ниже. Рендер выглядит достаточно хорошо, но жидкость будет более реалистичной после применения модификатора "SubSurf" и нажатия кнопки "Set Smooth".
Следующее, что вы захотите сделать - убрать сферу из сцены. Но прежде чем удалять, выделите сферу, нажмите "M" и переместите ее в другой слой. Работая с анимацией вам полезно будет знать, где функция Bake сохраняет кадры анимации и время от времени очищать ее.
И, наконец, добавите жидкости материал. Настройте параметры текстуры, отражения и преломдения для более реалистичного вида.
Практическое задание. Симуляция жидкости. Всплеск
Автор: James Chronister
Перевод: Азовцев Юрий aka gumanoed
Переработка иллюстраций Елена Силаева
Давайте создадим новый blend-файл и назовем его "Splash" (всплеск). Начнем с удаления куба из вида сверху и создания круга (circle). Установите значение вершин в окружности равным 15 и нажмите кнопку "Fill".
Переключитесь в вид спереди и начните экструдировать и маштабировать окружность до получения формы простой чашки. Когда достигните верхней границы, смаштабируйте вершины вовнутрь и сформируйте внутренную поверхность чашки. Старайтесь сохранить форму чашки простой и время создания анимации останется приемлемым.
После создания формы чашки, зайдите в раздел "Edit" в Окне Кнопок и добавьте для нее модификатор SubSurf, и так же нажмите "Set Smooth". Теперь чашка должна выглядеть близко к показанной на иллюстрации:
Теперь, нужно добавить куб и увеличить его до 4.00 юнитов. Используйте для этого меню параметров трансформации (Transform Properties), вызываемого по клавише "N". Разместите куб так, что бы его центр совпадал с положением чашки. После этого, добавьте в сену UV-сферу и разместите ее над чашкой. Помните, все элементы анимации должны оставаться в пределах домена (в данном случае - куба). Проверьте вид сцены из всех трех проекций и убедитесь в верном размещении сферы, не выходящим за пределы куба и ее расположении точно над чашкой.
До начала процесса анимации, перейдите в раздел Scene в Окне Кнопок и поменяйте End Frames с 250 на 70. Теперь, перейдите в раздел Object, подраздел Physics и активируйте систему симуляции жидкости кнопкой Fluid на панели Fluid. Установите чашке роль "Obstacle" в анимации, сфере - роль "Fluid", а кубу роль "Domain" внутри которого все и будет происходить. Выделите куб и нажмите кнопку "Bake". Дождитесь окончания расчета анимации. После завершения расчета, нажмите "Alt-A" и посмотрите, все ли происходит так, как вы запланировали. Если что то вас не устроит, нажмите "Ctrl-Z" для возврата к шагу настройки анимации, и измените параметры. Если вам нравится ход анимации, самое время добавить материалы для объектов. Переместите сферу в другой, не используемый, слой ("M") и немного подразделите (Subsurf) воду.