Рис. 4.24. Эмиттер системы частиц Snow (Снег)
Поскольку системы частиц основаны на анимации во времени, то после построения эмиттера в нулевом кадре вы можете не увидеть сгенерированных частиц, так как по умолчанию их излучение начинается именно в нулевом кадре. Чаще всего достаточно передвинуть ползунок таймера анимации вправо, чтобы увидеть поток излучаемых частиц.
Аналогичным образом в окнах проекций представлены частицы Particle Flow Source (Источник потока частиц), Super Spray (Супербрызги). Разница лишь в том, что эмиттеры этих объектов имеют форму, отличную от прямоугольника, но как и рассмотренные выше, имеют вектор, указывающий направление излучения частиц.
Несколько иначе отображаются в окнах проекций частицы PArray (Массив частиц) и PCloud (Облако частиц). Их эмиттер представлен в виде габаритного контейнера. Для частиц PArray (Массив частиц) это куб, с возможностью выбора объектов сцены в качестве эмиттера. Для PCloud (Облако частиц), кроме объектов сцены, можно использовать параллелепипед, сферу или цилиндр (рис. 4.25).
Рис. 4.25. Габаритный контейнер частиц PCloud (Облако частиц) в виде параллелепипеда
Помимо одиночных, можно создавать сложные системы частиц с использованием операторов и тестирования событий по различным признакам. Для создания сложных систем следует использовать окно Particle View (Окно системы частиц) (рис. 4.26).
Рис. 4.26. Окно Particle View (Окно системы частиц)
Окно Particle View (Окно системы частиц) имеет следующие элементы управления.
• Меню предоставляет доступ к командам редактирования, выделения, настройкам отображения и анализа системы частиц.
• Окно событий отображает диаграмму событий с узлами и функциями, изменяя которую можно редактировать систему частиц. Узлы содержат отдельные события, которые можно связать друг с другом для управления потоком частиц.
• Панель параметров содержит свитки параметров любых выделенных объектов.
• Список операторов содержит все возможные события, которые могут применяться с системой частиц. Содержимое этого списка можно разделить на три категории:
· операторы – основные элементы системы частиц, позволяющие организовывать события (Events), которые описывают поведение частиц в определенный период времени. В окне Particle View (Окно системы частиц) они представлены квадратными значками с пиктограммами на синем фоне. В эту же категорию попадают два зеленых круглых значка, соответствующие времени жизни частиц;
· тестировщики – функции, тестирующие систему частиц на соответствие какому-либо заданному условию и позволяющие при выполнении этого условия, направить ход выполнения операторов к другому событию. В окне диалога эти элементы представлены ромбовидными значками с пиктограммами на желтом фоне;
· потоки частиц – категория, содержащая два оператора, предназначенных для создания начального события системы частиц. Этими операторами являются Empty Flow (Пустой поток) и Standard Flow (Типовой поток), имеющие значки в виде двух связанных между собой белых прямоугольников.
• Панель описания – содержит краткую информацию о событии, выделенном в окне списка операторов.
• Инструменты отображения – предназначены для навигации в окне Particle View (Окно системы частиц).
Текст, уносимый порывами ветра
На примере, описанном в данном разделе, я покажу, как простыми средствами можно получить эффект рассеивания, применяемый при анимации природных или иных явлений. Одним из вариантов такой анимации может служить сигаретный дым.
Примечание
В видеоуроке «Урок 26. Текст, уносимый порывами ветра», который находится на DVD, прилагаемом к книге, показан пример использования системы частиц.
Для выполнения упражнения нам понадобится простая сцена – какой-нибудь объект, например текст (рис. 4.27).
Рис. 4.27. Текст, подготовленный для выполнения упражнения
Для анимации нужно будет создать не только систему частиц, но и силы, действующие на эти частицы. Для построения вспомогательных объектов сделайте следующее.
1. Выполните команду главного меню Create → SpaceWarps → Deflectors → SDeflector (Создание → Пространственные деформации → Отражатели → Сферический отражатель) и в окне проекции Top (Сверху) постройте значок объекта.
2. Используя инструмент Select and Move (Выделить и переместить), расположите значок в середине текста.
3. Активизируйте инструмент Select and Uniform Scale (Выделить и равномерно масштабировать)
и масштабируйте значок SDeflector01 таким образом, чтобы он оказался немного больше объекта Text01 (рис. 4.28).
Рис. 4.28. Расположение значка отражателя SDeflector01 относительно объекта Text01
4. Создайте три объекта Wind (Ветер). Для этого выполните команду Create → SpaceWarps → Forces → Wind (Создание → Пространственные деформации → Силы → Ветер) и постройте значки в окне проекции Top (Сверху).
5. Выделите один из построенных объектов Wind (Ветер). Используя инструмент Select and Move (Выделить и переместить), переместите его так, чтобы он находился слева от текста. При помощи инструмента Select and Rotate (Выделить и повернуть) поверните значок Wind (Ветер) на 90° таким образом, чтобы направление ветра приходилось на текст (рис. 4.29).
Рис. 4.29. Расположение значков ветра и их ориентация в окне проекции Front (Спереди)
6. Создайте еще один вспомогательный объект – Drag (Помеха). Для этого выполните команду Create → SpaceWarps → Forces → Drag (Создание → Пространственные деформации → Силы → Помеха) и постройте объект в произвольном месте окна проекции Top (Сверху).
Анимируем отражатель следующим образом.
1. Передвиньте ползунок таймера в пятый кадр анимации.
2. Активизируйте запись ключей анимации. Для этого щелкните на кнопке Auto Key (Автоключ), в результате чего кнопка выделится цветом
3. Выделите отражатель (объект SDeflector01) и в окне проекции Front (Спереди) передвиньте его вправо на такое расстояние, чтобы он оказался за пределами текста.
4. Выключите запись ключей анимации, повторно щелкнув на кнопке Auto Key (Автоключ).
5. Выделите ключ, созданный автоматически в нулевом кадре, и передвиньте его в последний кадр строки треков (в моем случае это 200 кадр).
6. Проверьте созданную анимацию. В первом кадре отражатель SDeflector01 должен находиться за пределами текста, а начиная с пятого кадра – перемещаться на текст, полностью перекрывая его.
Создадим систему частиц и необходимые операторы. Выполним все эти действия при помощи окна Particle View (Окно системы частиц), которое можно открыть, выполнив команду Graph Editors → Particle View (Графические редакторы → Окно системы частиц). В окне Particle View (Окно системы частиц) сделайте следующее.
1. Для создания излучателя частиц перетащите из списка операторов, находящегося в нижней части окна, в окно событий объект Empty Flow (Пустой поток) (рис. 4.30).
Рис. 4.30. Окно Particle View (Окно системы частиц) с построенным излучателем частиц PF Source (Источник потока частиц)
2. В окно событий также перетащите оператор Birth (Рождение), который автоматически создаст список событий с оператором отображения частиц.
3. Свяжите список событий с источником частиц, для чего щелкните на выступающем круглом элементе списка событий (в результате вид указателя изменится) и перетащите его на объект PF Source 01. В результате образуется связь между источником частиц и списком событий (рис. 4.31).
Рис. 4.31. Список событий, связанный с источником частиц
4. Таким же образом добавьте к списку событий следующие операторы:
· Position Object (Положение объекта) – позволяет расположить частицы по форме выбранного объекта;
· Shape (Форма) – задает форму отображения частиц при визуализации;
· Collision (Столкновения) – позволяет управлять отражателями частиц.
5. Добавьте к потоку частиц PF Source 01 оператор Material Static (Статический материал) – материал, используемый для отображения частиц при визуализации (рис. 4.32).
Рис. 4.32. Окно Particle View (Окно системы частиц) после обновления списка событий
6. Последнее, что необходимо добавить в окно событий, – объект Force (Сила), который связывается с оператором Collision (Столкновения) (рис. 4.33).
Рис. 4.33. Окончательный вид окна событий после добавления всех операторов
Рис. 4.33. Окончательный вид окна событий после добавления всех операторов
Примечание
Создание второго списка событий вызвано тем, что силы, действующие на частицы, должны инициироваться в области воздействия отражателя SDeflector01, а не на весь объект PF Source 01.
Займемся настройкой параметров системы частиц. Начнем со списка событий Event 01. Выделите оператор Birth 01 (Рождение 01), в результате чего в правой части окна Particle View (Окно системы частиц) появится свиток Birth 01 (Рождение 01). В этом свитке установите значения параметров Emit Start (Начало излучения) и Emit Stop (Конец излучения) равными 0, а Amount (Величина) – 40 000. Это будет означать, что сразу все частицы будут генерироваться в нулевом кадре анимации.
Выделите оператор Position Object 01 (Положение объекта 01). В области Emitter Objects (Объекты-источники) свитка его настроек в правой части окна Particle View (Окно системы частиц) щелкните на кнопке By List (Из списка). В открывшемся окне выберите объект Text01. В результате частицы покроют объект Text01, расположившись на его поверхности. Объект Text01 не должен участвовать в визуализации, поэтому его можно спрятать. Для этого выделите его в одном из окон проекций, щелкните правой кнопкой мыши и выберите в контекстном меню команду Hide Selection (Спрятать выделенное).
Совет
Исключить объект из визуализации можно и другим способом – сняв в области Rendering Control (Контроль визуализации) окна свойств объекта флажок Renderable (Визуализируемый).
Следующий оператор, который нужно настроить, – Shape 01 (Форма 01). Выделите его и в свитке Shape 01 (Форма 01) выберите из списка Shape (Форма) строку Cube (Куб), а параметру Size (Размер) задайте значение 0,4.
Еще один оператор в списке событий Event 01 (Событие 01), требующий настройки, – Collision 01 (Столкновение 01). Выделите его и в свитке его параметров щелкните на кнопке By List (Из списка) и выберите объект SDeflector01 из списка появившегося окна. В свитке Collision 01 (Столкновение 01) выберите из раскрывающегося списка Speed (Скорость) строку Continue (Продолжать). Таким образом, частицы при столкновении с отражателем будут продолжать свое движение.
Перейдите ко второму списку событий Event 02 (Событие 02). Выделите в этом списке событие Force 01 (Сила 01). В свитке его настроек в правой части окна Particle View (Окно системы частиц) щелкните на кнопке By List (Из списка) и выберите в раскрывшемся окне все объекты: три объекта, имитирующих ветер, и объект Drag (Помеха).
Остался последний оператор, требующий настройки, – Material Static 01 (Статический материал 01). Для присвоения частицам материала, который будет отображаться в окнах проекций, сделайте следующее.
1. Откройте редактор материалов, для чего воспользуйтесь клавишей M.
2. Выберите любой свободный материал и задайте параметру Diffuse (Рассеивание) цвет, отличный от черного (по умолчанию черным является цвет фона).
3. Задайте параметру в области Self-Illumination (Собственное свечение) значение 100.
4. Присвойте материалу какое-нибудь значимое имя, например particle.
5. Вернитесь к окну Particle View (Окно системы частиц) и выберите оператор Material Static 01 (Статический материал 01).
6. В свитке Material Static 01 (Статический материал 01) в правой части окна Par ticle View (Окно системы частиц) щелкните на кнопке None (Отсутствует).
7. В появившемся окне Material/Map Browser (Окно выбора материалов и карт) установите переключатель Browse From (Просмотреть из) в положение Mtl Editor (Редактор материалов) и выберите из списка материал с именем particle (рис. 4.34).
Рис. 4.34. Окно Material/Map Browser (Окно выбора материалов и карт) с выбранным материалом
Если сейчас переместить ползунок таймера анимации, то вы увидите, как при наезде значка отражателя на текст начинается рассеивание частиц, находящихся в этом месте. Пока это не совсем то, что нам нужно, так как на частицы действуют слишком большие силы. В связи с этим необходимо подкорректировать параметры объектов Wind (Ветер) и Drag (Помеха). Начнем с параметров ветра. Они должны быть совсем небольшими, чтобы ветер лишь отрывал частицы от генерирующего их объекта и уносил на небольшое расстояние. На рис. 4.35 показаны примерные настройки ветра, причем Wind01 и Wind02 действуют в вертикальной плоскости, и Wind03 – в горизонтальной и направлен в сторону текста.
Рис. 4.35. Настройки объектов Wind01 (а), Wind02 (б) и Wind03 (в)
Для объекта Drag (Помеха) существенными являются характеристики затухания, настройки которого находятся в области Damping Characteristics (Характеристики затухания) свитка Parameters (Параметры). Установите переключатель в этой области в положение Linear Damping (Линейное затухание) и параметрам X Axis (Ось X), Y Axis (Ось Y) и Z Axis (Ось Z) задайте значения 20, 15 и 7 соответственно.
Примечание
Как и настройки ветра, характеристики затухания для создания требуемого эффекта подбираются опытным путем. Вы можете попробовать задать другие значения параметров и создать собственное поведение частиц в процессе анимации.
При анимации частиц такого рода очень уместно использовать эффект размытия в движении. Такой эффект появляется при съемке движения реальной камерой или фотоаппаратом, так как за то время, пока шторка аппарата находится в открытом состоянии, движущийся объект проходит некоторое расстояние, и в результате его границы размываются. В 3ds Max такой эффект можно создать несколькими способами, мы рассмотрим самый простой и быстрый с точки зрения визуализации.
1. Откройте окно редактирования системы частиц, выполнив команду меню Graph Editors → Particle View (Графические редакторы → Окно системы частиц).
2. В окне событий выделите PF Source 01, щелкнув на нем. В результате цвет контура объекта изменится на белый. Щелкните на нем правой кнопкой мыши и выберите из контекстного меню строку Properties (Свойства) (рис. 4.36).
Рис. 4.36. Контекстное меню объекта PF Source01
3. В области Motion Blur (Размытие движения) открывшегося окна Object Properties (Свойства объекта) установите переключатель в положение Image (Изображение), задайте параметру Multiplier (Усилитель) значение 12 и проследите, чтобы флажок Enable (Включить) был установлен.
4. Откройте окно Render Scene (Визуализация сцены), для чего воспользуйтесь клавишей F10, и перейдите на вкладку Renderer (Визуализатор).
5. В области Image Motion Blur (Размытие картинки в движении) установите флажок Apply (Применить).
На рис. 4.37 показан кадр из анимации, выполненной в данном разделе.
Рис. 4.37. Визуализация 48 кадра анимации
Примечание
В папке Examples\Глава 04\Text_dispersion прилагаемого к книге DVD находится файл описанной сцены text_dispersion.max.
Использование модификатора Cloth (Ткань) для симуляции поведения тканей
Рассмотрим работу с модификатором Cloth (Ткань). В отличие от одноименного оператора модуля reactor этот модификатор в первую очередь призван облегчить создание и анимацию одежды моделируемых персонажей. Данный модификатор имеет достаточно широкие возможности, которые можно довольно долго описывать, я же хочу показать, как при помощи модификатора Cloth (Ткань) можно легко и просто создавать объекты, имитирующие поведение ткани. Мы опишем, как создать два объекта: скатерть и развевающийся флаг.
Примечание
В видеоуроке «Урок 27. Использование модификатора Cloth (Ткань) для симуляции поведения тканей», который находится на DVD, прилагаемом к книге, показаны примеры применения модификатора Cloth (Ткань).
Для создания модели скатерти нам понадобится простая сцена, состоящая из двух объектов: столешницы и скатерти. Для построения первого объек та воспользуйтесь параметрическим объектом Box (Параллелепипед) (Create → Standard Primitives → Box (Создать → Простые примитивы → Параллелепипед)).
В качестве второго объекта будет использован объект формы Rectangle (Прямоугольник) (Create → Shapes → Rectangle (Создание → Формы → Прямоугольник)). Создайте оба объекта в окне проекции Top (Сверху). Расположите прямоугольник относительно объекта столешницы сверху и центрируйте по осям X и Y (рис. 4.38).
Рис. 4.38. Взаимное расположение объектов в сцене