Эффективная работа с 3ds max 7.5

Создаем салют над зданием кафе «МАХ»


Тихо падают снежинки на землю, горит неоновая вывеска кафе «МАХ», и в это время раздается громкий хлопок — над крышей здания разлетаются в разные стороны искры новогоднего фейерверка. Взлетая в небо, залп салюта взрывается сотнями светящихся огней. Ну как, впечатляет? Тогда попробуем создать такой салют.

Для его моделирования будем использовать источник частиц PF Source (Источник потока частиц).

1. Загрузите файл MAX-kafe05a.max из папки Scenes\Glava_07 компакт-диска, прилагающегося к книге. Он содержит здание кафе с проемами для окна и двери, а также дополнительный объект — направленную камеру, через которую можно наблюдать сцену. Активизируйте окно проекции Perspective (Перспектива). По умолчанию в max 7.5 длина анимации составляет 100 кадров, что равняется примерно трем секундам. Поскольку ни один салют не длится три секунды, необходимо увеличить продолжительность анимации. Для этого нажмите кнопку Time Configuration (Настройка временных интервалов) и установите параметр Length (Продолжительность) равным тремстам кадрам. Подробнее о настройках окна Time Configuration (Настройка временных интервалов) вы узнаете в главе 15.

2. Щелкните на кнопке категории Geometry (Геометрия) командной панели Create (Создать) и выберите вариант Particle Systems (Системы частиц) в раскрывающемся списке разновидностей объектов. Щелкните на кнопке PF Source (Источник потока частиц) в свитке Object Type (Тип объекта). После нажатия кнопки PF Source (Источник потока частиц) вы увидите на командной панели Create (Создать) параметры потока частиц. Перейдите ко второму свитку — Emission (Испускание) и выберите форму значка источника частиц. Для этого раскройте список Icon Type (Тип значка) и выберите вариант Circle (Круг). Щелкните в окне проекции и разместите источник частиц в окне проекции таким образом, чтобы он располагался позади здания кафе «МАХ» (рис. 7.65). Обратите внимание на то, что источник частиц сразу же будет создан в форме круга, так как мы выбрали сто форму заранее. Если же создать объект PF Source (Источник потока частиц) с настройками по умолчанию, он будет создан в виде прямоугольника (Rectangle). Чтобы изменить его форму после создания в окне проекции, перейдите на командную панель Modify (Изменить) и установите вариант Circle (Круг) в списке Icon Type (Тип значка). После выбора круглой формы источника частиц его настройки, расположенные в свитке Emission (Испускание), изменятся. Если при использовании формы Rectangle (Прямоугольник) можно задать длину объекта, то при выборе варианта Circle (Круг) нужно будет указать диаметр. Установите курсор в поле Diameter (Диаметр) и введите значение 152.





Рис. 7.65. Размещение системы частиц типа PF Source в составе сцены «МАХ-кафе»
3. Поскольку при салюте частицы испускаются вверх, а не вниз, нужно перевернуть источник частиц, направив его вверх. Если теперь щелкнуть на кнопке Play Animation (Воспроизвести анимацию), можно увидеть, что движение частиц мало напоминает россыпи настоящего салюта. Поэтому нужно определить события, настроив тем самым желаемый эффект. Для выполнения настройки событий, управляющих поведением настройки частиц, перейдите к свитку Setup (Настройка) и нажмите кнопку Particle View (Просмотр частиц). Вы увидите окно диалога с таким же названием. Для его вызова можно также нажать клавишу 6. В окне Particle View (Просмотр частиц) уже присутствуют два первых события с названиями PF Source 01 (Источник потока частиц 01) и Event 01 (Событие 01). В состав первого события, которое является глобальным, входит оператор Render (Визуализация), благодаря которому все частицы могут быть визуализированы. В состав первого локального события Event 01 (Событие 01) входят операторы Birth (Рождение), Position Icon (Положение значка), Speed (Скорость), Rotation (Вращение), Shape (Форма) и Display (Отображение).
4. Прежде чем создавать праздничный фейерверк, необходимо представить себе, какой должна быть траектория движения частиц. Составление диаграммы событий — задача не из легких. Для того чтобы построить событийную модель и правильно выбрать параметры каждого из событий, необходимо хорошо себе представлять, какие действия должны происходить с частицами. В нашем случае частицы рождаются и летят вверх. Каждый залп праздничного салюта оставляет позади себя немного растянутый хвост. По достижении определенной высоты хвост должен исчезнуть, и в этом месте должен произойти разлет частиц во все стороны. Таким образом, мы будем создавать несколько событий: событие, которое породит частицы (1), событие, которое позволит создать хвост летящего залпа (2), событие, определяющее высоту, на которой произойдет взрыв пиротехнического заряда (3), и, наконец, событие, определяющее поведение частиц при взрыве фейерверка (4). Как видите, сцена довольно сложная, но попробуем шаг за шагом ее воссоздать.


