Номера (индексы) объектов в списке начинаются с нуля, именно поэтому, если objectlndex=None, то при подстановке используется первый объект (с индексом ноль). Если для частиц в параметрах подстановки указать objectlndex=particleld, первые несколько объектов появятся по очереди, однако потом начнет вылетать только последний объект, так как номера вылетающих частиц (particleld) становятся больше, чем последний индекс в списке.

Очевидно, необходимо создать атрибут, задающий номер объекта в списке, который будет подставлен в конкретную частицу. Такой атрибут должен быть per-particle, то есть индивидуальным и содержать одно число индекс.

В Attribute Editor для частиц нажмите кнопку General в разделе Add Dynamic Attributes.

В появившемся окне для добавления атрибутов выберите Data Type=Float и Attribute Type=Per Particle(Array).

Назовите атрибут indexPP и добавьте его.

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

Для того, чтобы объекты подставлялись в частицы по очереди и по кругу, создайте Creation Expression:

indexPP=particleld%6; Здесь число 6 - это количество подставляемых объектов. А формула читается так: индекс равен остатку от деления номера частицы на шесть.

Если вы хотите, чтобы объекты вылетали не по очереди, а в случайном порядке, то Creation Expression может выглядеть так:

indexPP = rand(0, 6); Самое главное не забыть указать Objectlndex=indexPP в параметрах подстановки.

Оригинальные самолеты эскадрильи можно спрятать, это не окажет влияния на подставляемые объекты. Сохраните файл (instancerFinalMulti.ma).

Таким образом, можно довольно гибко управлять атрибутами подставляемых в частицы объектов. Размер, повороты, видимость, номер объекта в списке - все эти параметры можно анимировать с помощью создания дополнительных атрибутов и написания соответствующих expressions к ним.

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

Примечание без комментариев. Если вы хотите, чтобы объекты появлялись по очереди, но написание expressions и создание собственных атрибутов вызывает у вас нервную дрожь, проделайте некоторые шаманские действия.

После подстановки нескольких объектов в одну систему частиц выберите в Outliner объект instancer и задайте для него Cycle=Sequental.

Затем выберите частицы и в Attribute Editor, в разделе Instancer (Geometry Replacement), установите CycleStartObject=particleld и A§e=particleld.

Чтобы осознать смысл проделанного, надо все-таки прочесть немного документации и немного подумать.

Сжатие и растяжение динамики Иногда бывает очень нужно немного увеличить или уменьшить время, за которое происходит тот или иной динамический эффект. Однако при работе с динамикой частицы и твердые тела ведут себя в соответствии с заданными начальными условиями и силами воздействия. Поэтому обеспечить протекание взрыва ровно за три секунды или падение твердого тела на землю к сотому кадру представляется проблематичным.


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