Создаём объекты из частиц

Часто попадаются уроки на тему "как превратить объект в пыль, взорвать". Это, конечно, неспроста. Почти в каждом фильме без взрывов не обойтись. Но часто можно увидеть обратный эффект. Когда частицы собираются в какой-то объект, но не сливаются, а так и остаются частицами. Вспомните «В поисках Немо». Косяк рыб выстраивается в различные фигуры для того, чтобы выразить свои эмоции. При этом каждая рыба остаётся практически свободной. На память приходит реклама (не помню чья), когда комары на болоте «включают» музыку. Они собираются в форму музыкального центра. Динамик дёргается, как и положено (если не точно описал - просьба не бить, т.к. видел очень давно). Мумия в одноимённом фильме появляется из летающих частиц песка. Можно вспомнить ещё много примеров применения этого эффекта. Поэтому я решил описать способ его реализации. Это совсем не сложно.
Я решил повторить рекламу про комаров. В начале частицы (комары) летают совершенно свободно. Потом они собираются в форму динамика. Он начинает совершать ритмические движения. При этом каждый комар перемешается практически свободно внутри объекта.
Естественно, ничто не мешает вам сделать голову мумии, которая появляется из множества мух, ос и т.д. и начинает разговаривать, кричать, гримасничать. Тут уж всё зависит от вашей фантазии или сценария.
Итак, начинаем.
Первым делом моделим динамик.
Выбираю вид сверху (Top).
Рисую линию.

Применяю модификатор Lathe.
Получаю модель динамика.

Конвертирую в Poly.
Проверяю, нет ли дырок в модели, двойных граней и т.д.
(Для этого использую модификатор STL Сheck.)
Модель готова – Dinamik01.
Делаю копию модели - Dinamik02.
Перехожу на работу с вершинами. Перемешаю их так, чтобы в результате получился большой объём (Частицы в начале должны летать свободно).

Выбираю Dinamik01. Применяю модификатор Morpher.
Указываю цель - Dinamik02.
Ставлю ключи для цели. С 15 по 40 кадры Dinamik01 превращается из большого объёмного объекта в динамик.
Удаляю Dinamik02.
Теперь нужно заставить центр динамика колебаться.
Здесь можно снова воспользоваться модификатором Morpher.
Но проще и удобнее просто прилинковать нужные вершины к пустому объекту.
Создаю Dummy01. Выравниваю по динамику.
Выделяю Dinamik01 и применяю модификатор PolySelect.
Перехожу на работу с вершинами. Включаю SoftSelection (мягкое выделение). Выделяю внутренние вершины. Увеличиваю Falloff для того, чтобы немного захватить края.

Не снимая выделения с вершин, применяю модификатор LinkedXForm. Нажимаю кнопку Pick Control Object и выбираю Dummy01. Теперь при перемещении Dummy будут перемещаться выбранные вершины.
Этот метод подробно описан в уроке «Динамик» (Sahtyorov Dmitry), который находится в разделе «Уроки». Так же там описано – как заставить Dummy двигаться в такт с музыкой.

Для Dummy01 ставлю ключи. Середина динамика ритмично качается.

Нужно заполнить объект частицами, которые будут свободно двигаться внутри, не вылетая за границы объекта. К сожалению, до сих пор в 3DS MAX не реализованы частицы, которые взаимодействуют сами с собой. Нужны частицы, которые отталкиваются не только от объекта, но и от других частиц. Для имитации таких частиц я пользуюсь RealFlow.
Открываю закладку «Utilities». Запускаю утилиту SceneData Saver. Нажимаю SD Saver Settings. Сохраняю все кадры анимации объекта Dinamik01 в sd-файл.
Если утилита SceneData Saver отсутствует, значит необходимо установить плагин для RealFlow, который можно скачать с официального сайта www.nextlimit.com вместе с демонстрационной версией RealFlow 4.
Готовый файл здесь

Теперь открываю RealFlow.
Указываю масштаб преобразования для MAX-моделей (scale = 0.1).

Импортирую полученный sd-файл.
File->Import->Import Object
Включаю воспроизведение. Анимация идёт нормально.
Создаю эмиттер частиц и располагаю внутри объекта.
Указываю следующие параметры:

Type – Gas (это не жидкость, частицы не должны сжиматься в капли).
Max particles = 5000 (такого количества будет достаточно)
Speed = 10 (чтобы быстрей заполнить).
Нажимаю кнопку Lock, чтобы анимация не начиналась, пока объект не будет заполнен частицами.

