Простая анимация сеточных моделей
Физические явления
Современные программы трёхмерной графики содержат средства для моделирования физических процессов. Это значит, что при построении анимации тела перемещаются с учётом законов физики: дым поднимается вверх или стелется по ветру, вода капает или стекает вниз, тела сталкиваются между собой и отскакивают, ткань полощется на ветру и т. п. В этих моделях для создания реалистичной анимации используются достаточно сложные математические уравнения, их решение требует большого объёма вычислений и мощного компьютера.
В программе Blender для этой цели используют две панели свойств: Частицы (Particles) и Физика (Physics). С их помощью можно моделировать:
• системы частиц (дым, огонь, волосы, траву);
• жидкости;
• столкновения тел;
• силовые поля, например ветер и магнитное поле;
• ткань.
Математические модели, описывающие эти явления, уже заложены в программу. Изменяя их параметры, можно получать самые разнообразные эффекты.
Система частиц — это модель объекта, который не имеет чётких границ, например пара, огня, дыма, дождя, снега и т.п. Для таких объектов невозможно построить сеточную модель, поэтому они моделируются как поток маленьких частиц, каждая из которых имеет скорость, цвет, направление движения. При движении частиц учитываются свойства внешней среды — сила тяготения (гравитация), ветер и т. п. Для настройки системы частиц используется множество параметров, меняя которые, можно строить модели различных явлений (дым, огонь и т. д.).
В Blender есть особый тип системы частиц — «волосы» (англ. hair). Они могут использоваться при моделировании волос человека, шерсти животных, а также травы (рис. 9.57).
Рис. 9.57
Жидкость (англ. fluid) моделируется как поверхность с большим числом граней, причём она может состоять из многих отдельных частей (капель). Для того чтобы построить анимацию жидкости, для каждого кадра положение всех вершин рассчитывается на основе предыдущего кадра и физических свойств жидкости (вязкости). Такой пересчёт иногда называют «выпечкой» (англ. bake). Он занимает длительное время, которое зависит от установленного разрешения (англ. resolution) и количества кадров анимации. При этом сеточные модели для каждого кадра создаются на диске в каталоге для временных файлов. При повторном просмотре анимации они уже не пересчитываются заново, а загружаются с диска (этот подход называют кэшированием). Однако если вы измените какой-либо параметр, всю анимацию придётся просчитывать заново с самого начала.
Ткань (англ. cloth) — это тоже сложная поверхность. В отличие от жидкости ткань создаётся и разбивается на грани вручную (например, используется плоскость, разбитая на части с помощью инструмента Подразделить (Subdivide)).
При построении анимации программа рассчитывает для каждого кадра положение всех вершин сеточной модели (падающей ткани) с учётом свойств выбранного типа ткани (хлопок, шёлк, кожа и др.). Чем мельче грани модели, тем точнее моделирование, но и больше время расчёта положения ткани в каждом кадре. Для объектов, которые должны задерживать ткань, нужно установить свойство «столкновение» (англ. collision). Примеры использования ткани в трёхмерных моделях показаны на рис. 9.58. Для создания модели полощущегося флага использовалось силовое поле типа «ветер» (англ. wind).
Рис. 9.58
Мягкие тела (англ. soft bodies) — это специальный аппарат для реалистичного моделирования движения тел, обладающих упругостью. Без него (вручную) было бы практически невозможно грамотно построить анимацию, в которой предметы сталкиваются, сминаются, отскакивают друг от друга и т. п.
Когда для сеточной модели устанавливается свойство «мягкое тело», грани приобретают свойства пружинок. Их жёсткость можно регулировать с помощью настроек на панели Мягкое тело (Soft Body).
Следующая страница Рендеринг