5.   Начнем с первого события. Первое, что необходимо сделать, — увеличить время, в течение которого источником испускаются частицы. Выделите в прямоугольнике Event 01 (Событие 01) оператор Birth (Рождение) и измените значение Emit Stop (Окончание времени испускания частиц) с 30 на 150.



ПРИМЕЧАНИЕ
Обратите внимание, что после того, как будут изменены параметры оператора Birth (Рождение) в списке окна Event 01 (Событие 01), он будет отображаться несколько по-иному — теперь пояснительная надпись рядом с оператором будет содержать новую информацию о продолжительности испускания частиц. Такие пояснительные надписи содержатся рядом со многими другими операторами, использующимися при описании событийной модели. Они помогают быстрее разобраться в общей схеме событий, а также представить себе, как будет происходить движение потока частиц.

6.   Настройки оператора Position Icon (Положение значка), определяющего форму эмитирующей поверхности, оставляем без изменений. Третий по счету, оператор Speed (Скорость) содержит настройки скорости движения частиц. Выделите его в списке окна события Event 01 (Событие 01) и измените значение параметра Speed (Скорость), задав его равным 462. Как видно по вспомогательной надписи Along Icon Arrow (Вдоль указателя стрелки) возле названия данного оператора, направление распространения частиц происходит вдоль схематической стрелки-указателя на значке объекта PFSource (Источник потока частиц). Поскольку направление частиц совпадает с направлением предполагаемого салюта, изменять параметр Direction (Направление) не нужно. Следующий оператор, который нужно настроить, — Rotation (Вращение). Выделите его и выберите на панели параметров в выпадающем списке Orientation Matrix (Ориентация матрицы частиц) строчку Speed Space (Скорость объема). Это позволит сориентировать частицы вдоль вектора скорости потока. Оператор Shape (Форма) по умолчанию содержит тип отображаемой поверхности Tetra (Тетраэдр), который устанавливается в выпадающем списке Shape (Форма). Измените размеры тетраэдра, уменьшив значение параметра Size (Размер) до 0,02. Последний оператор в этом списке, который отвечает за схематическое отображение частиц в окнах проекций, — Display (Отображение). Его настройки оставьте без изменений.