Начинаю симуляцию.

Через некоторое время объект заполнен, и частицы равномерно заполняют объём объекта.

Останавливаю симуляцию. Выключаю кнопку Lock. Включаю экспорт частиц для сохранения их движений в секвенции bin-файлов(F12).

Если оставить всё как есть, результат может быть не совсем таким, как вы ожидали. Может быть заметно, что частицы начинают собираться в форму объекта не все одновременно, а начиная с краёв. В некоторых случаях это вполне допустимо. Но здесь добавляю daemon Attractor01 в центр объекта, который в нужный момент начнёт притягивать частицы к себе и через несколько кадров выключится.

Internal force =30 (увеличиваю силу воздействия)
Ставлю ключи для Simulation (перед тем, как начнёт действовать оболочка объекта включаю, частицы начинают слетаться к демону, через несколько кадров – выключаю).
Для установки кадров пользуюсь правой кнопкой мыши.

Если нужно, чтобы частицы двигались не слишком быстро (всё-таки это комары, а не метеоры) добавляю демон kSpeed, который будет ограничивать максимальную скорость (Max speed = 3, Limit&Keep = Yes).

Для того, чтобы объект не мешал видеть конечный результат, выключаю его видимость на экране.

Включаю симуляцию.
Частицы в начале произвольно двигаются.
Потом сила (Attractor1) начинает притягивать их к центру (всего несколько кадров).
Невидимый объект поджимает по краям.
Частицы двигаются свободно внутри динамика, совершая при этом движения, имитирующие его работу.

Вот и весь процесс.
Осталось загрузить полученные частицы в 3DS MAX.

Настраиваю их вид по своему желанию (идентично настройкам стандартных частиц).
Например, можно сделать комара и указать, что все частицы будут комарами. Настроить их размер, материал и т.д. Одна часть комаров может имитировать динамик, другая – сам музыкальный центр (его кнопки, болты, лампочки), третья – вылетающие из динамика буквы и т.д.
Следует помнить, что если количество полученных частиц большое, то модель для их замены нужно делать как можно более простой, если, конечно, у вас не суперкомпьютер.

Увеличить

С помощью этого метода можно сделать мумию, появляющуюся из частиц песка. Косяк рыб, выстраивающихся в различные конфигурации. Кораблик, появляющийся из табачного дыма, который выдохнул волшебник Гендальф. Придумывайте или реализуйте чужие «невероятные» идеи.
Для большего правдоподобия нужно добавлять различные демоны, чтобы песок для мумии вращался небольшими специфичными воронками. Рыба в косяке двигалась не куда попало, а по строгим рыбьим правилам.

Файл урока >>

Пробуйте. Удачи вам.

