Он будет добавлять новую точку к уже имеющейся кривой для каждой частицы в каждом кадре.
Точка будет совпадать с позицией частицы в этом кадре.
• Чтобы всегда удалять все траектории в первом кадре, создайте обычный (non-particle) I expression:
if(frame==l) delete "traj*";
• Проиграйте анимацию. Проследите, чтобы начальный кадр анимации был первым.
Лучше установить очередь Undo равной 50 шагам иначе будет интенсивный расход памяти вследствие множественных операций создания и удаления.
Когда частиц будет много, то можно рисовать траектории не для каждой частицы, а только для каждой пятой, десятой и т.д. Кроме того, можно добавлять точки к траектормям не в каждом кадре, а через каждые пять или десять кадров.
Для этих целей идеально будет добавить пару атрибутов к обьекту particle1 и использовать их в expressions.
• Добавьте два атрибута к particlel: everyld и everyFrame (integer, default=1)
• Изменим expression, чтобы выполнять все действия не для всех частиц, а только для некоторых.
Creation expression:
if (id%particle1.everyld==0) { vector $p = partieleShapel.position;
curve -d 1 -p ($p.x) ($p.y) ($p.z) -n ("traj"+int(id)) ;
}
Runtime expression:
if(id%particle1.everyld==0 && frame%particle1.everyFrame==0) { vector $p = partieleShapel. position;
curve -p ($p.x) ($p.y) ($p.z) -a ("traj"+int(id));
}
• Поиграйте с новыми атрибутами и посмотрите на результат.
Теперь можно добавлять поля, коллизии и другие способы управлять движением частиц. Можно также без изменений копировать эти expressions на любые частицы, например испускаемые с поверхности головы. А текстуру лысости можно использовать для обозначения области испускания.
• Откройте файл 9x2_ParticleHair.ma.
Там находится поверхность, испускающая частицы. Expression уже скопирован в сцену. Также в сцене есть пара радиальных полей, действующих на частицы.
Проиграйте анимацию.
• Выберите hairParticles.
• Установите L0D_P=1, чтобы рисовать траектории для каждой частицы.
• Можно также установить tessellation Factor=2000 для ноды geoConnector1, чтобы улучшить равномерное распределение испускаемых частиц.
• Проиграйте 150 кадров анимации.
• Удалите expression 1, чтобы траектории не удалились в первом кадре (используйте команду “delete expression1”).
Можно также экспортировать траектории в отдельный файл.
• Удалите частицы, поля и источник частиц.
• Выберите все кривые из группы groupTrj.
• Превратите их в динамические кривые: Hair=>Make Selected Curve Dynamic.
Если вы хотите анимировать полученные волосы динамикой, не забудьте освободить их концы (Point Lock=Base). Чтобы удерживать пучок собранным, можно применять констрейны.
Для задания жесткости пучка идеально подойдет атрибут Start Curve Attract в совокупности с градиентом Stiffness Scale.