Это самый «легальный» способ открыть нужный expression, поэтому старайтесь использовать его.

Примечание. Если в Expression Editor выбрать Select Filter=>By Expression Name, а затем, указав на expression для частиц, закрыть его, то он «запомнит» свой последний режим работы с частицами. Если после этого выбрать любой объект, например, кривую, и открыть Expression Editor, он будет открываться в режиме создания expressions для частиц, и попытка написать формулу для перемещения кривой будет выдавать загадочные сообщения. Поможет только переключение Select Filter=>By Object Name. Или же открытие Expression Editor по правой кнопке мыши из Attribute Editor или Channel Box. Это - «глюк».

Будьте также внимательны, устанавливая диапазон анимации. У частиц, по аналогии с твердыми телами, есть атрибут Start Frame, определяющий, с какого кадра начнется расчет динамики для выбранных частиц. По умолчанию, он равен единице, то есть динамика начинает выполняться с первого кадра. Если диапазон анимации будет начинаться не с первого кадра, а позже, проигрывание и возвращение анимации в начало (уже не в первый кадр) могут давать непредсказуемые результаты. Следите за тем, чтобы значение атрибута Start Frame было не меньше начального кадра диапазона анимации.

Теперь посмотрим, какие трюки можно использовать при работе с Particle Expressions.

Как убить конкретную частицу?

Конечно, любители вбивать цифры в клетки предложат выделить часть частиц, затем открыть Component Editor и вбить ноль в столбец lifespanPP, не забыв при этом переключить параметр Lifespan Mode в LifespanPP Only и сохранить начальное положение. А если надо убить каждую пятую частицу, или, начиная с третьей сотни, каждую восьмую, или не убить, а заморозить на месте? Взрослые мальчики, естественно, напишут expression, который и проделает всю грязную работу.

Создайте обычный источник частиц, задайте ему emitterType=Directional, a rate=5.

Частицы, для наглядности, сделайте сферами.

Создайте Creation Expression для частиц.

Ещё раз повторю: совершенно все равно, на каком индивидуальном атрибуте щелкать правой кнопкой мыши в Attribute Editor. Creation Expression создается один-единственный для всех атрибутов и всех частиц.

Введите формулу в Creation Expression: if(particleld> 10) lifespanPP=0; и не забудьте нажать кнопку Create.

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

Как справедливо замечают пытливые умы, Lifespan Mode должен быть обязательно установлен в LifespanPP Only.

Чтобы убить каждую пятую частицу, исправьте формулу следующим образом: if(particleld%5==0) lifespanPP=0; Это читается так: если остаток от деления нацело равен нулю, то - умереть. Это остаток от деления номера частицы на пять. Остатки от деления проходят классе в четвертом, поэтому если вы закончили только начальную школу, поверьте на слово.

Кстати, убивать частицу совсем не обязательно: можно просто обнулить её радиус или переместить в другое место.


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