630 0 850 61
27
2006-09-22
Наверное администрации стоит уже подумать об отдельном подразделе уроков - Real Flow. Чувствую, толи еще будет... :)
2006-09-22
Прикольный урок, молодец!!!
2006-09-22
Да, хороший урок.
2006-09-22
Real Flow конечно незаменим для создания жидкостей, но по-моему в данном случае это можно сделать стандартным максовским Particle Flow.
2006-09-22
To Nastya Beluza К сожалению все виды частиц в 3DS MAX (в том числе и Particle Flow) не взаимодействуют друг с другом. Это свойство пока ещё не реализовано. Поэтому приходиться, где это свойство необходимо, прибегать к дополнительному программному обеспечению. В данном уроке я использовал RealFlow. RF поддерживает взаимодействие частиц друг с другом. А именно на этой возможности (держать объём) построен весь урок.
2006-09-22
Про PF - Keep Apart и Find Target помогают... А так - RF - сила, кто бы спорил...
2006-09-27
Мне понравился урок. Не пробовал воплотить в жизнь, но вроде получается просто и со вкусом, как и все гениальное:)) В случае необходимости - буду знать, как делать. Спасибо:)) 5/5:))
2006-09-29
то BorisK: я не спорю Keep Apart и Find Target действительно помогают в некоторых ситуациях, но не в данном случае. Если у вас другое мнение на этот счёт - поделитесь сведениями, как с помощью Keep Apart и Find Target получить аналогичный результат?
2006-10-02
muskat - пока не совсем получается, хотя истина где-то рядом (два зацикленных на себя Файнд Таргета в противофазах, что-то похожее, но не то немного...), времени сейчас нет. У меня в середине октября курс, вечерком поковыряемся с ребятами, о результатах доложу :)
2006-10-19
respect!
2006-10-24
Странно!? Вчера у этого урока было около 70 баллов, а сегодня больше сотни!!! Как так? Это подозрительно!!! А урок практически не применим и не актуален!
2006-10-25
To Modeller1989 Если урок не актуален для вас, то это не значит, что он не актуален для других. Обычно начинающие пользователи предпочитают взрывать предметы. И только со временем появляется желание и Возможность эти предметы собирать ;=) Каждому своё время.
2006-10-25
И каким количеством частиц это ограничивается?
2006-10-25
Классно! И что, таким способом можно любой объект слепить?
2006-10-25
To gibsonff Чем больше частиц - тем дольше симуляция. Всё зависит от производительности вашего компьютера. To Bagiman "Слепить" можно любой объект. Вот только предварительно его нужно смоделировать обычным способом. ;-))
2006-11-08
Сижу вот уже второй день пытаюсь собрать частицы правдо не в динамик, а в текст. не выходит... RealFlow на 24 кадре симуляции выдаёт >12:40:09: The action requested can't be completed because of a memory problem. и считает жуть как долго хотя машинка вроде нормальная AMD Opteron DualCore 2.4 / 4GB оператики. А вообще урок класс!!! Вот бы его ещё и воплотить -)))
2006-11-08
To Clony "Сижу вот уже второй день пытаюсь собрать частицы правдо не в динамик, а в текст. не выходит... RealFlow на 24 кадре симуляции выдаёт >12:40:09: The action requested can't be completed because of a memory problem. и считает жуть как долго хотя машинка вроде нормальная AMD Opteron DualCore 2.4 / 4GB оператики. А вообще урок класс!!! Вот бы его ещё и воплотить -)))" Судя по сообщению не хватает оперативки для просчёта. Нужно уменьшить количество частиц в симуляции. Уменьшай Resolution. Из-за большого количества и считает так долго. Если в тексте много букв - попробуй симулировать их отдельно, а потом уже в AE собирай. Пробуй!
2006-11-09
myskat а можно email??? я бы jpg. тебе выслал, чё то у меня ни черта не сростается.
2006-11-09
To Clony: Мой адрес: ura2301@mail.ru Пиши.
2006-11-25
Пробовал сделать без RealFlow в девятом максе - там у SuperSpray есть возможность inter-particle collisions, в качестве ограничителя объема юзал дефлектор UObject. Первые пару кадров нормально, дальше частицы начинают вылетать за пределы объема (видимо объем меняется быстрее чем просчитывается положение частицы). Никто не пробовал сделать все стандартными средствами?
2006-12-05
Что-то не получается у меня скачать Real Flow по указанной ссылке. Может секрет какой есть?
2006-12-06
To Сергей Кузьмин "Что-то не получается у меня скачать Real Flow по указанной ссылке. Может секрет какой есть?" На сайте нужно зарегистрироваться. И вам пришлют ссылку. Пробуй.
2006-12-26
так как на счет попыток сделать нечто похожее встроенными средствами в девятом максе? никто не пробовал?
2007-01-30
Отличная идея! Оригинальный метод для создания анимации.
2007-02-02
Урок, действительно, хорошо. Вот только непонятно, зачем городить огород? С помощью PF родного, максовского, такие вещи делаются буквально с помощью нескольких нод. Если интересно, готов продемонстрировать. А так получается, что опять стреляем пушкой по воробьям... То же самое с корабликами, косяками рыб, облаками и т.д. А вообще всем, кто серьезно собирается заниматься частицами - достаньте, не пожалейте диски Алана Маккея, там вы найдете лучшие уроки...
2007-02-02
stets: "Если интересно, готов продемонстрировать." Да, интересно. Продемонстрируйте, пожалуйста, используя только MAX. Жду...
2008-03-22
По моему урок очень даже актуален. Правда я опоздал со своим отзывом но я етот урок поздно увидел. В Максе как мне кажется довольнео сложно создать такую анимашку так как там по моему частицы привязываются к геометрии то есть либо к точкам либо к граням, ребрам. Даже в PF источники работают также или я плохо его разобрал? У меня только один вопрос как бороться с вылетом 3SMax 8 когда идет рендер. Во вьюпорте все просматривается хорошо, а вот приренедере идут ошибки. Почему не ясно. Muskat не знаешь почему это может происходить?
RENDER.RU