Построение траекторий и хвостов Созданный expression для рисования кривых по формулам может быть мгновенно переделан в построителя траекторий движущихся объектов. Создайте в этой же сцене динамическую конструкцию, подкупающую новизной: прыгающий по плоскости шарик. Наклоните немного плоскость, а шарик назовите ball. Для более бодрых прыжков задайте упругость (bounciness) плоскости и шарика, равной единице.

Теперь измените expression следующим образом: замените формулы вычисления $х, $у, $z на простое присваивание им координат шарика.

float $x=ball.translateX; float $y=ball.translateY; float $z=ball.translateZ;

if(frame==1)

{

if(objExists(“myCurve”)==1)

{ curve -p ($x) ($y) ($z) -r “myCurve”; } else

{curve -p ($x) ($y) ($z) -n "myCurve”; }

}

{

curve -p ($x) ($y) ($z) -a “myCurve”;

}

Теперь кривая в точности повторяет траекторию центра шарика. Преимущество такого построения траектории, в отличие от Animate=>Create Motion Trail, состоит в том, что его можно использовать для объектов, анимированных динамикой, а также в том, что кривая получается «настоящая». По ней можно строить Extrude или даже запускать другие объекты с помощью Motion Path.

Обратите внимание, что больше не нужно никакой возни с вычислением координат очередной точки кривой. Все вычисления делает MAYA, а мы лишь «забираем» результат в переменные $х, $у, $z.

Если вы хотите, чтобы за объектом тянулся хвост определенной конечной длины, добавьте в самый конец expression одну строчку:

}

if(frame>70) delete “myCurve.cv[0]”; Эта строка гарантирует «отрезание» первой точки у кривой в каждом кадре после семидесятого.

Поджигание хвоста Если ваш expression рисует хвост (траекторию) корректно, позвольте себе еще одну слабость.

Выберите какую-нибудь кисть: Paint Effects=>Get Brush.

Например, что-нибудь огненное: категория fire, кисть flameCoarse.mel.

Затем, ничего не рисуя, снова вернитесь в Select Tool и выберите кривую-хвост.

Выполните операцию назначения на кривую последней использованной кисти:

Paint Effects=>Curve Utilities=>Attach Brush to Curves.

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

Так как кривая не удаляется, а «обнуляется» в первом кадре, принадлежность кисти к траектории будет сохраняться.

Совершенно очевидно, что вы можете брать любые другие кисти, втомчислеанимированные, и назначать их на кривую-траекторию. Всё будет работать. Помните, что сохранять такую сцену лучше не в первом кадре.

Совет. Сохраняйте не только скрипты, но и наиболее удачные expressions в виде отдельных текстовых файлов. Заведите файл типа myBestExpressions.txt и копируйте туда, с комментариями, свои лучшие решения. Потом вам будет легче их найти и проанализировать.

Пример использования МЕ1_для решения проблем. Интерактивный рендеринг нужного количества кадров Иногда возникает ситуация, когда нужно быстро отрендерить некоторое количество кадров, причем не с помощью Batch Render, а используя просчет в окне Render Window. Во-первых, иногда просчитать небольшое количество кадров в окне Render Window гораздо быстрее.


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