Для того, чтобы анимация крутилась быстрее, спрячьте только что созданные пружины (Ctrl+h). Очевидно, что пружинам не хватает жесткости. Также очевидно, что жесткость определяется через атрибут stiffness у вновь созданного объекта springl, который можно выбрать в Outliner.

Задайте stiffness=20.

Спрячьте частицы, для красоты, и уберите координатную сетку.

При проигрывании могут наблюдаться высокочастотные «биения».

Это происходит от того, что частицы совершенно не тормозятся и в системе возникают высокие скорости, которые, как известно, главный враг динамики.

Притормозите частицы: выберите их и задайте conserve=0.999.

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

Для этого откройте Solvers=>Edit Oversampling or Cache Settings и введите значения 2 для параметра Over Samples. Это позволит вычислять траектории и определять скорости частиц в два раза чаще и, как следствие, в два раза точнее.

После этого биения исчезнут, и «занавеска» начнет раскачиваться, постепенно затухая.

Примечание. Высокие скорости в системе обычно возникают при наличии «жестких» элементов или сильно упругих взаимодействий. Мягкое тело нельзя довести до состояния «нерастягиваемости», агрессивно увеличивая жесткость пружин: это приведет лишь к появлению очередных биений, разрывающих поверхность в клочья. Поэтому старайтесь избегать высоких значений для атрибут stiffness, так как это привносит в систему высокоскоростные перемещения.

Чтобы анимация начиналась не с гладкой плоскости, а с уже «помятой» поверхности, проиграйте примерно 115 кадров и выполните Solvers=>Initial State=>Set for All Dynamic.

Теперь анимация будет начинаться с этого кадра.

Поставим препятствие на пути поверхности и заставим частицы, составляющие мягкое тело, столкнуться с этим препятствием.

Создайте NURBS-сферу и опустите её вниз (translateX=translatV=-13; scale=5).

В первом кадре поверхности не должны соприкасаться.

Выберите частицы, затем сферу и выполните Particles=>Make Collide.

В Channel Box установите для geoConnector: Friction=0.1; Resilence=0; Частицы не должны отскакивать вообще и будут немного тормозиться при соприкосновении.

Сфера взаимодействует с занавеской, но “прорывается” сквозь нее.

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

Выход прост - безнравственный обман.

Скопируйте сферу, немного сожмите копию, а первую сферу спрячьте.

Сгруппируйте обе сферы для синхронного перемещения, если вы собираетесь анимировать их движение.

Поэкпериментируйте с атрибутами friction и resilience для ноды geoConnector у невидимой сцены.

Сохраните сцену (softBody.ma).

Как видите, применение динамики мягких тел для анимации «типа тканей» весьма своеобразно. Такой подход имеет свои плюсы и минусы. Основное преимущество - это практически интерактивная скорость просчета динамики и гибкие возможности анимации с помощью известных полей, goal, expressions и пр. Основной недостаток - проблематичное взаимодействие с препятствиями и полное отсутствие контроля взаимопроникновения.


⇐ вернуться назад | | далее ⇒