Он будет добавлять новую точку к уже имеющейся кривой для каждой частицы в каждом кадре.

Точка будет совпадать с позицией частицы в этом кадре.

•    Чтобы всегда удалять все траектории в первом кадре, создайте обычный (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.


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