• Анимация с использованием ключевых кадров
• Использование контроллеров и выражений
• Анимация частиц
• Текст, уносимый порывами ветра
• Использование модификатора Cloth (Ткань) для симуляции поведения тканей
Анимацию можно представить как последовательность сменяющих друг друга изображений. В среде 3ds Max 2008 практически каждый объект и почти все его параметры можно анимировать. Анимации могут подвергаться не только объекты и их параметры, но и модификаторы, материалы, контроллеры и многое другое. В данной главе вы познакомитесь с основами создания анимации и инструментами управления ее параметрами.
Примечание
Из видеоуроке «Урок 25. Анимация в 3ds Max 2008», который находится на DVD, прилагаемом к книге, вы узнаете основные сведения об анимации в 3ds Max 2008.
Анимация с использованием ключевых кадров является базовой. Она позволяет понять принцип работы всего механизма создания движущихся образов. Как уже говорилось выше, почти любой параметр объекта (объектами в 3ds Max являются не только параметрические объекты, но и камеры, источники света, модификаторы и даже материалы), имеющий численное значение, можно сделать ключевым, то есть анимировать.
Суть использования ключевых кадров заключается в создании ключей анимации для начального и конечного положения объекта, при этом состояние объекта в промежуточных стадиях просчитывает компьютер.
Рассмотрим некоторые термины, которыми мы будем оперировать в дальнейшем.
• Ключ (Key) – маркер, задающий значения анимируемых параметров в определенный момент.
• Ключевой кадр (Keyframe) – кадр, содержащий ключ анимации.
• Автоключ (AutoKey) – функция, отслеживающая изменения анимируемых параметров объекта и позволяющая автоматически создавать ключевой кадр.
• Ползунок таймера анимации – элемент интерфейса программы, дающий возможность вручную устанавливать текущий кадр анимации, переходить к предыдущему или следующему кадру, а также создавать ключевые кадры для параметров положения, масштабирования и поворота.
• Строка треков (Track Bar) – элемент интерфейса, позволяющий получить быстрый доступ к ключам выделенного объекта.
• Кривая функции (Function Curve), или анимационная кривая, – графически отображает значения анимации в ключах и интерполированные значения между ключами. Настраивается редактированием положения манипуляторов Безье в окне Track View – Curve Editor (Просмотр треков – редактор кривых).
Прежде чем вы выполните свою первую анимацию, давайте рассмотрим инструменты создания анимации методом ключевых кадров и управления анимацией, представленные в программе 3ds Max.
Средства управления анимацией сосредоточены в нижнем правом углу окна программы и кроме указанной группы включают в себя ползунок таймера, расположенный над строкой треков. Средства управления анимацией состоят из следующих кнопок управления.
Go to Start (Перейти в начало) – делает первый кадр анимации текущим.
Previous Frame (Предыдущий кадр) – выполняет переход к предыдущему кадру анимации.
Play Animation (Воспроизвести анимацию) – запускает воспроизведение анимации в активном окне проекции. После запуска анимации кнопка меняется на Stop Animation (Остановить анимацию), щелчок на которой прекращает воспроизведение анимации.
Next Frame (Следующий кадр) – выполняет переход к следущему кадру анимации.
Go to End (Перейти в конец) – делает последний кадр анимации текущим.
Key Mode Toggle (Режим ключей) – переходит в режим отслеживания ключей анимации. При этом кнопки Previous Frame (Предыдущий кадр) и Next Frame (Следующий кадр) изменяются на Previous Key (Предыдущий ключ) и Next Key (Следующий ключ). Щелчок на одной из этих кнопок позволяет перейти к следующему или предыдущему ключу анимации выделенного объекта.
Current Frame (Текущий кадр) – отображает номер текущего кадра. Кроме того, если в поле счетчика ввести требуемый номер кадра или время, то можно быстро перейти к этому кадру.
Time Configuration (Настройка временных интервалов) – вызывает одноименное окно, позволяющее задавать временные диапазоны, характер отображения времени, а также частоту кадров в секунду (fps).
Создать анимацию с использованием ключевых кадров можно различными способами. Самый простой – автоматическая запись ключей анимации. Для этого применяются средства создания анимации, расположенные слева от рассмотренных выше кнопок управления анимацией. В эту группу входят следующие кнопки.
Set Keys (Установить ключи) – создает ключ анимации для выделенного объекта в текущем кадре. В отличие от автоматического создания ключей с использованием кнопки Auto Key (Автоключ), вы можете контролировать то, какие именно ключи буду созданы (это задается при помощи фильтра Set Key Filters (Установить фильтры ключа)). Для использования этого режима должна быть нажата кнопка Toggle Set Key Mode (Переключатель режима установки ключей).
Toggle Auto Key Mode (Переключатель режима автоматической записи ключей) – включает/выключает режим автоматического создания ключей анимации для выделенного объекта сцены в текущем кадре. В этом режиме записываются любые трансформации (перемещение, поворот, масштабирование), а также параметры, которые в принципе можно анимировать. При нажатии кнопки автоматической записи ключей будьте внимательны, так как можно случайно записать ненужные ключи. Не забывайте сразу же после записи необходимой анимации отключать режим автоматической записи ключей, повторно нажав кнопку Toggle Auto Key Mode (Переключатель режима автоматической записи ключей).
Selection Sets drop-down list (Список именованных выделений) – раскрывает список с именованными выделениями, созданными при помощи Named Selection Sets (Название выделенной области), к которым будут применяться ключи анимации. По умолчанию анимация применяется только к выделенным объектам.
Toggle Set Key Mode (Переключатель режима установки ключей) – включает либо выключает режим, при котором будут записываться только те ключи, которые указаны в окне Set Key Filters (Установить фильтры ключа).
Default In/Out Tangents for New Keys (Исходный тип касательных) – задает исходный тип касательных в ключах, которые строятся при помощи автоматической записи ключей анимации.
Open Filters Dialog (Открыть окно фильтров ключа) – щелчок на этой кнопке вызывает окно Set Key Filters (Установить фильтры ключа), позволяющее можно включить или выключить треки, которые будут анимироваться.
Рассмотрим создание простейшей анимации с использованием ключевых кадров. Для этого сделайте следующее.
1. В окне проекции Top (Сверху) создайте параметрический объект Plane (Плоскость), для чего выполните команду главного меню Create → Standard Primitives → Plane (Создание → Простые примитивы → Плоскость).
2. Перейдите на вкладку Modify (Изменение) командной панели и в свитке Parameters (Параметры) установите значение параметра Length (Длина) равным 120, а Width (Ширина) – 500.
3. Используя окно проекции Top (Сверху), создайте в левой части плоскости объект Sphere (Сфера), для чего выполните команду главного меню Create → Standard Primitives → Sphere (Создание → Простые примитивы → Сфера).
4. Перейдите на вкладку Modify (Изменение) командной панели и в свитке Parameters (Параметры) настроек сферы задайте параметру Radius (Радиус) значение, равное 10, и установите флажок Base To Pivot (Точка опоры внизу).
5. Щелкните правой кнопкой мыши на значке Select and Move (Выделить и переместить)
на панели инструментов и в области Absolute:World (Абсолютные: глобальные) открывшегося окна Move Transform Type-In (Ввод данных преобразования перемещения) задайте параметру Z значение, равное 100 (рис. 4.1).
Рис. 4.1. Окно Move Transform Type-In (Ввод данных преобразования перемещения) с параметрами положения сферы
6. Активизируйте запись ключей анимации, щелкнув на кнопке Auto Key (Автоключ), расположенной в правой нижней части окна программы. В результате кнопка выделится цветом
указывая на то, что находится в активном состоянии.
7. Передвиньте ползунок таймера анимации на 20 кадр.
8. Снова откройте окно Move Transform Type-In (Ввод данных преобразования перемещения) щелкнув правой кнопкой мыши на кнопке Select and Move (Выделить и переместить)
на панели инструментов, и параметру Z области Absolute:World (Абсолютные: глобальные) задайте новое значение, равное 0. В результате в строке треков появится два ключевых кадра: один в нулевом, другой в 20 кадре активного временного сегмента.
9. Выключите запись ключей анимации, повторно щелкнув на кнопке Auto Key (Автоключ).
10. Нажмите кнопку Play Animation (Воспроизвести анимацию)
чтобы увидеть выполненную анимацию в активном окне проекции.
После выполнения вышеописанных действий вы увидите, как сфера начнет падать по прямой с высоты 100 мм, начиная с нулевого кадра (активный кадр по умолчанию) до 20 кадра, то есть до нулевого значения по вертикали (по оси Z) (рис. 4.2). Такое движение обусловлено автоматически созданными ключевыми кадрами и расчетом интерполяции движения между ними.
Рис. 4.2. Положение объекта Sphere (Сфера) в 10 кадре анимации и траектория его движения
Созданные ключи анимации можно редактировать: изменять анимированные настройки или изменять положение ключей в строке треков. Проще всего редактировать с помощью контекстного меню, которое можно вызвать щелчком правой кнопки мыши на ключе анимации (рис. 4.3).
Рис. 4.3. Контекстное меню, вызванное щелчком правой кнопки мыши на ключе в 20 кадре анимации
Используя это контекстное меню, вы можете не только редактировать положение объекта в пространстве, но и удалять созданные ранее ключи, фильтровать их по различным признакам, получать доступ к свойствам присвоенного контроллера и конфигурации строки треков.
При автоматическом создании ключей анимации программа использует для интерполяции в начальном и конечном кадрах значения Безье. На практике это выглядит как плавное начало движения и постепенное затухание к концу анимации. Часто такие значения подходят и их можно оставлять, как есть. Однако если мы, например, анимируем подброшенный вверх мячик то, поднимаясь вверх, он будет замедлять движение, пока не остановится, а затем начнет падать, постепенно ускоряясь, пока не достигнет земли. Представим, что описанная выше сфера – это тот самый мяч. В этом случае необходимо скорректировать функциональную кривую анимации так, чтобы падая, мяч приобретал ускорение. Для этого нужно отредактировать 20 ключ анимации следующим образом.
1. Щелкните правой кнопкой мыши на 20 ключе анимации и в появившемся контекстном меню выберите строку Sphere01: Z Position (Сфера01: положение по оси Z).
2. В одноименном открывшемся окне щелкните на кнопке In (Вход) и выберите из раскрывшегося списка быстрое управление сглаживанием сегментов сплайна Безье
(рис. 4.4).
Рис. 4.4. Выбор кнопки быстрого управления функциональной кривой анимации
3. Протестируйте выполненную анимацию, щелкнув на кнопке Play Animation (Воспроизвести анимацию)
Выполнив эти несложные настройки кривой анимации, мы сделали так, что падая, мяч будет постоянно ускоряться, пока не достигнет плоскости.
При реальном столкновении с плоскостью мяч деформируется, а затем, распрямляясь, отскочит вверх. Чтобы показать деформацию мяча, воспользуемся модификатором FFD 2×2×2 (Произвольная деформация 2×2×2), анимировав его контрольные точки (Control Points). Для этого выполните следующие действия.
1. В любом из окон проекций выделите построенную ранее сферу.
2. Примените к ней модификатор FFD 2×2×2 (Произвольная деформация 2×2×2), выполнив команду главного меню Modifiers → Free Form Deformers → FFD 2×2×2 (Модификаторы → Произвольные деформации → Произвольная деформация 2×2×2).
3. Перейдите на вкладку Modify (Изменение) командной панели и в стеке модификаторов щелкните на плюсике рядом со строкой FFD 2×2×2 (Произвольная деформация 2×2×2) для доступа к уровню подобъектов. Активизируйте строку Control Points (Контрольные точки) (рис. 4.5).
Рис. 4.5. Стек модификаторов объекта Sphere01
4. Активизируйте запись ключей анимации, щелкнув на кнопке Auto Key (Автоключ)
5. Передвиньте ползунок таймера анимации на 22 кадр.
6. На главной панели инструментов активизируйте инструмент перемещения, щелкнув на значке Select and Move (Выделить и переместить)
7. В окне проекции Front (Спереди) выделите верхний ряд контрольных точек контейнера деформации и переместите их вниз на 3 мм (рис. 4.6).
Рис. 4.6. Сфера, деформированная при помощи контрольных точек модификатора FFD 2×2×2 (Произвольная деформация 2×2×2)
Таким образом, у нас получилось, что сфера как будто деформировалась от столкновения с поверхностью.
Примечание
В реальной жизни форма мяча при столкновении окажется несколько иной. При столкновении с поверхностью будет больше деформироваться та часть мяча, которая с ней взаимодействует. Чтобы воспроизвести это, нам понадобилось бы строить дополнительные ряды контрольных точек или использовать плавное выделение (Soft Selection) подобъектов сферы. Однако мы рассматриваем создание простой анимации и не ставим такой задачи. При желании вы можете повысить реалистичность анимации, воспользовавшись модификатором FFD (Box) (Произвольно деформируемый контейнер (прямоугольный)).
Итак, построенная деформация больше похожа на применяемую в анимационных роликах. Давайте усилим это восприятие, создав анимацию деформации мяча во время падения. Для этого продолжим создавать ключевые кадры.
1. Передвиньте ползунок таймера анимации в 18 кадр.
2. Используя инструмент Select and Move (Выделить и переместить) переместите верхний ряд контрольных точек по оси Z вверх на 6 мм.
3. На главной панели инструментов щелкните на значке Select and Uniform Scale (Выделить и равномерно масштабировать)
и масштабируйте выделенные контрольные точки на 80 % (рис. 4.7).
Рис. 4.7. Положение контрольных точек в 18 кадре анимации
4. Выключите запись ключей анимации, щелкнув на кнопке Auto Key (Автоключ).
5. Проверьте созданную анимацию. Мяч должен деформироваться, вытягиваясь во время полета, а при падении на плоскость сплющиваться.
6. Чтобы закончить создание полной фазы движения мяча, необходимо выполнить анимацию отскока. Это можно сделать при помощи копирования и редактирования построенных ранее ключей. Выделите в строке треков ключ, расположенный в нулевом кадре, и, удерживая нажатой клавишу Shift, передвиньте ключ в 40 кадр анимации. Таким образом, будет создана копия ключа анимации первого кадра.
Совет
При смещении или копировании ключей анимации удобно контролировать действия, используя информацию в строке подсказки, расположенную ниже строки треков. Там указывается начальный кадр положения ключа, текущий кадр и его смещение.
Если сейчас воспроизвести анимацию, то можно заметить что мяч в 40 кадре возвращается в исходное положение, соответствующее нулевому кадру, но на участке между 20 и 28 кадром мяч опускается ниже поверхности «земли» (объекта Plane01). Такое положение обусловлено применением автоматического сглаживания в ключах анимации, о котором говорилось ранее. Продолжим настройку ключей и скорректируем движение мяча во время отскока.
1. Для настройки параметров ключа в 20 кадре щелкните на нем правой кнопкой мыши и в появившемся контекстном меню (см. рис. 4.3) выберите строку Sphere01: Z Position (Сфера01: положение по оси Z).
2. В появившемся одноименном окне щелкните на кнопке Out (Выход) и выберите из раскрывшегося списка скачкообразное управление сглаживанием сегментов сплайна Безье
(рис. 4.8).
Рис. 4.8. Выбор кнопки скачкообразного управления функциональной кривой анимации
После выполненной настройки мяч больше не проваливается, но вместе с тем он потерял способность отскакивать от поверхности. Чтобы это исправить, сделайте следующее.
1. Выделите ключ, расположенный в нулевом кадре, и, удерживая нажатой клавишу Shift, скопируйте его в 24 кадр.
2. Подкорректируйте значение построенного ключа по оси Z. Для этого, используя контекстное меню, откройте окно Sphere01: Z Position (Сфера01: положение по оси Z) и задайте параметру Value (Значение) значение 0.
Совет
Для обнуления значения любого счетчика достаточно щелкнуть правой кнопкой мыши на стрелках, расположенных справа.
3. Измените вариант сглаживания функциональной кривой, установив для кнопки In (Вход) скачкообразное управление
а для кнопки Out (Выход) – быстрое управление
сглаживанием сегментов сплайна Безье
(рис. 4.9).
Рис. 4.9. Окно Sphere01: Z Position (Сфера01: положение по оси Z) с параметрами ключа в 24 кадре анимации
4. Проверьте выполненную анимацию, запустив ее воспроизведение в активном окне проекции при помощи кнопки Play Animation (Воспроизвести анимацию)
При желании вы можете самостоятельно подкорректировать контрольные точки модификатора FFD 2×2×2 (Произвольная деформация 2×2×2) после отскока мяча, усилив анимационный эффект. Для этого в 30 кадре анимации выделите нижний ряд контрольных точек и масштабируйте их на 80 %. Выполнив эти действия, не забудьте внести соответствующие изменения в предыдущий и последующий кадры.
Таким образом, обозначив начальное и конечное положение объекта в пространстве, создав ключи анимации для сферы, а также ключи для положения контрольных точек контейнера деформации мы построили простую анимацию.
Создавать и редактировать ключи анимации можно не только автоматически, используя кнопку Auto Key (Автоключ), но и при помощи окна Track View (Просмотр треков). Это окно является основным инструментом редактирования любых параметров ключей анимации. Его можно вызвать командой главного меню Graph Editors → New Track View (Редакторы графов → Новое окно просмотра треков) либо щелчком на значке главной панели инструментов Curve Editor (Open) (Редактор кривых (открыть)). В зависимости от решаемых задач окно Track View (Просмотр треков) может быть представлено в двух режимах: Dope Sheet (Таблица структуры) и Curve Editor (Редактор кривых). Окно Track View – Dope Sheet (Просмотр треков – таблица структуры), показанное на рис. 4.10, разделено на две части: в левой расположен иерархический список анимируемых объектов вместе с их параметрами, а в правой можно редактировать треки.
Рис. 4.10. Окно Track View – Dope Sheet (Просмотр треков – таблица структуры)
Окно Track View – Dope Sheet (Просмотр треков – таблица структуры) имеет два основных режима редактирования анимации: Edit Keys (Редактирование ключей) и Edit Range (Редактирование диапазонов). На рис. 4.10 окно Track View – Dope Sheet (Просмотр треков – таблица структуры) представлено в режиме Edit Keys (Редактирование ключей).
Рассмотрим элементы интерфейса окна Track View (Просмотр треков), общие для каждого из режимов редактирования.
Прежде всего, обратимся к иерархическому списку объектов сцены. Корневым объектом этого списка является World (Мир), которому подчиняются следующие ветви.
• Sound (Звук) – содержит данные, связанные со звуком; доступны два типа звуков: метроном и аудиофайл формата WAV.
• Video Post (Видеомонтаж) – позволяет управлять анимированными параметрами модуля Video Post (Видеомонтаж).
• Global Tracks (Общие треки) – треки этой ветви позволяют задавать параметры, общие для объектов сцены.
• Biped (Двуногий) – дает возможность настраивать ключевые кадры, относящиеся к двуногому существу, редактировать следы двуногого и уточнять периоды свободного положения.
• Anim Layer Control Manager (Управление анимированными слоями) – ветвь, позволяющая управлять анимированными слоями, добавляемыми поверх оригинальной анимации.
• Environment (Внешняя среда) – ветвь с элементами анимации, ассоциированными с внешней средой.
• Render Effects (Эффекты визуализации) – содержит треки для эффектов, добавленных в сцену при помощи команды Rendering → Effects (Визуализация → Эффекты). После добавления эффектов визуализации можно использовать данные треки для анимации таких параметров, как цвет или размер области свечения.
• Render Elements (Визуализация элементов) – показывает то, какие дополнительные элементы выбраны с использованием вкладки Render Elements (Визуализация элементов) окна Render Scene (Визуализация сцены).
• Renderer (Визуализатор) – позволяет анимировать параметры в настройках визуализатора. Например, вы можете анимировать параметр сглаживания текстуры.
• Global Shadow Parameters (Общие параметры теней) – содержит параметры, общие для источников света, отбрасывающих тени.
• Scene Materials (Материалы сцены) – включает в себя параметры всех материалов, используемых в сцене.
• Medit Materials (Материалы редактора) – содержит параметры 24 материалов, представленных в окне редактора материалов.
• Objects (Объекты) – включает в себя сцены и их анимируемые параметры. Данная ветвь показывает иерархию связей, подобно окну Select Objects (Выделить объекты).
В верхней части окна Track View (Просмотр треков) располагается панель инструментов с кнопками управления и настройки ключей анимации. В зависимости от режима отображения на панели могут размещаться различные наборы кнопок. Общими для всех режимов являются следующие кнопки.
Filters (Фильтры) – открывает одноименное окно для выбора объектов, которые будут отображаться в окне просмотра треков.
Move Keys (Переместить ключи) – перемещает выбранный ключ (или ключи) во времени. Если передвигать ключ с нажатой клавишей Shift, то он будет скопирован.
Slide Keys (Переместить ключи) – перемещает во времени выбранные ключи, а также ключи, которые расположены со стороны направления смещения, то есть при этом сохраняются расстояния между ключами.
Add Keys (Добавить ключи) – добавляет ключи анимации к любому треку.
Scale Keys (Масштабировать ключи) – пропорционально масштабирует время, относящееся к выбранным ключам анимации относительно текущего кадра анимации.
Lock Selection (Блокировать ключи) – блокирует выбранные ключи для последующей работы с выделением. Аналогично действию клавиши Пробел для объектов сцены.
Snap Frames (Привязать к кадру) – в процессе редактирования треков привязывает ключи анимации к отдельным кадрам.
Show Keyable Icons (Показать анимацию значком) – в окне иерархического списка отмечает анимированные параметры значком с изображением ключа.
В нижней части окна диалога появились три новые кнопки, относящиеся к выбору объектов для отображения.
Filter – Selected Tracks Toggle (Фильтр – переключатель выделенных треков) – позволяет отображать только те пункты иерархического списка, которые перед нажатием данной кнопки были выделены.
Filter – Selected Objects Toggle (Фильтр – переключатель выделенных объектов ) – показывает только те пункты иерархического списка, которые относятся к выделенным объектам сцены.
Filter – Animated Tracks Toggle (Фильтр – переключатель анимированных треков) – отображаются только те треки, которые содержат анимацию.
Дополнительными кнопками режима Dope Sheet (Таблица структуры) являются следующие.
Edit Keys (Редактировать ключи) – включает режим редактирования ключей с использованием числовых значений или положения этих ключей на шкале времени.
Edit Ranges (Редактировать диапазоны) – активизирует режим правки диапазонов, позволяющий быстрое редактирование диапазона действия, который ограничен белыми маркерами.
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).
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 (Ткань). В отличие от одноименного оператора модуля reactor этот модификатор в первую очередь призван облегчить создание и анимацию одежды моделируемых персонажей. Данный модификатор имеет достаточно широкие возможности, которые можно довольно долго описывать, я же хочу показать, как при помощи модификатора Cloth (Ткань) можно легко и просто создавать объекты, имитирующие поведение ткани. Мы опишем, как создать два объекта: скатерть и развевающийся флаг.
Примечание
В видеоуроке «Урок 27. Использование модификатора Cloth (Ткань) для симуляции поведения тканей», который находится на DVD, прилагаемом к книге, показаны примеры применения модификатора Cloth (Ткань).
Для создания модели скатерти нам понадобится простая сцена, состоящая из двух объектов: столешницы и скатерти. Для построения первого объек та воспользуйтесь параметрическим объектом Box (Параллелепипед) (Create → Standard Primitives → Box (Создать → Простые примитивы → Параллелепипед)).
В качестве второго объекта будет использован объект формы Rectangle (Прямоугольник) (Create → Shapes → Rectangle (Создание → Формы → Прямоугольник)). Создайте оба объекта в окне проекции Top (Сверху). Расположите прямоугольник относительно объекта столешницы сверху и центрируйте по осям X и Y (рис. 4.38).
Рис. 4.38. Взаимное расположение объектов в сцене
Примечание
Для создания ткани можно также воспользоваться параметрическим объектом Plane (Плоскость) с достаточным количеством сегментов по длине и ширине (допустим, 50), однако применение сплайнов позволяет получить дополнительные возможности: создание объектов произвольной формы (например, скатерть с фигурными краями), внутренние швы и разрезы. Особенно это актуально при создании одежды.
На основе объекта Rectangle (Прямоугольник) необходимо создать поверхность. Самый легкий способ – преобразовать прямоугольник в полигональную поверхность. Однако при этом мы потеряем дополнительные возможности объекта формы. Лучшим выбором в данном случае будет использование модификатора Garment Maker (Моделирование одежды). Чтобы присвоить этот модификатор, выделите в одном из окон проекций прямоугольник и выполните команду главного меню Modifiers → Cloth → Garment Maker (Модификаторы → Ткань → Моделирование одежды). Обратите внимание, что два из четырех углов стали закругленными. Избавиться от этого можно, выполнив разбиение вершин этих углов, что приведет к созданию самостоятельных сплайнов на уровне подобъектов формы. Для этого перейдите в стеке модификаторов на нижний уровень (то есть выделите в стеке строку Rectangle (Прямоугольник)), щелкните на раскрывающемся списке Modifier List (Список модификаторов) и выберите из списка модификатор Edit Spline (Редактирование сплайна) (рис. 4.39).
Рис. 4.39. Положение модификатора Edit Spline (Редактирование сплайна) в стеке
Для редактирования прямоугольника перейдите на уровень подобъектов Vertex (Вершина), для чего щелкните в настройках модификатора Edit Spline (Редактирование сплайна) на кнопке Vertex (Вершина) в свитке Selection (Выделение) или нажмите горячую клавишу 1. Выделите все четыре вершины прямоугольника, перейдите к свитку Geometry (Геометрия) и щелкните на кнопке Break (Разбить). После этого выйдите из режима редактирования вершин, повторно щелкнув на кнопке Vertex (Вершина), и вернитесь к модификатору Garment Maker (Моделирование одежды).
Для продолжения работы необходимо обновить созданную модификатором поверхность и увеличить ее топологию. Для этого в свитке Main Parameters (Основные параметры) настроек модификатора Garment Maker (Моделирование одежды) щелкните на кнопке Mesh It! (Рассчитать сетку) и увеличьте значение параметра Density (Плотность) до 2.
Внимание!
Увеличение количества треугольников, образующих поверхность объекта позволит создать более естественное поведение ткани. Однако на компьютерах с низкой производительностью это может вызвать длительные расчеты динамики ткани и даже зависания. По данной причине на таких компьютерах лучше не задавать параметру Density (Плотность) значение больше 1.
В результате все углы станут ровными, а плотность сетки повысится, что позволит получить сглаженные складки поверхности ткани. На рис. 4.40, слева показан фрагмент прямоугольника с примененным модификатором Garment Maker (Моделирование одежды) до редактирования, а на рис. 4.40, справа– после.
Рис. 4.40. Фрагмент прямоугольника до редактирования (слева) и после него (справа)
Применим к прямоугольнику модификатор Cloth (Ткань), выполнив команду главного меню Modifiers → Cloth → Cloth (Модификаторы → Ткань → Ткань). Для настройки поведения ткани выполните следующие действия.
1. В свитке Object (Объект) настроек модификатора Cloth (Ткань) щелкните на кнопке Object Properties (Свойства объекта).
2. В появившемся окне Object Properties (Свойства объекта) выберите из списка доступных объектов прямоугольник (объект с именем Rectangle01) и установите переключатель в положение Cloth (Ткань).
3. В области Cloth Properties (Свойства ткани) из раскрывающегося списка Presets (Предустановки) выберите строку Default (Исходный) (рис. 4.41).
Рис. 4.41. Настройка свойств объекта Rectangle01
4. Чтобы использовать в расчетах поведения ткани поверхности стола (в нашем случае – это построенный ранее параллелепипед) в окне Object Properties (Свойства объекта) щелкните на кнопке Add Objects (Добавить объекты) и в появившемся окне Add Objects to Cloth Simulation (Добавить объекты к расчетам динамики ткани) выберите объект Box01 и нажмите кнопку Add (Добавить).
5. Для объекта Box01 установите переключатель в положение Collision Object (Объект столкновения) и оставьте значения, принятые по умолчанию (рис. 4.42).
Рис. 4.42. Настройка свойств объекта Box01
6. Щелкните на кнопке OK для закрытия окна Object Properties (Свойства объекта).
Все готово к расчетам динамики ткани. Чтобы запустить эти расчеты, необходимо в области Simulation (Моделирование) свитка Object (Объект) щелкнуть на кнопке Simulate (Моделирование) или на кнопке Simulate Local (Локальное моделирование) (если не планируете создавать анимацию поведения ткани во времени).
Примечание
После запуска расчета динамики вы можете в любое время остановить его и выполнить дополнительную настройку свойств объектов, например изменить плотность сетки модификатора Garment Maker (Моделирование одежды). В этом случае необходимо вернуть ползунок таймера анимации на первый кадр (если вы не использовали локальные расчеты динамики) и щелкнуть на кнопке Erase Simulation (Очистить моделирование) в свитке Object (Объект).
На рис. 4.43 показан результат расчета динамики ткани.
Рис. 4.43. Результат расчетов модификатора Cloth (Ткань)
Примечание
В папке Examples\Глава 04\Cloth прилагаемого в книге DVD находится файл table-cloth.max, который можно загрузить для просмотра и анализа выполненной анимации.
Рассмотрим еще один вариант использования модификатора Cloth (Ткань): создадим модель развевающегося флага. В этом нам поможет замечательная особенность данного модификатора, позволяющая взаимодействовать со стандартными объектами категории Force (Сила).
Как всегда начнем с построения объектов. Для имитации флага нам понадобятся два объекта: Plane (Плоскость), имитирующий полотно флага, и Wind (Ветер), который будет удерживать флаг в горизонтальном положении (по умолчанию на объекты, к которым применен модификатор Cloth (Ткань), действует сила тяжести).
Для построения плоскости переключитесь в окно проекции Front (Спереди) и выполните команду главного меню Create → Standard Primitives → Plane (Создание → Простые примитивы → Плоскость). В свитке Parameters (Параметры) построенного объекта установите желаемые размеры флага и увеличьте значения параметров Length Segs (Количество сегментов по длине) и Width Segs (Количество сегментов по ширине) до 20–25. Это позволит получить более естественную деформацию ткани.
Для построения объекта, имитирующего ветер, необходимо выполнить команду главного меню Create → SpaceWarps → Forces → Wind (Создание → Пространственные деформации → Силы → Ветер) и в окне проекции Top (Сверху) построить значок ветра, развернув его по направлению к флагу (рис. 4.44).
Рис. 4.44. Взаимное расположение плоскости и значка ветра
Назначьте плоскости модификатор ткани. Для этого в одном из окон проекций выделите плоскость и выполните команду главного меню Modifiers → Cloth → Cloth (Модификаторы → Ткань → Ткань). Настройте модификатор следующим образом.
1. Перейдите на уровень редактирования подобъектов модификатора Cloth (Ткань), для чего щелкните на плюсике, расположенном слева от имени модификатора в стеке, и выделите строку Group (Группа).
2. Выделите слева верхнюю и нижнюю боковые вершины и щелкните на кнопке Make Group (Создать группу) в свитке Group (Группа). В результате откроется окно Make Group (Создать группу), в котором необходимо указать имя группы. Таким образом мы создадим группу из двух точек, которые будут крепиться к древку флага и не будут участвовать в расчетах динамики.
3. После создания группы щелкните на кнопке Drag (Помеха) в свитке Group (Группа). При этом созданная группа должна быть активной (рис. 4.45).
Рис. 4.45. Свиток Group (Группа) с созданной группой из двух точек
4. Выйдите из режима редактирования подобъектов, для чего щелкните в стеке модификаторов на строке Cloth (Ткань).
5. В свитке Object (Объект) щелкните на кнопке Cloth Forces (Силы, воздействующие на ткань).
6. В левой части открывшегося окна Forces (Силы) щелкните на строке Wind01 и нажмите кнопку >, в результате чего Wind01 переместите в список Forces in Simulation (Симуляция сил).
7. Вернитесь к свитку Object (Объект) настроек модификатора Cloth (Ткань) и щелкните на кнопке Object Properties (Свойства объекта).
8. В открывшемся окне Object Properties (Свойства объекта) выделите строку Plane01 и установите переключатель в положение Cloth (Ткань).
9. Из раскрывающегося списка в области Cloth Properties (Свойства ткани) выберите строку Silk (Шелк). Таким образом, объекту Plane (Плоскость) будут присвоены свойства шелковой ткани (рис. 4.46).
Рис. 4.46. Свойства ткани, настроенные для объекта Plane01
10. Подтвердите выполненные изменения щелчком на кнопке OK.
Все предварительные настройки произведены, осталось только увеличить силу ветра и запустить выполнение расчетов динамики ткани. Для этого выделите в одном из окон проекций значок ветра и в свитке Parameters (Параметры) настроек данного объекта увеличьте значение параметра Strength (Мощность) до 5. Чтобы запустить расчет динамики, вернитесь к модификатору Cloth (Ткань) и в свитке Object (Объект) щелкните на кнопке Simulate (Моделирование).
На рис. 4.47 представлен флаг, полученный при помощи модификатора Cloth (Ткань).
Рис. 4.47. Флаг, полученный при помощи модификатора Cloth (Ткань)
Мы рассмотрели только малую часть того, что можно сделать при помощи модификатора Cloth (Ткань). Симуляция реального поведения ткани требует более детальных настроек с большим количеством экспериментов. В качестве самостоятельного задания вы можете попробовать выполнить расчеты с другими видами ткани и даже составить и сохранить свои собственные настройки для их последующего применения.
Примечание
В папке Examples\Глава 04\Cloth прилагаемого DVD находится файл flag.max, который можно загрузить для просмотра и анализа выполненной анимации.