7.   Выберите в библиотеке элементов тест Age Test (Возрастной тест) и, захватив его значок мышкой, перетащите в окно события. Расположите его таким образом, чтобы он располагался сразу после оператора Display (Отображение). На этом этапе мы разделим общий поток частиц, отсортировав те частицы, возраст которых превысил семьдесят пять кадров. Для этого выделите строчку Age Test (Возрастной тест) и на панели параметров задайте значение параметра Test Value (Значение теста) равным 75, а значение Variation (Вариации) — 0. При этом следует проследить, чтобы переключатель Test True If Particle Value (Выполнить тест для частиц) в свитке настроек теста Age Test был установлен в положение Is Greater Than Test Value (Если превышено значение теста). Частицы, для которых не выполняется условие теста Age Test (Возрастной тест), должны перейти к следующему событию.
8.   Добавьте в первое событие еще один тест — Spawn (Порождение). Этот тест вызовет рождение новых частиц, исходящих из первоначальных. Именно благодаря частицам, порожденным в результате использования теста Spawn (Порождение), можно будет наблюдать хвост каждого залпа. Этот тест также позволит направить частицы к следующему событию, описывающему характер поведения новых частиц. Перетащите на свободную область панели событий оператор Speed (Скорость). При этом автоматически будет создано второе событие (рис. 7.66). Соедините тест Spawn (Порождение) со вторым событием. Для этого подведите курсор к синей точке, имеющейся на выходе теста и расположенной слева от значка в форме ромба. Курсор примет вид четырехконечной стрелки. Перетащите курсор ко входу второго события и установите его на кружок над входом.

Рис. 7.66. Создание второго события
9.   Теперь давайте определимся, как должны вести себя частицы, образующие хвост залпа. Они должны возникать по пути следования первоначальных частиц и исчезать через некоторое время. При этом они не должны разлетаться, иначе хвост «развеется». Выделите оператор Speed (Скорость) и установите значение одноименного параметра равным нулю. Благодаря этому частицы будут стоять на месте. Теперь добавьте к событию оператор Delete (Удалить). С его помощью можно ограничить длину хвоста. Выделите его на панели событий и установите переключатель Remove (Убирать) в положение By Particle Age (По возрасту частиц). После этого станут активными параметры Life Span (Время жизни) и Variation (Вариации). Установите значение первого параметра равным 12. Это означает, что частицы будут существовать в течение 12-ти кадров после рождения, после чего будут исчезать. По ходу движения первоначальных частиц постоянно будут появляться новые частицы, порожденные ранее, будут исчезать, а на анимации это будет выглядеть как движущийся хвост. Значение параметра Variation (Вариации) установите равным нулю. Добавьте во второе событие еще один оператор — Shape Facing (Вид частиц). Он служит для того, чтобы частицы, имитирующие салют, все время были обращены к камере плоской стороной. Также с его помощью можно управлять размером этих частиц. Перейдите к параметрам этого оператора и нажмите кнопку Look At Camera/ Object (Связать с камерой/Объектом) и укажите в сцене камеру, через которую будет производиться наблюдение за событиями. В группе настроек Size/Width (Размер/Ширина) проверьте, чтобы переключатель был установлен в положении In World Space (В глобальном пространстве) и в поле Units (Единицы) введите число 3. Для того чтобы наблюдать салют в окне проекции, оператор Shape Facing (Вид частиц) вам не нужен, он понадобится при визуализации эффекта.


