Сабдивы не позволяют превращать себя напрямую в мягкое тело, однако вы всегда можете применить трюк, описанный выше для твердых тел: перейти в режим Polygon и превратить в мягкое тело полигональную сетку, окружающую сабдив. Либо назначить на поверхность (этот трюк справедлив не только для сабдивов, но и для сложных поверхностей других типов) Lattice-деформер и превратить в мягкое тело его. Это создаст мягкие динамические деформации для любой поверхности.
Частицы, образующие мягкое тело, можно испускать из источника частиц. Достаточно присоединить их к источнику в Dynamic Relationship. Это позволяет делать довольно забавные эффекты с «выдуванием» поверхности из источника.
Теперь вернемся к предыдущему примеру и проделаем мысленно (но можно и на практике) следующий опыт: если для частиц мягкого тела, разлетающихся под действием турбулентности, создать точную копию плоскости и назначить её в качестве Goal для частиц, они наверняка перестанут улетать далеко от плоскости и будут стремиться обратно к своим контрольным точкам. Точнее, к контрольным точкам goa 1-плоскости. Оказывается, такой принцип используется при создании «продвинутых» мягких тел, а параметры создания задаются через Option Box операции Create Soft Body.
Удалите в предыдущем примере частицы или откройте новый файл и создайте сплайновую плоскость заново (scale=20, patchesU=patchesV=30).
Выберите плоскость и откройте Option Box для Soft/Rigid Bodies=>Create Soft Body.
Выберите Creation Option = Duplicate, Make Copy Soft.
А также включите Hide Non-Soft Object и Make Non-Soft a Goal.
Нажмите Create, чтобы создать мягкое тело.
Выбранные параметры означают, что выбранная поверхность будет сдублирована. Потом копия поверхности будет превращенная в мягкое тело с частицами, а оригинальная поверхность (Non-Soft) будет назначена как Goal для частиц. При этом она будет спрятана, и на экране останется только мягкое тело. Так как две поверхности будут идентичны, каждая частица будет стремиться в место своего рождения, то есть в соответствующую точку на спрятанной поверхности.
Снова выберите поверхность на экране (или частицы в Outliner) и создайте поле турбулентности.
Теперь, чтобы заставить частицы пошевелиться, надо задать довольно приличную силу поля (magnitude=50) и даже уменьшить атрибут attenuation до нуля.
Постоянно помните о том, что существует невидимая поверхность и что частицы стремятся к ней с заданным весом. Этот вес можно найти в Channel Box для частиц как значение атрибута goalWeight[0].
Установите его в 0.3 и посмотрите, как ослабилось притяжение к поверхности. Затем задайте goalWeight[0]=1 и убедитесь, что частицы прилипли намертво к невидимой поверхности и игнорируют любые внешние воздействия.
Вспомним, что у каждой частицы может быть свой собственный вес (атрибут goalPP), который умножается на общий goalWeight. С его помощью можно сделать некоторые участки поверхности «мягче» или «жестче» остальных. Для частиц, образующих мягкие тела, имеется возможность, вместо создания expressions для goalPP, просто раскрасить поверхность мягкого тела в черно-белые оттенки, задавая, таким образом, распределение goalPP вдоль поверхности.