3ds Max 2008 Верстак Владимир
Select Time (Выделить временной диапазон) – включает режим выделения временного сегмента на текущем треке.
Delete Time (Удалить временной диапазон) – удаляет выделенный временной диапазон и все ключи, относящиеся к нему.
Reverse Time (Обратить время) – изменяет порядок следования выделенных ключей на противоположный.
Scale Time (Масштабировать временной диапазон) – позволяет пропорционально масштабировать выделенный временной диапазон.
Insert Time (Вставить временной диапазон) – дает возможность вставить временной интервал в текущий трек.
Cut Time (Вырезать диапазон) – вырезает из текущего трека временной диапазон и помещает его в буфер обмена. Временной диапазон и все ключи, находящиеся внутри него, удаляются из текущего трека.
Copy Time (Копировать диапазон) – копирует выделенный диапазон текущего трека в буфер обмена для последующей вставки в текущий или любой другой трек анимации.
Paste Time (Вставить диапазон) – позволяет вставлять вырезанный или скопированный диапазон в другое место текущего трека или в другой трек.
Modify Subtree (Редактировать поддерево) – включает режим одновременного редактирования объекта сцены и всех связанных с ним элементов, которые расположены на более низких уровнях иерархического списка.
Modify Child Keys (Редактировать дочерние ключи) – аналогична Modify Subtree (Редактировать поддерево), с той разницей, что редактирование распространяется только на элементы сцены, связанные с выделенным объектом.
Рассмотрим дополнительные кнопки окна Curve Editor (Редактор кривых) (рис. 4.11).
Рис. 4.11. Окно Track View – Curve Editor (Просмотр треков – редактор кривых)
Scale Values (Масштабировать значения) – включает режим изменения значений выделенных ключей без изменения их положения на временной шкале.
Draw Curves (Рисовать кривые) – позволяет рисовать новые или редактировать построенные ранее кривые анимации.
Reduce Keys (Уменьшить количество ключей) – позволяет уменьшить количество ключей в выделенном сегменте, по возможности сохраняя характер анимации. Чаще всего используется после применения инструмента Draw Curves (Рисовать кривые) для оптимизации кривой.
Set Tangents to Auto (Автоматическая установка касательных) – автоматически устанавливает касательные векторы к функциональной кривой для выделенных ключей анимации.
Set Tangents to Custom (Выборочная установка касательных) – включает режим ручной правки касательных для выбранных ключей. При этом кнопка Show Tangents (Показать касательные) должна быть активной.
Set Tangents to Fast (Установить быстрое управление) – создает ускорение в районе выделенного ключа анимации. В зависимости от выбранного режима, ускорение может быть установлено до, после или на входе и выходе ключевого кадра.
Set Tangents to Slow (Установить медленное управление) – создает замедление в районе выделенного ключа анимации. В зависимости от выбранного режима, замедление может быть установлено до, после или на входе и выходе ключевого кадра.
Set Tangents to Step (Установить скачкообразное управление) – создает скачкообразное изменение функциональной кривой в районе выделенного ключа анимации. В зависимости от выбранного режима, может быть установлено до, после или на входе и выходе ключевого кадра. Применяется для создания постоянного значения анимации от одного кадра до другого.
Set Tangents to Linear (Установить линейное управление) – создает линейное (равномерное) изменение функциональной кривой в районе выделенного ключа анимации. В зависимости от выбранного режима, может быть установлено до, после или на входе и выходе ключевого кадра.
Set Tangents to Smooth (Установить сглаженное управление) – создает сглаженное изменение функциональной кривой в районе выделенного ключа анимации. В зависимости от выбранного режима, замедление может быть установлено до, после или на входе и выходе ключевого кадра. Чаще всего применяется при создании дискретного движения.
Parameter Curve Out-of-Range Types (Типы экстраполяции параметрических кривых) – используется для задания повторения анимации, созданной при помощи ключевых кадров, за пределами диапазона этих ключей. Щелчок на этой кнопке вызывает окно Param Curve Out-of-Range Types (Типы экстраполяции параметрических кривых), показанное на рис. 4.12. Оно предоставляет следующие варианты экстраполяции параметрических кривых.
Рис. 4.12. Окно Param Curve Out-of-Range Types (Типы экстраполяции параметрических кривых)
· Constant (Постоянный) – устанавливает постоянные значения анимации до начала или после завершения функциональной кривой. Применяется, если не нужно анимировать эффект до первого ключа или за пределами диапазона ключевых кадров. Используется по умолчанию.
· Cycle (Циклический) – включает повторение анимации в том виде, как она задана функциональной кривой.
· Loop (Периодический) – также задает повторение анимации, но в отличие от предыдущего варианта, используется интерполяция в начале и конце функциональной кривой для получения сглаженного параметра.
· Ping Pong (Зеркальный повтор) – попеременное повторение анимации в прямой и обратной последовательности.
· Linear (Линейный) – продлевает значения анимации в начале и конце функциональной кривой с использованием касательной к кривой в первом и последнем ключах анимации.
· Relative Repeat (Относительный повтор) – повторяет анимацию, заданную функциональной кривой. При этом каждый раз эта кривая смещается на величину значения последнего ключа.
Show All Tangents (Показать все касательные) – включает отображение во всех ключевых кадрах касательных, определяющих форму функциональной кривой.
Show Tangents (Показать касательные) – включает отображение касательных только в выделенных ключевых кадрах.
Lock Tangents (Блокировать касательные) – используется для одновременной манипуляции касательными всех выделенных ключей анимации.
Show Biped Position Curves (Показать положение кривой двуногого) – отображает положение кривых анимации выделенного объекта Biped (Двуногий).
Show Biped Rotation Curves (Показать поворот кривой двуногого) – отображает поворот кривых анимации выделенного объекта Biped (Двуногий).
Show Biped X Curves (Показать кривую X двуногого) – включает/выключает отображение оси X текущей анимации или положения кривой.
Show Biped Y Curves (Показать кривую Y двуногого) – включает/выключает отображение оси Y текущей анимации или положения кривой.
Show Biped Z Curves (Показать кривую Z двуногого) – включает/выключает отображение оси Z текущей анимации или положения кривой.
Продолжим создание анимации мяча с помощью рассмотренных выше инструментов окна Track View (Просмотр треков). Вы можете работать со сценой, которую создали сами, или использовать файл ball.max, находящийся в папке Examples\Глава 04\Ball, прилагаемого к книге DVD.
На данном этапе анимации необходимо сделать так, чтобы мяч после отскока продолжил прыгать по плоскости. Достичь этого можно простым способом – используя циклический тип экстраполяции параметрической кривой. Для этого сделайте следующее.
1. Откройте окно редактирования кривых, выполнив команду главного меню Graph Editors Track View – Curve Editor (Редакторы графов Просмотр треков – редактирование кривых).
2. В окне Track View – Curve Editor (Просмотр треков – редактор кривых) щелкните на кнопке Filters (Фильтры)
в результате чего откроется одноименное окно (рис. 4.13).
Рис. 4.13. Окно диалога Filters (Фильтры)
3. В области Show Only (Показывать только) окна Filters (Фильтры) установите флажок Animated Tracks (Анимированные треки), снимите все остальные и нажмите кнопку OK. В результате выполненных действий в окне иерархического списка останутся только анимированные элементы.
4. На панели инструментов окна Track View – Curve Editor (Просмотр треков – редактор кривых) щелкните на кнопке Show Keyable Icons (Показать анимацию значком)
В результате в области иерархического списка все анимированные параметры будут отмечены значком с изображением ключа.
5. В окне дерева иерархии щелкните на плюсике, расположенном слева от объектов для раскрытия всего списка и выберите из него все анимированные элементы (рис. 4.14).
Рис. 4.14. Окно Track View – Curve Editor (Просмотр треков – редактор кривых) с выбранными анимированными элементами
6. Щелкните на кнопке Parameter Out-of-Range Curves Types (Типы экстраполяции параметрических кривых)
7. В появившемся окне выбора варианта экстраполяции параметрических кривых щелкните на кнопке со стрелкой, направленной вправо, которая расположена под значком Cycle (Циклический) (рис. 4.15).
Рис. 4.15. Окно Param Curves Out-of-Range Types (Типы экстраполяции параметрических кривых) с заданной циклической интерполяцией
8. Щелкните на кнопке OK для подтверждения выполненных изменений.
После выполнения вышеописанных действий справа от функциональной кривой в области редактирования появится пунктирная линия, повторяющая форму этой кривой. Это означает, что выполненная анимация будет непрерывно повторяться. Если сейчас запустить воспроизведение анимации в одном из окон проекций, то можно увидеть, что после одного цикла анимации мяч больше не останавливается, а продолжает двигаться.
Использование контроллеров и выражений
Каждый раз, когда вы анимируете объекты сцены, программа 3ds Max сохраняет параметры анимации в контроллерах. Контроллерами называются элементы, хранящие значения анимации и управляющие интерполяций от одного значения анимации к другому. Существует две категории контроллеров.
• Базирующиеся на ключах – контроллеры, основанные на ключах анимации. Такие контроллеры воспринимают в качестве ввода значений данные из ключевых кадров, а затем рассчитывают интерполированные значения между ключами анимации. Для этих контроллеров является характерным то, что кривая функции всегда проходит через ключи анимации. Контроллеры могут оказывать влияние на интерполяцию между ключами, но не на сами ключи. Контроллеры, описывающие трансформации на объектном уровне, можно также редактировать в свитке Key Info (Справка о ключах) вкладки Motion (Движение) командной панели.
• Параметрические – рассчитывают анимацию на основе уравнения, реализуемого контроллером и основываясь на значениях, которые указаны пользователем. К параметрическим можно отнести контроллеры, ограничивающие движения объектов в пространстве (Constraints (Ограничения)). При помощи контроллеров-ограничителей можно заставить объект следовать по пути или оставаться повернутым к другому объекту.
Программа 3ds Max поддерживает большое количество контроллеров различных типов. Контроллеры одного типа могут иметь несколько разновидностей. Контроллеры можно условно классифицировать по типу возвращаемого ими значения, при этом тип данных контроллера должен соответствовать типу данных параметра объекта. Например, контроллер типа данных Position (Положение) нельзя использовать для параметра поворота или масштаба объекта. Рассмотрим семь типов данных контроллера.
• Transform Controller (Контроллер преобразования) – управляет трансформациями перемещения, поворота и масштаба.
• Position Controller (Контроллер положения) – влияет на положение объекта, позицию габаритного контейнера модификатора или его центра.
• Rotation Controller (Контроллер поворота) – управляет преобразованием поворота объекта или габаритного контейнера модификатора.
• Scale Controller (Контроллер масштаба) – влияет на преобразование масштаба объекта или габаритного контейнера модификатора.
• Point3 Controller (Трехкомпонентный контроллер) – управляет любым параметром с тремя значениями компонента, такими как цвет материала или координат точки.
• Float Controller (Контроллер с плавающей точкой) – влияет на любой параметр с единственным значением компонента, например угол поворота, ширина объекта, уровень собственного свечения материала и т. п.
• Color Controller (Контроллер цвета) – управляет цветом материала.
Контроллеры анимации можно назначать, используя три различных источника: команды главного меню Animation (Анимация), окно Track View (Просмотр треков) или вкладку Motion (Движение) командной панели.
Рассмотрим некоторые контроллеры, которыми оперирует 3ds Max.
• Position/Rotation/Scale (PRS) (Положение/поворот/масштаб) – используется по умолчанию для большинства объектов сцены и габаритных контейнеров модификаторов. Его рекомендуется применять для всех универсальных трансформаций.
• Audio (Звук) – контроллер управления по звуковой дорожке. Он позволяет анимировать почти любой параметр сцены, конвертируя амплитуду записанного звука в значения анимируемого параметра объекта. Данный контроллер совместим с большинством параметров окна Track View (Просмотр треков), в том числе и с Transform Controller (Контроллер преобразования), Float Controller (Контроллер с плавающей точкой) и Point3 Controller (Трехкомпонентный контроллер).
• Bezier (Управление по Безье) – один из самых универсальных контроллеров, доступных в 3ds Max. Он выполняет интерполяцию между ключами анимации, регулируя изменения кривой, проходящей через ключевые точки. Контроллер Bezier (Управление по Безье) используется по умолчанию для большинства параметров. Его рекомендуется применять, когда необходимо иметь полный контроль над интерполяцией функциональной кривой в промежутках между ключами анимации.
• Color RGB (Цвет RGB) – разделяет составляющую цвета RGB на три независимых трека. Этот контроллер можно применять для анимации цветовых составляющих материалов либо других компонентов, использующих цвет. После разделения по умолчанию каждому треку назначается контроллер Bezier Float (Управление по Безье с плавающей точкой).
• Euler XYZ Rotation (XYZ-поворот по Эйлеру) – составной контроллер, объединяющий отдельные контроллеры, которые имеют значение с плавающей точкой и отписывают поворот относительно одной из осей (X, Y или Z). Использование данного контроллера не дает такого сглаженного результата, как применение TCB Rotation (TCB-поворот), который использует для управления вращением кватернионовскую математику. Однако в отличие от последнего, Euler XYZ Rotation (XYZ-поворот по Эйлеру) позволяет редактировать функциональные кривые.
• Expression (Выражение) – контроллер по алгоритмическому выражению. Он строит функциональную кривую на основе математических выражений, заданных пользователем в окне Expression Controller (Контроллер управления по алгоритмическому выражению) (рис. 4.16). При помощи данного контроллера можно получать данные из других контроллеров, оперировать встроенными функциями и создавать собственные переменные. Контроллер Expression (Выражение) можно применять практически ко всем параметрам 3ds Max, для которых есть возможность анимации.
Рис. 4.16. Окно диалога Expression Controller (Контроллер управления по алгоритмическому выражению)
• Linear (Линейное управление) – контроллер линейного управления. Строит функциональную кривую между двумя соседними ключами по прямой линии. Этот контроллер не имеет настроек и использует для интерполяции значения ключевых кадров. Его следует применять, когда необходимо передать движение механизмов или изменение цвета.
• Noise (Шум) – генерирует хаотичную анимацию в пределах диапазона кадров. Является параметрическим и не использует ключи анимации. Как только вы назначаете анимированному параметру этот контроллер, он сразу применяется ко всему диапазону текущего временного сегмента. Данный контроллер можно использовать для создания неравномерного движения, пульсирующего фонтана, вибрации объектов и т. п., а также к другим контроллерам для изменения функциональной кривой с учетом среднего значения (рис. 4.17).
Рис. 4.17. Окно диалога контроллера Noise (Зашумление)
• List (Управление по списку) – объединяет несколько самостоятельных контроллеров для создания общей анимации. Контроллеры, добавленные в список, выполняются последовательно и по умолчанию имеют вес (значение параметра Weight (Вес)), равный 100. Изменение этого значения влияет на удельный вес данного контроллера в общей анимации. Применяется для создания сложных анимаций.
• Script (Управление по коду) – подобно контроллеру Expression (Выражение), основанному на алгоритмическом выражении, отрывает окно для ввода кода на языке MAXScript с последующим расчетом значения и передачи его контроллеру. С помощью контроллера Script (Управление по коду) можно анимировать практически все параметры объекта, даже те, которые не анимируются контроллером Expression (Выражение) (например, вершины полигонального объекта) (рис. 4.18).
Рис. 4.18. Окно диалога Script Controller (Контроллер управления по коду)
• Path Constraint (Ограничение по пути) – ограничивает движение объекта по пути, которым является указанный сплайн или усредненное расстояние между несколькими сплайнами. В качестве пути можно использовать сплайн любого типа, при этом сам сплайн может иметь собственную анимацию. Данный контроллер применяется для анимации объектов по сложным траекториям (например, движение автомобиля по дороге).
• Position Constraint (Ограничение по положению) – изменяет положение исходного объекта (то есть объект, к которому применен контроллер) относительно целевого. При этом значение параметра Weight (Вес), равное по умолчанию 100, означает, что исходный объект займет положение целевого, а значение 0 – то, что исходный объект останется на месте. Все значения, отличные от 0, заставят объект переместиться в положение, которое равно процентному отношению расстояния между исходным и целевым объектами.
• Link Constrain (Ограничение по связи) – применяется для анимации передачи связи от одного целевого объекта другому. Например, что при использовании контроллера Link Constrain (Ограничение по связи) анимированный персонаж может взять рукой чемодан и переместить его в другую руку.
• LookAt Constraint (Ограничение по линии взгляда) – используется для ориентации одного объекта относительно другого с таким расчетом, чтобы исходный объект постоянно смотрел на целевой. Действие данного контроллера подобно камере Target Camera (Нацеленная камера), когда она поворачивается вслед за перемещаемой целью.
Итак, мы рассмотрели основные контроллеры анимации, применяемые в 3ds Max. Более подробную информацию о них можно найти в справочной литературе или файле справки приложения.
Продолжим анимировать мяч. Используя контроллер Expression (Выражение), создадим для него поступательное движение и постепенное затухание отскоков.
1. Продолжите выполнение собственной анимации или загрузите с прилагаемого DVD файл ball01.max, находящийся в папке Examples\Глава 04\Ball.
2. Для увеличения общего времени анимации щелкните на кнопке Time Configuration (Настройка временных интервалов)
и в области Animation (Анимация) открывшегося окна задайте параметру End Time (Время окончания) значение, равное 180 (рис. 4.19).
Рис. 4.19. Окно диалога Time Configuration (Настройка временных интервалов)
3. В одном из окон проекций выделите мяч – объект Sphere01.
4. Перейдите на вкладку Motion (Движение) командной панели и в свитке Assign Controller (Назначить контроллер) выберите строку с именем Position: Position XYZ (Положение: положение по XYZ) (рис. 4.20).
Рис. 4.20. Свиток Assign Controller (Назначить контроллер) объекта Sphere01
5. В свитке Assign Controller (Назначить контроллер) щелкните на одноименной кнопке
в результате чего откроется окно диалога Assign Position Controller (Назначить контроллер положения). В этом окне выберите из списка контроллер Position List (Контроллер положения по списку). После применения этого контроллера в списке контроллеров появится строка Available (Доступный) (рис. 4.21), позволяющая добавлять к списку новые контроллеры.
Рис. 4.21. Свиток Assign Controller (Назначить контроллер) после назначения контроллера Position List (Контроллер положения по списку)
6. Выделите строку Available (Доступный) и щелкните на кнопке Assign Controller (Назначить контроллер)
7. В открывшемся окне Assign Position Controller (Назначить контроллер положения) выберите строку Position Expression (Контроллер положения по выражению). В результате откроется окно Expression Controller (Контроллер управления по алгоритмическому выражению) (см. рис. 4.16).
8. Создайте переменную, которая будет принимать значение положения объекта Sphere01 по оси Z следующим образом:
1) в поле Name (Имя) области Create Variables (Создать переменную) наберите имя создаваемой переменной (например, Zpoz);
2) установите переключатель в положение Scalar (Скалярный) и щелкните на кнопке Create (Создать);
3) в нижней части окна нажмите кнопку Assign to Controller (Назначить контроллеру);
4) в появившемся окне Track View Pick (Выбрать трек) выберите из иерархического списка строку Z Position: Bezier Float (Z-положение: управление по Безье с плавающей точкой), относящуюся к объекту Sphere01 (рис. 4.22).
Рис. 4.22. Выбор строки Z Position: Bezier Float (Z-положение: управление по Безье с плавающей точкой) в окне Track View Pick (Выбрать трек)
9. В поле Expression (Выражение) окна Expression Controller (Контроллер управления по алгоритмическому выражению) вместо [0, 0, 0], наберите следующее выражение [F, 0, -Zpoz/180*F], где F – текущий кадр (функция по умолчанию), 180 – общее количество кадров, а Zpoz – созданная нами переменная.
10. Щелкните на кнопке Evaluate (Оценить) для расчета созданного выражения.
11. Запустите воспроизведение созданной анимации в активном окне проекции, нажав кнопку Play Animation (Воспроизвести анимацию)
Если все было сделано правильно, то вы увидите, как мячик смещается в сторону с уменьшением высоты отскоков.
Вернемся к созданному выражению и разберем его более подробно. По умолчанию выражение в поле Expression (Выражение) представляло собой [0, 0, 0], что означало изменение параметров X, Y и Z на 0, то есть положение объекта не менялось. Вместо значения 0 по оси X мы задали F, указав, что в каждом последующем кадре анимации это значение будет увеличиваться на 1 и соответствовать номеру текущего кадра. Значение по оси Y не должно меняться, поэтому мы оставили его равным 0. Для оси Z выражение имеет более сложную структуру. В каждом кадре анимации из положения объекта по оси Z вычитается его текущее значение (Zpoz), деленное на общее количество кадров. Эта разность умножается на значение текущего кадра для создания динамики уменьшения параметра Z.
Примечание
Для ознакомления с готовой анимацией загрузите файл ball02.max из папки Examples\Глава 04\Ball прилагаемого к книге DVD.
Анимация частиц
Система частиц (Particle System) представляет собой совокупность малоразмерных частиц, с использование которых можно создать множество анимационных эффектов. Подобно твердым телам, частицы имитируют физические процессы. При этом они не являются частью анимации в привычном смысле этого слова, следовательно, ими нельзя манипулировать непосредственно, как объектами. Управление ими происходит за счет изменения параметров или посредством добавления внешних сил. С помощью частиц можно имитировать различные предметы и явления природы, например дождь, снег, стаю птиц и многое другое.
После создания системы частиц все, что вы можете увидеть в окне проекции, – это габаритный контейнер, который называется Emitter Icon (Значок источника). Он является объектом, который порождает частицы. Созданные системы частиц существуют в сцене в динамике, меняясь во времени. Их поведение зависит исключительно от значения параметров и внешних сил (если они применяются). Лучший способ научиться работать с частицами – экспериментировать с различными значениями их параметров.
Программа 3ds Max содержит семь различных типов систем частиц.
• Particle Flow Source (Источник потока частиц) – частицы, которые можно определить с помощью окна Particle View (Окно системы частиц) и контролируемые при помощи действий (Actions) и событий (Events).
• Spray (Брызги) – система частиц, имитирующая капли воды, брызги и т. д. Эти капли можно представить в виде Drops (Капли), Dots (Точки) или Ticks (Черточки). Частицы движутся по прямой линии от излучателя сразу же после создания.
• Snow (Снег) – создает эффект падающего снега или конфетти. Эта система частиц подобна Spray (Брызги), но имеет дополнительные параметры для настройки поведения снежинок при падении. Кроме представления в виде точек и черточек частицы системы Snow (Снег) можно визуализировать в виде снежинок (Flakes (Снежинки)).
• Blizzard (Метель) – усовершенствованная модель частиц Snow (Снег), которая имеет дополнительные параметры и может использовать при визуализации форму различных объектов (треугольников, сфер и т. д.).
• PArray (Массив частиц) – дает возможность применять два типа поведения частиц:
· использование объектов сцены в качестве источников для излучаемых частиц.
· создание усовершенствованных эффектов имитации взрыва.
• PCloud (Облако частиц) – создает облако частиц, заключенных в габаритный контейнер, в качестве которого могут выступать другие объекты сцены. Данную систему частиц можно применять для имитации стаи птиц, косяков рыб, звездных полей, группы животных и т. д.
• Super Spray (Супербрызги) – усовершенствованный вариант частиц Spray (Брызги), имеющий множество дополнительных параметров.
В 3ds Max системы частиц можно создавать тремя способами:
• с помощью подменю команды главного меню Create Particles
• используя группу Particle Systems (Системы частиц) категории Geometry (Геометрия) вкладки Create (Создание) командной панели (рис. 4.23);
Рис. 4.23. Кнопки создания систем частиц на командной панели
• при помощи окна Particle View (Окно системы частиц), которое вызывается командой главного меню Graph Editors Particle View (Графические редакторы Окно системы частиц).
При создании системы частиц, не использующих габаритный контейнер (таких как Spray (Брызги), Snow (Снег), Blizzard (Метель)), прежде всего необходимо определить положение в пространстве точки генерации частиц, называемой эмиттером, и направление, в котором они будут испускаться. Эмиттер представляет собой плоскость с перпендикулярным вектором, расположенным в середине этой плоскости (рис. 4.24). Именно направление вектора указывает сторону, в которую будут испускаться частицы.
Рис. 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. Окончательный вид окна событий после добавления всех операторов
Примечание
Создание второго списка событий вызвано тем, что силы, действующие на частицы, должны инициироваться в области воздействия отражателя 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).