10. Перейдем к третьему событию, которое, как вы, наверное, помните, должно определять высоту, на которой произойдет взрыв пиротехнического заряда салюта. Для его создания выберите тест Spawn (Порождение) из библиотеки и перетащите на пустое место в окно событий. В настройках теста установите переключатель Spawn Rate And Amount (Количество и частота порождений) в положение By Travel Distance (По пути следования). Выберите значение параметров Step Size (Размер шага) равным 1,7, Spawnable % % (Процент порождающих частиц) — 100, Offspring # # (Количество новых частиц) — 100, Variation % (Вариации) — 25. В группе настроек Speed (Скорость) установите переключатель в положение Inherited % (Унаследовать) и установите значение 0. Для параметра Variation % (Вариации) в этой группе также выберите значение 0. Параметр Divergence (Дивергенция) установите равным 16. Под влияние третьего события должны попадать только те частицы, возраст которых превышает 75 кадров. Ранее мы создали тест Age Test (Возрастной тест) в первом событии. Именно его нужно связать с третьим событием.
11.   Добавьте к третьему событию уже знакомый вам оператор Speed (Скорость), отвечающий за скорость частиц. Значение параметра Speed (Скорость) установите равным 50, Variation (Вариации) равным нулю, а в раскрывающемся списке Direction (Направление) выберите пункт Along Icon Arrow (Вдоль указателя стрелки). Теперь добавим в событие еще один знакомый нам оператор Delete (Удалить), который будет удалять частицы, достигшие высоты, на которой будет происходить взрыв салюта. В настройках оператора установите переключатель Remove (Убирать) в положение By Particle Age (По возрасту частиц). Значение параметра Life Span (Время жизни) установите равным 80, a Variation (Вариации) равным нулю.
12.   Для того чтобы траектория движения частиц была более реалистичной, на них должна действовать сила земного притяжения. Для имитации эффекта гравитации в сцену необходимо добавить объемную деформацию Gravity (Гравитация). Сверните окно Particle View (Просмотр частиц), после чего щелкните на кнопке категории SpaceWarps (Объемные деформации) командной панели Create (Создать) и выберите вариант Forces (Силы) в раскрывающемся списке разновидностей объектов. Щелкните на кнопке Gravity (Гравитация) и создайте объемную деформацию в произвольном месте сцены. В свитке Parameters (Параметры) установите переключатель в положение Planar (Плоский фронт) и укажите значение параметра Strength (Сила) равным 0,2. Благодаря этому воздействие гравитации будет происходить только в направлении значка. Для того чтобы на частицы воздействовала сила гравитации, добавьте оператор Force (Сила) в третье событие. В настройках оператора с помощью кнопки Add (Добавить) добавьте в список Force Spacewarps (Действующие объемные деформации) созданную объемную деформацию Gravity (Гравитация), а значение параметра Influence % (Процент влияния) установите равным 70. Завершая настройку события, добавьте в него оператор Shape Facing (Вид частиц). Поскольку его параметры практически полностью будут совпадать с настройками одноименного оператора, использующегося во втором событии, проще просто скопировать его. Для этого щелкните по оператору правой кнопкой мыши и в контекстном меню выберите пункт Сору (Копировать) (рис. 7.67). Затем щелкните правой кнопкой в области третьего события и выберите пункт Paste (Вставить). Установите значение параметра Units (Единицы) равным 1.



Рис. 7.67. Копирование оператора Shape Facing
13. Наконец, перейдем к настройке последнего события, которое будет определять поведение частиц при взрыве фейерверка. Для того чтобы частицы разлетелись в разные стороны, необходимо в настройках оператора Speed (Скорость) указать случайное направление вектора скорости каждой частицы. Добавьте этот оператор на панель событий, тем самым создав четвертое событие. В списке Direction (Направление) выберите пункт Random 3D (Случайное 3D). Скопируйте оператор Force (Сила) из третьего события и установите значение параметра Influence % (Процент влияния) равным 500. На некотором расстоянии от эпицентра взрыва фейерверка искры должны потухнуть. Это означает, что частицы, имитирующие их, должны быть удалены. Поэтому снова обратимся к оператору Delete (Удалить). Вы можете создать новый оператор пли же скопировать его из второго или из третьего события. В настройках оператора установите значение параметра Life Span (Время жизни) равным 13. Завершим настройку события, добавив в него оператор Shape Facing (Вид частиц). Установите значение параметра Units (Единицы) равным 7. Используя тест Spawn (Порождение), свяжите третье событие с четвертым. Конечная диаграмма событий будет выглядеть, как на рис. 7.68.

Рис. 7.68. Конечная диаграмма событий
14. Закройте окно Particle View (Просмотр частиц) и нажмите кнопку Play Animation (Воспроизвести анимацию). Вы увидите, что над зданием кафе «МАХ» происходит праздничный салют (рис. 7.69). Сохраните сцену под названием MAX-kafe_salut.max. В папке Animation\Glava07 вы можете посмотреть, как выглядит этот эффект, запустив файл salut.avi.

Рис. 7.69. Праздничный салют над зданием кафе «МАХ»

Содержание раздела