Render.ru

Как остановить эмиттер, а потом снова запустить?

Maxim Ulrich 1

Пользователь сайта
Рейтинг
4
#1
Есть задача изобразить листопад. В какой-то момент листопад должен застыть на месте и камера перемещается от одного листочка к другому. Затем листопад снова запускается и листья продолжают падать с текущих позиций.
Я использую эмиттер, который сыпет листья. Сыпать-то он сыпет, а как сделать так, чтобы симуляция вдруг застыла, а потом опять продолжилась? Может быть, имеет смысл каким-то другим способом листья сыпать?
 

Antony Sumin

Активный участник
Рейтинг
9
#2
ctrl+d ставим гравитацию проекта в 0 (вкладка Dinamics)
в эмиттере начальную скорость тоже в ноль, вешаем на него тег Dinamics body
добавляем Simulate->Forces->Field force с типом "абсолютная скорость", на вкладке Object создаем филд типа Solid. через его свойство Direction настраиваем направление гравитации (0 -1 0), чтобы вниз была направлена.
добавляем её список Force тега динамики эмиттера.
теперь с помощью изменения силы для Field force можно управлять гравитацией, в т.ч. сбрасывать её в 0 на нужном кадре.

если новые листья должны после паузы тоже появляться, тогда делаем дубль эмиттера и запускаем его после паузы, а первому генерацию частиц прерываем на месте паузы (придется извращаться, т.к. пауза не прерывает генерацию частиц и они тупо накопятся в верхней точке первого эмиттера и потом всей кучей стартанут).
как вариант 2 - на время паузы двигаем эмиттер в невидимую область, после окончания паузы возвращаем на место.
т.е. чтобы частицы, которые он нагенерирует за время паузы где-то под полом оказались.
 
Последнее редактирование:

Maxim Ulrich 1

Пользователь сайта
Рейтинг
4
#4
Попробовал. Да, это оно! Спасибо за ценные рекомендации. Насчет накопления листьев во время паузы все проще гораздо. Делаем на время паузы Birthrate Editor на 0, потом опять возвращаем в исходную позицию и все четко.
 
Сверху