• Если все мягкие тела выбраны, то выполните следующую команду, она запомнит список мягких тел:
$soft='ls -sl'; Теперь выберите все текущие кривые первой системы волос: откройте в Outliner группу hairSystem1OutputCurves и выберите все входящие в нее кривые, от первой до последней.
• Выполните команду, запоминающую эти кривые в список:
$goal='ls -sl';
• А теперь выполните небольшое заклинание, перебирающее оба списка и создающее goal для мягких тел:
for ($i=0; $i<size($soft); $i++)
goal -w 0.5 -utr 0 -g $goal[$i] $soft[$i];
• Запустите анимацию.
• Спрячьте группы hairSystem1Follicles и hairSystem1OutputCurves.
• Теперь вы можете резвиться с летающими волосами в соответствии с вашим опытом работы с частицами. Поля и expressions к вашим услугам,
• Для облегчения выбора всех частиц в сцене используйте команду “select *Particle”; Для этого вы также можете выбрать все мягкие тела в Outliner, а затем нажать стрелку вниз и стрелку вправо.
• Если все частицы выбраны, вы можете редактировать их атрибуты в Channel Box. Для создания expression для всех частиц одновременно, используйте следующую мантру:
$soft='1s -sl';
for ($i=0; $i<size($soft); $i++)
dynExpression -s "goalPP - rand(.5, 1.4);” -rbd $soft[$i]; Анимируя goal weights для частиц, вы можете заставлять волосы лететь на другую поверхность или возвращаться обратно.
Например, чтобы превратить их в «стаю змей», используйте следующий шифр:
$soft='ls -sl';
for ($i=0; $i<size($soft); $i++)
dynExpression -s "goalPP = 1.-0.3*id/count," -rbd $soft[$i]; Не забывайте о том, что частицы могут сталкиваться с поверхностями.
Кроме того, система волос, на которую летят безумные мягкие кривые, может иметь собственную анимацию. Анимируя goal weight, можно смешивать эту анимацию с полетом кривых.
Растущие волосы или hair particles
При создании волос стандартным способом есть одна проблема - волосы торчат первом кадре как палки. Иногда хочется создавать волосы, причем в большом количестве, уже имеющими начальную форму, чтобы не мучится с последующим «сгибанием» кривых в бараний рог или конский хвост.
Коль скоро мы договорились до того, что волосы - это частицы, то почему бы не использовать последние для выращивания волос.
Вперед!
• Создайте point emitter.
• Идите в десятый кадр и задайте Rate=100. Поставьте ключ.
• В одиннадцатом кадре задайте Rate=0. Поставьте ключ.
Поиграйте анимацию.
Теперь нужно просто превратить траектории частиц в кривые.
• Создайте для частиц Creation Expression:
vector $p = position;
curve -d 1 -p ($p.x) ($p.y) ($p.z) -n ("traj"+int(id)); Он будет создавать кривую, состоящую из одной точки для каждой частицы в момент ее рождения. Точка будет совпадать с позицией частицы в момент рождения.
• Создайте Runtime Expression
vector $p = position;
curve -p ($p.x) (Sp.y) ($p.z) -a ("traj"+int(id)) ;